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

Suggestion: aria-live triggers (certain attributes) #2668

Closed
aMadReason opened this issue Apr 3, 2023 · 3 comments
Closed

Suggestion: aria-live triggers (certain attributes) #2668

aMadReason opened this issue Apr 3, 2023 · 3 comments
Labels
duplicate An issue closed because it is equivalent to another issue Feedback Issue raised by or for collecting input from people outside APG task force question Issue asking a question

Comments

@aMadReason
Copy link

The Carousel pattern suggests using aria-live and atomic, I've found unless I dynamically add and remove 'display: none' aria-live doesn't read content updates (this is unaffected by what i set in aria-relevant) -> this can be very disruptive when using animations or scrolling.

It might be beneficial to trigger aria-live announcements when certain attributes change, e.g. aria-hidden, inert

Sceneraio: Carousel slides all loaded for grid layout, inactive slides have 'inert' attribute and the parent component that acts as scroller has aria-live and aria-atomic. When a new slide is made active there are subtle animations. Having to apply toggle display: none on elements will cause layout issues and require the removal of animations.

Please see the examples here that by a google dev that follow the pattern, but as it doesn't use display: none the aria-live doesn't announce changes: https://gui-challenges.web.app/carousel/dist/

Video: https://www.youtube.com/watch?v=CXJv6zM003M

(I didn't do the video or examples but found the sourcecode for the examples to be a good example of this)

@JAWS-test
Copy link

Related: #78, w3c/aria#546 and #1139

@css-meeting-bot
Copy link
Member

The ARIA Authoring Practices (APG) Task Force just discussed Suggestion: aria-live triggers (certain attributes) #2668.

The full IRC log of that discussion <jugglinmike> Subtopic: Suggestion: aria-live triggers (certain attributes) #2668
<jugglinmike> github: https://github.com//issues/2668
<jugglinmike> Matt_King: They're talking about the DOM changes necessary to get aria-live to trigger
<jugglinmike> jamesn: This sounds like an ARIA issue, not a aria-practices issue
<jugglinmike> jamesn: I think this is a duplicate of one or two issues in aria-practices
<jugglinmike> Zakim, end the meeting

@mcking65
Copy link
Contributor

mcking65 commented Apr 5, 2023

@aMadReason

We would definitely like to address this problem!! This issue is essentially the same as #78, the issue referenced above by @JAWS-test.

Unfortunately, there is only one way to make live announcements that work with JAWS, NVDA, VoiceOver, and Narrator, and it is not an approach that is appropriate for carousel. That way is to use role alert.

The sad reality is that live regions are important but do not yet have robust support at any level of the AT rendering stack. That is why issue #78 remains unresolved. This situation has the attention of the ARIA Working Group and is one of the major topics in our upcoming face-to-face workshop in May.

At this time, treating live content as a nice-to-have feature is best. That is certainly the case for the carousel pattern. It is accessible without the live content. The live content simply makes quickly skimming the carousel easier.

Closing this as a duplicate of #78.

@mcking65 mcking65 closed this as completed Apr 5, 2023
@mcking65 mcking65 added duplicate An issue closed because it is equivalent to another issue question Issue asking a question Feedback Issue raised by or for collecting input from people outside APG task force labels Apr 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate An issue closed because it is equivalent to another issue Feedback Issue raised by or for collecting input from people outside APG task force question Issue asking a question
Projects
None yet
Development

No branches or pull requests

4 participants