- Success Criterion 2.1.1
- Conformance level A
Action That Only Works With a Double-Click
2.1.1 — Keyboard
Scenario
Setting
A ride-hailing app's trip booking screen
What’s wrong
Double-click-only activations.
Example
mapPin.addEventListener('dblclick', () => {
confirmPickupLocation();
});
// a single click or an Enter key press does nothing Why it matters
A rider using only a keyboard can move focus to the pickup pin but cannot confirm it, since keyboards have no double-click equivalent.
How to test
Tab to the control and press Enter once: if activation requires a double-click and single Enter does nothing, it fails.
How to fix
Never gate an action behind a double-click alone; a single activation event has a direct keyboard equivalent, a double one does not.
mapPin.addEventListener('click', confirmPickupLocation);
mapPin.addEventListener('keydown', (e) => {
if (e.key === 'Enter' || e.key === ' ') confirmPickupLocation();
}); Outcome
A rider presses Enter once on the pickup pin and the ride request goes through immediately.
Who is affected
Keyboard-only users and switch users lack any mechanism equivalent to a mouse double-click.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Feature That Only Responds to Mouse Events, Not the Keyboard
- Element That Loses Focus the Instant It’s Reached by Keyboard
- Clickable Element Acting Like a Link With No Real Keyboard Role
- Clickable Div With No Keyboard Focus or Key Handling at All
- Focusable Element That Enter and Space Don’t Actually Activate
- Custom Dropdown That Can’t Be Operated by Keyboard Arrows