2.5.2 Pointer Cancellation
For functionality operated using a single pointer, at least one of the following is true: no down-event activation, ability to abort or undo, up-event reversal, or the down-event is essential.
Last reviewed: September 9, 2026
Understanding 2.5.2
Activating a control the instant a finger or pointer touches down (on mousedown/touchstart) gives users no chance to change their mind or correct an inaccurate touch. This disproportionately harms people with tremors, limited motor control, or low vision who may touch the wrong target and need to slide their finger off before lifting it. By requiring activation on the up-event (or an equivalent abort/undo path), users get a chance to cancel an accidental press before it takes effect.
How to Meet It
Code Examples
// Fires the instant the finger/mouse goes down - no chance to cancel
button.addEventListener('mousedown', () => {
submitOrder();
});
button.addEventListener('touchstart', () => {
submitOrder();
});// Fires on the up-event; sliding off the button before release cancels it
button.addEventListener('click', () => {
submitOrder();
});Frequently Asked Questions
Why does click satisfy this but mousedown doesn't?
The click event only fires if both the press and release happen on the same element, which naturally gives users a built-in cancellation path: pressing down, sliding off the target, and releasing elsewhere will not fire click. mousedown/touchstart fire immediately on contact, before the user has confirmed their intent.
Are there legitimate cases where down-event activation is fine?
Yes, when the down-event itself is the essential behavior: a virtual musical instrument, a game that requires immediate response to a press, or drag-initiation for functionality covered separately under 2.5.7. Outside those cases, prefer up-event activation.
Related Success Criteria
Quick Facts
- Criterion2.5.2
- LevelA
- IntroducedWCAG 2.1
Automate Compliance
AccessiSight automatically scans and identifies 2.5.2 issues in your codebase.
Try Scanner Free