Skip to Content
WCAG GuidesPointer, Touch, Speech & Motion

Pointer, Touch, Speech, and Device Motion

Provide alternatives to complex gestures and device motion while supporting pointer cancellation and visible labels that match accessible names

Maintained by Martin KrugerLast reviewed

WCAG 2.5.1 requires a single-pointer alternative to multipoint or path-based gestures unless the gesture is essential. WCAG 2.5.2 generally requires completion on the up-event, with a way to abort or undo. WCAG 2.5.3 requires the accessible name to contain the visible label. WCAG 2.5.4 requires an interface alternative to device-motion operation and a way to disable motion activation unless essential.

Keyboard support remains required separately. A keyboard alternative does not by itself satisfy a pointer-gesture, pointer-cancellation, or dragging criterion.

Gesture-Only Controls vs. Multiple Input Paths

Inaccessible
Swipe left to delete

Shake device to undo.

View inaccessible code
<div>Swipe left to delete</div> <button aria-label="Submit order" onpointerdown="submit()">Continue</button> <p>Shake device to undo.</p>
Accessible
Swipe is optional

View accessible code
<button type="button">Delete item</button> <button type="button" aria-label="Continue to payment">Continue to payment</button> <button type="button">Undo last action</button> <label><input type="checkbox" /> Enable shake to undo</label>

Test it

Use mouse, one-finger touch, keyboard, switch-style input, and speech commands based on the visible label. Start a pointer action, move away, and release to verify cancellation. Disable device motion and confirm that every action remains available through visible controls.

Resources