SC 1.4.11 级别 AA WCAG 2.1
非文本对比度
UI 组件(按钮边框、表单字段轮廓、焦点指示器、纯图标控件)及有意义的图形元素(图表系列、状态图标)与相邻颜色的对比度至少须达到 3:1。
要求内容
1.4.3 对比度规则仅涵盖文本;1.4.11 将较低要求(3:1,而非 4.5:1)扩展至另外两类对象。第一类是 UI 组件的视觉标识——让用户辨认出按钮是按钮、焦点环所在位置、表单字段边界所在位置——必须与相邻表面达到 3:1 对比度。第二类是有意义图形中用户需要识别的部分——图表柱、传达状态的图标、指示点——也必须达到 3:1。
如何满足
- 为每个表单字段提供可见边框,与页面背景的对比度至少达到 3:1。
- 将焦点指示器(
:focus-visible轮廓)与组件及页面背景的对比度均设为至少 3:1。 - 对于幽灵按钮(ghost button)或轮廓按钮,边框本身必须与页面背景达到 3:1 对比度。
- 对于切换开关,开/关状态的滑轨和滑块在交界处必须有 3:1 对比度。
- 对于传达含义的图标(“信息”
i、“警告”三角、“勾选”标记),图标笔画必须与背景达到 3:1 对比度。 - 对于图表系列,用于区分柱状图/折线的颜色彼此对比度须达到 3:1,或搭配图案/纹理加以区分。
常见失败情形
- 表单字段无可见边框,或
#e5e5e5 on #fff边框对比度仅为 1.3:1——对低视力用户几乎不可见。 - 浏览器默认焦点轮廓被
outline: none覆盖后从未补充替代样式。 - 幽灵按钮在透明背景上使用白色文字,搭配 1px 灰色边框——按钮实际上是不可见的。
- 切换开关在”关闭”状态下,滑块颜色与滑轨极为接近,几乎不可分辨。
- 卡片角落的状态图标(绿色勾、红色叉)颜色与卡片背景对比不足。
- 饼图切片颜色彼此对比度仅为 2:1——视力正常的用户勉强能分辨边界,低视力用户只看到一整片色块。
为何重要
1.4.11 在 WCAG 2.1 中新增,常令团队措手不及——大多数对比度检查仅覆盖文本。表单字段边框、焦点环和幽灵按钮是典型的失败模式。axe、Stark 等工具现已支持非文本对比度检测,但设计师在设计阶段仍常常忽略,因为默认思维是”对比度 = 文本对比度”。修复通常意味着加粗边框、加深设计系统中的灰色。