Ensuring that functionality triggered by multipoint or path-based gestures can be operated with a single pointer

From Mobile Accessibility Task Force

Technique Category

[Category:General Techniques]

Technique Status Category

[Techniques In Development]

Status

  • New technique.
  • (@@ Notes on work still needed before the technique is ready to publish, such as user agent support notes, etc.)

Applicability

Any technology that supports pointer input (e.g. supporting any or all of the following: mouse pointer, touch on touch screen or trackpad, stylus input, or laser pointer input).

WCAG references

  • pointer-gestures: SC 2.1 Pointer Gestures (sufficient)

User Agent and Assistive Technology Support Notes

On touch screen devices, author-supplied path-based and multipoint gestures usually do not work when OS level assistive technologies (AT) like a built-in screenreader is turned on. AT generally consumes path-based or multipoint gestures so they would not reach the authored content. For example, a horizontal drag gesture may not move a slider thumb as intended by the author, but move the screen reader focus to the next or previous element. Some gestures may work if the user operates "pass through gestures" which are often unreliable as they may depend on factors of hardware, operating system, operating system "skin", operating system setting, or user agent.

Description

The objective of this technique is to ensure that users who have difficulties performing path-based or multi-point gestures can operate content with single pointer gestures instead. This technique may involve either not using path-based or multi-point gestures to operate content, or providing alternative controls for pointer input that can be operated by a single pointer (e.g. a tap or tap-and-hold on a touch screen, or a click or long press with a mouse or other indirect pointing device).

Note: This technique addresses gestures where support has been implemented by authors, not gestures provided by the user agent (such as horizontal swiping to move through the browser history or vertical swiping to scroll through page content) or the operating system (e.g., gestures to move between open apps, or call up contextual menus of assistive technologies when these are enabled).

Examples

  • All functionality in a web site can be operated by a single click or tap.
  • A slider allows the setting of the value of a range via a path-based gesture, i.e., by dragging the slider's thumb control to the desired position and then releasing the finger or mouse. At both ends of the slider, there are buttons to decrease or increase the slider value in a stepwise fashion.
  • A slider allows users to set the amount of a financial donation in a certain range via a path-based gesture. Below the slider is a text input field and a "donate" button. On touch devices, input of the sum is possible via single taps on the numbers of the on-screen keyboard that is shown when the field target has been touched.
  • A web application supports drag and drop functionality to re-order items in a list. At the end of each list item, there is a pair of icon buttons to move the item up or down the list for step-wise re-ordering.
  • A web site includes a map view that supports the multi-point (two finger) pinch gesture for zooming in, and the drag gesture to move the visible area. User interface controls offer the zoom operation via [+] and [-] buttons, and stepwise panning via four arrow buttons.

Resources

Provide a list of links to external resources, if any.

Related Techniques

Provide a list of related techniques. For techniques that are part of the published suite, a technique id (ex. H30) is sufficient. For techniques that exist only in the wiki, link to the wiki page.

Tests

Procedure

  1. Determine if any content responds to path-based or multi-point pointer gestures.
  2. Check that all functionality that can be activated via path-based or multi-point pointer gestures can also be operated also with a signle pointer.

Expected Results

  • #2 is true

Test Files

Provide test files here. Currently, techniques do not reference test files, but we may do something with them in the future. Note that working examples (including source code) do not go here, they should be referenced in the examples section.