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.
Last reviewed: September 9, 2026
Understanding 2.3.3
Non-essential motion animation triggered by scrolling, hovering, dragging, or other interactions can cause dizziness, nausea, or disorientation for users with vestibular disorders. This criterion requires that such interaction-triggered animation can be disabled so vestibular-sensitive users can browse without triggering symptoms, unless the animation is essential to the functionality or the information being conveyed.
How to Meet It
Code Examples
.card {
transition: transform 0.6s ease;
}
.card:hover {
transform: scale(1.5) rotate(10deg); /* Large parallax/zoom effect always plays, with no way to disable it */
}.card {
transition: transform 0.6s ease;
}
.card:hover {
transform: scale(1.5) rotate(10deg);
}
@media (prefers-reduced-motion: reduce) {
.card {
transition: none;
}
.card:hover {
transform: none; /* Respects the user's OS-level reduced-motion preference */
}
}Frequently Asked Questions
Does this mean all animations must be made disableable?
No. Only non-essential motion animation triggered by user interaction, such as parallax scrolling or hover-zoom effects, needs a way to be disabled. Animation essential to functionality or the information being conveyed, such as a loading spinner or a drag-and-drop drop-zone highlight, is exempt.
Is honoring prefers-reduced-motion enough on its own to meet this criterion?
Honoring the OS-level prefers-reduced-motion setting is the most common and recommended way to meet 2.3.3, since it requires no custom UI. You can also meet it by providing your own in-app control, as long as users have some way to disable the non-essential animation.
Related Success Criteria
Quick Facts
- Criterion2.3.3
- LevelAAA
- IntroducedWCAG 2.1
Automate Compliance
AccessiSight automatically scans and identifies 2.3.3 issues in your codebase.
Try Scanner Free