You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
aMadReason opened this issue
Apr 3, 2023
· 3 comments
Labels
duplicateAn issue closed because it is equivalent to another issueFeedbackIssue raised by or for collecting input from people outside APG task forcequestionIssue asking a question
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/
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
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.
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
duplicateAn issue closed because it is equivalent to another issueFeedbackIssue raised by or for collecting input from people outside APG task forcequestionIssue asking a question
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)
The text was updated successfully, but these errors were encountered: