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

Update definition for single pointer #3536

Merged
merged 5 commits into from
Mar 11, 2024

Conversation

patrickhlauke
Copy link
Member

@patrickhlauke patrickhlauke commented Nov 6, 2023

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


Preview | Diff

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
@benja11y
Copy link
Member

benja11y commented Nov 8, 2023

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.

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

Closes #3535

Preview | Diff

Not sure the new definition catches everything, such as joysticks, light pens or 'simulated' versions of pointer (think Dragon's mousegrid feature) for example. Will try to come up with a catch-all.

@patrickhlauke
Copy link
Member Author

@benja11y it doesn't need to be comprehensive ... I rejigged it so it doesn't give the impression that it's an exhaustive list

@benja11y
Copy link
Member

benja11y commented Nov 8, 2023

Changed my - to a +

Copy link
Contributor

@detlevhfischer detlevhfischer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@bruce-usab
Copy link
Contributor

On deck for 1/23 call.

@bruce-usab
Copy link
Contributor

bruce-usab commented Jan 12, 2024

From the call 1/12, in no particular order.

  • @gundulaniemann preferred current definition to the change proposed.
  • No one disagreed that the current definition is not very good.
  • There seemed to be general consensus about adding "— such as a mouse" as having explanatory utility. But probably additional examples (as part of the defined term) are too much.
  • @dav-idc noted that "on screen" could be taken too literally (as physical). Eye gaze is an example of single pointer where nothing is touched.
  • @dbjorge noted that "one point at a time" could be understood as only covering the start of an interaction (e.g. mouse-down event).

@patrickhlauke
Copy link
Member Author

@alastc @mbgower @bruce-usab et al ... updated the definition to incorporate some of the suggestions/feedback from yesterday's WCAG 2.x backlog meeting

Copy link
Contributor

@bruce-usab bruce-usab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very clean edit, thanks!

@alastc alastc added the ErratumRaised Potential erratum for a Recommendation label Jan 19, 2024
@bruce-usab
Copy link
Contributor

We had significant discussion 1/19 call, but wording was not finalized. My few notes:

  • SC mention of "point" can be read to mean a single pixel.
  • "multi-touch scenarios" is confusing.
  • AT presents as a mouse, so that is not a conflating issue.
  • Some SC definitions include examples (block) which might be a good option.
  • Preference is to keep definition work as copy/paste, but that can be just the first sentence of defined term.
  • SC provide some context which might take some of load off the defined term. For example, 2.5.1 exception includes (undefined) term "multipoint" so it follows that "multipoint" need not be part of definition for single pointer.

@patrickhlauke
Copy link
Member Author

As a possible alternative, I've moved the mention of multipoint (rather than "multi-pointer/multi-touch") into a note (following precedent set in other definitions that also include a note and/or example).

Copy link
Contributor

@bruce-usab bruce-usab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine to me, but is normative change, so will want to highlight that for AG review.

@alastc alastc changed the title Rewrite definition for single pointer Update definition for single pointer Feb 26, 2024
@mraccess77
Copy link

Single point on the screen/page could be interpreted by some as single pixel (x,y) point - is this always the case?

@patrickhlauke
Copy link
Member Author

@mraccess77

is this always the case?

what situations are you thinking of where this is not the case?

@dav-idc
Copy link
Contributor

dav-idc commented Feb 26, 2024

Single point on the screen/page could be interpreted by some as single pixel (x,y) point - is this always the case?

A single point on a screen can be made up of several pixels, such as in the case of a retina display. Hence, it's helpful to not say specifically a pixel, but rather a point.

The only case I can reasonably think of where it's not an x,y point (but not necessarily a single pixel) is in a 3D display system where it might be an x,y,z point. But I think this updated definition still covers current 3d technologies, where an x,y,z point is still delivered through a screen.

@alastc alastc merged commit a9dbe11 into main Mar 11, 2024
1 check passed
@alastc
Copy link
Contributor

alastc commented Mar 11, 2024

@iadawn this went through CFC, so needs adding as an errata. (That's been a Staff task so far, I'm not sure where it is edited?) We'll keep it on the project board until that's confirmed.

@alastc alastc mentioned this pull request Mar 11, 2024
@fstrr fstrr deleted the patrickhlauke-single-pointer-definition branch March 11, 2024 17:23
@patrickhlauke
Copy link
Member Author

hurrah!

kfranqueiro added a commit that referenced this pull request Jul 19, 2024
@alastc
Copy link
Contributor

alastc commented Sep 10, 2024

@WilcoFiers added on list:

This new definition seems to exclude path-based gestures from the single-pointer input. That creates a contradiction with 2.5.1. 2.5.1 explicitly says a path-based single-pointer gesture is allowed if it is essential. If single-pointer input is not path based, how can it be allowed? The second problem with it is it changes the scope of 2.5.2. If path-based gestures are not considered a single-pointer input, then using a path-based gesture on a down event with no way to abort or undo the action is now allowed. It makes this SC 2.5.2 more permissive than it used to be.

Could someone respond? (Here or on list.)

@patrickhlauke
Copy link
Member Author

This new definition seems to exclude path-based gestures from the single-pointer input

I don't see how, to be honest. The new definition disentangles the fact that the term defined was the input (as in the mechanism), not the gesture (tap, swipe, etc) itself, because the previous definition was what was causing the non-sequitur in #3535

a path-based gesture can still be reliant on a single-pointer input (the mechanism of input, i.e. the finger, the mouse, the stylus), and nothing in the new definition contradicts that - unless you interpreted "input" as being the gesture rather than the mechanism (but under that interpretation, we had that contradiction of #3535). and the pointer events spec itself defines input as the mechanism too.

@dbjorge
Copy link
Contributor

dbjorge commented Sep 10, 2024

Discussed this with @WilcoFiers; the confusion seems to be coming from the use of the term "at a time" in the new definition. Wilco suggested that an extra note/examples clarifying which actions a single pointer can perform would have helped clarified; perhaps we can reconsider adding something like this?

<p class="example">Clicking, double-clicking, long-pressing, and dragging a slider are operations that can be performed using a single pointer.</p>

@alastc
Copy link
Contributor

alastc commented Sep 12, 2024

Hi Dan, we had previous iterations (and #809) that included interactions such as clicking, but it moved the focus to the interactions rather than the input type, which seemed to cause more confusion.

I'd also note we previously added a paragraph to the pointer-gestures understanding doc:

Single pointer operations include taps and clicks, double-taps and double-clicks, long presses, swiping, dragging, and path-based gestures. Gestures such as "pinch to zoom" or two-finger swipes are multipoint gestures, as they require two or more pointer inputs - in this case, two fingers on a touchscreen.

@bruce-usab
Copy link
Contributor

bruce-usab commented Sep 13, 2024

Discussed 9/13, TF members affirmed okay as it. Patrick offers to do another close review, by 9/17 AG call.

@patrickhlauke
Copy link
Member Author

@bruce-usab

So this PR has already been merged - making tweaks to it would need a separate new PR. Before proceeding with that, and seeing @alastc's comment above #3536 (comment) about not adding in an extra note giving examples of gestures that can be performed with a single pointer, I'm wondering if changing just the start of this from

an input that only targets a single point on the page/screen at a time – such as a mouse, single finger on a touch screen, or stylus

to

an input mechanism that only targets a single point on the page/screen at a time – such as a mouse, single finger on a touch screen, or stylus

(adding the word "mechanism" after input, to make it clear that this is explicitly what this is referring to, rather than "input" in the sense of the "gesture") would help clarify things.

@patrickhlauke
Copy link
Member Author

Made the small PR just adding "mechanism" here #4070 @bruce-usab @alastc

@mbgower
Copy link
Contributor

mbgower commented Sep 20, 2024

Reviewed and finalized on Sep 20 TF call with revisions to https://github.com/w3c/wcag/pull/4070/files.
Returned to the Errata for CFC column.

mbgower added a commit that referenced this pull request Nov 19, 2024
…ointer interactions (#4070)

Follow-up to
#3536 (comment) to
potentially address concerns by @WilcoFiers @dbjorge

Tries to more clearly differentiate "input" as in the *modality* from
the gestures/interactions that are the *result* of using a particular
input *modality*


<!--
    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/4070.html"
title="Last updated on Sep 20, 2024, 8:10 PM UTC (a79bb49)">Preview</a>
| <a
href="https://pr-preview.s3.amazonaws.com/w3c/wcag/4070/4213bf6...a79bb49.html"
title="Last updated on Sep 20, 2024, 8:10 PM UTC (a79bb49)">Diff</a>

---------

Co-authored-by: Alastair Campbell <[email protected]>
Co-authored-by: Mike Gower <[email protected]>
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 Normative WCAG 2.1 WCAG 2.2
Projects
None yet
10 participants