Hi blink-dev,

We have been landing several improvements to the physics of scroll snap
handling for edge cases around nested snap areas and covering (larger than
the viewport) snap areas in M118:
<https://bugs.chromium.org/p/chromium/issues/detail?id=1420762>

   <https://bugs.chromium.org/p/chromium/issues/detail?id=1420762>
   1. <https://bugs.chromium.org/p/chromium/issues/detail?id=1420762>Preserving
   native fling momentum in covering snap areas
   <https://bugs.chromium.org/p/chromium/issues/detail?id=1420413>
   2. Only scroll as far as necessary for large snap point to cover viewport
   <https://bugs.chromium.org/p/chromium/issues/detail?id=1420762> (WIP)
   3. Better snapping between / outside of nested snap areas
   <https://bugs.chromium.org/p/chromium/issues/detail?id=1420439>

These improvements should not be noticeable to developers, and should
improve the user experience, though a developer could indirectly observe
differences in resting scroll positions. We're landing use counters for nested
snap areas
<https://chromium-review.googlesource.com/c/chromium/src/+/4822695>
and covering
snap areas
<https://chromium-review.googlesource.com/c/chromium/src/+/4827722> to both
estimate the potential number of sites impacted by these changes and
evaluate the ongoing adoption of these particular use cases.

Scrolling physics is not part of the spec but should be self-consistent
within a large snap as outside of it (#1). We also believe the other two
changes are in compliance with the spec and in the spirit of the spec, if
not yet explicitly required. Minimizing scroll when moving into covering
points was always intended
<https://github.com/w3c/csswg-drafts/issues/6863#issuecomment-1022708331> and
made more clear (#2). The behavior around #3 is both implied by examples 8
<https://drafts.csswg.org/css-scroll-snap-1/#example-8f4980a0> and 9
<https://drafts.csswg.org/css-scroll-snap-1/#example-e9209b74> in the
spec, suggested
in comments
<https://github.com/w3c/csswg-drafts/issues/6863#issuecomment-1029325392>,
and we have opened an issue to make it explicit
<https://github.com/w3c/csswg-drafts/issues/9187>.

We hope that enabling more experiences using the browser's snap
implementation will reduce the dependence on third party javascript
libraries driving scroll based sites.

Thanks,
Rob

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJh39TNr%2BR2mNyXLgOc%2BRU3hrO-sHnvWbtCgsoCG22tMtHuxRQ%40mail.gmail.com.

Reply via email to