要添加到Rob Gallo 的答案:
要确定浏览器使用的确切可访问性提供程序:
- 启动 Windows 辅助功能洞察。
- 选择
live inspect
并指向感兴趣的元素。
- 将工具设置为始终显示以下属性:
FrameworkId
和(使用包含表格ProviderDescription
的窗格右上角的齿轮)。Properties
- 观察值。
例如,这个:
FrameworkId: Chrome
ProviderDescription: [pid:33748,providerId:0x0 Main(parent link):Microsoft: MSAA Proxy (IAccessible2) (unmanaged:UIAutomationCore.DLL)]
表示 UIA 正在将 Chrome 公开的数据转换为其格式IAccessible2
,如UI 自动化:UI 构建者的不完整指南 - 第 1 部分中所述。即使使用相同的浏览器,也有更多可能的 UIA 提供程序。需要知道正确的 UIA 提供程序才能导致 UIA 层次结构出现问题。有关详细信息,请参阅链接文章。
此外,关于可访问性 APIHTML Accessibility API Mappings 1.0
的规范部分链接到W3C 可访问富 Internet 应用程序规范的 UI 自动化,该规范解释了为本规范 (v1.1)中定义的给定 ARIA 角色指定的说明。ControlTypes
一篇很好的文章为这个讨论提供了额外的背景:https ://sarahmhigley.com/writing/roles-and-relationships/