WCAG 2.1 · Level A · Operable

WCAG 2.5.2 — Pointer Cancellation, explained with examples

For functionality operated using a single pointer, completion of the action must occur on the up-event, not the down-event. Users with motor impairments may press accidentally. The ability to drag away before release prevents accidental commits.

Number
2.5.2
Level
A
Principle
Operable
Guideline
2.5 Input Modalities

Why this criterion exists

Users with motor impairments may press accidentally. The ability to drag away before release prevents accidental commits.

If you only remember one thing: for functionality operated using a single pointer, completion of the action must occur on the up-event, not the down-event. Everything else on this page is detail.

Who feels it when this fails

Accessibility criteria sometimes feel abstract until you see who pays the cost when a site ignores them. Pointer Cancellation affects:

  • Motor accessibility

  • Tremor users

How sites typically fail it

These are the patterns we see week after week. None are intentional — they are accidents of how teams build interfaces under deadline. Knowing the failure modes is the fastest path to writing them out of your component library.

  • Buttons firing on mousedown

  • Touch handlers committing on touchstart

How to test for it

  • Press a button, drag away before releasing; nothing should happen.

Automated scanners catch this criterion most of the time, but never all of the time. Manual testing with the keyboard and a screen reader closes the gap.

A code fix you can copy

click fires on the up event after a successful press-and-release inside the element. mousedown fires on press alone.

The problem

JavaScript
el.addEventListener('mousedown', submit);

The fix

JavaScript
el.addEventListener('click', submit);

click fires on the up event after a successful press-and-release inside the element. mousedown fires on press alone.

Other Operable criteria

Find every accessibility issue on your site in 60 seconds.

Free public scan. No card. AI-generated fixes for every issue we find.