对比度检测(WCAG)

检测文字与背景对比度是否满足 WCAG

浏览器内运算Contrast Checker工具型08图片与颜色

什么是对比度检测(WCAG)

对比度检测工具按 WCAG 标准计算前景色与背景色的对比度比值,并判定是否达到 AA(4.5:1)与 AAA(7:1)级别,大号文字按 3:1 与 4.5:1 判定。计算在浏览器内完成。

怎么用对比度检测(WCAG)

  1. 1分别设置前景(文字)与背景颜色。
  2. 2查看对比度比值与 AA / AAA 判定结果。
  3. 3用预览区确认实际观感,小字号更依赖高对比度。
  4. 4未达标时优先调整亮度,而不是加粗或加大字号。

在代码里怎么实现?

一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。

// WCAG 相对亮度
const luminance = ({ r, g, b }) => {
  const f = (c) => {
    const s = c / 255;
    return s <= 0.03928 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;
  };
  return 0.2126 * f(r) + 0.7152 * f(g) + 0.0722 * f(b);
};

const ratio = (a, b) => {
  const [hi, lo] = [luminance(a), luminance(b)].sort((x, y) => y - x);
  return (hi + 0.05) / (lo + 0.05);
};

常见问题

WCAG AA 和 AAA 的标准分别是多少?+

正文文字 AA 要求对比度不低于 4.5:1,AAA 要求不低于 7:1。18pt 以上或 14pt 加粗的大号文字放宽为 AA 3:1、AAA 4.5:1。图形与界面控件的边界至少需要 3:1。

灰色文字为什么容易不达标?+

浅灰在白底上的相对亮度差很小,比如 #999 配白底只有约 2.8:1,远低于 4.5:1。设计上想弱化次要信息时,更稳妥的做法是缩小字号或减少字重,而不是把颜色调淡到不可读。

相关工具

全部工具