Accessibility Insights for Windows shows the following property:
ControlType Group(50026)
when I hover over a search box that is an <input />
html tag.
I used Google Chrome Version 80.0.3987.87 (Official Build) (64-bit)
.
How does AI4W determine the control type of the html tag?
The accessibility insights doc says the control type is a concept from the Microsoft UI automation accessibility framework. You can look up the 50026
id for Group
on this reference page.
It is not yet clear to me how AI4W determined the exact control type. I suspect Chrome implements a Client-Side (Proxy) UI Automation Provider but I am not sure about it. If it does, how does the implementation deduce the control types?
Related questions:
To add to Rob Gallo's answer:
To determine the exact accessibility provider used by the browser:
live inspect
and point to element of interest.FrameworkId
and ProviderDescription
(use the cogwheel in upper right of pane containing the Properties
table).For example, this:
FrameworkId: Chrome
ProviderDescription: [pid:33748,providerId:0x0 Main(parent link):Microsoft: MSAA Proxy (IAccessible2) (unmanaged:UIAutomationCore.DLL)]
means that UIA is translating to its format the data exposed by Chrome as IAccessible2
, as explained in UI Automation: An Incomplete Guide for UI builders – Part 1. There are more possible UIA providers even when using the same browser. Knowing the right UIA provider is required for root causing problems with the UIA hierarchy. See the linked article for details.
In addition, the HTML Accessibility API Mappings 1.0
spec section on accessibility APIs links to UI Automation for W3C Accessible Rich Internet Applications Specification which explains specified ControlTypes
for given ARIA roles, which are defined in this spec (v1.1).
A good article providing additional context for this discussion: https://sarahmhigley.com/writing/roles-and-relationships/