颜色对比度检测 - WCAG 无障碍对比度怎么算(AA/AAA)

1956 字
10 分钟
颜色对比度检测 - WCAG 无障碍对比度怎么算(AA/AAA)

🌟 为什么要在意对比度#

文字看不看得清,取决于前景色与背景色的对比度。对比度太低,弱视用户、强光环境下都会读不清;这也是无障碍规范(WCAG)明确要求的指标。

星点对比度检测工具输入前景色和背景色,实时给出对比度数值与是否达标。


🧮 对比度怎么算#

对比度 = (L1 + 0.05) / (L2 + 0.05)

其中 L 是相对亮度,按 sRGB 与 WCAG 公式计算:

  1. 每通道归一化到 0~1,做 sRGB 反伽马:
    • 若 c ≤ 0.03928:c / 12.92
    • 否则:((c + 0.055) / 1.055) ^ 2.4
  2. 加权求和:L = 0.2126·R + 0.7152·G + 0.0722·B

L1 是较亮颜色,L2 是较暗颜色。结果范围 1:1(完全相同)到 21:1(黑白)。

  • 黑底白字:(1 + 0.05) / (0 + 0.05) = 21:1(最高)
  • 同色:1:1(完全看不清)

📏 WCAG 标准#

等级普通文本大字号(≥18.66px 粗体 或 ≥24px)
AA≥ 4.5:1≥ 3:1
AAA≥ 7:1≥ 4.5:1

大字号定义:约 24px 以上,或约 18.66px 以上且加粗。


🔍 达标实例#

组合对比度AA 普通文本
黑字白底21:1✅
白字深蓝底约 10:1✅
深灰字白底 #333约 12.6:1✅
灰字白底 #999约 2.8:1❌
白字星点蓝底 #409eff约 2.78:1❌
黄字白底约 1.07:1❌

可见”品牌色背景 + 白字”常常不达标。


💡 怎么快速达标#

  • 用工具的”最佳文字色”功能,直接得到在给定背景上对比度最高的文字颜色;
  • 背景偏亮时用深色字,背景偏深时用白色字(分界约在背景相对亮度 0.18);
  • 实在要用品牌色,可加深背景(降低亮度);
  • 大字号标题的标准更宽松,但正文务必满足 4.5:1。

♿ 顺带说说色盲#

对比度之外,还要考虑色盲用户能否区分。用色觉模拟可以预览红绿色盲等视角下的效果,避免”只靠颜色区分”的设计。


📦 批量检测#

对比度检测支持批量输入”前景 背景”逐行检测,适合一次性核对整套配色的可读性。


❓ 常见问题(FAQ)#

对比度多少才算合格? 普通文本建议 ≥ 4.5:1(AA),追求更高可到 7:1(AAA);大字号可放宽到 3:1(AA)。
能批量检测多组颜色吗? 可以,[对比度检测](https://www.xingdian.net/app/color/contrast/)支持批量输入"前景 背景"逐行检测。
对比度和亮度是一回事吗? 不是。对比度是两个颜色的相对亮度之比,和单一颜色的亮度不同。
设计稿里怎么用? 把设计稿里的文字色与背景色填进工具,确认达标再定稿。
AA 和 AAA 要选哪个? AA 是普遍要求;AAA 更严格,关键内容或高要求产品可追求。
文字阴影能替代对比度吗? 不能。WCAG 看的是文字与背景的对比度,阴影只是视觉辅助。
渐变背景怎么检查? 在最浅与最深两端分别检测,取较差的一端为准。
对比度和色差是一回事吗? 不是。对比度是明暗之比;色差(Delta E)是比较两色的整体差异。

🧮 手算相对亮度(示例)#

以中灰 #808080 为例:

  1. 归一化:128/255 ≈ 0.502;
  2. 反伽马:((0.502 + 0.055) / 1.055)^2.4 ≈ 0.2159;
  3. 三通道相同,L = 0.2159。

与白色(L=1)对比:

(1 + 0.05) / (0.2159 + 0.05) ≈ 3.95

约 3.95:1 —— 作为正文不达标(需 4.5:1),但作为大字号可以(需 3:1)。

这说明:“看起来不浅的灰”,作正文仍可能不达标。


🎨 深色模式与对比度#

深色模式同样要过对比度检查:

常见做法问题建议
纯黑背景 + 纯白文字对比过强,长时间易疲劳用深灰 + 浅灰
深色背景 + 品牌色文字品牌色偏亮时可能不达标提高文字亮度
半透明背景实际对比度随底层变化按最差情况检查

深色模式背景建议 #0f172a~#1f2937,文字用 #e2e8f0 左右。


📋 常见组件对比度清单#

做 UI 时,逐项核对:

  • 正文文字 / 背景
  • 次要文字 / 背景
  • 按钮文字 / 按钮背景
  • 按钮悬停态
  • 按钮禁用态
  • 链接文字 / 背景
  • 输入框文字 / 输入框背景
  • 占位符文字 / 背景
  • 标签/徽章文字 / 底色
  • 图标 / 背景

用对比度检测的批量模式一次核对。


📊 对比度数值速查#

前景 / 背景对比度(约)普通文本 AA
#000000 / #ffffff21:1✅
#333333 / #ffffff12.6:1✅
#666666 / #ffffff5.7:1✅
#767676 / #ffffff4.54:1✅(临界)
#999999 / #ffffff2.85:1❌
#ffffff / #409eff2.78:1❌
#ffffff / #2563eb5.2:1✅
#ffffff / #1f293714.6:1✅

规律:背景越亮,文字要越深;背景越暗,文字要越浅。临界值附近(如 #767676)建议再深一点留余量。


🧰 无障碍改造案例#

案例:品牌按钮白字不达标

  • 原方案:#409eff 背景 + 白字 → 2.78:1 ❌
  • 改法一:加深背景为 #2563eb → 白字约 5.2:1 ✅
  • 改法二:文字改深色 #1f2937 → 约 5.3:1 ✅
  • 改法三:加大字号到 24px+,按大字号标准(3:1)仍不达标,需继续加深

案例:浅灰占位符

  • #bbb 白底约 1.9:1 ❌ → 改为 #767676 左右可达 4.5:1 ✅

案例:图表颜色

  • 非文本图形建议 ≥ 3:1;折线图还应用不同线型辅助区分。

🌐 WCAG 版本与相关标准#

  • WCAG 2.1:当前广泛采用,含对比度 1.4.3(AA)、1.4.6(AAA);
  • WCAG 2.2:新增焦点可见、目标尺寸等要求;
  • 非文本对比度(1.4.11):UI 组件与图形建议 ≥ 3:1;
  • 无障碍不止对比度,还包括键盘可达、语义标签、可缩放等。

🧭 更多常见问题#

对比度检测需要联网吗? 不需要,全部在浏览器本地计算。
能检测图片上的文字吗? 不能自动识别;请把图片中文字的近似颜色填入工具检测。
透明背景怎么算? 透明区域实际显示取决于底层颜色,按最终叠加后的颜色检测。
为什么同样的颜色,深浅感觉不同? 人眼对不同色相的感知亮度不同(黄比蓝显亮),对比度用相对亮度计算。
对比度合格就无障碍了吗? 不够。还需考虑色盲、键盘可达、语义标签、可缩放等。
按钮禁用态也要检查吗? 建议检查。禁用态可适当降低对比,但不应完全看不清。
有批量检测方式吗? 有,[对比度检测](https://www.xingdian.net/app/color/contrast/)支持批量输入"前景 背景"。

📐 对比度公式速记#

对比度 = (L亮 + 0.05) / (L暗 + 0.05)
  • 完全同色 → 1:1
  • 黑白 → 21:1
  • 达标线:普通文本 AA 4.5:1、AAA 7:1;大字号 AA 3:1、AAA 4.5:1

记住”相对亮度”是核心,而不是简单的 RGB 平均。


📎 对比度与设计系统#

在成熟的设计系统里,对比度通常被固化为规范:

  • 定义一组语义色(text-primary、text-secondary、text-disabled),每个都预设好与背景的对比度;
  • 深色模式单独定义一套;
  • 新增颜色时先过对比度检查再入库;
  • 用 Design Token 管理,避免各处手填色值。

这样能从根本上减少”上线后才发现看不清”的问题。用设计辅助可导出 Token。


💬 总结#

对比度是可量化的无障碍指标:公式是相对亮度之比,AA 普通文本要 4.5:1、大字号 3:1。拿不准就用对比度检测输入两个颜色,直接看结果与最佳文字色。

立即体验:访问 对比度检测

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

最后更新于 2026-09-13,距今已过 32 天

部分内容可能已过时

相关文章 智能推荐
1
WCAG 对比度标准详解 - AA/AAA 要求与计算方法
颜色工具 WCAG 对比度标准是什么?本文详解 WCAG 2.1 对文字对比度的 AA/AAA 要求(4.5:1、7:1、3:1)、相对亮度公式与计算方法,并给出达标实践。附在线对比度检测工具。
2
色盲模拟器 - 红绿色盲视角预览与无障碍配色检查
颜色工具 色盲模拟器:预览红绿色盲、蓝黄色盲、全色盲等视角下的颜色与图片效果,检查配色可辨识度,帮助做出无障碍设计。在线免费,图片本地处理。仅用于设计检查,非医学诊断。
3
RGB 转 HSL 怎么算 - 色相/饱和度/亮度换算方法
颜色工具 RGB 转 HSL 怎么算?本文给出从 RGB 求色相 H、饱和度 S、亮度 L 的公式与完整示例,说明 HSL 在调色中的优势,并附常见颜色对照。在线颜色格式转换工具。
4
颜色混合怎么算 - 两色/多色混合、插值与色阶生成
颜色工具 颜色混合怎么算?本文讲解两色/多色/加权混合、RGB 与 OKLab 插值的区别、中间色与 N 等分色阶的生成方法,以及混合模式(正片叠底/滤色等)的原理。附在线颜色混合工具。
5
颜色怎么调亮调暗 - 在线调整颜色明度/饱和度/色相
颜色工具 颜色怎么调亮、调暗、变鲜艳或变灰?本文说明通过 HSL 的明度/饱和度/色相调整颜色的方法,并介绍在线颜色调整工具:滑块实时预览,原色与结果并列对比。
随机文章 随机推荐
公告
🎉 已升级 2.0 版本,欢迎使用。
分类
标签
站点统计
文章
197
分类
24
标签
747
总字数
334,099
运行时长
0 天
最后活动
0 天前

目录