Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"single pointer" definition not quite accurate? #749

Closed
patrickhlauke opened this issue May 20, 2019 · 15 comments · Fixed by #809
Closed

"single pointer" definition not quite accurate? #749

patrickhlauke opened this issue May 20, 2019 · 15 comments · Fixed by #809
Labels
ErratumRaised Potential erratum for a Recommendation Survey - Added WCAG 2.1

Comments

@patrickhlauke
Copy link
Member

the (new in 2.1) definition of "single pointer" is, to my mind, not quite accurate.

pointer input that operates with one point of contact with the screen, including single taps and clicks, double-taps and clicks, long presses, and path-based gestures

https://www.w3.org/TR/WCAG21/#dfn-single-pointer

noting that a pointer (at least in the Pointer Events sense) also includes mice, which don't have a "contact with the screen" (only in a very abstracted way)

a possible clarification here could be

pointer input that operates with one point of contact with the screen / targets only one specific position on the page, including single taps and clicks, double-taps and clicks, long presses, and path-based gestures. This includes mouse inputs and interactions with a single finger or stylus with a touchscreen.

(or something to that effect)

happy to submit a PR if this sounds like something we'd want to clarify.

as pointer gesture and pointer cancellation SCs (which reference this key term) do apply to mouse already, changing this would likely be an editorial errata?

@jake-abma
Copy link
Contributor

related to #746

Please comment on 2 & 3 about if path-based gestures needs to be here.

  1. The "one point of contact" can be read as: "only one point on the screen" not allowing hundreds of points when moving through a path

  2. The "one point of contact" can be read as: "one point at a time, but this (one) point may change hundreds of times due to moving the pointer

@patrickhlauke
Copy link
Member Author

i believe the definition is not so much currently defining "single pointer", but "single pointer gesture" here (as it lists all the various interactions that counts as a "gesture", like taps/clicks, path-based movements, etc.

if just defining a "single pointer" per se, it should then probably just focus/emphasise that it stands in contrast to multi-pointer (really, multi-touch in practice, as most [possibly all] devices don't allow simulatenous use of different pointers like two mice, of a mouse and a single finger or stylus, or even multiple styluses).

so taking it further, if just trying to define "single pointer" (rather than single pointer gestures, which wouldn't be appropriate as the term is referenced from 2.5.2 as well), it probably needs a more fundamental rewrite...

certain devices allow the use of more than one simultaneous pointer, such as multiple fingers on a touchscreen device. Single pointer interactions are exclusively limited to interactions where only one point of contact with the screen / only one specific position on the page is used. This includes mouse inputs and interactions with a single finger or stylus with a touchscreen.

@patrickhlauke
Copy link
Member Author

maybe then expand that definition (rather than creating another one) to clarify/list

pointer gestures include taps and clicks, double-taps and clicks, long presses, and path-based gestures. single pointer gestures only require a single pointer to be executed, while multi-pointer gestures (e.g. two-finger swipes and pinch-to-zoom interactions) involve two or more pointers used simultaneously.

@patrickhlauke
Copy link
Member Author

patrickhlauke commented May 20, 2019

note the definition of "pointer" in the Pointer Events specification

A hardware agnostic representation of input devices that can target a specific coordinate (or set of coordinates) on a screen, such as a mouse, pen, or touch contact.

https://www.w3.org/TR/pointerevents/#dfn-pointer

This can possibly be leveraged for the definition here as well, prefixing the propsed bits above. so, combining the lot...

Single pointer
Pointer Events [REF] define a pointer as a hardware agnostic representation of input devices that can target a specific coordinate (or set of coordinates) on a screen, such as a mouse, pen, or touch contact. Certain devices allow the use of more than one simultaneous pointer, such as multiple fingers on a touchscreen device. Single pointer interactions are exclusively limited to interactions where only one point of contact with the screen / only one specific position on the page is used. This includes mouse inputs and interactions with a single finger or stylus with a touchscreen. pointer gestures include taps and clicks, double-taps and clicks, long presses, and path-based gestures. Single pointer gestures only require a single pointer to be executed, while multi-pointer gestures (e.g. two-finger swipes and pinch-to-zoom interactions) involve two or more pointers used simultaneously.

@jake-abma
Copy link
Contributor

This makes the case even bigger to extent the name of the definition, so if a pointer is a hardware representation (I also read it this way, that's why I created the issue) the name should become something like: "Single pointer interaction" or "Single pointer gesture"

@jake-abma
Copy link
Contributor

also like the one from @detlevhfischer #746 (comment) 'single point activation'

@patrickhlauke
Copy link
Member Author

that would need changes to the two normative SCs that use that definition (though this would be a change that doesn't affect the meaning/applicability of the SCs)

2.5.1 Pointer Gestures
All functionality that uses multipoint or path-based gestures for operation can be operated with a single pointer without a path-based gesture, unless a multipoint or path-based gesture is essential.

2.5.2 Pointer Cancellation
For functionality that can be operated using a single pointer, at least one of the following is true

not sure if that's worth all the trouble?

@jake-abma
Copy link
Contributor

will it be worth the trouble if we make it way more understandable for all people reading WCAG 2.1 (and lots of time NOT reading the definitions), or leave it as is and may end up with (maybe / at least) more than half of all people getting it wrong?

:-)

@patrickhlauke
Copy link
Member Author

if we expand the definition (keeping it under the "single pointer" term) as per #749 (comment) but keep the normative wording in the SCs i think that would still work? just thinking it would meet less resistance from wider AGWG and related standards that have already copied 2.1's SCs wholesale and incorporated them.

@detlevhfischer
Copy link
Contributor

detlevhfischer commented May 22, 2019

I think a single pointer definition, clarifying the 'point of contact' issue to include indirect contact/cursor position, would be fine and can include single pointer paths, so these SCs could remain as the are.
We then still need a definition of 'path-based' capturing the decision about scope. I believe the exception from 2.1.1 might not be the best starting point because it is clearly not aimed at operational gestures, So the definition would need to clarify if

  • dragging is included
  • only directional dragging (directional by perceived affordance or by actual freedom of pointer movement)
  • directional drag and drop (dnd sortable lists)
  • dragging for enlarging input elements by dragging corner etc. etc.

@awkawk suggested to draw up a list of use cases to enable a wider deliberation of what should (or should not) be included in "path-based". (Is anyone picking up this action?)

@alastc alastc added the ErratumRaised Potential erratum for a Recommendation label May 23, 2019
@awkawk awkawk added ErratumRaised Potential erratum for a Recommendation and removed ErratumRaised Potential erratum for a Recommendation labels May 23, 2019
@patrickhlauke
Copy link
Member Author

was there any resolution on this particular aspect? happy to do a PR for just the definition wording itself, or the wider changes like "single pointer" to "single pointer interaction" in normative wordings as well...

@jake-abma
Copy link
Contributor

we need an update for the definition but no official resolution so far. The wider change to "single pointer interaction" makes it much more clear what we mean but may encounter resistance. (We can change it for 2.2 more easily though with clear reasons and thus we might argue why not now)

@alastc
Copy link
Contributor

alastc commented Jun 28, 2019

Hi @patrickhlauke, I think an update to the definition to be clear about including mouse pointers is the best approach, a PR would be appreciated.

Maybe a bit cut down from your initial suggestion above, e.g:

Single pointer
A single pointer involve only one point of contact with the screen, or one specific position on the page. Interactions using s single pointer includes mouse input, or a single finger or stylus on a touchscreen. Single pointer operations include taps and clicks, double-taps and clicks, long presses, and dragging.

Note: Pointer Events [REF] define a pointer as a hardware agnostic representation of input devices that can target a specific coordinate (or set of coordinates) on a screen, such as a mouse, pen, or touch contact.

If it is really clear what a single pointer is, I don't think it needs comparing to multi-pointers.

@patrickhlauke
Copy link
Member Author

@alastc done...with a bit more rewriting/tightening #809

@patrickhlauke
Copy link
Member Author

a gentle nudge/ping on this and the related PR #809

@alastc alastc mentioned this issue Aug 16, 2022
patrickhlauke added a commit that referenced this issue Nov 6, 2023
The definition for "single pointer" has had issues for a long time, as it mixes the idea of what is a pointer with the action(s) *performed* using a pointer.

See #749 (comment) and the recent #3535 where this is once again causing a non-sequitur
alastc added a commit that referenced this issue Mar 11, 2024
The definition for "single pointer" has had issues for a long time, as
it mixes the idea of what a pointer *is* with the action(s) *performed*
using a pointer.

I originally tried to fix this, but there was no appetite for it once
2.1 was released. However, with 2.2 and the new 2.5.7 Dragging Movement
SC, the broken definition is causing actual misunderstandings/illogical
non-sequiturs.

See #749 (comment) and
the recent #3535 where this is once
again causing a non-sequitur

Closes #3535

(this is effectively a follow-up to #809
which had disambiguated things, but the definition had since been
changed further/again to reintroduce the ambiguous wording we have at
this point which confuses input with action)

This would be applied to WCAG 2.1 and 2.2, unless there is a decision to
only apply it to 2.2.

EDIT: Also closes #394


<!--
    This comment and the below content is programmatically generated.
    You may add a comma-separated list of anchors you'd like a
    direct link to below (e.g. #idl-serializers, #idl-sequence):

    Don't remove this comment or modify anything below this line.
    If you don't want a preview generated for this pull request,
    just replace the whole of this comment's content by "no preview"
    and remove what's below.
-->
***
<a href="https://pr-preview.s3.amazonaws.com/w3c/wcag/pull/3536.html"
title="Last updated on Mar 8, 2024, 7:30 PM UTC (6c36df1)">Preview</a> |
<a
href="https://pr-preview.s3.amazonaws.com/w3c/wcag/3536/afbf9ee...6c36df1.html"
title="Last updated on Mar 8, 2024, 7:30 PM UTC (6c36df1)">Diff</a>

---------

Co-authored-by: Alastair Campbell <[email protected]>
kfranqueiro pushed a commit that referenced this issue Dec 18, 2024
The definition for "single pointer" has had issues for a long time, as
it mixes the idea of what a pointer *is* with the action(s) *performed*
using a pointer.

I originally tried to fix this, but there was no appetite for it once
2.1 was released. However, with 2.2 and the new 2.5.7 Dragging Movement
SC, the broken definition is causing actual misunderstandings/illogical
non-sequiturs.

See #749 (comment) and
the recent #3535 where this is once
again causing a non-sequitur

Closes #3535

(this is effectively a follow-up to #809
which had disambiguated things, but the definition had since been
changed further/again to reintroduce the ambiguous wording we have at
this point which confuses input with action)

This would be applied to WCAG 2.1 and 2.2, unless there is a decision to
only apply it to 2.2.

EDIT: Also closes #394

<!--
    This comment and the below content is programmatically generated.
    You may add a comma-separated list of anchors you'd like a
    direct link to below (e.g. #idl-serializers, #idl-sequence):

    Don't remove this comment or modify anything below this line.
    If you don't want a preview generated for this pull request,
    just replace the whole of this comment's content by "no preview"
    and remove what's below.
-->
***
<a href="https://pr-preview.s3.amazonaws.com/w3c/wcag/pull/3536.html"
title="Last updated on Mar 8, 2024, 7:30 PM UTC (6c36df1)">Preview</a> |
<a
href="https://pr-preview.s3.amazonaws.com/w3c/wcag/3536/afbf9ee...6c36df1.html"
title="Last updated on Mar 8, 2024, 7:30 PM UTC (6c36df1)">Diff</a>

---------

Co-authored-by: Alastair Campbell <[email protected]>
(cherry picked from commit a9dbe11)
kfranqueiro pushed a commit that referenced this issue Dec 18, 2024
The definition for "single pointer" has had issues for a long time, as
it mixes the idea of what a pointer *is* with the action(s) *performed*
using a pointer.

I originally tried to fix this, but there was no appetite for it once
2.1 was released. However, with 2.2 and the new 2.5.7 Dragging Movement
SC, the broken definition is causing actual misunderstandings/illogical
non-sequiturs.

See #749 (comment) and
the recent #3535 where this is once
again causing a non-sequitur

Closes #3535

(this is effectively a follow-up to #809
which had disambiguated things, but the definition had since been
changed further/again to reintroduce the ambiguous wording we have at
this point which confuses input with action)

This would be applied to WCAG 2.1 and 2.2, unless there is a decision to
only apply it to 2.2.

EDIT: Also closes #394

<!--
    This comment and the below content is programmatically generated.
    You may add a comma-separated list of anchors you'd like a
    direct link to below (e.g. #idl-serializers, #idl-sequence):

    Don't remove this comment or modify anything below this line.
    If you don't want a preview generated for this pull request,
    just replace the whole of this comment's content by "no preview"
    and remove what's below.
-->
***
<a href="https://pr-preview.s3.amazonaws.com/w3c/wcag/pull/3536.html"
title="Last updated on Mar 8, 2024, 7:30 PM UTC (6c36df1)">Preview</a> |
<a
href="https://pr-preview.s3.amazonaws.com/w3c/wcag/3536/afbf9ee...6c36df1.html"
title="Last updated on Mar 8, 2024, 7:30 PM UTC (6c36df1)">Diff</a>

---------

Co-authored-by: Alastair Campbell <[email protected]>
(cherry picked from commit a9dbe11)
kfranqueiro pushed a commit that referenced this issue Dec 19, 2024
The definition for "single pointer" has had issues for a long time, as
it mixes the idea of what a pointer *is* with the action(s) *performed*
using a pointer.

I originally tried to fix this, but there was no appetite for it once
2.1 was released. However, with 2.2 and the new 2.5.7 Dragging Movement
SC, the broken definition is causing actual misunderstandings/illogical
non-sequiturs.

See #749 (comment) and
the recent #3535 where this is once
again causing a non-sequitur

Closes #3535

(this is effectively a follow-up to #809
which had disambiguated things, but the definition had since been
changed further/again to reintroduce the ambiguous wording we have at
this point which confuses input with action)

This would be applied to WCAG 2.1 and 2.2, unless there is a decision to
only apply it to 2.2.

EDIT: Also closes #394

<!--
    This comment and the below content is programmatically generated.
    You may add a comma-separated list of anchors you'd like a
    direct link to below (e.g. #idl-serializers, #idl-sequence):

    Don't remove this comment or modify anything below this line.
    If you don't want a preview generated for this pull request,
    just replace the whole of this comment's content by "no preview"
    and remove what's below.
-->
***
<a href="https://pr-preview.s3.amazonaws.com/w3c/wcag/pull/3536.html"
title="Last updated on Mar 8, 2024, 7:30 PM UTC (6c36df1)">Preview</a> |
<a
href="https://pr-preview.s3.amazonaws.com/w3c/wcag/3536/afbf9ee...6c36df1.html"
title="Last updated on Mar 8, 2024, 7:30 PM UTC (6c36df1)">Diff</a>

---------

Co-authored-by: Alastair Campbell <[email protected]>
(cherry picked from commit a9dbe11)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ErratumRaised Potential erratum for a Recommendation Survey - Added WCAG 2.1
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants