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-busy and parent/children required roles #2424

Open
giacomo-petri opened this issue Feb 1, 2025 · 4 comments
Open

aria-busy and parent/children required roles #2424

giacomo-petri opened this issue Feb 1, 2025 · 4 comments

Comments

@giacomo-petri
Copy link
Contributor

Should we explicitly clarify that required accessible parent/children relationships do not apply to elements with aria-busy="true"?

It seems understandable, but I don’t see a place where this is clearly stated. As it stands, tool vendors might still enforce these relationships even when aria-busy is set.

Side note:

I’ve noticed inconsistencies in how browsers handle elements with aria-busy="true". Some treat the role as generic, while others retain the role and announce "busy." What’s the expected behavior? @cookiecrook, would this be a good candidate for WPT?

@cookiecrook
Copy link
Contributor

From https://w3c.github.io/aria/#aria-busy

If it is necessary to make multiple additions, modifications, or removals within a container element that is already either partially or fully rendered, authors MAY set aria-busy to true on the container element before the first change, and then set it to false when the last change is complete. For example, if multiple changes to a live region should be spoken as a single unit of speech, authors MAY set aria-busy to true while the changes are being made and then set it to false when the changes are complete and ready to be spoken.

Maybe the change should be:

- and then set it to false when the last change is complete.
+ and then authors MUST set it to false when the last change is complete.

Thoughts?

@cookiecrook
Copy link
Contributor

cookiecrook commented Feb 6, 2025

@cookiecrook, would this be a good candidate for WPT?

I would not think so, because 1) aria-level is not yet testable in WPT, and 2) these are normative author requirements, not user agent requirements.

@cookiecrook cookiecrook removed their assignment Feb 6, 2025
@giacomo-petri
Copy link
Contributor Author

Sorry, my fault. I was referring to the last published version instead of the draft and focusing on required owned elements. I was questioning whether the aria-busy state removes that requirement, but with the draft version we don't care since we do not longer have required owned elements.

I don’t have a concrete example in mind, but could the opposite be possible? That is, while dynamically updating the DOM, there might be a state where aria-busy is set to true, and some elements require a parent, but no required parent elements are present?

If this scenario is possible (though I’m unsure if it matters), should we clarify that when aria-busy="true", authors are not required to meet this requirement? Also, we should ensure that authors don’t misuse aria-busy simply to pass ARIA validation.

@cookiecrook
Copy link
Contributor

I don’t have a concrete example in mind, but could the opposite be possible? That is, while dynamically updating the DOM, there might be a state where aria-busy is set to true, and some elements require a parent, but no required parent elements are present?

Hypothetically, an orphaned listitem could be outside the DOM tree of a busy list that will pull the listitem into the list using aria-owns, but not into the DOM subtree...

Also, we should ensure that authors don’t misuse aria-busy simply to pass ARIA validation.

💯

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

2 participants