-
Notifications
You must be signed in to change notification settings - Fork 20
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
What to do about ARIA? #14
Comments
the aria roles/states/properties are used as an abstraction of the various platform accessibility APIs see http://rawgit.com/w3c/html-api-map/master/index.html so there is no ARIA role/state/properties exposed via the DOM or in the browser acc layer unless authors declare them as attributes role=foo ,aria-foo. Even when explicitly declared there is generally no ARIA foo property exposed in acc layer. |
Yes, it does seem like there's a missing primitive involved, that queries an element to ask what its implicit and/or overridable ARIA roles are, and then uses them appropriately and/or lets them be overridden by |
I wrote up a long-ish email on public-webapps outlining the problem. It comes with a few separate documents: |
I realized upon re-reading my May 6 comment that my current (icky) solution sketches are focused on maintaining the correct underlying ARIA state at all times. A better approach would probably be something like what I suggested then, e.g. to have a callback such that when the system queries for the element's aria role or stoperties, we can give them back. This seems promising, although possibly it might not play as well with implementations. Need to dig into Chrome's code tomorrow. |
A lot of the vanilla
HTMLElement
elements have implicit or overridable ARIA roles (I don't entirely understand the difference):http://www.whatwg.org/specs/web-apps/current-work/#wai-aria
Presumably if we registered e.g.
<custom-nav>
asHTMLElement
, or if we didclass CustomHTMLElement extends HTMLElement {}
and registered<custom-nav>
asCustomHTMLElement
, then<custom-nav>
s would not get the appropriatenavigation
role.How do we hook in to this tag-name to aria-role map? (It's actually more than just tag names; there are other things involved.)
We could emulate it via a switch statement in
CustomHTMLElement
, which upon creation sets the appropriaterole
attribute.But then
<custom-nav>
wouldn't behave the same way as normal<nav>
, e.g.customNav.getAttribute("role")
would give"navigation"
instead ofnull
.Seems like we may have found, even in our simplest of elements, a non-extensible part of the web?
The text was updated successfully, but these errors were encountered: