Chromium 中的 Windows 原生界面自动化

Benjamin Beaudry
Benjamin Beaudry

发布时间:2025 年 8 月 14 日

从 Chrome 138 开始,Windows 上的基于 Chromium 的浏览器默认启用原生界面自动化 (UIA) 支持。UIA 是 Windows 的现代无障碍框架,供讲述人、放大镜和语音访问等辅助技术使用。

目前,使用 Microsoft Active Accessibility (MSAA) 或 IAccessible2 (IA2) 的辅助技术直接连接到 Chromium,后者完全控制其接收的无障碍功能数据,这一点不会改变。到目前为止,UIA 必须通过 Windows 管理的模拟层(一个将 Chromium 的 MSAA 数据转换为 UIA 的“中间人”)才能运行。这增加了延迟时间,降低了可靠性,并为基于 UIA 的工具引入了兼容性问题。

在上排,基于 MSAA/IA2 的辅助技术使用 MSAA 或 IA2 直接与 Chromium 通信。在底行中,基于 UIA 的辅助技术使用 UIA 框架将数据发送到 UIA 模拟层,然后该层使用 MSAA 与 Chromium 通信。
Chromium 中提供原生界面自动化支持之前的无障碍功能堆栈。

通过以原生方式实现 UIA,我们完全移除了该代理层,从而提高了性能、可靠性并简化了无障碍功能堆栈。 辅助技术现在可以直接与 Chromium 的无障碍功能引擎通信。

在顶行中,基于 MSAA/IA2 的辅助技术仍使用 MSAA 或 IA2 直接与 Chromium 通信。在底行中,基于 UIA 的辅助技术现在可以直接使用 UIA 与 Chromium 通信,而无需通过模拟层。
Chromium 中提供原生界面自动化支持后的无障碍功能堆栈。

这对开发者和用户意味着什么

  • 基于 UIA 的工具现在可提供更快、更可靠的性能。例如,语音操控现在可在所有基于 Chromium 的浏览器中正常使用。
  • 无障碍功能堆栈更简单,完全由 Chromium 工程师负责,这让我们能够直接掌控无障碍功能界面,并能更快地发布修复和改进,而无需依赖 Windows 更新。

这一里程碑标志着 Microsoft Edge 和 Google Chrome 团队多年来的密切合作,汇集了深入的工程变更、广泛的测试,以及共同的目标:为 Windows 上的所有用户改进无障碍功能。 我们还要感谢 NVDA 和 JAWS 团队,多年来,他们一直与我们合作,共同排查和修复 Chromium 中与 UIA 相关的问题。

企业兼容性

如果您的环境依赖于旧版行为,您可以使用 UiAutomationProviderEnabled 政策暂时恢复到旧模式。此政策将一直受到 Chrome 146 的支持,以便组织有时间验证和更新其工具。

报告问题

基于 Chromium 的浏览器现在原生支持 UIA,我们希望您提供反馈。 如果您开发或管理无障碍工具,请使用最新的 Chromium build 对其进行测试,并报告新 UIA 实现存在的任何问题