Skip to main content
Your browser is too old to display this site correctly. Please update to the latest Chrome, Edge, Firefox or Safari.
Back to WCAG Database
Level AWCAG 2.1

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

Trigger actions on the up-event (click, pointerup, touchend) rather than the down-event (mousedown, pointerdown, touchstart), and ensure moving the pointer away from the target before releasing cancels the action. If a down-event activation is unavoidable, provide a way to abort (e.g., an undo option) or make the action reversible. Down-event activation is only permitted without these protections when it is essential to the function, such as a piano key or drum pad that must sound on touch.

Code Examples

INCORRECT
// Fires the instant the finger/mouse goes down - no chance to cancel
button.addEventListener('mousedown', () => {
  submitOrder();
});
button.addEventListener('touchstart', () => {
  submitOrder();
});
CORRECT
// 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