-
Notifications
You must be signed in to change notification settings - Fork 125
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
[ROLE PARITY] Determine which of these elements with existing ARIA role mappings require a new role #696
Comments
FWIW, it's good to reference the |
For web components purposes, what we are interested in is being able to create custom elements which present themselves to AT in the same way as these native elements. So for our purposes, the question is, e.g.: do ATs expose the difference between If they do, then we also need a way to do so in web components (whether it be a new attribute or new role). If they do not distinguish, then we do not need any new roles or attributes. Similarly, e.g. do ATs announce "ordered list" vs. "unordered list" or similar? If so, we need to be able to induce that behavior for I'm unclear from the OP's summary which is the case, and am hopeful that those with domain expertise can weigh in to clarify. |
Have you considered how you'd you make a custom element be operable like the HTML |
That seems unrelated to this thread, perhaps best filed on the web components repo? But yes, my understanding is that AOM was meant to help with that. |
@domenic: A given AT can do whatever it sees fit, of course. Something I'll come back to momentarily. But to hopefully clarify things regarding questions like:
And:
TL;DR: Maybe. Long version: If you look at the mappings in the HTML AAM (for which links have just been added above), you'll notice that the mappings are almost entirely "Use WAI-ARIA mapping." That means see what the Core AAM says by following the link on the right. In the case of
What the Core AAM mappings are is what user agents expose to assistive technologies via platform accessibility APIs for ARIA roles. As you will see in the table above, there is nothing in the stated mapping that lets an AT determine (and present to the AT user) whether the element is a That said, there might be ways for ATs to still make that distinction. For instance, Gecko exposes the tag via ATK and IAccessible2. So an AT on those platforms could present a distinction should their developers be so motivated. My guess is that all platforms and user agents have little things like that.... And, yes, of course that leads to inconsistent user experiences.... That's another matter. Getting back to your questions, I suspect my answer is more information than you were really wanting... 🤷♀️ BUT, your answers suggest to me what the next step is, namely for the ARIA Working Group to get input from the AT developers regarding where they want/need the ability to distinguish elements. See for instance what I said here regarding Thanks again very much for helping us understand what you need -- and for helping us see what else we need to do. 😄 |
Please note that the three deleted comments were copied and pasted in their entirety in w3c/aria-practices#575. |
Flushing that out more would be good though. E.g., is |
This is a meta issue. The 1.3 TODO's can be found on https://github.com/w3c/aria/wiki/Plans-regarding-role-parity |
N.B. All of the "Role Parity" issues are intended to gather feedback from stakeholders who need role parity from us including, but not limited to, groups working on Web Components and AOM. Comments on matters other than determining "which of these elements with existing ARIA role mappings require a new role" should be raised in another GitHub issue. Thank you for your understanding!
The following elements are already mapped in the HTML AAM to an ARIA role. In addition, the HTML AAM platform mapping for all platforms is "Use WAI-ARIA mapping." HOWEVER, unlike the elements listed in #694, there is not a unique correspondence between the element and the ARIA role. For instance, both
dfn
anddt
map to the ARIAterm
role.Assumption: Some of these elements may need a dedicated role; others may not. For instance, what makes it clear that an
ol
is alist
which is ordered is the presence of the indexed children. Thus those elements might already have sufficient "parity."We need to determine which of the items below belong in the group of elements in #694, which do not need a new role but might benefit from a new attribute (e.g. the type of button to distinguish
submit
fromreset
), and which definitely need a new role.a
(represents a hyperlink):link
- OKa
(represents a hyperlink and parent is a menu):menuitem
- Patches welcomearea
(represents a hyperlink):link
- OKbody
: document (has issue) - no parity will be attempteddatalist
(represents pre-defined options forinput
element):listbox
- OKdd
:definition
- OKdfn
:term
- genericinline
with TBD attributedt
:term
- no new role, but if in definition list role will support aria-posinset and aria-setsizeimg
(empty alt value):none
(A.K.A.presentation
) - OKinput
(type=button
, parent is menu):menuitem
Patches welcomeinput
(type=checkboxstate
, parent is menu):menuitemcheckbox
- Patches welcomeinput
(type=email
, no suggestions source element):textbox
- OK, but TBD attributeinput
(type=email,search,telephone,text,url
, suggestion source element):combobox
- OK, but TBD attributeinput
(type=image
):button
- OKinput
(type=image
, parent is menu):menuitem
Patches welcomeinput
(type=radio
, parent is menu) :menuitemradio
- Patches welcomeinput
(type=reset
):button
- OKinput
(type=submit
):button
- OKinput
(type=telephone
, no suggestions source element):textbox
- OK, but TBD attributeinput
(type=text
, no suggestions source element):textbox
- OK, but TBD attributeinput
(type=url
, no suggestions source element):textbox
- OK, but TBD attributekeygen
:listbox
- OK (keygen
is deprecated)ol
:list
- single role, but TBD attributeoptgroup
:group
- OKsection
(with accessible name):region
- OKselect
(withmultiple
attribute or size > 1):listbox
select
(nomultiple
attribute, size <= 1):combobox
- change HTML-AAM mapping tolistbox
witharia-expanded
set tofalse
(needs to be added tolistbox
) and addaria-valuetext
as a supported property oflistbox
tbody
:rowgroup
textarea
:textbox
, with mapping for aria-multiline=true
thead
:rowgroup
- OK, but possibly attributetfoot
:rowgroup
- OK, but possibly attributeul
:list
- single role, but TBD attribute - OK, but possibly attributeThe text was updated successfully, but these errors were encountered: