Preference
The browser exposes the user motion setting.
Reduced motion respects users who prefer less animation. It is not optional polish; it is part of professional motion design.
@media (prefers-reduced-motion: reduce) {
.panel { animation: none; transition-duration: 1ms; }
}
Motion mental model
Some users set a system preference to reduce motion because movement can be distracting, uncomfortable or physically unpleasant.
CSS can detect that preference with prefers-reduced-motion. The goal is not always to remove every transition, but to remove or simplify motion that travels, spins, zooms or loops.
A reduced-motion fallback should preserve information. If animation communicates a state, the still version must communicate the same state clearly.
The browser exposes the user motion setting.
CSS adjusts animation and transitions.
The still state must communicate the same information.
Large, looping or spatial motion needs the most care.
Visual model
A panel slides, fades or pulses when allowed.
CSS checks prefers-reduced-motion.
Travel and looping motion are removed or softened.
State remains visible without motion.
Good CSS versus fragile CSS
.panel { animation: slide-in 360ms ease both; }
@media (prefers-reduced-motion: reduce) {
.panel { animation: fade-in 120ms ease both; }
}
.hero-title {
animation: zoom-spin 900ms ease infinite;
}
Rules of thumb
prefers-reduced-motion is the CSS hook for the system preference.
Large movement, zooming, parallax and spinning need the strongest fallback.
Do not rely on motion alone to explain progress or state.
A heavy-handed reset can accidentally remove useful focus or state transitions.
A fade or instant state change can replace a slide.
DevTools can emulate reduced motion so you can verify the fallback.
Production thinking
Reduced motion turns animation from decoration into responsible interface design. It shows that polish and accessibility can live together.
Users who request reduced motion should not be forced through parallax, spinning, zooming or looping decorative movement.
Create a motion checklist for every animation: purpose, trigger, duration, reduced-motion behavior and performance risk.
Accessible pages are more robust pages. The important content should not depend on motion to be understandable.
Live code lab
The preview runs in an isolated iframe. Links and forms stay inside the practice area, so you can experiment without leaving the lesson.
Mini assignment
Practice assignment
Try it yourself
Self-check
Answer these questions before moving on. If the motion has no purpose, no fallback or no state clarity, it is not production motion yet.
Senior audit upgrade
The goal is to respect the user. Sometimes that means removing motion, sometimes replacing it with a calmer cue, sometimes shortening it.
Disable decorative background loops and parallax.
Use opacity or color instead of large movement.
Keep necessary feedback fast and low-distance.