Carousel Accessibility Comparison

Compare accessibility scores and features of popular carousel libraries.
Scores from isitaccessible.dev (opens in new tab)

View Full Research

Embla Carousel

100%

Best choice. Has dedicated accessibility plugin with ARIA live regions.

8.0k ⭐ React

@egjs/flicking

100%

Only 2 a11y issues ever reported. Supports React, Vue, Angular, Svelte.

2.9k ⭐ React

react-responsive-carousel

100%

Built-in showIndicators uses li[role=button] (a11y violation). Using custom controls instead.

2.7k ⭐ React Only

Siema

85.7%

Lightweight (~3KB) but unmaintained. Fast issue resolution when active.

3.5k ⭐

Swiper

84.9%

Most popular. Has keyboard/screen reader issues including infinite tab loops.

41.8k ⭐ React

Flickity

74.6%

Aging. aria-hidden on inactive slides traps focus. Custom controls needed with tabindex management.

7.6k ⭐

Keen Slider

66.7%

One unresolved a11y issue from 1,190+ days ago.

5.0k ⭐ React

tiny-slider

58.5%

Built-in nav has tabindex=-1 and aria-label issues. Custom controls recommended.

5.3k ⭐

React Slick

57.4%

Built-in dots use improper list structure. aria-hidden traps focus. Custom controls with tabindex management needed.

12.0k ⭐ React Only

Splide

53.8%

Markets as "accessible" but has Tab key and aria-label issues.

5.3k ⭐ React

Glide.js

44.4%

Focus management issues on hidden cloned elements (633+ days old).

7.7k ⭐