Re: [csswg-drafts] [css-scroll-snap-1] Define "scrolling operation" (#7339)

Here's one concrete issue related to this: How should `scroll-snap-stop: always` actually behave? It is currently defined like this:

> The [scroll container](https://drafts.csswg.org/css-overflow-3/#scroll-container) must not pass over a [snap position](https://drafts.csswg.org/css-scroll-snap/#scroll-snap-position) defined by this element during the execution of a scrolling operation; it must instead snap to the first of this element’s snap positions.

This could be interpreted in two different ways:
1. _Always_ snap to the first snap position, no matter whether the scrolling operation is still ongoing. I.e. the scrolling operation is forced to stop at the first snap position, even when the scrolling operation isn't finished yet, e.g. because the user is dragging the thumb of a scrollbar or dragging via their finger on a touch device.
2. Snap to the first snap position _after_ the interaction with the device has finished. E.g. once a user doesn't drag the thumb of a scrollbar anymore or release their finger from a touch device after swiping. That means, while actively scrolling, multiple scroll positions can still be skipped.

It looks like all three main browser engines currently implement the latter, though the specification suggests the former behavior.
So it should be clarified what's meant by "scrolling operation" and with that which one of the two is the correct behavior.

(There are probably use cases for both behaviors. So, depending on the outcome here I may create a separate issue to discuss whether we should introduce the other behavior.)

Sebastian

-- 
GitHub Notification of comment by SebastianZ
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7339#issuecomment-1166960120 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Monday, 27 June 2022 07:04:09 UTC