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