Developers

2.5.2 Pointer Cancellation

Pointer input should be reversible.

What you need to know

  • The first thing you should know is down-event means when you click down on a mouse or press down/touch with a finger. The second thing you should know is up-event means when you release the mouse or lift up your finger. So if you click or press down and that causes or triggers an activation, that’s a down event. And if you release the clicker or your finger and it causes or triggers an activation, that’s an up event.
  • The only way a down action should be available is if it’s essential. WCAG gives the example of a piano requiring down key activation which makes sense.

What you need to do

  • Provide a way to cancel pointer input.
  • Make it so that the release of a finger or mouse button (and not the initial click or touch) causes activation or execution of the action/event.
  • Add a cancel and/or abort option, which means the user can move their mouse or finger to somewhere else and release with no effect.  Another option is to actually provide the ability to undo the action or confirm they want to proceed with the action. This could be as simple as a confirmation pop-up.
  • The up reversal part of this means that when the down event triggers a behavior, there is an up event that reverses it when the up event concludes.  So if you hold a button down until a video plays, but the video disappears as soon as you let go, this counts because the user can cancel the original trigger by letting go. Think of this as the no harm-no foul part of this success criterion.  If you can activate something by clicking down, and all you have to do is let go to cancel it, you’ve still provided the user a means of control.

Reference

Read the full explanation of success criterion 2.5.2 on W3.org.

Related Resource

Check out “Design Controls for Easy Operation” from Harvard University – Digital Accessibility for more information about this success criterion.