Skip to content

Rule · Lint

Animations present but no prefers-reduced-motion handling anywhere

lint/no-reduced-motionwarnvoid lintupdated

Why it matters

People with vestibular disorders can get nauseous from motion; the OS setting exists for them. Without handling it, all entrances, parallax and ambient loops still run.

How to fix it

Honor the preference: motion-reduce: / motion-safe: variants, a global @media (prefers-reduced-motion: reduce) rule, or useReducedMotion() / . Show the finished state instead of hiding content.

Example

css
@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
}

References

void lint reports 67 rules in this category. Static source checks with no browser: Tailwind v4 silent failures, Next.js 16 API traps, React render-body bugs, accessibility markup, SEO files and motion hygiene.