Skip to content

Disambiguation of path-based gesture versus dragging movement#4843

Merged
patrickhlauke merged 65 commits intomainfrom
patrickhlauke-pointer-gesture-dragging-disambiguation
Apr 5, 2026
Merged

Disambiguation of path-based gesture versus dragging movement#4843
patrickhlauke merged 65 commits intomainfrom
patrickhlauke-pointer-gesture-dragging-disambiguation

Conversation

@patrickhlauke
Copy link
Copy Markdown
Member

@patrickhlauke patrickhlauke commented Dec 31, 2025

This PR is a long-overdue disambiguation that removes the half-hearted retconning attempt to make pointer gestures apply to sliders at the time before we had dragging movements. (yes, this may mean that for 2.1, sliders MAY not be covered by pointer gestures anymore, but even with the additions we had, they weren't per se...so this doesn't actually change anything normatively in my mind, other than remove the weird points of overlap and confusion).

Pointer gestures

In understanding for pointer gestures:

  • Remove the confusing "intermediate"/"midpoint" patch that was added mostly as a way to retcon/patch in applicability to certain looser swipe gestures and to some types of sliders, and instead explains in much simpler terms that while not strictly "path-based", the fact that the movement is only recognised when the path is "mostly" in a particular direction does make them count as path-based.
  • Emphasise that for gestures, the end-point (and sometimes even the start-point) often don't actually matter so much as the direction (and potentially speed)
  • Repurpose the "wiggly line from point 1 to point 2" to actually illustrate dragging movement, and move the two illustrations (straight line and wiggly line) to the section that tries to explain the difference between dragging and path-based gestures
  • Use some consistency: start-point and end-point (not "start point", or "endpoint" etc, it was all a bit mix and match before)
  • Adds a mention about gestures used to control UA/AT (similar to the mention present in the dragging movement understanding)
  • Adds a very explicit mention that sliders are generally implemented using dragging movement, and are not path-based. Removes the very borderline example of a badly implemented slider
  • Removes the artificial/stretched example of a kanban board that responds to swipes (which would be unusual) from the pointer gesture examples, rewords it to be an example for dragging movement
  • Clarifies the (rare) instance of what happens when something (like a slider) involves both dragging and is path-based (that it may fail both SCs)
  • Part of some confusion is how the word "slider" gets interpreted - some people say "slider" when they talk about a "content slider" or "carousel"; even one of the examples in pointer gestures fell into that ambiguity. This PR tries to disambiguate things a bit more and talks about "range slider" and "draggable carousels"
  • Adds figures that show a range input slider and a draggable content carousel, to clarify the point
  • Removes the paradoxical "input sliders are usually not path-based when used with mouse, but in some cases they're path-based when used with touchscreens" part. First of all, this seems to only happen in Android/Chrome (even Android/Firefox doesn't do this, and iOS doesn't). Secondly, this is a user agent choice, and authors can't be made responsible for it. Thirdly, we can't have these sorts of weird conditional "it's not path-based, EXCEPT on touch" statements...how is an author supposed to deal with that?
  • In pointer gestures understanding, corrects mention of "swipes" for scrolling etc, and clarifies that these are on touch screen devices
  • Remove the "Challenges for people with disabilities" section - after removing the inaccurate section about the difference between touchscreen and mouse operation for range sliders, the section only contains general points that are far better made in the intent section

Current version: https://www.w3.org/WAI/WCAG22/Understanding/pointer-gestures.html
Preview of the proposed changes: https://deploy-preview-4843--wcag2.netlify.app/understanding/pointer-gestures
Diff

Dragging movements

In understanding for dragging movements:

  • Remove the mention of "intermediate points"
  • Small language tweaks
  • Same consistency change (start-point / end-point)
  • Adds a variant example of a draggable news item carousel (mirroring the example of a carousel that can be flicked/swiped that exists in pointer gestures)
  • Adds figures that show a range input slider and a draggable content carousel, to clarify the point

Current version: https://www.w3.org/WAI/WCAG22/Understanding/dragging-movements.html
Preview of the proposed changes: https://deploy-preview-4843--wcag2.netlify.app/understanding/dragging-movements
Diff


Closes #3344
Closes #2394
Supersedes #3148
Closes #2684

* Remove the confusing "intermediate"/"midpoint" patch that was added mostly as a way to retcon/patch in applicability to sliders/carousels into pointer gestures, once the normative wording was already baked in and it turned out to be too difficult to make it apply to dragging sliders.
* Emphasise that for gestures, the end-point (and sometimes even the start-point) don't actually matter so much as the direction (and potentially speed)
* Repurpose the "wiggly line from point 1 to point 2" to actually illustrate dragging movement, and move the two illustrations (straight line and wiggly line) to the section that tries to explain the difference between dragging and path-based gestures
* Use some consistency: start-point and end-point (not "start point", or "endpoint" etc, it was all a bit mix and match before)
@netlify
Copy link
Copy Markdown

netlify Bot commented Dec 31, 2025

Deploy Preview for wcag2 ready!

Name Link
🔨 Latest commit 9876b6e
🔍 Latest deploy log https://app.netlify.com/projects/wcag2/deploys/69d232b74a1156000868025d
😎 Deploy Preview https://deploy-preview-4843--wcag2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@patrickhlauke
Copy link
Copy Markdown
Member Author

patrickhlauke commented Dec 31, 2025

It's a draft PR for now, as I want to see if I can also cover/address other aspects such as #3148 #2116 and #2684

EDIT: worked some more on this PR, this now addresses these other issues as well

@patrickhlauke patrickhlauke force-pushed the patrickhlauke-pointer-gesture-dragging-disambiguation branch from 602b611 to 446449e Compare January 2, 2026 00:15
@patrickhlauke patrickhlauke marked this pull request as ready for review January 2, 2026 01:00
@patrickhlauke patrickhlauke changed the title Initial disambiguation of path-based gesture versus dragging movement Disambiguation of path-based gesture versus dragging movement Jan 2, 2026
@detlevhfischer
Copy link
Copy Markdown
Contributor

Looks very solid, great work, @patrickhlauke

Copy link
Copy Markdown
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.

Just some editorial comments - the substance is there.

Comment thread understanding/22/dragging-movements.html Outdated
Comment thread understanding/22/dragging-movements.html Outdated
Comment thread understanding/22/dragging-movements.html Outdated
Comment thread understanding/22/dragging-movements.html Outdated
Comment thread understanding/22/dragging-movements.html Outdated
Comment thread understanding/22/dragging-movements.html Outdated
Comment thread understanding/22/dragging-movements.html Outdated
Comment thread understanding/22/dragging-movements.html Outdated
Comment thread understanding/22/dragging-movements.html Outdated
@patrickhlauke
Copy link
Copy Markdown
Member Author

Just some editorial comments - the substance is there.

thank you @detlevhfischer ... good to get some more of the cruft (most of it was existing text I think) out of those docs. I'll have a look through and make tweaks

Comment thread understanding/21/pointer-gestures.html Outdated
Comment thread understanding/21/pointer-gestures.html Outdated
Comment thread understanding/21/pointer-gestures.html Outdated
Comment thread understanding/21/pointer-gestures.html Outdated
Comment thread understanding/21/pointer-gestures.html
Comment thread understanding/21/pointer-gestures.html Outdated
Comment thread understanding/21/pointer-gestures.html
Comment thread understanding/21/pointer-gestures.html Outdated
Comment thread understanding/21/pointer-gestures.html Outdated
Comment thread understanding/21/pointer-gestures.html Outdated
After removing the inaccurate section about the difference between touchscreen and mouse operation for range sliders, the section only contains general points that are far better made in the intent section.
@patrickhlauke
Copy link
Copy Markdown
Member Author

patrickhlauke commented Apr 2, 2026

Prompted by #4843 (comment) made one last (hopefully) big change:

Remove the "Challenges for people with disabilities" section - after removing the inaccurate section about the difference between touchscreen and mouse operation for range sliders, the section only contains general points that are far better made in the intent section

a53c434

Comment thread understanding/21/pointer-gestures.html Outdated
Comment thread understanding/22/dragging-movements.html Outdated
@bruce-usab
Copy link
Copy Markdown
Contributor

@detlevhfischer we did some editing on the TF call 4/3. Please take another look, to see if you are comfortable with the additional changes. (And please 👍 or remove your 👎 at top, commenting as you like.) We had consensus with folks on the call for keeping the “in some rare instances” example.

@patrickhlauke patrickhlauke merged commit fffe1d2 into main Apr 5, 2026
8 checks passed
@patrickhlauke patrickhlauke deleted the patrickhlauke-pointer-gesture-dragging-disambiguation branch April 5, 2026 19:22
fstrr added a commit that referenced this pull request Apr 8, 2026
This PR is a long-overdue disambiguation that removes the half-hearted
retconning attempt to make pointer gestures apply to sliders at the time
before we had dragging movements. (yes, this may mean that for 2.1,
sliders MAY not be covered by pointer gestures anymore, but even with
the additions we had, they weren't per se...so this doesn't actually
change anything normatively in my mind, other than remove the weird
points of overlap and confusion).

## Pointer gestures

In understanding for pointer gestures:

* Remove the confusing "intermediate"/"midpoint" patch that was added
mostly as a way to retcon/patch in applicability to certain looser swipe
gestures and to some types of sliders, and instead explains in much
simpler terms that while not strictly "path-based", the fact that the
movement is only recognised when the path is "mostly" in a particular
direction does make them count as path-based.
* Emphasise that for gestures, the end-point (and sometimes even the
start-point) often don't actually matter so much as the direction (and
potentially speed)
* Repurpose the "wiggly line from point 1 to point 2" to actually
illustrate dragging movement, and move the two illustrations (straight
line and wiggly line) to the section that tries to explain the
difference between dragging and path-based gestures
* Use some consistency: start-point and end-point (not "start point", or
"endpoint" etc, it was all a bit mix and match before)
* Adds a mention about gestures used to control UA/AT (similar to the
mention present in the dragging movement understanding)
* Adds a very explicit mention that *sliders* are generally implemented
using dragging movement, and are *not* path-based. Removes the very
borderline example of a badly implemented slider
* Removes the artificial/stretched example of a kanban board that
responds to swipes (which would be unusual) from the pointer gesture
examples, rewords it to be an example for dragging movement
* Clarifies the (rare) instance of what happens when something (like a
slider) involves *both* dragging *and* is path-based (that it may fail
*both* SCs)
* Part of some confusion is how the word "slider" gets interpreted -
some people say "slider" when they talk about a "content slider" or
"carousel"; even one of the examples in pointer gestures fell into that
ambiguity. This PR tries to disambiguate things a bit more and talks
about "range slider" and "draggable carousels"
* Adds figures that show a range input slider and a draggable content
carousel, to clarify the point
* Removes the paradoxical "input sliders are usually not path-based when
used with mouse, but in some cases they're path-based when used with
touchscreens" part. First of all, this seems to only happen in
Android/Chrome (even Android/Firefox doesn't do this, and iOS doesn't).
Secondly, this is a user agent choice, and authors can't be made
responsible for it. Thirdly, we can't have these sorts of weird
conditional "it's not path-based, EXCEPT on touch" statements...how is
an author supposed to deal with that?
* In pointer gestures understanding, corrects mention of "swipes" for
scrolling etc, and clarifies that these are on touch screen devices
* Remove the "Challenges for people with disabilities" section - after
removing the inaccurate section about the difference between touchscreen
and mouse operation for range sliders, the section only contains general
points that are far better made in the intent section

Current version:
https://www.w3.org/WAI/WCAG22/Understanding/pointer-gestures.html
Preview of the proposed changes:
https://deploy-preview-4843--wcag2.netlify.app/understanding/pointer-gestures

[Diff](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fwww.w3.org%2FWAI%2FWCAG22%2FUnderstanding%2Fpointer-gestures&doc2=https%3A%2F%2Fdeploy-preview-4843--wcag2.netlify.app%2Funderstanding%2Fpointer-gestures)

## Dragging movements

In understanding for dragging movements:

* Remove the mention of "intermediate points"
* Small language tweaks
* Same consistency change (start-point / end-point)
* Adds a variant example of a draggable news item carousel (mirroring
the example of a carousel that can be flicked/swiped that exists in
pointer gestures)
* Adds figures that show a range input slider and a draggable content
carousel, to clarify the point

Current version:
https://www.w3.org/WAI/WCAG22/Understanding/dragging-movements.html
Preview of the proposed changes:
https://deploy-preview-4843--wcag2.netlify.app/understanding/dragging-movements

[Diff](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fwww.w3.org%2FWAI%2FWCAG22%2FUnderstanding%2Fdragging-movements&doc2=https%3A%2F%2Fdeploy-preview-4843--wcag2.netlify.app%2Funderstanding%2Fdragging-movements)

---

Closes #3344
Closes #2394
Supersedes #3148
Closes #2684

---------

Co-authored-by: Francis Storr <francis.storr@intel.com>
Co-authored-by: Detlev Fischer <df@3needs.org>
Co-authored-by: Adam Page <adam@adampage.net>
Co-authored-by: Giacomo Petri <giacomo.petri@usablenet.com>
Co-authored-by: Bruce Bailey <bruce@bailey4.us>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

7 participants