← All Carousels

Flickity

Accessibility Fixes Applied

  • tabindex management for hidden slides (library traps focus)

Summary

Accessibility Analysis

Score: 74.6% — 44/59 accessibility issues resolved Median resolution time: 69 days

Open Issues (15)

Recommendation

The accessible-carousel-boilerplates project recommends avoiding wrapAround and accessibility options.


Our Workaround

Flickity sets aria-hidden="true" on non-visible slides, but links and buttons inside remain focusable. Screen reader users can tab into content they can’t see.

const updateFocusableElements = (selectedIndex) => {
  slides.forEach((slide, i) => {
    const focusables = slide.querySelectorAll('a, button, input, select, textarea')
    focusables.forEach((el) => {
      el.setAttribute('tabindex', i === selectedIndex ? '0' : '-1')
    })
  })
}

flkty.on('select', () => {
  updateFocusableElements(flkty.selectedIndex)
})

// Initial setup
updateFocusableElements(0)