不喜欢广告? 无广告 今天

开发人员的颜色可访问性 对比度、盲人模拟及问题修复

发布日期
开发人员的颜色可访问性:对比度、失明模拟以及问题修复 1
广告 移除?

色彩对比不足是一个错误,而不是设计疏忽或用户体验上的小技巧——这是一个会破坏界面并影响可测量比例用户的问题。以下是查找、模拟和修复该问题的方法,而无需重新设计整个界面。

W3C关于对比度的规定

网页内容可访问性指南(WCAG)定义了文本与其背景之间的最低对比度比率。这些比率从1:1(相同颜色,不可见)到21:1(黑色背景上的白色,最大值)不等。

WCAG 2.1规定了两个符合等级:

WCAG等级对比度文本大小例子
AA4.5:1正常文本(<18pt / <14pt粗体)大部分正文内容
AA3:1大文本(≥18pt / ≥14pt粗体)标题
AAA7:1正常文本最高可读性
AAA4.5:1大文本标题(更严格)
任何3:1用户界面组件和图形图标、表单边框

AA是大多数司法管辖区的法律基准。AAA适用于关键文本如正文,但很少在整个网站上强制要求。

对比度比率的计算方法

该公式使用每种颜色的相对亮度值:

Contrast ratio = (L1 + 0.05) / (L2 + 0.05)

其中 L1 是较亮颜色的亮度值, L2 是较暗颜色的亮度值。亮度本身来自对每个RGB通道进行线性化并加权(红色:0.2126,绿色:0.7152,蓝色:0.0722)——因为人眼对绿色最敏感。

你不需要手动进行这些数学运算。将两个十六进制值粘贴到 颜色对比网格 中,你将获得比率、AA/AAA通过或失败状态,以及一次查看整个配色方案的网格视图。

该公式在实际中的含义是:中灰色 #767676 在白色背景上 #ffffff 达到几乎精确的4.5:1——即AA最低标准。变亮则失败,变暗则增加安全余量。

色盲:比你想象的更常见

大约81%的男性和0.51%的女性存在某种形式的色觉缺陷。主要类型包括:

  • 去色盲(Deuteranopia) ——绿色敏感度下降。这是最常见的类型(约51%的男性)。红色和绿色难以区分,两者可能都呈现为棕色或黄色。
  • 红敏缺陷(Protanopia) ——红色敏感度下降(约11%的男性)。红色看起来较暗且饱和度低;红绿混淆与去色盲类似,但红色还会失去亮度。
  • 三色盲(Tritanopia) ——蓝色敏感度下降(极为罕见,约0.0031%)。蓝黄辨别能力受损;蓝色看起来像绿色,黄色看起来像紫色。

这些情况并非罕见。如果你的产品每月有10,000名用户,统计上大约有400到500人存在某种形式的色觉缺陷。

为什么仅靠颜色是不够的(WCAG 1.4.1)

WCAG成功标准1.4.1——“颜色的使用”——指出颜色不能作为传达信息、指示操作或区分视觉元素的手段。 分割 经典失败案例:表单用红色标记无效字段。对于有红敏缺陷的用户,这些字段看起来是暗棕色,与在暗光下正常字段无异。没有其他提示。

解决方案不是去掉颜色,而是增加第二信号。例如图标、边框变化、标签或错误消息。颜色成为辅助,而非唯一传达意义的手段。

如何真正解决对比度问题

本能做法是改变色调——将蓝色换成另一种蓝色。这通常没有帮助。

色调变化对对比度比率影响很小。亮度变化才是关键。 在HSL中,L值控制亮度。要解决对比度失败问题:

加深前景颜色(增加与背景的亮度差异)——或变亮背景

  1. 保持色调和饱和度——只调整亮度
  2. 重新检查对比度比率
  3. 常见问题:为美观而选择的品牌色,而非可读性。一个品牌的标志性青色

在白色背景上对比度约为2.4:1——未达到AA标准。加深到 #00b4a2 后,对比度达到4.7:1——通过标准。色调保持一致,品牌识别变化几乎不可察觉。 #007a6e 对于占位文本——通常使用

或类似颜色——情况更糟。灰色在白色背景上的对比度通常为2.5–3:1。提升到 color: #999 最低标准,或重新考虑是否将占位文本作为主要标签(这与WCAG建议避免的做法一致)。 #767676 测试工作流程

一个可靠的可访问性工作流程包含三个层次:

1. 自动检查(快速,但不全面)

检查器和CI工具能发现明显失败。
axe-core 可与Jest、Playwright和Cypress集成。Lighthouse(内置Chrome DevTools)可提供快速的可访问性评分。这些工具能检测对比度失败、缺失 文本和ARIA误用——但它们只能评估测试时DOM中可见的内容。 alt 2. 模拟(快速,能发现真实布局问题)

在发布前模拟不同视觉条件下的UI外观。使用
色盲模拟器 可上传截图并查看其在去色盲、红敏、三色盲等模式下的效果。Chrome DevTools的渲染设置中也提供视觉缺陷模拟器。 模拟揭示了自动化工具无法发现的问题:一个仪表盘中,“错误”条形图与“成功”条形图在去色盲下看起来都是棕色,无法区分。每个条形图的对比度比率可能通过AA标准——但对色盲用户而言,它们在视觉上是相同的。

3. 真实用户测试(缓慢,权威)

没有比来自真正有色觉缺陷用户的反馈更权威的测试。将可访问性纳入你的用户研究中。像Paciello Group这样的组织提供测试服务,也可以通过特定残疾社群进行用户招募。
工作流程中应保留的工具

——粘贴完整配色方案,一次性查看所有前景/背景组合及其WCAG通过或失败状态

  • 颜色对比网格 ——上传截图,预览其在各种主要缺陷类型下的效果
  • 可上传截图并查看其在去色盲、红敏、三色盲等模式下的效果。Chrome DevTools的渲染设置中也提供视觉缺陷模拟器。 axe DevTools
  • (浏览器扩展)——在任何实时页面上运行,能标记出违规元素并提供具体引用 Figma插件
  • ——“Stark”和“A11y – Color Contrast Checker”可在设计文件中直接使用,无需构建前就进行检查 命令行工具
  • color-contrast ——可脚本化对比度检查,适用于预提交钩或CI流程 在设计阶段检查对比度,而不是在质量保证阶段之后。正文文本需达到4.5:1,大文本和UI组件需达到3:1。当你修复一个对比失败的颜色时,应调整亮度而非色调。对主要配色方案和任何数据可视化进行模拟测试。永远不要仅用颜色来指示状态。

简明版

可访问性不是在最后才检查的清单。对比度不足是一个会静默发布、影响真实用户的问题,而且几乎总是可以在五分钟内修复,只要你知道该从哪里入手。

可访问性不是一项可以在最后检查的清单。对比度不足是一个错误,它会静默发布,影响真实用户,并且在你知道该查看哪里后,几乎总能在五分钟内修复。

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?