将 WCAG 2 AA 无障碍标准应用于设计系统、UI 组件和网页——通过可运行的验证器进行对比度计算,采用设计 token 模式使颜色天生可访问,设定排版和焦点状态规则,并提供语义检查清单。适用于构建或审查 UI。
网络访问( WCAG 2 AA). 使接口通过构建符合 WCAG 2 级别 AA
功能概述
网络访问( WCAG 2 AA). 使接口通过构建符合 WCAG 2 级别 AA是一项面向实际任务的技能,主要用于访问设计系统, 而不是在之后对其进行审计;A 颜色、 文本样式或 o. 组件为 e。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
网页可访问性(WCAG 2 AA)
通过在设计系统中内建可访问性,而非事后审计,使界面符合 WCAG 2 AA 级标准。一个颜色、文本样式或组件,若在进入系统时已满足 AA 级要求,则其将自动适配所有使用它的页面;反之,若不满足,则会在所有使用它的页面上同时成为可访问性缺陷。
合规目标:WCAG 2.2 AA 级(快速参考指南)。
实施顺序
- 先处理 Tokens(设计令牌) —— 在任何组件使用前,先以前景色/背景色成对方式验证调色板。
- 再处理 Components(组件) —— 每个组件的状态(state)、焦点(focus)、目标尺寸(target size)、语义(semantics)等。
- 最后处理 Pages(页面) —— 页面结构、标题层级、替代文本(alt text)、键盘导航走查(keyboard walk-through)等。
修复一个不合规的 Token,即可修复所有依赖它的组件;而修复一个不合规的页面,仅解决该页面的问题。请自上而下推进工作。
1. 颜色对比度是数学问题,而非主观判断
切勿凭肉眼估算对比度。阈值要求(依据 WCAG 2.2)如下:
| 渲染内容 | 最低对比度 | 对应成功标准 |
|---|---|---|
| 常规文本(字号 < 24px,或加粗文本 < 18.66px) | 4.5:1 | 1.4.3 |
| 大号文本(字号 ≥ 24px,或加粗文本 ≥ 18.66px) | 3:1 | 1.4.3 |
| 具有语义的非文本元素(图标、图表标记、输入框边框、焦点指示器) | 3:1 | 1.4.11 |
| 禁用控件、纯装饰性元素、Logo | 豁免 | — |
运行内置的对比度校验脚本(无外部依赖,Node ≥14):
# 临时校验单对:fg,bg,minimum,label node scripts/check-contrast.mjs --pair "#0f766e,#ffffff,4.5,link on white" # 从 JSON 配置文件批量校验整个调色板(格式详见脚本头部注释) node scripts/check-contrast.mjs contrast-pairs.json
将其集成至构建流程中。 仅运行一次的对比度检查属于审计行为;而集成进 npm run build 或 CI 流程、并在失败时以非零退出码终止构建的检查,则构成一项强制保障。请为每个主题(theme)中所有以文本或具语义图形形式渲染的 Token 对,全部加入校验配置。
2. 从设计源头保障颜色可访问性的 Token 模式
以下三种模式可覆盖绝大多数实际调色板失效场景:
-
分离填充角色与文本角色。 鲜艳的品牌色(如青绿色、橙色、中蓝色)通常可作为 深色文字的背景填充 通过对比度检测,但作为 浅色背景上的文字 时往往失败——有时差距达两倍。因此应分别定义两类 Token,并禁止组件跨角色混用:
--color-primary: #14b8a6; /* 用于填充、边框、焦点环 —— 绝不用于浅色背景上的文字 */ --color-primary-text: #0f766e; /* 同一色相,但足够深以满足文本对比度(≥4.5:1) */
于是,实心按钮可根据主题动态选择文字颜色:亮色填充配深色文字,或深色填充配浅色文字——具体采用哪一组,由脚本验证决定,而非主观审美偏好。
-
按主题调节语义色。 在近黑色背景(如
#f59e0b琥珀色、#ef4444红色)下可读性良好的 success/warning/error 色值,在白色背景上可能失效——例如琥珀色在白底上对比度仅约 2.2:1。因此应为--color-success/--color-warning/--color-error分别配置深色主题与浅色主题的取值,而非共用同一套值:深色主题保留明亮色阶,浅色主题则采用更暗的色阶(例如#b45309、#dc2626)。 -
弱化文本存在明确亮度下限。 占位符(placeholder)、提示(hint)和说明文字(caption)仍属文本范畴,必须满足 4.5:1 对比度。诸如
#9ca3af这类中灰在白底上对比度约为 2.5:1,是全网最常出现的可访问性违规项。白底上满足 AA 级的最浅灰色约为#767676;请将您的“弱化”Token 设定为此亮度值或更低。
3. 可缩放的排版系统
- 使用相对单位(
rem/em)定义字体大小、行高及容纳文本的容器尺寸——浏览器缩放与文字大小调整必须支持放大至 200%,且不丢失内容(成功标准 SC 1.4.4)。 - 正文字体 ≥ 1rem(即 16px);切勿使用
html { font-size: 62.5% }等技巧强行锁定像素尺寸,从而覆盖用户设置的字体大小偏好。 - 正文行高 ≥ 1.5;段落间距应大于行高(成功标准 SC 1.4.12 要求内容能承受这些属性被用户强制修改)。
- 不可仅依赖颜色传达含义(成功标准 SC 1.4.1):需搭配图标、字重、下划线或文字标签共同表达;嵌入正文中的链接,不能仅靠色相变化来区分。
4. 交互状态
- 每个可交互元素均需提供
:focus-visible样式 —— 至少 2px 宽的轮廓线,且与周围表面保持 ≥3:1 的对比度(成功标准 SC 2.4.7、2.4.13)。禁用outline: none时,必须提供功能等效的视觉焦点指示。 - 悬停(hover)与激活(active)状态的颜色变更也须满足对比度要求。 悬停时变深的链接两次均通过;而向背景色趋近变亮的链接,恰恰在用户注视它时失效。请将各类状态色同样纳入对比度配置中校验。
- 目标尺寸 ≥ 24×24 CSS 像素(成功标准 SC 2.5.8)—— 包括按钮、导航链接、图标按钮等。主控件推荐维持 44px 的舒适默认尺寸。
- 尊重
prefers-reduced-motion媒体查询 —— 将非必要动画置于该媒体查询条件之下启用。
5. 语义化检查清单(Tokens 无法自动修复的部分)
请针对每个组件或页面逐项核查;详细说明与修复方案参见 references/wcag-checklist.md:
- 图片:
alt文本需准确描述该图片在此处的 功能或作用;纯装饰性图片应设为alt=""(1.1.1) - 页面有且仅有一个
;标题严格按逻辑层级递进,不得为样式目的跳级(1.3.1) - 使用真实语义化元素:
、、—— 禁止用样式化的模拟(4.1.2)- 每个表单控件均有明确关联的标签;错误信息需以文本形式呈现,不可仅依赖颜色(3.3.1、3.3.2)
- 完整键盘导航走查:可抵达(reach)、可操作(operate)、可离开(leave)每一项;Tab 键顺序符合逻辑;页面级导航区域需提供“跳过链接”(skip link)(2.1.1、2.1.2、2.4.1)
- 当前页面或状态需明确标识(如
aria-current="page"、aria-expanded等)- 页面需声明
lang属性,并设置具备描述性的(3.1.1、2.4.2)诚实的边界
- 自动化检测工具(本脚本、axe、Lighthouse 等)仅能捕获约三分之一至一半的 WCAG 不合规项——主要是机械性、可量化的缺陷。真实的合规性仍需人工完成键盘导航走查,并借助屏幕阅读器(VoiceOver/NVDA)进行端到端验证。在上述两项均完成前,请表述为“Token 层已通过 AA 级验证”,而非“本产品已具备可访问性”。
- 设计系统仅能保障 视觉层 的可访问性:对比度、焦点可见性、可缩放字体、目标尺寸等。内容语义层面——包括 alt 文本、标题层级、表单标签、键盘导航流——均由各具体产品实现并负责验证。
- 对比度比率适用于 实际渲染效果 中的颜色——透明度(opacity)、渐变(gradients)以及图文叠加(text over images)等场景,均需在校验时评估其最差情况(worst point),而非平均值。
热门AI工具
相关专题
access数据库是一种关系型数据库管理系统,主要用途包括:数据存储和管理;数据查询和检索;报告和表单设计;应用程序开发。想了解更多access数据库的相关内容,可以阅读本专题下面的文章。
6488
2024.04.10
access导入数据步骤:1. 选择数据源 2. 选择要导入的文件 3. 指定导入选项 4. 选择导入目标 5. 预览数据 6. 导入数据即可。想了解更多access的相关内容,可以阅读本专题下面的文章。
2965
2024.04.10
access和trunk端口的区别是Access端口用于连接终端设备,提供单个VLAN的接入,而Trunk端口用于连接交换机之间,提供多个VLAN的传输;Access端口只传输属于指定VLAN的数据,而Trunk端口可以传输多个VLAN的数据,并使用VLAN标签进行区分。想了解更多access和trunk端口相关内容,可以阅读本专题下面的文章。
428
2023.10.31
连接的方法:1、使用ADO连接数据库;2、使用DSN连接数据库;3、使用连接字符串连接数据库。想了解更详细的asp连接access数据库的方法,可以阅读本专题下面的文章。
1553
2023.10.18
vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。
2573
2023.10.16
vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。
1767
2023.10.09
Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。
0
2026.10.21
Playwright页面操作专题汇集元素定位、点击与输入、等待响应、多页面切换、Iframe、事件监听及文件处理的已审核文章,便于按操作场景查阅示例与常见问题。
0
2026.10.21
Playwright入门专题汇集测试框架安装、VS Code配置、录制脚本、编写首个用例、运行调试及查看报告的已审核文章,帮助初学者搭建端到端测试流程。
0
2026.10.21
热门下载
相关下载