[whatwg] scrollIntoView jarring?

David Bolter david.bolter at utoronto.ca
Wed Apr 30 13:43:35 PDT 2008


Peter Kasting wrote:
> On Wed, Apr 30, 2008 at 10:58 AM, David Bolter 
> <david.bolter at utoronto.ca <mailto:david.bolter at utoronto.ca>> wrote:
>
>     Specifically I would ask that:
>
>     1. scrollIntoView not do anything in the case that the element is
>     already fully visible (possibly in the middle of the viewport), or
>     2. ensureElementIsVisible to be added as described by Daniel
>     Glazman
>     (http://lists.w3.org/Archives/Public/public-html/2007Nov/0188.html)
>
>
> I agree that this is a use case which scrollIntoView does not seem to 
> solve well.  I am not sure Daniel's proposal for 
> ensureElementIsVisible is perfect either, though it is clearly better.
>
> I make no formal proposal, but the behavior I would typically want for 
> some kind of a call (perhaps in addition to those above, I don't know) 
> would be:
>
>     * If the element in question cannot be scrolled so as to make more
>       of it appear in the viewport, do nothing.  (For when the element
>       is completely visible, or is larger than the viewport and
>       already taking up the whole viewport).
>     * Otherwise, if the element is not larger than the viewport,
>       scroll such that the element is centered* in the viewport
>       (within the scrolling limits -- if the element is at the bottom
>       of the page, it clearly can't be scrolled up to the middle of
>       the viewport).
>     * Otherwise, scroll the element such that the top of the element
>       is aligned with the top of the viewport.
>
> *Perhaps centered is the wrong choice.  Another suggestion would be to 
> scroll to a point 1/3 of the way from the top or bottom of the 
> viewport, nearer to whichever edge the element scrolled in from. 
>  Also, perhaps the UA's behavior should not be specified in this kind 
> of detail?

Peter,

Nice. I agree on all points, except maybe if larger than the viewport we 
might want to butt an element corner to a viewport corner (perhaps 
top-left for left-to-right languages), but I also wonder if that is too 
much detail.

cheers,
David



More information about the whatwg mailing list