Design practice
Reduced Motion Audit
Audit a page for motion and implement meaningful prefers-reduced-motion alternatives
01 / Prepare
What you’ll
work on.
Audit an existing web page (your own or a public site) for motion accessibility. Identify all animations, categorize them by function, and implement prefers-reduced-motion alternatives that preserve meaning without triggering vestibular discomfort.
Before you begin
- Understanding of CSS prefers-reduced-motion media query
- Basic knowledge of vestibular disorders and motion sensitivity
- A web page with animations to audit (your own project or a public site you can fork)
02 / Practice
The work,
step by step.
Work through these 4 parts at your own pace. Keep your notes and work together so you can review them when you finish.
Inventory All Motion
30 min
Visit the page with DevTools open (Chrome > More tools > Animations panel)
Catalog every animation on the page: CSS transitions, CSS @keyframe animations, JavaScript-driven animations (GSAP, Framer Motion, etc.), scroll-linked animations, auto-playing video or GIF content
For each, note: trigger (hover, scroll, load, click), duration, what changes
Categorize by Function
30 min
Sort each animation into one of three categories: Essential (communicates state change or provides critical feedback — keep but simplify), Functional (aids comprehension but is not critical — replace with instant appearance), Decorative (adds polish but carries no information — remove entirely)
Implement Alternatives
60 min
Add the prefers-reduced-motion media query
@media (prefers-reduced-motion: reduce) { /* Overrides go here */ }For essential animations: reduce duration to minimum, remove spatial movement, keep opacity
For functional animations: replace with instant transitions (transition-duration: 0.01s)
For decorative animations: remove completely (animation: none)
Handle JavaScript animations: check the preference in JS and skip or simplify
Test and Document
30 min
Enable "Reduce motion" in your OS settings (macOS: System Settings > Accessibility > Display)
Navigate the entire page — does it still make sense? Are state changes still visible?
Compare the two experiences side-by-side
Write a brief (300 words): what you removed, what you kept, and why
03 / Review
Look at what
you’ve made.
Gather your deliverables, then use the criteria to find what worked and what you would change. They also give a peer something specific to respond to.
What to bring together
- Motion inventory table (animation, trigger, duration, category)
- Implemented prefers-reduced-motion overrides
- Side-by-side comparison (screenshots or recording)
- 300-word brief explaining decisions
How to assess your work
- Completeness
- All animations on the page inventoried
- Categorization
- Correct classification of essential vs. functional vs. decorative
- Implementation
- Reduced motion mode is functional, not just * { animation: none }
- Preserved meaning
- State changes are still visible without motion
- Documentation
- Decisions are explained with rationale