Pause, Stop, Hide
Moving, blinking, scrolling, or auto-updating content that lasts more than five seconds must be pausable, stoppable, or hideable by the user. Covers carousels, marquees, news tickers, animated ads, and auto-refreshing feeds.
What it asks
For any content that meets all three of (a) moves, blinks, scrolls, or auto-updates, (b) starts automatically, (c) lasts more than five seconds and is shown in parallel with other content, the user must have a mechanism to pause, stop, or hide it. The same applies to auto-updating content that isn’t movement (live news feeds, scoreboards, chat).
Exceptions: where the movement is essential to the activity (a video being watched, an animation tutorial), and where the content is the only thing on screen (a loading spinner before content appears).
How to meet it
- Add a visible Pause/Play button to every carousel, slideshow, or auto-advancing banner. Make it the first focusable element of the carousel widget.
- Auto-pause carousels on hover and keyboard focus — but the user must still be able to fully stop them.
- For news tickers, marquees, and stock-price strips, expose a pause button in the same row, sized to 24×24 minimum.
- For auto-refreshing dashboards (Kibana, Grafana, live sports), give the user a refresh-interval picker including a “manual refresh only” option.
- Animated GIFs that loop indefinitely should be replaced with
<video>that exposes native controls, or with a play-on-click pattern.
Common failures
- Hero carousels that rotate every three to five seconds with no pause control — still the single most common 2.2.2 failure in audits.
- Auto-playing video backgrounds with no controls, especially on marketing pages.
- News-site tickers that scroll horizontally with no pause button.
- Animated SVG illustrations on landing pages that loop forever without a way to stop.
- Toast notifications stacking continuously from a live feed with no way to mute.
axe and Lighthouse can detect <marquee> and some prefers-reduced-motion violations, but they cannot identify a JavaScript-driven carousel without controls. Manual review is required.
Why it matters
Auto-moving content is one of the most disabling patterns on the web. It pulls focus from anyone with attention-related disabilities (ADHD, certain anxiety disorders, post-concussion syndrome), it forces screen-reader users to keep losing their place as DOM nodes update, and it makes reading impossible for low-vision users who track text slowly. A pause button is one of the cheapest, highest-impact accessibility additions a marketing team can make.