Test your website →

Blog

Accessible Carousels — or Why to Delete the Carousel

Making a carousel truly accessible is so hard that deleting it is usually the better engineering decision.

Sometimes the right response to “how do I make this accessible?” is “don’t build it.” That answer feels like a dodge, so people rarely give it. But for one component in particular I think it’s the correct engineering judgment, arrived at by honestly counting the cost of the alternative. That component is the carousel: the auto-rotating slideshow of banners at the top of a homepage, cycling through five messages the company couldn’t choose between.

Let me first take the question seriously and describe what a genuinely accessible carousel requires, because the length of this description is my argument. The rotation must pause when a user hovers over it or moves keyboard focus into it, because content that changes under your cursor or focus is content being yanked away mid-read. There must be a visible, reachable control that stops the rotation entirely, because the accessibility guidelines are clear on the plain-language principle behind it: users must be able to stop things that move, since motion is at best a distraction and at worst, for people with vestibular disorders or attention difficulties, a reason to leave. Every slide needs to be reachable by keyboard, which means the previous, next, and per-slide controls must be real buttons with real names, not clickable dots announced as nothing. The screen reader experience needs careful thought: slides that are off-screen should be hidden from assistive technology so users don’t wander through invisible content, but the current slide shouldn’t aggressively announce itself on every auto-rotation, or the screen reader user gets interrupted every five seconds by a component they never asked to listen to. Touch users need swipe gestures that don’t break scrolling. And each slide’s content, image text and contrast and link labels, needs the same care as any page section, times however many slides you have. All of this is achievable. People have written excellent, detailed patterns for it. But look at the bill. You are signing up to build and maintain one of the most intricate interactive components on your site, with more states and failure modes than your checkout, and every future redesign has to re-earn all of it.

Now ask what this component buys you, and here the case collapses, because the carousel isn’t a good component that’s unfortunately hard to make accessible. It’s a weak component for everyone. Its defining behavior is taking content away from people. A visitor starts reading slide one; the carousel decides time’s up and replaces it. Reading speeds vary enormously, for people reading in a second language, people with dyslexia, people using magnification who see a portion of the slide at a time, people who are simply tired. An auto-rotation timer is a bet that you know how long every visitor needs, and the bet is always wrong in both directions: too fast for some, and for the visitor who wasn’t going to read slide three anyway, pure motion noise. Meanwhile anyone who has watched real users interact with homepage carousels knows the pattern: attention goes to the first slide, engagement with the rest falls off a cliff, and many visitors have learned to treat the whole rotating region as an ad and skip it entirely. The carousel exists mostly because it solves an internal problem, five stakeholders wanted the top of the homepage, and a rotating banner let everyone win. The cost of that truce is exported to the users, and the users who pay most are the ones with the least slack.

So the alternative isn’t a sadder homepage. It’s a decision. Pick the one message that matters most, the thing you’d keep if you could keep only one, and give it the hero. Then, if the other four messages genuinely matter, lay them out below as a static row or grid of sections, all visible at once, none of them timed. This is better for accessibility almost by elimination: nothing moves, so there’s nothing to pause; nothing is hidden, so there’s no focus management; everything is ordinary links and headings, which browsers and screen readers have handled flawlessly for thirty years. It’s better for sighted users, who can scan four options in the time a carousel would have shown them one. And it’s better for you, because static sections are essentially maintenance-free while a carousel is a machine that needs oiling forever. When GazeSite scans homepages, auto-rotating hero carousels are one of the most reliable sources of findings across both the accessibility and clarity grades, and the clarity finding is usually the deeper one: the carousel isn’t just excluding users, it’s hiding the site’s main message behind a timer.

The general lesson is the one I opened with, and it applies well beyond carousels. Accessibility questions are load-bearing tests of design. When a component is extremely hard to make accessible, that difficulty is often the component confessing something, that it moves without consent, hides state, or fights the grain of how browsers and assistive technology work. Sometimes the confession is worth hearing and the component is worth the cost; a video player is hard too, and clearly worth building well. But when the hard-to-fix component is also barely earning its keep, you’re allowed to notice that the cheapest accessible carousel ever shipped was the one somebody deleted. Deleting it takes an afternoon. Most of that is the meeting.

More articles

← All posts