定义自动化无障碍测试的包容性行为、语义要求、辅助技术预期和常见失败案例。它确定采用边界和可观察的失败证据,同时保持环境特定限制的可配置性。
包状态: 参考上下文已准备好供人工审核。合同和测试场景已完成,但不保证采用实现已通过它们。
决策
对于自动化无障碍测试,优先采用原生语义,并附带文档化的键盘和焦点合同。将语义、键盘、焦点、公告、视觉、运动和错误行为作为组件功能合同的一部分进行规范。此包为参考合同:采用团队必须根据自身环境中的证据选择数值限制、提供者、司法管辖区和运营所有者。
范围
- 本无障碍模块描述的自动化无障碍测试参与者、输入、输出、状态、策略或模式版本,以及外部可见结果。
- 主要和备用接口、后台工作、缓存、集成、支持路径及可执行相同边界的证据。
- 采用特定的配置、推广、恢复和验证职责,以安全应用参考。
本模块之外
- 为所有采用者选择通用供应商、框架、司法管辖区、数值阈值、保留期或服务级别目标。
- 声称打包场景已针对下游实现运行,或该参考授予法律、安全或无障碍认证。
合同
- 在视觉界面传达名称、角色、值、状态和关系的任何地方,均应暴露程序化名称、角色、值、状态和关系。
- 每个操作均可通过键盘操作且无陷阱,焦点顺序遵循阅读和交互顺序。
- 异步状态或错误应公告,且不意外移动焦点,并将恢复指导与受影响控件关联。
- 在适用情况下,保持内容和操作在缩放、文本间距、重排、强制颜色、减少运动和平台文本缩放下的完整性。
- 优先使用原生元素;当必须使用自定义控件时,应实现其完整预期交互模式,而非仅添加角色。
- 使用多种输入模式和至少一个由采用团队定义的代表性屏幕阅读器/浏览器组合进行测试。
- 固定规则引擎、浏览器、视口、主题、区域设置和组件状态,以确保违规和接受的例外可复现且可归因。
- 将自动化结果视为一层证据;键盘、焦点、屏幕阅读器、缩放、重排、对比度、运动和任务完成仍需手动覆盖。
实施指导
- 在实现前编写键盘和焦点序列,并并排审查可见标签和程序化名称。
- 在选择框架或供应商细节前,建模自动化无障碍测试的输入、输出、参与者、状态、不变量、副作用和证据。
- 将适用的自动化无障碍测试合同或策略版本与重要状态一起存储,以便迁移、重放和支持决策可归因。
- 在受控推广路径中引入,比较预期和观察结果,并保持经过测试的恢复路径,直至采用证据完整。
失败处理和保障措施
- 若无法保持语义或焦点,交互不得仅依赖视觉行为发布;缺陷仍为发布阻塞。
- 无效或矛盾的自动化无障碍测试状态将被拒绝或隔离;实现绝不猜测扩大权限或重复效果的值。
- 重试有界且使用持久身份;耗尽后,工作达到可检查的终态,并有责任所有者。
验证和运维
- 验证自动化规则、仅键盘操作、焦点可见性、公告、对比度、缩放和手动任务完成。
- 按合同版本监控自动化无障碍测试的成功、拒绝、验证失败、依赖失败、重试耗尽和恢复,且不含敏感负载维度。
- 在策略、模式、依赖、迁移或边界变更后,重新运行配对的正负测试用例,并保存结果证据。
采用假设
- 示例中的名称和值为具体测试用例,不是通用默认值;采用者通过文档化证据和所有权替换它们。
- 采用系统能够提供身份认证、持久操作或记录版本、有界遥测和受控变更路径。
本包中看似可执行的示例为测试用例和验收合同。请运行集合验证器检查结构和元数据,然后在目标仓库中翻译并执行场景,最后记录实现证据。