All technologies that include interactive controls that can be triggered using a pointer.
This technique relates to Success Criterion 2.5.2: Pointer Cancellation (Failure).
The objective of this Failure is to describe situations where:
- Controls are set to activate functionality on the down-event of a pointer;
- No further mechanism to abort or undo is available;
- The up-event does not reverse the outcome of the activation;
- It is not essential for the functionality to execute and complete on the down-event.
Rather than taking advantage of the
click event, authors may use down-events such as
pointerdown. As a result, functionality will be executed as soon as a mouse button is pressed
(but not released yet), or a finger or stylus makes contact with a touchscreen.
It is possible to use the down event and mitigate potential issues to avoid failing the Success Criterion. For example, provide a method to easily undo or abort the functionality, or reverse the outcome on the up-event (when the mouse button is released, or when the finger or stylus are lifted from the touchscreen). And note that some uses of the down-event are essential for the functionality (e.g., where the control simulates the operation of a musical instrument like a set of piano keys, or when the control is used as an on-screen control for a game where a fast and immediate response is required), in which case they would not fail this Success Criterion.
The test procedure outlined below could be supplemented with automated or semi-automated
pointerdown. The automated test would not be sufficient to make a pass/fail determination, but
it can help narrow down the number of potentially problematic controls.
Open the content on a device with pointer inputs (mouse, touchscreen, stylus) and for all available controls (buttons, links, complex widgets):
- Trigger down-events (e.g. by pressing but not releasing the mouse button, or placing a finger or stylus on the touchscreen) and check if functionality is executed prior to the up-event (e.g. releasing the mouse button or lifting the finger/stylus)
- If functionality was executed on the down-event, check if triggering the up-event (releasing the pressed mouse button, or lifing the finger or stylus from the touchscreen) reverses the outcome
- Evaluate if it could be deemed essential for the controls to execute and complete functionality on the down-event
- If #1 is true, and #2 and #3 are false then the content fails the Success Criterion.