Skip to main content
WCAGrules
Quick navigation

Do not ship motion controls without an off switch

Shake to undo, tilt to scroll, and no setting anywhere that stops the page listening. F106 is the failure technique for that, and a match is a defect rather than a feature. It covers one half of the rule, which is worth being exact about. The rule asks for two things. A conventional on-screen control doing the same job, and a way to switch motion response off. F106 is only the second, so a page with a shake gesture, no button and a working off switch breaks the rule without being this failure. Some motion sits outside altogether. Location from a GPS sensor, steps counted by the device, proximity beacons, and the incidental movement of working a keyboard or a pointer are all excluded. And where a motion sensor is essential to the function, as it is for a level or a pedometer, the failure does not apply.

How we find it in an audit

Two questions, asked in that order. Whether the motion-driven function has an on-screen control that does the same thing, and whether the site offers a setting that stops it listening. The technique asks only the second, so where the button alone is missing we write the finding against the rule rather than against the technique. Then a reviewer decides whether motion is essential here, which means the activity needs it rather than the design enjoying it. Testing takes a real device, because a desktop browser reports no motion and everything looks calm.

How affected users experience it

Someone with a tremor sets the gesture off just by holding the phone. The action fires, then fires again, and there is no way to stop it short of putting the device down. At the other end of the same rule, someone whose tablet is bolted to a wheelchair arm cannot produce the motion at all, so the function is simply unavailable to them. One group cannot avoid the gesture and the other cannot perform it, which is exactly why the rule asks for a button and a switch rather than one or the other.

Passes vs. fails

Passes: targets big enough to hit. Fails: tiny, touching controls.

Passes

<button onclick="undo()">Undo</button>
if (settings.motionEnabled) window.addEventListener("devicemotion", onShake);

Fails

window.addEventListener("devicemotion", onShake); // no toggle, and no on-screen equivalent

How this gets tested

The W3C publishes test rules that define what a checker looks for here.

The other techniques filed under this rule

2 guides on this site are filed under 2.5.4 Motion Actuation. W3C documents this one as a failure of that rule, so it describes a way the rule gets broken rather than a way to pass it.

This guide is our interpretation of W3C technique F106: Failure due to inability to deactivate motion actuation. W3C publishes its techniques as guidance rather than as the standard, and says so on every one of them. The success criterion is what conformance is measured against, and a technique is one documented way to meet it.

Go somewhere useful

Find tools, resources and your workspace.

29 destinations