- From: Majid Valipour <majidvp@chromium.org>
- Date: Thu, 10 Nov 2016 16:27:23 +0000
- To: www-style@w3.org
- Message-ID: <CAB8RdXuTpcLzys4y=zkVH=X=ctGp-Q=G1erk2aF=PCGbrf50ww@mail.gmail.com>
> On Tue, Sep 23, 2014 at 7:21 AM, Rick Byers <rbyers@chromium.org> wrote:
> > IE has -ms-scroll-chaining for precisely this problem. Does that do
> > everything you'd want?
> Yes, that's the ticket. One note: -ms-scroll-chaining only applies to
> touch-based devices. I'd hope this would apply to mouse-based browsers as
> well.
I think the proposal here make sense. Rick was concerned that this may need
to be limited to statefull scroll input (touch/touchpad) but I don't see
any reason
why that should be a problem given that -ms-scroll-chaining is limited to
scrolls
propagating upward to the nearest scrollable parent.
So I propose to adopt -ms-scroll-chaining with the following changes:
1. scroll-chaining should apply to all user input scrolls including mouse,
touch, keyboard. Programmatic scroll APIs such as
Element::scrollIntoView
are not affected by this.
2. Introduce long hands syntax scroll-chaining-{x,y} to allow scroll
chaining to
be controlled independently for each axis. For example a component
which
does not overflow horizontally should not prevent propagation on that
axis
if it only needs to prevent the vertical propagation.
Optional 3. Define what happens if scroll-chaining is disabled on the
viewport.
I think a sensible choice here is to take it as meaning to prevent
user-agent default overscroll actions such as overscroll swipe
navigations
and pull-to-refresh. I have proposed to do this as part of viewport meta
[1]
but this may be an even better solution.
I have a more detailed proposal with some additional suggestions on WICG
[1] but
some of the suggestions there are slightly off topic for this thread.
Thanks
Majid
[1] https://github.com/w3c/csswg-drafts/issues/455
[2]
https://discourse.wicg.io/t/generic-scroll-chaining-prevention-mechanism-or-expand-standardize-ms-scroll-chaining/1811
Received on Thursday, 10 November 2016 16:28:07 UTC