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

Consider accessibilityparent/accessibilitychildren in webdriver #21

Closed
cookiecrook opened this issue Mar 13, 2023 · 8 comments
Closed

Comments

@cookiecrook
Copy link
Collaborator

cookiecrook commented Mar 13, 2023

Breaking this one out from #3 and #6.

Even though most acknowledge accessibility tree synchronicity may not be achievable/desirable in the short term, I think most are in agreement that computed accessors like accessibilityparent and accessibilitychildren may be useful sooner b/c they would make the tree differences more apparent.

A few examples where I expect the DOM-first (Gecko) vs Render-first (WebKit) trees to be different are:

  • interactive but mock object children like scrollbars in views with overflow:scroll;
  • generated content like ::before and ::after psuedos, including implicit bullets on lists
  • positioning containers or ancestry on absolutely positioned views, such as table headers on a "scrolling" table widget.
  • more

having accessibilityparent and accessibilitychildren could allow us to catalog the differences and prioritize any potential alignment in future investigations or focus areas.

@cookiecrook
Copy link
Collaborator Author

cookiecrook commented Mar 13, 2023

Node may be a good return type, rather than Element... but what to return when the implementation contains an intermediate render object, like a scroll view in between an overflow:scroll; div and its DOM children? Do we need a different return type, or should the implementations normalize out those differences and promote the children of the intermediary render objects?

@cookiecrook
Copy link
Collaborator Author

Another idea that came up in discussion was a a new AccessibilityNode type, which would be accessed as a property of DOMNode, and could either be:

  • null (if there was no backing accessibility node for the DOMNode),
  • a container for all the other accessibility properties, including parent and children. (Think AOM Use Case 5)

@zcorpan
Copy link
Member

zcorpan commented Mar 21, 2023

A new type sounds reasonable to me. An AccessibilityNode instance can have a property pointing back to the element, or null if there's no element.

@gsnedders
Copy link
Member

The design of this should happen in some other, chartered WG with an IPR policy.

@cookiecrook
Copy link
Collaborator Author

Yes, that discussion originally happened in the linked WICG incubator.

@cookiecrook
Copy link
Collaborator Author

As with #6, agenda should be to discuss which group should own what will likely result in some spec change... WICG AOM seems like the obvious starting point, even if potential changes end up in BTT WG WebDriver, WHATWG TestUtils, or some new ARIA WG deliverable.

@cookiecrook
Copy link
Collaborator Author

Group agreed to pass this over to AOM. I will file an issue there and then close.

@cookiecrook
Copy link
Collaborator Author

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

No branches or pull requests

3 participants