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

Success Criterion 3.2.6 Accidental Activation #364

Closed
GreggVan opened this issue Sep 2, 2017 · 6 comments
Closed

Success Criterion 3.2.6 Accidental Activation #364

GreggVan opened this issue Sep 2, 2017 · 6 comments

Comments

@GreggVan
Copy link

GreggVan commented Sep 2, 2017

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, which can dismiss activation;
  • Activation is reversible;
  • Down-event activation event is essential and waiting for the up-event would invalidate the activity.

==================================================================
Most of this looks like it is outside of the control of the page author - no?

Isnt this controlled by the user agent?

if so - how would an author know which user agent is being used -- or change the behavior of the user agent (without putting javascript on each page to take over those behaviors and script their own user agent behaviors) ?

there is an understanding doc -- but there are no sufficient techniques listed. This would be important for understanding this. and they need to exist for different technologies too.

so good thought but not sure it is doable without more information

looking forward to your information on this

@patrickhlauke
Copy link
Member

in short, the idea is that authors don't do things like

foo.addEventListener('mousedown', function() { ... });
foo.addEventListener('pointerdown', function() { ... });
foo.addEventListener('touchstart', function() { ... });

to trigger functionality/behavior, but instead use at least

foo.addEventListener('mouseup', function() { ... });
foo.addEventListener('pointerup', function() { ... });
foo.addEventListener('touchend', function() { ... });

or, even better if feasible, just

foo.addEventListener('click', function() { ... });

Wondering if a rewording as suggested here #330 could help, since if authors do follow platform/UA conventions, then it wouldn't be "accidental"

@GreggVan
Copy link
Author

GreggVan commented Sep 2, 2017

Yes that would help

Perhaps

**For content that processes its own single pointer activations , at least one of the following is true:

  • Activation is on the up-event
  • A mechanism is available that allows the user to choose the up-event as an option;
  • Confirmation is provided, which can dismiss activation;
  • Activation is reversible;
  • Down-event activation event is essential and waiting for the up-event would invalidate the activity.**

I'm still not sure if bullets three and four are effective though. If the individual physically cannot stay on the control as they release, then being able to reverse the action just puts them back where they started. They still have not been effectively able to activate the control. I guess the theory is they can just keep trying until they are successful, and this provision is not for individuals to can never get mouse up to work for them, but for those where it is sometimes a problem.

@DavidMacDonald
Copy link
Contributor

DavidMacDonald commented Sep 5, 2017

and this provision is not for individuals to can never get mouse up to work for them, but for those where it is sometimes a problem.

That's right, for the former we have 2.1.1

@awkawk
Copy link
Member

awkawk commented Dec 6, 2017

We made a revision that we think addresses your concern, please review.

@awkawk awkawk closed this as completed Dec 6, 2017
@GreggVan
Copy link
Author

GreggVan commented Dec 6, 2017 via email

@steverep
Copy link
Member

steverep commented Dec 6, 2017

Accidental Activation has been renamed to Pointer Cancellation. You can find the latest here: http://rawgit.com/w3c/wcag21/master/guidelines/#pointer-cancellation

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants