[css-scroll-snap] "single mandatory"

This is an answer to issue 1 (https://drafts.csswg.org/css-scroll-snap/#issue-12d3b5df)

There is a suggestion that we may need a third value besides proximity and mandatory, to say something like: stop on the next snap point in the scrolling direction even if the user flinged so hard that inertial would normally take us past it.

I think this is a very useful distinction to make, but not as a third value. It should be a separate orthogonal property.

* In the case of an news reader, you may want a proximity snap point at the top of each article, but when you fling, you do want to stop at the next one, even if the fling's inertia would naturally take you further than that.

* In the case of an address book, you may want proximity snap points at the top of each section, but hard flings should let you go through multiple ones.

* In a powerpoint/keynote/slideshow, you may want a mandatory snap point on each slide, and require stopping on each slide as you go through them, in order.

* In the case of an image carousel, you may want a mandatory snap point in the middle of each image, but being able to fling through multiple images without stoping on each is desirable


I am not entirely sure how to name it, so here's a lousy name to encourage other people to think of something better:

scroll-snap-stop: always | inertial

If we want the default behavior from scroll-snap-type: proximity and mandatory to be different, then we can have a third (auto?) value that computes to the appropriate one depending on scroll-snap-type, but as far as I am concerned, picking inertial as the default is fine.

 - Florian

Received on Thursday, 22 October 2015 08:06:00 UTC