Interop 2024:Chrome 以 100% 的比例访问无障碍功能焦点区域

Jocelyn Tran
Jocelyn Tran

今年,Chrome 通过了无障碍功能重点领域 88.2% 的测试 Interop 2024 发布。2024 年 6 月,我们率先 所有测试均通过。此博文介绍了在 YouTube 上 此目标。

与 Interop 2024 中的每个重点领域一样,无障碍区域由 一组 Web 平台测试。Interop 2024 中的测试目标 确保所有浏览器都在同一个 。

易于使用的名称可以传达 HTML 元素的用途或意图。这有助于 用户了解元素的用途以及如何与其互动。通过 accname 规范定义了浏览器如何 为元素创建这个无障碍名称字符串ARIA 规范 演示了此名称 计算

经过计算的元素角色是一个字符串,表示 元素(由浏览器引擎计算)。这主要用于开发者 例如,在 WebDriver 函数 getComputedRole 中,启用 互操作性测试

Chrome 团队需要采取什么措施?

我们还需要完成两个更大的工作领域:改变地图绘制 转换为通用角色,并移除已弃用的角色。还有一些 还有更多小修复和功能需要实现除了以下 Chrome 团队完成的工作,我们还与 Microsoft 就 他们曾承诺在 Chromium 中改进的无障碍功能重点关注领域。

将某些角色的映射更改为通用角色

将映射更改为通用角色会移除 元素。通用元素不会为无障碍树提供价值,因此它们 未包含在树中。这有助于提升性能 且更易于解析。您可以配置以下角色 已更改为通用角色

  • 作用域限定为 <main><header> 或版块内容元素 (<article>, <aside><nav><section>)。
  • <footer> 作用域限定为 <main> 或 版块内容元素(<article><aside><nav><section>)。
  • 版块内容元素(<article><aside><nav><aside><section>)。
  • 没有可访问名称的 <section>
  • 孤立的列表项(<li> 个)。

对于前四个项目符号,这些元素通常会映射到 地标角色。 一个网页上有两个地标会加大导航的难度, 更改有助于减少多余的位置标记,使网页更易于浏览。通过 最后一个条目通常表示网页开发者犯了错误,列表项 应始终位于列表中,因此孤立项会被赋予通用 角色。

移除已弃用的角色

我们废弃了 directory 角色,并将其映射到了 list 角色。ARIA 1.2 弃用了 directory 角色。该规范解释了它等同于 list 角色,并且 开发者应使用 list。为了保持旧版 使用 directory 的内容,现在在 Chrome 中会映射到 list

其他修复

我们添加了对 gridcell 角色。这个新角色区分了 gridcellcell 更清晰。与 cell 不同,gridcell 可聚焦、可修改和可选择。

我们添加了后备角色计算。之前,我们不会检查后备广告 如果第一个角色无效,我们会使用另一个 详细内容 说明

有些角色只有在上下文正确的情况下才有效,我们添加了一项检查 (如下所示):

  • row 角色应在 tablegridrowgrouptreegrid 内。
  • rowgroup 角色应在 tablegridtreetreegrid 内。
  • listitem 角色应在 list 内。

如果角色无效,Chrome 现在会使用其他信息,如 HTML 元素计算替代角色。

我们已将 theadtfooter 标记为已包含在无障碍树中。 以前,它们被标记为忽略,但仍然包含在树中。现在 表格页眉和表格页脚可由辅助技术解析。


虽然这些变化可能并非对所有浏览器都可见, 我们努力确保这些方面以同样的方式运作, 各个角色在所有地方都以相同的方式公开。