← 返回首页

对比度检测

RGB: rgb(51, 51, 51)
RGB: rgb(255, 255, 255)

对比度检测 是什么?

对比度检测工具用来算两个颜色之间的WCAG对比度,输入前景色和背景色,立刻给出比值和AA/AAA是否达标。WCAG 2.1规定:正文文本AA要求≥4.5:1,AAA要求≥7:1;18pt(约24px)或14pt粗体的大文本AA只要≥3:1,AAA要求≥4.5:1。UI组件和图形边界AA要求≥3:1。比如你做一张深灰#767676文字配白底#FFFFFF的海报,肉眼觉得还行,一测只有4.54:1,AA刚好过线,但换成#777777就掉到4.48:1不达标。改稿、做无障碍自查、给客户交付前都该跑一遍。

使用步骤

  1. 打开工具,在“前景色”输入框填文字颜色,比如 #1A73E8,也可以直接粘贴 rgb(26,115,232)。
  2. 在“背景色”输入框填底色,比如 #FFFFFF;如果背景是渐变或图片,取最不利的那一层颜色来测。
  3. 读取结果里的对比度比值,例如 4.51:1,并看旁边 AA、AAA 的通过/不通过标记。
  4. 按文本类型判断:正文按 4.5:1 卡,18pt 以上或 14pt 粗体按 3:1 卡,图标边框按 3:1 卡。
  5. 不达标就调前景色明度,比如把 #1A73E8 压到 #1557B0,比值会升到约 7.0:1,再复测一次。
  6. 把最终两个色值和比值记进设计规范或验收单,方便开发和测试复核。

对比:用它还是手工做?

对比维度本工具手工/替代做法
计算耗时输入两个色值后即时出结果,约 0.1 秒手算需先做 3 次伽马校正再代入公式,熟练也要 3-5 分钟
精度按 WCAG 2.1 公式保留两位小数,如 4.54:1用计算器易在 0.03928 阈值和 2.4 指数上出错,误差可达 ±0.3
标准覆盖同时给出 AA 4.5:1、AAA 7:1、大文本 3:1 三档判定需自己记 4 组阈值,容易把大文本 3:1 和 UI 3:1 混用
隐私颜色值只在浏览器内存里算,不发请求在线取色网站常把色值传到服务端,企业内网色值可能外泄

常见问题

对比度公式是什么?

WCAG 用的是相对亮度公式:先把每个 sRGB 通道除以 255,若值≤0.03928 则除以 12.92,否则按 ((v+0.055)/1.055)^2.4 做伽马校正;然后 L=0.2126R+0.7152G+0.0722B。对比度=(L1+0.05)/(L2+0.05),L1 是较亮的一方。纯黑#000与纯白#FFF的比值是21:1,这是理论上限。

AA和AAA差多少?

WCAG 2.1 里正文文本 AA 是 4.5:1,AAA 是 7:1;大文本(≥18pt,或≥14pt 且粗体)AA 是 3:1,AAA 是 4.5:1。非文本内容如按钮边框、图标、图表线条,AA 要求 3:1。AAA 不是必须项,但政府、金融、医疗类项目常按 AAA 验收。

为什么4.5:1还是看不清?

4.5:1 是底线不是舒适线。字号小于 12px、字重 300 以下、屏幕反光、投影仪偏色时,4.5:1 仍可能吃力。经验上正文尽量做到 7:1 以上,小字或浅色背景上建议 10:1。另外对比度只管明度差,红绿同亮度时比值可能达标但色盲用户仍分不清,需配合 color-blind-test 检查。

半透明颜色怎么算?

WCAG 公式只接受不透明色。如果文字是 rgba(0,0,0,0.6) 叠在白底上,要先合成:结果通道 = 0.6×0 + 0.4×255 = 102,即 #666666,再拿 #666666 和 #FFFFFF 去算,比值约 5.74:1。背景半透明同理,先和下层颜色合成,取最不利的合成结果来测。

大文本的边界是多少?

WCAG 定义大文本为 18pt(约 24px)及以上,或 14pt(约 18.66px)及以上且字重≥700。中文没有粗体传统,很多字体加粗后笔画变化小,建议中文按 24px 以上才享受 3:1 的宽松标准。刚好 18px 加粗的按钮文字,严格说仍按 4.5:1 卡。

比值能超过21吗?

不能。相对亮度 L 的范围是 0(纯黑)到 1(纯白),代入公式 (1+0.05)/(0+0.05)=21,所以 21:1 是上限。任何工具报出大于 21 的比值都是算错了。反过来,同色对比是 1:1,比如 #FF0000 配 #FF0000,此时文字完全不可见。

本工具按 WCAG 2.1 的相对亮度公式计算,输入支持 HEX、RGB、HSL,输出保留两位小数。半透明色请先自行合成再测。对比度只反映明度差,不检查色盲可辨性、字号可读性和动态内容,正式无障碍验收还需结合屏幕阅读器实测。所有计算在浏览器本地完成,色值不上传服务器,关掉页面即清空。

浙ICP备2026073450号