Understanding WCAG SC 2.5.2 Pointer Cancellation
Success Criterion 2.5.2 Pointer Cancellation (Level A): For functionality that can be operated using a single pointer, at least one of the following is true:
- No Down-EventThe down-event of the pointer is not used to execute any part of the function;
- Abort or UndoCompletion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion;
- Up ReversalThe up-event reverses any outcome of the preceding down-event;
- EssentialCompleting the function on the down-event is essential.Functions that emulate a keyboard or numeric keypad key press are considered essential.
This requirement applies to web content that interprets pointer actions (i.e. this does not apply to actions that are required to operate the user agent or assistive technology).
Scenario A: You are holding down your left mouse key on a web page to drag an item from column A to column B. But in the middle, you decide to stop. Unfortunately, the item is dragged to an incorrect location even after you release the mouse key outside the drag area
Scenario B: You have long fingers and you are operating your home lighting system via your mobile phone. Accidentally, your finger touches the off switch while adjusting the brightness of the lights. Before you lift your finger, the lights get turned off.
The outcomes of all these two scenarios are accidental but they are caused by only one thing: The down event that activates a functionality or an element.
This success criterion pointer cancellation intends to eliminate such errors by laying down some key guidelines. To summarize them:
Exceptions
This success criterion excepts any essential functionality that requires a down event to execute any such functionality. Examples of such exceptions are keyboard where letters get typed when the users hold down the keys; a piano application where the down event is required to play the instrument.