颜色对比度计算器
计算两种 HEX 或 RGB 颜色的 WCAG 对比度,即时检查 AA 和 AAA 文字标准。
颜色无障碍检查
以 HEX 或 RGB 格式输入较浅和较深的颜色。
关于颜色对比度计算器
颜色对比度描述前景与背景之间的相对亮度差异。足够的对比度有助于低视力、色觉差异、视力老化以及在眩光或低质量显示屏下使用界面的人阅读和操作。本计算器将两种 HEX 或 RGB 颜色转换为《网页内容无障碍指南》定义的相对亮度,再报告从相同亮度的 1:1 到黑白配色的 21:1 之间的比值。
计算并非直接比较红、绿、蓝通道原始值。每个 sRGB 通道都先归一化并线性化,以校正显示伽马。由于人眼对绿光最敏感,线性红、绿、蓝值分别采用 0.2126、0.7152 和 0.0722 的亮度权重。最终对比度为较亮颜色的亮度加 0.05,除以较暗颜色的亮度加 0.05。此标准方法不受颜色输入顺序影响。
WCAG 2.x 成功准则 1.4.3 要求 AA 级普通文字至少达到 4.5:1,大号文字至少达到 3:1。AAA 级将阈值提高到 7:1 和 4.5:1。大号文字通常指至少 18 磅的常规文字或 14 磅的粗体文字,在常见浏览器设定下约为 24 CSS 像素和 18.66 CSS 像素。用户界面组件及有意义的图形对象另有要求,通常需与相邻颜色达到 3:1。
达到对比度要求很重要,但不能保证设计完全无障碍。细字重、特殊字体、渐变、图像、悬停状态、透明度、抗锯齿和变化的背景都可能影响实际可读性。占位文字和禁用控件也应认真审查,即使具体准则对其有不同规定。不要仅用颜色传达状态,应结合标签、图标、图案或其他提示。应检查焦点指示和每一种交互状态,而非只看默认截图。
可输入六位 HEX、三位 HEX 或标准逗号分隔的 RGB 格式。计算器校验从零到 255 的通道值,并评估所输入的精确颜色。如果结果略低于阈值,可将前景调暗或背景调亮后重新计算。自动对比度检查之后,还应进行键盘操作、缩放与重排、屏幕阅读器检查,并征求残障用户反馈。在设计和实现阶段使用本工具可及早发现基本配色问题,最终仍须在真实条件下检查渲染后的界面。
颜色对比度示例
这些常见配色展示了细微视觉变化如何影响是否达到无障碍阈值。
| 颜色组合 | 对比度 | WCAG 结果 |
|---|---|---|
| #FFFFFF 与 #000000 | 21.00:1 | 普通文字和大号文字均通过 AA 与 AAA。 |
| #FFFFFF 与 #777777 | 4.48:1 | 通过大号文字 AA,但略低于普通文字 AA 要求。 |
| #FFFFFF 与 #005FCC | 5.98:1 | 通过普通文字 AA 和大号文字 AAA,但未通过普通文字 AAA。 |
如何检查颜色对比度
- 从设计中复制前景与背景颜色的 HEX 或 RGB 值。
- 在两个字段中分别输入较浅和较深的颜色。
- 选择“计算对比度”,计算 WCAG 亮度比。
- 查看普通文字及大号文字的各项 AA 和 AAA 结果。
- 调整未达标的颜色,并重新检查最终界面的每一种交互状态。
颜色对比度计算器常见问题
普通文字需要多高的对比度?
WCAG 2.x AA 级要求普通文字至少达到 4.5:1,AAA 级至少达到 7:1,具体目标应根据项目要求确定。
什么算大号文字?
通常指至少 18 磅的常规文字或 14 磅的粗体文字。在常见 CSS 设置中,分别约为 24 像素和 18.66 像素。
先输入哪种颜色有影响吗?
没有,公式始终将较亮的亮度置于分子、较暗的亮度置于分母,因此交换前景与背景会得到相同的对比度数值。
为什么看起来不同的颜色仍不达标?
色相差异不等于亮度差异。两种饱和颜色看起来可能很不同,但亮度仍然太接近,无法满足文字无障碍要求。
通过检查就代表页面无障碍吗?
不是,对比度只是无障碍要求之一。还需检查键盘使用、语义、焦点、替代文本、重排、动态效果和辅助技术表现。