-
Notifications
You must be signed in to change notification settings - Fork 70
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
Is ARIA required owned elements failed example 7 really a fail? [bc4a75] #1810
Comments
If I recall correctly the reasoning behind that example is the following:
|
This is considering ARIA 1.1 |
This rule is stricter than WAI-ARIA. It doesn't map to WAI-ARIA in its requirements because of it. Instead it maps to SC 1.3.1, where I think you can quite reasonably argue that treeitems aren't supposed to be inside a menu, and that doing so creates problems when you want to use something like a custom stylesheet to modify how menus are presented. I would like ARIA to have a better description on what you can and can't do. I opened an issue on it back in 2020, w3c/aria#1161 they're planning to address it in ARIA 1.3. |
Ok, that makes sense, but if 1.3.1 is the mapping doesn't the rule need to only apply to visible elements? At the moment it also applies to elements not visible on screen, but still in the accessibility tree (e.g. hidden offscreen, or with And if it's not mapping to ARIA should it have ARIA in the title? |
In addition to what @WilcoFiers has commented, this seems to be having an impact on what screen reader users get when interacting with this menu. With last versions of JAWS and Chrome, the up and down arrow keys do not go to previous and next item. I have to enable JAWS' virtual buffer to have these items spoken. Also, JAWS does distinguish the roles. When there's a Even if the spec could be clearer on what ownership relationships are and are not allowed, I think we should not have passed examples like this one. |
I think problem is this:
I think there's a general difficulty with mappings in ACT-Rules because a single failure can map differently depending on context (e.g. if the example was hidden offscreen, so in a11y tree but not rendered on screen, then it would cause accessibility problems but can't map to 1.3.1 because there's no visual presentation) |
While it's not identical, could Failure of Success Criterion 1.3.1 due to using structural markup in a way that does not represent relationships in the content be relevant for Fail Ex 7?
This is how NVDA reads Failed Ex 7, which has
The "level 3" information can be confusing or "disorienting" to a user because the level relationship (that is announced for treeitem) isn't announced for menus. For comparison, this is how NVDA reads Passed Ex 7, which has
|
Circling back to Carlos's comment from Mar 15. While I agree that a standalone |
Aug 4 ACT Task Force discussed and agreed: assistive technology provides different information for RESOLUTION: Keep failed example 7 as a failure of 1.3.1, leave the issue open to improve the example |
The problem I have with this being mapped to a 1.3.1 fail is the This is different to F43 where elements with implicit semantics and default styling are used for presentational effect (e.g. mis-using a heading to make some text bold) the following examples are all rendered identically, which makes it hard to argue that information, structure and relationships are conveyed through presentation:
I'll file an issue on ARIA 1.2 for the group nesting case since the required owned elements section of https://www.w3.org/TR/wai-aria-1.2/#menu implies a stricter model than the ownership model of |
@dd8 I think an issue with ARIA is a good idea. This may already be getting addressed with w3c/aria#1454. |
Although having treeitems inside a menu doesn't make sense, I don't think this violates the required owned elements conditions in ARIA 1.1 and 1.2 so example 7 shouldn't be a fail for this rule.
https://act-rules.github.io/rules/bc4a75#failed-example-7
The ARIA 1.1 and 1.2 specs requires "at least one element" to satisfy the condition. It does not exclude other roles:
https://www.w3.org/TR/wai-aria-1.1/#mustContain
For example, you want to have elements with role=img for document type icons inside a Mac Finder or Windows Explorer style file system tree. And Example 12 in the ARIA spec has role=presentation interleaved with tree and treeitem roles.
For the code above I think the "at least one required owned element" condition is satisfied for all elements:
role=group - required owned elements: none
role=menu - required owned elements: group -> menuitemradio, menuitem, menuitemcheckbox, menuitemradio
role=menuitem - required owned elements: none
role=treeitem - required owned elements: none
It's not a failure of the required context role rule either, since the ARIA spec allows this test case because treeitem is contained by a group:
This is different to the requirement for role=menuitem which must be owned by role=menu or role=menubar:
https://www.w3.org/TR/wai-aria-1.1/#menuitem
The text was updated successfully, but these errors were encountered: