Success Criteria

WCAG 2.5.2 Pointer Cancellation

Success Criterion 2.5.2 requires that for functionality operated with a single pointer, at least one of several conditions is met to allow a user to cancel or abort the action before it completes. It's a Level A criterion under Guideline 2.5 (Input Modalities), added in WCAG 2.1.

The core requirement, most commonly satisfied

The simplest and most common way to satisfy this criterion: trigger actions on the pointer up event (when the finger or mouse button is released) rather than the down event (the initial press/touch) — and allow the user to move their pointer away before releasing to abort the action, without it firing.

Why this matters

People with hand tremors, limited fine motor control, or who use a pointer device with imprecise aim may press down on the wrong target accidentally. If an action fires immediately on press, there's no opportunity to notice the mistake and pull away before the action commits — an accidental tap on a "Delete" button becomes an irreversible mistake with zero chance to recover, versus the same accidental initial press being harmless if the user can drag their finger off the button before releasing.

The other accepted conditions

  • Abort — the action can be undone after completion
  • Undo — a mechanism exists to reverse the action after it happens
  • Essential — completing the action on the down-event is essential to the function (rare — a virtual piano key needing to sound immediately on touch is a commonly cited example)

Where this typically fails

Custom touch/click handlers explicitly bound to mousedown/touchstart rather than mouseup/touchend or click — this is sometimes done deliberately for perceived responsiveness (feeling more "instant"), but it removes the safety margin this criterion exists to protect. Native HTML buttons and links already fire on the up-event by default via the standard click event, so this violation mostly shows up in custom-built interactive components that deliberately override that default behavior.

The practical fix

Default to the standard click event (or pointerup/touchend) for triggering actions, rather than binding to mousedown/touchstart — this is both the platform default and the accessible choice, requiring no extra work in the common case.

Common questions

What is WCAG 2.5.2?
A Level A criterion: for single-pointer activation, completion should happen on the up-event, with a way to abort or undo, so accidental touches can be cancelled.
Why trigger on the up-event instead of down?
It lets a user who touches the wrong control slide off before releasing to cancel, preventing accidental activation.
Are there exceptions?
When the down-event is essential (like a piano key that must sound on press), the requirement doesn't apply.

Want to see how your own site scores?

Run a free accessibility scan