浅灰文字为什么看不清?网页颜色对比度与WCAG参考值怎么用

设计稿上的浅灰说明文字很精致,放到手机上却要眯眼才能看清。这不是单靠“把字号加一点”就能完整解决的问题,文字与背景的亮度差异也需要检查。XunL颜色对比度检测接受两种不透明HEX颜色,计算对比度并给出常规文字和大字的参考判断。

颜色对比度检测的输入与操作界面
颜色对比度检测界面;具体功能和可用额度以打开时的页面为准。

先测实际文字与实际背景,不只测品牌主色

一个网站可能使用深色标题、浅灰说明、按钮文字与悬停提示,不能只测一次品牌蓝和白色,就认为所有内容都已经清楚。先在实际页面中找出阅读对象,记录它真正呈现的文字颜色与背景颜色;背景图、半透明蒙层和渐变区域需要特别留意。

工具当前不处理透明叠加。若文字或背景使用透明度,应先确定最终合成颜色,再输入对应的不透明HEX值。把带透明度的设计参数当作完全不透明的颜色,会让测量脱离实际界面。渐变背景下还应检查文字经过的不同区域,而不是只挑对比最强的一点。

用黑白和灰色样例理解数值

黑色#000000与白色#FFFFFF的对比度为21:1,可以作为基础操作示例。再把文字改成#777777、背景保持白色,按相对亮度公式人工计算约为4.478:1,显示到两位小数约4.48:1。它接近4.5,却不能因为“差不多”就当作满足4.5:1的条件。

  1. 先输入黑与白,确认看的是文字色和背景色这两个字段。
  2. 替换成实际正文或说明文字的颜色,记录未经随意取整的结果。
  3. 按该文字真实字号与字重阅读相应参考项,不把普通小字误放到大字条件里。
  4. 调整后回到实际页面,检查长段落、手机显示和不同交互状态。

W3C对WCAG 2.2文字最小对比度的解释中,AA级普通文字常用要求为至少4.5:1,大字为至少3:1。大字的定义与字号、粗细有关,通常涉及至少18pt常规字或14pt粗体等条件;不能仅凭标题用了加粗样式,就认定可以采用较低阈值。

数值通过之后,还要看页面怎样被阅读

对比度计算针对颜色关系,不会代替完整的视觉与交互检查。极细字体、行距过密、过长段落,以及缩放后的布局,都可能影响实际阅读。显示器、环境光和视力条件也不相同。测量能帮助找到明显问题,但不应被当作所有用户体验已经得到保证。

如果颜色承担状态区分,例如红色表示失败、绿色表示成功,还应提供文字、图标或其他可理解的提示,避免用户必须只靠辨色才能知道发生了什么。同样,页面的键盘操作、焦点可见、图片替代文字与语义结构,都不是这一个两色计算器能够完整验收的范围。

修改颜色时,可以先保留品牌主色用于装饰或较大视觉区域,再为正文选择对比更清楚的颜色;不必为了保留所有浅色搭配而让说明文字持续难读。若某种颜色只在特定状态出现,修完默认状态后仍需检查悬停、选中和错误提示,避免只改善第一张截图。

交接记录最好写出具体元素、两种颜色、字号字重、测量值与修改方案。这样开发实现后可以在同一个位置复查,而不是只收到“颜色太浅”的主观意见。涉及正式无障碍评估时,还应按适用要求进行更完整的审查。

颜色检查常见问题

交换文字色与背景色,对比度会变化吗?

同样两种不透明颜色的亮度对比关系是对称的。不过实际阅读体验仍与面积、字体和布局有关,不能因为数值相同就忽略深底浅字在具体页面中的呈现。

AA项通过,就可以写整站无障碍合格吗?

不能。这里仅检查两种颜色的特定关系,整站还涉及多项内容与交互要求。应记录这一项已经检查,而不要把局部计算结果扩展成整站合规结论。

个人微信:ssevening