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

ARIA required context role ff89c9 - Failed Example 3 #1990

Open
dd8 opened this issue Dec 14, 2022 · 0 comments
Open

ARIA required context role ff89c9 - Failed Example 3 #1990

dd8 opened this issue Dec 14, 2022 · 0 comments

Comments

@dd8
Copy link
Collaborator

dd8 commented Dec 14, 2022

Failed example 3 looks like it has problems with ARIA 1.2:

<div role="list">
	<div aria-live="polite"> <!-- presentation role conflict exposed this with implicit role in ARIA 1.1 -->
		<div role="listitem">List item 1</div>
		<div role="listitem">List item 2</div>
	</div>
</div>

https://www.w3.org/WAI/standards-guidelines/act/rules/ff89c9/proposed/#failed-example-3

The test case assumes that the aria-live attribute includes it in the accessibility tree, but in ARIA 1.2 divs and spans are always included in the tree with role=generic unless role=presentation or aria-hidden=true is explicitly applied. That means global aria attributes like aria-live don't affect whether divs and spans appear in the tree, so the failed example produces the same a11y tree as:

<div role="list">
	<div> <!-- always exposed with implicit role=generic in ARIA 1.2 -->
		<div role="listitem">List item 1</div>
		<div role="listitem">List item 2</div>
	</div>
</div>

The problem is if you fail that, then you fail a large number of pages that previously passed with ARIA 1.1, because divs with no role didn't appear in the a11y tree in ARIA 1.1 (and these pages haven't suddenly become less accessible).

ARIA PR 1454 is trying to fix this by skipping role=generic elements when calculating parent/child in the same way as role=presentation elements are skipped

I think something similar needs done for the ACT Rules otherwise a lot of things that previously passed will now fail. The description of role=generic in ARIA 1.2 says

A nameless container element that has no semantic meaning on its own.
https://www.w3.org/TR/wai-aria-1.2/#generic

Edit: the mappings for div and span are here:
https://www.w3.org/TR/html-aam-1.0/#el-div
https://www.w3.org/TR/html-aam-1.0/#el-span

We're trying the approach in PR 1454 - that seems to work except for this test case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants