Proposed revision of 2.5.3

From Mobile Accessibility Task Force

SC Shortname

No Accidental Activation

SC Text

For single pointer activation, at least one of the following is true:

  1. Activation is on the up-event, either explicitly or implicitly as a platform's generic activation/click event;
  2. A mechanism is available that allows the user to choose the up-event as an option;
  3. Confirmation is provided, which can dismiss activation;
  4. Activation is reversible;
  5. Timing of activation is essential and waiting for the up-event would invalidate the activity.

Note: This success criteria applies when platform assistive technology (e.g. screen reader) that remaps touch gestures is not turned on.

Suggested Priority Level

Level A

Related Glossary additions or changes

Up-Event: The activation of a component when the trigger stimulus is released. On different platforms the "up-event" may be called different things, such as "touchend" or "mouseup".

Example: For touchscreen interaction, the event is triggered when a finger is lifted from the touchscreen at the end of a tap.

Platform assistive technology that remaps touch gestures: Software that is integrated into the operating system, ships with the product, and/or is updated or installed via system updates. This software changes the characteristics of the touch interface when turned on. (e.g., a system screen reader may remap a right swipe gesture to move focus from item to item instead of it's default behaviour when the assistive technology is not on).

Single Pointer Activation: One point of contact with the screen (vs. multi-touch). A pointer can be any point of contact on the screen made by a mouse cursor, pen, touch (including multi-touch), or other pointing input device. This model makes it easier to write sites and applications that work well no matter what hardware the user has. For scenarios when device-specific handling is desired, this specification also defines properties for inspecting. [[1] [[2]]

What Principle and Guideline the SC falls within

New Guideline Pointer Accessible: Make it easier for users to operate pointer functionality.

Editorial Note for WCAG group: Pointer includes "Touch" in its definition

Description (Intent)

People with various disabilities can inadvertently initiate touch or mouse events with unwanted results. Up-Event activation refers to the activation of a component when the trigger stimulus is released. For example, for touchscreen interaction the event would be triggered when a finger is lifted from the touchscreen at the end of a tap.There is a distinction between when someone touches a screen and when they remove their finger. On a mouse there is a difference between mouse down (initiating a click) and mouse up (releasing the finger). Authors can reduce the problem of users inadvertently triggering an action, by making activation on the up-event. This gives users the opportunity to move their finger or other pointer (e.g. mouse) away from the wrong target once they hit it. If touch down activation is necessary, there are several options:

  • A confirmation alert allows the user to change their mind
  • An undo button or other mechanism allows the user to reverse the action.
  • A setting in preferences allows the user to choose whether activation happens on the down or up event.

Generic platform activation/click events generally trigger on up and when they do, they are also allowed. For example, in the case of mouse interactions, the "click" event in JavaScript triggers on release of the primary mouse button, and is an example of an implicit up-event.

Examples of where timing of the activation is essential would be:

  • An activity that would be invalid if activation waited for the up-event such as a piano program.
  • A program for shooting skeets where waiting for the "up" event would invalidate the activation.

Long press activation and 3D touch can be used as long as one of the above listed alternatives is present, and there is another conforming way to provide the action performed by the control.

Examples

  • For interface elements that have a single tap or long press as input, the corresponding event is triggered when the finger is lifted inside that element.
  • A phone dialling application has number keys that are activated on touch down. A user can undo an unwanted number by hitting the backspace button to delete a mistaken digit.

Benefits

  • Makes it easier for all users to recover from hitting the wrong target.
  • Helps people with visual disabilities, cognitive limitations, and motor impairments by reducing the chance that a control will be accidentally activated or action will occur unexpectedly.
  • Individuals who are unable to detect changes of context are less likely to become disoriented while navigating a site

Evidence

Testability

The majority of the testing of this will be terminated after the first test.

Activation is on the up-event, either explicitly or implicitly as a platform's generic activation/click event;

Test: Examine code for the Up-Event. This could be done with automated checking. OR activate the event with a pointer to ensure it activates on release rather than on contact.

If that is not true, proceed to the next test.

A mechanism is available that allows the user to choose the up-event as an option;

Test: Examine code for a mechanism that switches activation to the Up-Event. This test could be automated. Or functionally test it by examining for a mechanism that changes event activation to the up-Event.

Confirmation is provided, which can dismiss activation;

Test: Examine code for a confirmation mechanism that allows the user not to proceed with the action. Or functionally test it by activating the control and looking for a confirmation dialogue that allows the user not to proceed with the action or to proceed with the action.

Activation is reversible;

Test: Examine code Can be tested both functionally and by looking at the code for a control that reverses the activation.

Timing of activation is essential and waiting for the up-event would invalidate the activity.

Test: Can be tested by considering whether activating as the user leaves the surface would invalidate the activity (up-event). AN example would be a piano program that needs the keys to lay as the user touches the key rather than when they leave the key. WCAG 2.2.1

Techniques

  • Activating a control using the up-Event in HTML, iOS and Android
  • M029(wiki) Touch events are only triggered when touch is removed from a control
  • FM001 Failure of SC 2.5.3 due to activating a button on initial touch location rather than the final touch location
  • Failure: Actions are only available through long press or 3D touch

References

Current Github version

email discussion thread

M029 (wiki) Activation events are not triggered when touch is removed from a control

M029 Github (just template as of 2016-02-22)

Boneyard

There is feedback from the main group on this work. Captured in minutes here


survey remarks are here

Previous version as of 2016-02-18

2.5.3 Single Taps and Long Presses Revocable: Interface elements that require a single tap or a long press as input will only trigger the corresponding event when the finger is lifted inside that element. (Level A)

PROPOSED: 2.5.3 Single Taps and Long Presses Revocable

If the user misses the control with their finger but moves to the control while touching the screen for support, the control will activate when they lift their finger.

(old example language: Interface elements that require a single tap or a long press as input will only trigger the corresponding event when the finger is lifted inside that element. )