WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Carousel with multiple items - recommended keyboard operation when activating Next-button

for

From: Mark Magennis
Date: May 11, 2023 9:59AM


Jon,

I've taken a look at the ARIA Practices carousel coding pattern and I doubt that it is appropriate for the OP's circumstance. It seems to be aimed at carousels that contain a single item like those typically used for marketing image 'slide shows' at the top of a home page. I have been reviewing a carousel that seems similar to the OP's in that it contains multiple cards which are all links to courses and is scrolled a group at a time, not a single card at a time. Given the nature of this carousel and its situation within the page my opinion is that role="region" is unnecessary and doesn't add any clarification or aid navigation, so its aria-label is also redundant and although it is good to name the strip for users who tab into it skipping past its heading, this can best be done on the <ul>. The aria-roledescription="carousel" and aria-roledescription="slide" are equally unnecessary and I believe complicate things because "carousels of slides" is a visual metaphor that may well be suited to a set of marketing images but this content is best presented to screen reader users simply as lists of links to courses with buttons to see more. So there are 'carousels' and there are 'carousels' and they are all different and need to be coded differently.

I also noted in testing that the addition of aria-roledescription="slide" to the link's container caused JAWS to announce each link as a "slide" but not a link when arrowing to it, so users wouldn't know that these are links.

All in all, whilst these patterns are good to have it's important to make sure they fit the context of the information and functionality you are trying to present, and sometimes they need some tweaking.

Mark