跳到主要内容

看得清配色对比度检查器

输入两个色值,直接得出 WCAG 2.2 的对比度比值与达标结论;支持半透明叠层先复合再计算, 也能检查暗色界面的层级台阶。全部运算在浏览器本地完成,不上传任何色值。

01

双色对比度

WCAG 2.2 的两个阈值:正文 4.5:1、大号文字与图形 3:1。不透明色直接用;前景带透明度时,先按背景复合成实际颜色再算。

100%

正常字号正文示例 18px

大号文字与图形示例 14px —— 这一行用来对照“大字”阈值

16.56: 1

结论:AAA

✓正文 AA 4.5✓正文 AAA 7✓大字 AA 3
02

半透明叠层:同一张卡,位置不同结果不同

这是多数检查器不做的部分。带 alpha 的卡片压在渐变背景上时,它的实际颜色取决于底色,因此对比度不是一个固定值,而是一组。下面用三个底色采样演示。

卡片(带透明度)

64%

背景采样(三个位置)

位置底色卡片复合后L*文字比值
起点#00090c#0114175.110.40:1
中段#021707#0219156.910.05:1
末端#170300#0a12134.910.44:1

同一张卡片,三个位置的复合色并不相同,比值也随之变化。所以半透明卡片的对比度, 应该按“最差的那一个位置”来验收,而不是取一个中间值。

03

暗色层级台阶

暗色界面最常见的问题不是对比度不够,而是几层背景看起来一样。用 CIE L* 的差值衡量比用比值可靠:差值小于 3,人眼基本分不出层。

4.5
底色L* 3.4
第 1 级L* 7.9+4.5
第 2 级L* 12.4+4.5
第 3 级L* 16.9+4.4

差值标红的那一级,说明它和上一级几乎同色。暗色界面要建立层级,把 ΔL* 拉到 3 以上; 浅色界面可用的差值更小,因为浅底的亮度变化本来就更容易被察觉。

「正文文字与背景的对比度至少 4.5:1;大号文字至少 3:1。」

—— 万维网联盟(W3C)《Web 内容无障碍指南(WCAG)2.2》成功标准 1.4.3(对比度·最低)查看原文

为什么这件事必须用数值判断

同一组色值,在设计稿里、在设计师的高色域显示器上、在用户的户外手机屏上,呈现出的可读性差别很大。 实测经验是:亮度越低越容易骗人,暗色界面上的深灰字,做稿时看着清楚,到了亮度调低的手机上会整片糊掉。 所以对比度不该由「我觉得还行」决定——根据 WCAG 2.2 的算法,它有一个能算出确定数值的答案。

W3C 给出的阈值是两个:正文 4.5:1,大号文字与图形 3:1。实际上,这两个数不是随手定的, 换算成相对亮度后,前者比后者严格 50%。换句话说,同一组配色在正文里不合规, 放到 24px 以上的标题里可能就合规了——所以判断前先明确这段文字是什么字号, 再去看它该对哪一条。

半透明叠层:为什么算不出一个固定值

真实界面里的卡片很少是纯色。带透明度的卡片压在渐变背景上时,它的实际颜色由底层的颜色决定, 于是同一张卡在屏幕左上和右下并不是同一个颜色。比如 64% 不透明的深青卡片, 压在接近黑的起点和压在偏亮的末端,复合后的 L* 会相差两个点左右——肉眼看不出, 但对比度这个指标会跟着变。

关键在于计算顺序:浏览器合成页面时,先把卡片色与其下方底色按 alpha 参数复合,得到实际的十六进制色值, 再用它去和文字色算比值。跳过这一步直接拿卡片的名义色去算,得到的数字没有意义。 这也是很多在线工具给出的结论与实际观感对不上的原因——它们只接受不透明色。

WCAG 2.2 的三档阈值与实际使用场景(2026 年本站口径)
使用场景最低比值不达标时的典型表现
正文与说明文字(18.66px 以下常规字重)4.5:1长时间阅读眼睛发酸,低亮度屏上直接糊成一片
大号文字(24px 以上,或 18.66px 加粗)3:1远处看不清标题,缩略图状态下失去层次
图标 / 边框 / 焦点框等非文本元素3:1控件边界消失,键盘操作时找不到焦点位置
AAAA 级正文(增强)7:1强光环境下仍可读,属于增强项而非常规要求

暗色界面的真正问题在层级,不在对比度

做深色主题时,最容易出问题的不是「字看不清」,而是三层背景看不出区别:页面底、卡片、浮层挤在 很窄的亮度区间里,导致整个界面像一块平整的板。用对比度这个指标衡量层级是失效的, 因为比值在极暗区间会被压缩——两个都很暗的颜色,比值可能只有 1.2,但亮度差其实不小。

说白了,判断层级要看 CIE L* 的绝对差值,而不是比值。经验口径是:暗色界面每一级相差 3 以上 才看得出分层,浅色界面可以更小。举个例子,底色 L* 3.4、卡片 L* 8.0,差 4.6,这一组是成立的; 若卡片只到 L* 6,差 2.6,多数人会说「这两层好像一样」。

修法通常比想象中简单:不要靠加边框去强调分层,直接把相邻层的 L* 拉开到 3 以上, 边框只在需要「切一刀」的地方用。这样即使外层换成浅色主题,层级关系也不会塌。

配色方案、字阶与间距这些不需要计算的层,整理在设计规范生成器里;这一页只负责两件可算的事——比值与亮度差。两边用的是同一套算法,结论不会互相打架。 文末的参考来源逐条标了出处,其中 W3C 的规范是这些阈值的原始依据。

参考来源

  1. 万维网联盟(W3C):Web Content Accessibility Guidelines (WCAG) 2.2—— 成功标准 1.4.3 规定正文对比度最低 4.5:1、大号文字 3:1;1.4.11 规定非文本元素 3:1
  2. MDN:CSS 颜色值与色彩空间(oklch / color() 函数说明)—— OKLCH 的明度、彩度、色相定义,本站修色建议即在该空间内只调明度
  3. 国际照明委员会 CIE 1976 L*a*b* 色彩空间(L* 明度定义)—— L* 的取值与计算口径,本站层级台阶采用该明度差衡量
  4. 本站设计规范生成器(配色与字阶部分)—— 本站自有页面,含配色方案、字阶与间距规范

本页数据与口径更新日期:2026-10-22