Skip to content
Pandus

WCAG 2.5.2 Pointer Cancellation

Updated October 14, 2026 · 3 min read

Level
A · WCAG 2.1
EN 301 549
9.2.5.2
What the checker tests
Manual review: an automated tool cannot check this criterion reliably.
Official text
Understanding 2.5.2 Pointer Cancellation (W3C, in English)

Success criterion 2.5.2 makes it easier to recover from accidental taps and clicks. People with tremors, limited dexterity or low vision, and anyone tapping on a small phone screen, often press the wrong thing. If the action waits until the finger or button is released, they can slide away and cancel. It is level A and part of EN 301 549 (clause 9.2.5.2).

What the criterion requires

For functionality that can be operated using a single pointer, at least one of these is true:

  • No down-event: the down-event (press) is not used to execute any part of the function;
  • Abort or undo: the function completes on the up-event (release), and there is a way to abort it before completion or undo it afterwards;
  • Up reversal: the up-event reverses any outcome of the preceding down-event (for example press-and-hold to preview, release to close);
  • Essential: completing the function on the down-event is essential.

W3C notes that functions emulating a keyboard or numeric keypad key press are considered essential, and that the criterion applies to pointer actions the web content interprets, not to the browser or assistive technology.

Typical failures on an online shop

  • an "Add to cart" or "Buy now" button that fires on mousedown, pointerdown or touchstart;
  • a "Remove item" control in the cart that deletes on press with no undo;
  • a product tile that navigates away as soon as a finger touches it, while the user was trying to scroll;
  • a menu that opens on press and selects an item before release, so a slip picks the wrong option.

How to check it

Automated: there is no axe-core rule for this criterion. Axe does not inspect which pointer events a script listens to, so it needs a manual check.

By hand: with a mouse, press and hold the button on each important control — "Add to cart", "Remove", "Pay", menu items — then move the pointer off the control and release. Nothing should happen. Do the same on a touch screen: touch, slide away, lift. If an action happens on press, check that it can be undone easily.

How to fix it

  • Use the standard click event (or native <button> and <a>), which fires on release.
  • Avoid mousedown, pointerdown and touchstart for actions; use them only for things like visual feedback.
  • For destructive actions, provide an undo ("Item removed. Undo") or a confirmation.
  • Check third-party widgets and theme scripts — custom carousels and menus sometimes act on press.

Frequently asked questions

What does WCAG 2.5.2 Pointer Cancellation require?

For actions done with a single pointer, at least one must be true: nothing runs on the down-event; the action completes on the up-event and can be aborted or undone; the up-event reverses the down-event; or completing on the down-event is essential.

Is using the click event enough?

Usually yes. The standard click event fires on release, and users can cancel by moving the pointer off the control before letting go. Problems come from handlers on mousedown, pointerdown or touchstart.

Are there exceptions to 2.5.2?

Yes, when acting on the down-event is essential. W3C notes that functions emulating a keyboard or numeric keypad key press, such as an on-screen keyboard, are considered essential.