Component Library
Pointer Cancellation
Issue Description
An interaction uses a down-event for required functionality, while some users may have difficulty completing tasks that function this way.
Avoiding this violation helps people with tremors or mobility impairments who may touch or click on the wrong location by mistake. This mistake can cause an unintended action. This success criterion also benefits people with cognitive disabilities. They get confused when something unexpected happens because they activated a control by accident. All users benefit from the addition of undo.
This should include input by any AT device acting as a pointer.
Recommendation
For functionality that can be operated using a single pointer, at least one of the following is true:
- No Down-Event
The down-event of the pointer is not used to execute any part of the function; - Abort or Undo
Completion 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 Reversal
The up-event reverses any outcome of the preceding down-event; - Essential
Completing 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). Design actions to happen on the up event and provide a mechanism to abort or undo the action. Developers should use the built-in, generic onclick events that happen on the up event by default. Only use the down event when the behavior is essential.