2.5.4 Motion Actuation
Level A · added in WCAG 2.1
Some features respond when you shake or tilt the device, or gesture at a camera. They must also work through a normal control, and you must be able to turn the motion response off.
Who it helps
People who can't move or hold a device, such as those with a phone mounted to a wheelchair, can't shake or tilt it. People with tremors may trigger motion features by accident and need to switch them off.
How to meet it
- Pair every motion feature with a button or other control, such as an Undo button next to shake to undo.
- Add a setting that turns off motion responses, and respect it everywhere.
- Apply the same rules to user motion detected by a camera, such as waving to go to the next slide.
- Supported interface exception: motion used through an accessibility supported interface, like the operating system's own features, is exempt.
- Essential exception: motion that is the point of the activity, such as a pedometer or a level tool, is exempt.
Examples
<p>Shake your phone to undo.</p>
<script>
window.addEventListener("devicemotion", undoOnShake);
</script><button type="button" onclick="undo()">Undo</button>
<label>
<input type="checkbox" id="shake-undo" checked>
Shake to undo
</label>Can a scanner detect this?
No
axe-core has no rule for this criterion, because it doesn't move the device or track what motion events do. You need to find every motion or camera gesture feature and check for a control alternative and an off switch.
No automated rule tests this criterion. Check it by hand.
Common mistakes
- Offering tilt to scroll or shake to report a bug with no button alternative.
- Adding a setting that turns shaking off but leaving no button, so the feature disappears.
- Forgetting gestures detected through the camera, which count as user motion.
- Treating a motion feature as essential when a button could do the same job.
Related criteria
Check your own page
See which automated WCAG checks your page fails, with the failing elements and how to fix them.
Reviewed November 2, 2026