Cypress无障碍测试高级解决方案
无障碍评分
Cypress 提供总体百分比评分,用于反映项目的整体无障碍水平。该评分针对每次测试运行计算,反映了运行期间捕获的所有应用程序快照的平均得分。其计算基于每个快照中通过/未通过的无障碍检查比例,并根据问题严重程度进行加权。
严重级别
Cypress Accessibility 的严重级别与 Axe Core® 影响分类保持一致。这套由 Deque Systems 开发的分类标准通过突出最可能对用户造成重大障碍的问题(如缺失标签文本),帮助优先处理无障碍问题。您可以在 Axe Core® 文档 中了解更 多关于影响分类的信息。
注:WCAG 标准并未按严重性对成功准则进行分类;所有失败项都需要解决才能达标。但 Axe Core® 影响级别有助于优先修复问题,从而快速实现最大的可用性改进。
评分算法
无障碍评分计算会对快照中未通过的无障碍检查应用以下权重。
问题严重性 | 权重 |
---|---|
严重(Critical) | 10 |
重大(Serious) | 7 |
中等(Moderate) | 3 |
轻微(Minor) | 1 |
评分计算流程
- 快照得分:
- 计算通过检查的总权重
- 计算未通过检查的总权重
- 按公式计算得分:
得分 = (通过权重) / (通过权重 + 未通过权重)
注意:未完成(Incomplete)和已忽略(Ignored)元素状态不会影响评分。只有明确的规则失败才会被计入。
- 视图得分:
- 计算视图中所有快照得分的平均值
- 运行得分:
- 计算运行中所有快照得分的平均值
解读评分
无障碍评分应结合具体项目和目标来理解。没有任何单 一数字能完全反映应用程序的无障碍水平。例如:
- 如果先前得分较低,99% 的分数可能表明取得了进展,但单个失败项可能代表重大障碍(例如无法访问的登录页面)
- 即使是 100% 的分数也不能保证完全合规或用户友好,仅表示 Axe Core® 在测试范围内未检测到违规
评分的核心价值在于计算方式在多次运行中保持一致——Cypress 不会在测试执行期间临时捕捉任何内容。这意味着分数的变化能可靠反映无障碍改进或退步。
一般来说,理想状态是在 Cypress Accessibility 报告中获得 100% 的干净分数,这可以通过修复现有问题和忽略已知不会修复的问题来实现。
100% 分数的含义
Cypress Accessibility 的 100% 分数表示:
- 在测试范围内未检测到 Axe Core® 违规
- 通常通过手动审计发现的约 57% 问题已得到解决(来源)
- 虽然不能保证完全合规,但表明团队已积极考虑无障碍需求,并为解决用户报告问题或手动审计发现做好了准备
达到 100% 分数(也称为 "Axe-clean")意味着应用程序很可能满足残障用户的基本使用需求,为进一步的可用性增强奠定了基础。