Resource
SwiperJS
My default carousel engine. Touch, keyboard, a11y, prefers-reduced-motion — all in. Used on this site.
My default carousel engine. Touch, keyboard, a11y, prefers-reduced-motion — all in. Used on this site.
Why Swiper
Active maintenance (weekly commits). Real WCAG-friendly defaults (focus management, keyboard nav, ARIA roles). Touch + mouse + keyboard all-in. Honours prefers-reduced-motion with autoplay disabled. Lazy-loadable.
What I configure differently from defaults
- Autoplay off by default. Carousel autoplay is a known accessibility regression for visitors with cognitive disabilities.
- Pagination via keyboard-focusable buttons, not dots.
- Lazy-load via the native IntersectionObserver, not Swiper’s built-in.
License
MIT.