Reduced Motion and the Ethics of Animation
Vestibular symptoms are common enough to be a design constraint. The media query, what each operating system maps it to, and why removing animation is not the same as replacing it.
Date
Category
Writer

In 2009 a team at Johns Hopkins published a paper in the Archives of Internal Medicine with a number in it that I think about whenever someone proposes a scroll effect. Yuri Agrawal, John P. Carey, Charles C. Della Santina, Michael C. Schubert and Lloyd B. Minor analysed balance testing from 5,086 participants in the National Health and Nutrition Examination Survey covering 2001 to 2004, and found that 35.4% of US adults aged 40 years and older, around 69 million people, had vestibular dysfunction. Among those who were clinically symptomatic, meaning they reported dizziness, there was a twelve-fold increase in the odds of falling.
That figure describes measurable dysfunction of the inner ear's balance system, not motion sickness from websites, and the two are not the same thing. But the vestibular system is what reconciles what your eyes report with what your body feels, and when a screen shows movement that the body does not experience, the reconciliation fails. For a population that large, the failure is not merely unpleasant.
What the standard says, and where it stops
WCAG's most direct protection is Success Criterion 2.3.3 Animation from Interactions: Motion animation triggered by interaction can be disabled, unless the animation is essential to the functionality or the information being conveyed.
It is Level AAA.
That single fact is the most important thing in this article and the one most often glossed over. A site can conform fully to WCAG 2.2 at Level AA, which is what essentially every accessibility policy, procurement requirement and legal standard in the world asks for, and still fill its home page with parallax that makes a portion of its visitors ill. The guidelines do not require you to offer a way to turn it off. They recommend it, at the level nobody is asked to meet.
The understanding document for 2.3.3 is unusually direct about consequences. Affected users can experience dizziness, nausea and headaches, and migraine headaches, with reactions severe enough to require bed rest to recover. It names parallax scrolling specifically, defining it as what occurs when backgrounds move at a different rate to foregrounds, and extends the concern to any scrolling interaction that causes elements to move other than the essential movement associated with scrolling. Notably, it sets no threshold for how large or fast the movement must be.
The Level A criterion, 2.2.2 Pause, Stop, Hide, is often assumed to cover this. It does not. It applies to moving, blinking or scrolling information that (1) starts automatically, (2) lasts more than five seconds, and (3) is presented in parallel with other content. Three conditions, all of which must hold. A four-second hero animation is exempt. An effect triggered by the user's own scrolling did not start automatically. A full-bleed animation with nothing beside it is not presented in parallel with other content. The criterion was written for carousels and news tickers, and it does its job there.
The gap between 2.2.2 at Level A and 2.3.3 at Level AAA is where most of the motion on the modern web lives. Conformance will not get you across it. Only a decision will.
The media query, and what it is wired to
prefers-reduced-motion is defined in CSS Media Queries Level 5, currently a W3C Working Draft. The specification's own note states the reason for its existence: Some users have vestibular disorders and experience motion sickness from animated or translated content. Authors should use the prefers-reduced-motion media feature to provide an experience with less motion for these users.
It has two values. no-preference indicates the user has not activated any preference for reduced motion at the operating system level. reduce indicates that they have. Because no-preference evaluates as false, @media (prefers-reduced-motion) is equivalent to @media (prefers-reduced-motion: reduce).
The important word in the specification's value definitions is operating system. This is not a browser setting and it is not something your site can offer. It reads a switch elsewhere, and the switches do not all mean the same thing.
Platform | Where the setting lives | What it is called |
|---|---|---|
macOS, up to Sequoia | System Settings, Accessibility, Display | Reduce motion |
macOS, Tahoe onwards | System Settings, Accessibility, Motion | Reduce motion |
iOS | Settings, Accessibility, Motion | Reduce Motion |
Windows 10 | Settings, Ease of Access, Display | Show animations in Windows |
Windows 11 | Settings, Accessibility, Visual effects | Animation effects |
Android 9 and later | Settings, Accessibility | Remove animations |
Firefox, any platform | about:config | ui.prefersReducedMotion |
Read the third column. Apple says reduce. Google says remove. Microsoft offers a general toggle for animation effects across the whole system. A visitor arriving with reduce set has not made a considered statement about your interface. They have flipped a coarse system switch, very possibly for an unrelated reason, and your page is receiving a signal that was not addressed to it.
Two further consequences follow. First, the setting is global: a person who wants your page calmer has to accept a flatter operating system everywhere. That is a real cost, and it means the number of people who would benefit from reduced motion is certainly larger than the number who have the flag set. Second, the signal is binary. There is no intensity. You get a boolean and you have to decide what it means.
Reduce is not remove
The most common implementation I see, including in work I shipped myself for several years, treats reduce as an instruction to delete. Every transition gone, every animation gone, states snapping between one appearance and another with nothing in between.
This is worse than it sounds, and it is worse specifically for the people the query exists to protect. Animation in an interface is not only decoration. A dialogue that fades in tells you it arrived. A panel that slides tells you where it came from. Strip all of it and you replace a motion problem with an orientation problem: things appear and disappear with no account of themselves, and the user has to work out what changed. Eric Bailey made the point when he introduced the query in February 2017, arguing that animation used with discretion and restraint is a good way to communicate relationships between parts of a site or transitions between states, and that the right response is to provide an alternative rather than scrap it.
The alternative exists because not all motion is equally dangerous. Val Head's analysis, published on A List Apart in September 2015 and updated in 2020, identifies what makes an animation risky, and one of her observations is the whole basis of a sane reduced-motion strategy: Animation that involves only non-moving properties, like opacity, color, and blurs, are unlikely to be problematic.
So the pattern is not "remove the transition". It is "keep the transition, remove the translation". Cross-fade instead of slide. Change colour instead of scale. The state change is still narrated; nothing travels across the screen.
Writing it this way rather than overriding inside a reduce block has a practical benefit beyond tidiness: the safe version is the default, so anything you forget to handle fails safe. If a new component ships without a media query, it ships without movement rather than with it.
For animation driven by script, the same principle applies and the query is readable from JavaScript. The Chrome team's documented pattern is:
The parentheses around the media query string inside matchMedia() are required. And the change listener matters more than it looks: somebody who starts feeling unwell mid-visit may go and flip the system switch, and a page that only reads the value once at load will ignore them.
Which animations carry which risk
Head identifies three factors that raise risk. The relative size of the movement: Animations that move an object across a large amount of space are most apt to trigger a negative response. Mismatched direction and speed, where exaggerated parallax and scrolljacking animations are highly likely to be triggering because background and foreground move differently from the user's own scrolling. And the distance covered through perceived space, for which she cites the 3D zoom transitions in iOS 7.
Combined with the W3C's material, that yields a working triage. The right-hand column below is my own judgement rather than anything either source states as a ranking, and I want to be clear about that.
Animation type | Why it carries risk | My default |
|---|---|---|
Parallax between layers | Backgrounds move at a different rate to foregrounds; named specifically by W3C and by Head | Do not ship it |
Scrolljacking | Movement is decoupled from the user's own input | Do not ship it |
Large-area movement across the viewport | Size of movement is the first risk factor Head names | Only outside reduced motion |
Scale or zoom, especially full-bleed | Reads as travel through space; z-axis distance | Only outside reduced motion |
Spin or rotation | Directly mimics the sensation of vertigo | Only outside reduced motion, and briefly |
Autoplaying video of camera movement | Whole-field motion the body does not feel | Needs a control regardless of the media query |
Small translations, under about one element height | Movement, but over little distance | Outside reduced motion; cross-fade inside it |
Opacity, colour and blur changes | Head: unlikely to be problematic | Safe as the reduced-motion alternative |
The reset I stopped shipping
There is a snippet that circulates widely, a universal selector inside a reduce block that forces every animation and transition duration on the page to a hundredth of a millisecond with !important, along with resetting iteration counts and scroll behaviour. I have used it. I have not been able to trace it to a primary source in preparing this piece, and it appears in dozens of stylesheets without attribution, so I will not credit it to anyone.
It has one genuine virtue: it is a safety net for third-party code, embeds and legacy stylesheets you do not control, and as a last line of defence under a properly designed set of reduced-motion rules it earns its place. As a complete answer it is the delete-everything approach in a single declaration, and it takes your carefully considered cross-fade down with it, because !important on a universal selector does not distinguish between an opacity transition and a full-screen zoom.
If I use it now, I use it last, and I exempt the transitions I deliberately designed as the reduced-motion path.
What I cannot tell you
I do not know how many people who would be harmed by motion on the web have the operating system setting enabled. I could not find a primary source that measures it, and I am fairly sure the answer would be discouraging, because the setting is buried, global in effect, and named differently on every platform. The honest position is that prefers-reduced-motion is a floor and not a measurement. It catches the people who have already been hurt enough to go looking for a switch.
The 35.4% figure at the top of this piece is from a 2009 survey of American adults over 40 and describes vestibular dysfunction, not screen-induced symptoms. I have not found a study that measures how many of those people are affected by web animation specifically. It tells you the population is large, not how large the harm is.
What follows from all of that is not a rule but a default. Motion is an addition. It goes on top of an interface that already works without it, and the version without it should be the one you write first.
Sources
Yuri Agrawal, John P. Carey, Charles C. Della Santina, Michael C. Schubert and Lloyd B. Minor, "Disorders of balance and vestibular function in US adults: data from the National Health and Nutrition Examination Survey, 2001-2004", Archives of Internal Medicine, 2009, vol. 169, no. 10, pp. 938–944, doi 10.1001/archinternmed.2009.66, PMID 19468085. The 35.4% prevalence figure, the 5,086 sample, and the twelve-fold odds of falling. europepmc.org (record for PMID 19468085)
Vestibular Disorders Association, "About vestibular disorders", vestibular.org. The 35% of US adults over 40 figure restated for a general audience, the 8 million American adults reporting chronic balance problems, and the symptom list including blurred or bouncing vision, nausea and increased susceptibility to motion sickness. vestibular.org/article/what-is-vestibular/about-vestibular-disorders/
W3C, "Understanding SC 2.3.3: Animation from Interactions", Understanding WCAG 2.2. The criterion text, its Level AAA status, the symptoms described, and the definition of parallax scrolling. w3.org/WAI/WCAG22/Understanding/animation-from-interactions.html
W3C, "Understanding SC 2.2.2: Pause, Stop, Hide", Understanding WCAG 2.2. The criterion text at Level A, including the three conditions and the five-second threshold. w3.org/WAI/WCAG22/Understanding/pause-stop-hide.html
W3C, "Media Queries Level 5", W3C Working Draft. The prefers-reduced-motion definition, the no-preference and reduce values, and the note on vestibular disorders. w3.org/TR/mediaqueries-5/
Mozilla, "prefers-reduced-motion", MDN Web Docs. Value definitions and the table of operating system settings for macOS, iOS, Windows 10 and 11, Android 9 and later, and Firefox. developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion
Thomas Steiner, "prefers-reduced-motion: Sometimes less movement is more", web.dev, Google. The matchMedia JavaScript pattern and the approach of removing non-essential motion while retaining necessary movement. web.dev/articles/prefers-reduced-motion
Val Head, "Designing Safer Web Animation For Motion Sensitivity", A List Apart, 8 September 2015, updated 30 April 2020. The three risk factors: relative size of movement, mismatched direction and speed, and distance covered; and the finding that opacity, colour and blur animations are unlikely to be problematic. alistapart.com/article/designing-safer-web-animation-for-motion-sensitivity/
Eric Bailey, "An Introduction to the Reduced Motion Media Query", CSS-Tricks, 10 February 2017. The argument for providing an alternative rather than removing animation entirely. css-tricks.com/introduction-reduced-motion-media-query/
Related reading
Latest Articles.
© Moc Mallen Studio
Thoughts, ideas, and perspectives on design, simplicity, and creative process.

