Re: Scroll focus when reaching the end of a scrollable element

On Tue, Sep 23, 2014 at 8:31 PM, Eric Andrew Lewis <
eric.andrew.lewis@gmail.com> wrote:

> 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.
>

The MSDN docs say "touch and touchpad".  To me this means any statefull
scrolling - that is scrolling with a begin (touch down), series of updates
(movement), and end (lift) phases.  The problem with true mouse wheel
scrolling is that each step is independent - there's no state to associate
one step with a previous step, so it's not clear when you should "lock" to
a target node and so the concept of scroll-chaining is probably not well
defined.

In blink we really only have this statefull property for touch scrolling
(i.e. we hit-test once when scrolling starts, and don't re hit-test on each
update in the gesture).  We convert touchpad into a series of wheel events,
each of which hit tests on each update.  Personally I find this annoying -
it means I may scroll through a long document and suddenly switch to
scrolling an overflow:scroll div without having lifted my fingers.  To make
scroll-chaining apply to touchpad scrolling, I think we'd want to first
shift our touchpad scrolling from the wheel-like behavior to the
touchscreen-like behavior.

Note however that our 'beforescroll' proposal should be rich enough for you
to customize touchpad scrolling in JS to add the stateful property, and
then implement scroll-chaining.


> I'm glad to do anything I can to help here.
>

Received on Wednesday, 24 September 2014 00:59:00 UTC