• Success Criterion 2.5.4
  • Conformance level A

Wave-to-Advance Camera Gesture With No Button Alternative

2.5.4 — Motion Actuation

Scenario

Setting

A ticket marketplace's seat-selection map

What’s wrong

Camera-gesture (wave to advance) features lacking button equivalents or disable toggle.

Example

handGestureModel.on('wave', () => {
  advanceToNextSection(); // camera-based gesture, with no button and no toggle
});

Why it matters

A user without a working camera, or who can't wave a hand in front of it, can never move past the first seating section.

How to test

Try to advance the feature via a button instead of a camera-detected wave gesture: if no button equivalent or disable toggle exists, it fails.

How to fix

Camera gestures should always be optional extras layered on top of a plain button, never the only path.

<button aria-label="Next seating section" onclick="advanceToNextSection()">Next section</button>

Outcome

A user taps 'Next section' and moves through the seat map without the camera involved.

Who is affected

Users with limited arm mobility, people in low light where camera gesture detection fails, and anyone without a front camera enabled.

Learn more