Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update UIA aria-readonly mappings #192

Closed
wants to merge 2 commits into from
Closed

Update UIA aria-readonly mappings #192

wants to merge 2 commits into from

Conversation

sivakusayan
Copy link
Contributor

@sivakusayan sivakusayan commented Sep 5, 2023

Closes #127

The UIA aria-readonly mappings only accounted for controls that implemented the IValueProvider interface. Now, it also accounts for controls that implement the IRangeValueProvider, and otherwise puts the information in AriaProperties if a control implements neither IValueProvider nor IRangeValueProvider.

Implementation

As an aside, if you want to observe this mapping in Blink, you'll need to use Edge or run Chromium with UIAutomation enabled - the UIAutomation bridge will not map IA2 STATE_SYSTEM_READONLY to the AriaProperties property when appropriate.


Preview | Diff

@sivakusayan
Copy link
Contributor Author

WPT tests are added.
Blink seems to be fine functionally, although I did notice interesting behavior:

  • grid, listbox, slider, and spinbutton all implement IValueProvider and expose Value.IsReadOnly, although I'm not sure if these controls are necessarily a good fit for the Value pattern if I'm understanding the documentation correctly. I'm not sure if this matters since grid/listbox additionally expose AriaProperties.readonly, and slider/spinbutton additionally expose RangeValue.IsReadOnly.
  • Every control that supports aria-readonly expose AriaProperties.readonly, regardless of what providers the control implements.

This doesn't affect anything functionally as far as I'm aware, so I probably won't write up a bug report for these, but just a head's up.

@sivakusayan sivakusayan closed this by deleting the head repository Oct 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

aria-readonly: Consider explicitly calling out UIA mapping for controls that don't follow the ValuePattern
1 participant