- Success Criterion 2.5.2
- Conformance level A
- W3C reference F101
Action That Fires the Instant the Pointer Goes Down
2.5.2 — Pointer Cancellation
Scenario
Setting
An online clothing store's product listing page
What’s wrong
The action fires the instant the mouse/finger goes DOWN — users can't slide off to cancel an accidental press.
Example
addToCartBtn.addEventListener('mousedown', () => addToCart(productId));
// the click fires before the finger or mouse button ever lifts Why it matters
A shopper who presses the button by accident while scrolling adds the item before they can pull their finger away.
How to test
Press down on the control, then move the pointer away before releasing: the action should NOT fire until release — if it fires on mousedown/touchstart, it fails.
How to fix
The native click event already fires on release, so removing the mousedown handler is usually enough.
addToCartBtn.addEventListener('click', () => addToCart(productId)); Outcome
A shopper can slide their finger off the button and cancel an accidental press before anything gets added.
Who is affected
People with tremor and low vision users who often brush controls while navigating by touch.
Learn more
- Understanding Understanding document (opens in a new tab)
- Technique Related technique (opens in a new tab)
Related scenarios
- Button Firing on Touchstart Instead of Release
- Drag Interaction That Commits With No Way to Cancel
- Menu That Opens and Selects on the Same Press-and-Drag
- Destructive Action Firing on Press With No Way to Abort
- Press-to-Trigger Control Where Release Confirmation Was Possible
- Custom Gesture That Commits Mid-Motion Instead of on Release