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
<button onclick="undo()">Undo</button>
if (settings.motionEnabled) window.addEventListener("devicemotion", onShake);Fails
window.addEventListener("devicemotion", onShake); // no toggle, and no on-screen equivalentHow this gets tested
The W3C publishes test rules that define what a checker looks for here.
- Device motion based changes to the content can also be created from the user interfaceA tool finds candidates, you decide
- Device motion based changes to the content can be disabledA tool finds candidates, you decide
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.