Skip to content

Commit 164adb9

Browse files
authored
Merge pull request #15365 from guardian/doml/slideshow-carousel-accessibility
Improve slideshow carousel accessibility to screen readers
2 parents 97e6422 + debbd5f commit 164adb9

1 file changed

Lines changed: 17 additions & 2 deletions

File tree

dotcom-rendering/src/components/SlideshowCarousel.importable.tsx

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,13 @@ export const SlideshowCarousel = ({
212212
const slideshowImageCount = slideshowImages.length;
213213

214214
return (
215-
<div css={containerStyles}>
215+
<div
216+
css={containerStyles}
217+
role="region"
218+
aria-roledescription="carousel"
219+
aria-label="Slideshow"
220+
aria-live="polite"
221+
>
216222
<a
217223
href={linkTo}
218224
aria-label={linkAriaLabel}
@@ -226,7 +232,14 @@ export const SlideshowCarousel = ({
226232
{slideshowImages.map((image, index) => {
227233
const loading = index > 0 ? 'lazy' : 'eager';
228234
return (
229-
<li css={carouselItemStyles} key={image.imageSrc}>
235+
<li
236+
css={carouselItemStyles}
237+
key={image.imageSrc}
238+
role="group"
239+
aria-roledescription="slide"
240+
aria-label={image.imageCaption}
241+
aria-hidden={index !== currentPage}
242+
>
230243
<figure>
231244
<CardPicture
232245
mainImage={image.imageSrc}
@@ -255,6 +268,8 @@ export const SlideshowCarousel = ({
255268
<div
256269
className="slideshow-carousel-footer"
257270
css={navigationStyles(hasNavigationBackgroundColour)}
271+
role="group"
272+
aria-label="Slide controls"
258273
>
259274
<div css={scrollingDotStyles}>
260275
<SlideshowCarouselScrollingDots

0 commit comments

Comments
 (0)