2

适用于 Windows 的 Accessibility Insights 显示以下属性:

ControlType Group(50026)

当我将鼠标悬停在作为<input />html 标记的搜索框上时。
我用谷歌浏览器Version 80.0.3987.87 (Official Build) (64-bit)

AI4W如何判断html标签的控件类型?

访问性见解文档控件类型是来自Microsoft UI 自动化可访问性框架的概念。您可以在此参考页面上查找50026id 。Group

我还不清楚 AI4W 如何确定确切的控制类型。我怀疑 Chrome 实现了客户端(代理)UI 自动化提供程序,但我不确定。如果是,实现如何推断控件类型?

相关问题:

4

2 回答 2

1

如本Chrome 可访问性页面所述,Chrome通过名为IAccessible2的可访问性 API公开 HTML 和ARIA控件类型/角色。

从 Windows 10.0.1903 开始​​,Windows 将 IAccessible2 转换为 UIA。我找不到任何专门描述 IAccessible 和 IAccessible2 角色到 UIA 控件类型的映射的文档,但它可能非常接近W3C 推荐的映射

在 Windows 将 IAccessible2 数据转换为 UIA 后,Accessibility Insights 会显示 UIA 控件类型。

于 2020-03-03T17:08:13.043 回答
0

要添加到Rob Gallo 的答案

要确定浏览器使用的确切可访问性提供程序:

  1. 启动 Windows 辅助功能洞察。
  2. 选择live inspect并指向感兴趣的元素。
  3. 将工具设置为始终显示以下属性:FrameworkId和(使用包含表格ProviderDescription的窗格右上角的齿轮)。Properties
  4. 观察值。

例如,这个:

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/

于 2020-03-03T20:25:36.550 回答