Skip to content
This repository has been archived by the owner on Jun 30, 2018. It is now read-only.

Accidental activation #111

Closed

Conversation

DavidMacDonald
Copy link
Contributor

@DavidMacDonald DavidMacDonald commented Feb 9, 2017

This is from issue #65

SC Text

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

  • Activation is on the up-event, either explicitly or implicitly as a platform's generic activation/click event;
  • A mechanism is available that allows the user to choose the up-event as an option;
  • Confirmation is provided or another way to dismiss activation is provided once it has begun;
  • Activation is reversible;
  • 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 - see proposed SC Touch with Assistive Technology.

Suggestion for Priority Level (A/AA/AAA)

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. Pointer Events (REC) Pointer Events Level 2 (ED)]

What Principle and Guideline the SC falls within.

New Proposed Guideline "Pointer Accessible"

Make it easier for users to operate pointer functionality.

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

Description

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.

Examples of exceptions covered under the last bullet "Timing of activation is essential and waiting for the up-event would invalidate the activity." include:

  • a piano program where the notes need to play on the touch down.
  • An arcade game where the trigger of a gun is on the down event.
  • A drag and drop application where on the down event the element is "grabbed" in order to be moved.

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

NOTE: There is feedback from the WCAG working group on this work. Captured in minutes here and in the Survey remarks. This feedback has been incorporated into this SC.

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.[edit]
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

@steverep
Copy link
Member

When this was discussed in the 8/30/2016 WCAG teleconference, I asked where drag and drop operations fit into this SC. I don't see how that has been addressed per the notes in issue #65. I think it would be a very helpful accessibility feature to require that such operations have either a confirmation (3rd bullet) or a way to reverse them (4th bullet) to prevent mistakes. This type of operation would not be exempt when a screen reader is active since the up-event triggers the exact same result.

Regarding the definition of "Platform assistive technology that remaps touch gestures", I do not understand why the word "platform" is used, or why it matters if the AT ships with the OS or gets updates. All that should matter is that it is remapping touch for reasons of accessibility. Am I missing something?

@DavidMacDonald
Copy link
Contributor Author

DavidMacDonald commented Feb 18, 2017

Regarding the definition of "Platform assistive technology that remaps touch gestures", I do not understand why the word "platform" is used, or why it matters if the AT ships with the OS or gets updates. All that should matter is that it is remapping touch for reasons of accessibility. Am I missing something?

@steverep "The Platform assistive technology that remaps touch gestures" is a proposed new term in WCAG 2.1. It's main function is for the SC on "touch with AT" Pull Request #131. The term is specific to mean basically screen readers that ship with the OS. We can't really talk about apps that don't ship with the OS, for mobile because there are just too many and always changing. And blind users are using the OS Assistive technology (VoiceOver and Talkback). .. ."AT that remaps touch gestures" is a term to further limit requirements to basically AT that alters the touch interface, such as screen readers.

I asked where drag and drop operations fit into this SC. (doesn't this invalidate Drag and Drop)

We have the 4th bullet exception:

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

This is a clear case of the exception. I added drag and drop to the understanding as an example of this exception.

@steverep
Copy link
Member

Hi @DavidMacDonald... If you limit application of the SC to only screen readers that ship with the OS, then I don't see how this SC can be met if a third party AT or other app is remapping touch. For example, it eliminates a major Windows screen reader, NVDA.

With regard to drag and drop, my point was that by making it an exception, the SC loses the opportunity to provide better accessibility for those events by requiring either a way to undo or asking for confirmation. Often the only way to undo a mistake is to perform a second drag and drop, which can be difficult with visual or motor disabilities (and perhaps cognitive as well). I think it might be worth rewording the SC to include this type of operation. I could take a shot at it if you'd like. Do you think it would be too difficult?

@awkawk
Copy link
Member

awkawk commented Feb 28, 2017

closing since was copied into the FPWD

@awkawk awkawk closed this Feb 28, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants