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,pointerdownortouchstart; - 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
clickevent (or native<button>and<a>), which fires on release. - Avoid
mousedown,pointerdownandtouchstartfor 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.
Related criteria
- 2.5.1 Pointer Gestures — complex gestures need single-pointer alternatives.
- 2.5.8 Target Size (Minimum) — larger targets reduce accidental taps.
- 2.5.7 Dragging Movements — dragging needs a single-pointer alternative.
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.