关于 accessibility-testing-strategy
面向产品团队的无障碍测试规划技能,结合自动化、专家手动测试和残障用户测试,帮助覆盖不同类型的障碍并安排测试优先级。
主要功能
- 01三层测试策略
- 02自动化测试检查范围
- 03专家手动测试方法
- 04残障用户测试流程
- 05按优先级安排测试
适用场景
- 01为发布周期制定无障碍测试计划
- 02将核心任务纳入键盘和读屏测试
- 03规划自动化测试与用户测试的分工
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ owl-listener/ inclusive-design-skills --skill accessibility-testing-strategy安装后在 Claude Code 中输入/accessibility-testing-strategy确认已加载。
详细介绍
无障碍测试策略
制定一套测试方案,发现真实的无障碍障碍—— 因为自动化工具只能发现大约 30% 的问题。其余 70% 需要人工判断。
测试金字塔
第 1 层:自动化测试(发现约 30%)
可以发现:
- 缺少替代文本
- 颜色对比度不达标
- 缺少表单标签
- 缺少语言属性
- 标题和按钮为空
- ID 重复
无法发现:
- 替代文本是否有意义
- 焦点顺序是否合理
- 内容是否通顺易懂
- 键盘交互是否有效
- 体验是否易于使用
工具:axe、Lighthouse、WAVE、Pa11y、jest-axe 时机:每次构建时,在 CI/CD 流水线中运行 执行者:自动化,无需人工参与
第 2 层:人工专家测试(发现约 50%)
可以发现:
- 键盘导航问题
- 焦点管理问题
- 阅读顺序不合理
- 替代文本是否有意义
- 认知无障碍障碍
- 交互模式问题
方法:
- 用 Tab 键遍历每个交互元素
- 使用屏幕阅读器测试(VoiceOver 或 NVDA)
- 在 200% 缩放比例下测试
- 启用系统偏好设置后测试
- 检查内容是否使用浅显易懂的语言
时机:每次发布前,以及重大功能变更时 执行者:接受过无障碍测试培训的人员
第 3 层:与残障人士进行用户测试(发现剩余约 20%)
可以发现:
- 专家容易忽略的真实使用障碍
- 辅助技术兼容性问题
- 意料之外的工作流程和变通方法
- 认知和情感障碍
- 只有具备实际辅助技术使用能力的人才会遇到的问题
方法:
- 招募具有不同类型残障的参与者
- 让他们使用自己的设备和辅助技术测试核心任务
- 观察,不要引导或解释
- 记录哪些有效、哪些失败,以及哪些令人沮丧
时机:每季度一次,或在重大版本发布前 执行者:使用自己设备和设置的残障人士
优先测试什么
优先级 1:核心任务
- 用户能否完成产品的主要目标任务?
- 从头到尾测试关键路径
- 此处任何失败都会阻碍发布
优先级 2:输入和导航
- 仅使用键盘完成核心流程导航
- 使用屏幕阅读器完成核心流程导航
- 在移动设备上通过触摸操作完成核心流程
优先级 3:内容和理解
- 内容是否符合目标阅读水平,易于理解?
- 错误消息是否有帮助?
- 是否提供帮助,且用户能否找到?
优先级 4:边缘情况和偏好设置
- 缩放至 200%
- 系统偏好设置(减少动态效果、高对比度、深色模式)
- 长篇内容、空状态、错误状态
屏幕阅读器测试基础
适用于刚开始进行屏幕阅读器测试的团队:
从 VoiceOver(Mac)开始
- 开启:Cmd + F5
- 导航:VO + 方向键(VO = Ctrl + Option)
- 标题:VO + Cmd + H
- 链接:VO + Cmd + L
- 表单:VO + Cmd + J
- 关闭:Cmd + F5
从 NVDA(Windows)开始
- 从 nvaccess.org 免费下载
- 导航:Tab 键、方向键
- 标题:H
- 链接:K
- 表单:F
- 停止语音:Ctrl
注意听什么
- 每个交互元素是否都有名称?
- 状态变化是否会被播报(已展开、已选择、已勾选)?
- 操作后焦点是否移至正确位置?
- 仅阅读标题时,能否理解页面内容?
评估问题
- 是否在每次构建时运行自动化测试?
- 是否在每次发布前进行人工专家测试?
- 是否由残障人士测试过产品?
- 是否使用键盘和屏幕阅读器测试核心任务?
- 是否明确优先测试哪些内容?
评论
支持 Markdown