A11y Hell
MEDIUMWCAG 2.2.2 A

Auto-Advancing Carousel

Content rotates automatically and cannot be paused, forcing users to race against motion.

Try It Yourself

Demo warning

Moving content without controls can hide information before users can process it.

Watch the carousel change every few seconds and attempt to read all content before it disappears.

Auto-playing carousel

Annual plan discount ends tonight. Read terms before choosing.

No pause/stop control provided. Content changes every 2.5 seconds.

Manual Testing Protocol

Follow this sequence to reproduce the failure consistently and verify the fix with the same workflow.

1. Setup

  • Open carousel demo and start reading the first panel.
  • Do not interact with controls initially.

2. Reproduction Steps

  1. Observe automatic slide transitions for at least three cycles.
  2. Try reading each message fully before it changes.
  3. Attempt to pause or stop rotation.

3. Expected Failure Signals

  • Content changes without user consent or timing control.
  • Reading is interrupted by forced transitions.
  • No pause/stop mechanism exists in broken version.

4. Fix Verification

  • Pause/stop controls are keyboard accessible and clearly labeled.
  • Auto-rotation respects reduced motion and user preferences.
  • User can consume all content at their own pace.

Evidence Capture Checklist

  • Record the exact user goal that fails (for example: submit form, complete checkout, navigate menu).
  • Capture screen recording + keyboard path from first interaction to failure state.
  • Map failure to WCAG 2.2.2 (Level A) and affected user groups.
  • Document business impact: conversion loss, support burden, legal/compliance risk, or trust damage.
Share evidence with Accessibility.build

The Impact

What Happens

  • Users lose context as slides change unexpectedly
  • Reading speed differences are ignored
  • Motion causes cognitive overload

Who Gets Hurt

Users with cognitive disabilities
Slow readers and multitaskers
Users sensitive to motion

The Broken Code

<div class="carousel" data-auto-rotate="true" data-interval="3000">
  <!-- No pause button -->
  <!-- No stop control -->
</div>

WCAG 2.2.2: Reference

"For moving, blinking, scrolling, or auto-updating information, there is a mechanism for the user to pause, stop, or hide it."

Level A - Users need control over time and movement to consume information reliably.

Related Medium Issues

Explore neighboring failures in the same severity band.

View all medium issues
Screen reader simulation closed. Audio disabled.

Screen Reader

Simulation Mode

Active — Tab to navigate

Currently Announcing

Focus on an element to see announcement

Announcement History

No announcements yet

Press Tab to start navigating

This simulates what screen reader users hear.
No visuals — just these announcements.
Shortcut: Shift + Alt + S