Skip to content

[css-overflow] how should ignoring overflow on the *-start sides of the scrollport be done? #2006

Closed
@dbaron

Description

@dbaron

There's a longstanding interoperability issue relating to overflow that I really thought we'd discussed before, but I can't find any record of it.

Scrollbars provide a user interface that allows scrolling to overflow extending past the inline-end and block-end sides of the box. However, overflow that extends past the inline-start and block-start sides of a box with overflow:scroll or overflow:auto is ignored.

Currently the spec says:

Due to Web-compatibility constraints (caused by authors exploiting legacy bugs to surreptitiously hide content from visual readers but not search engines and/or speech output), UAs must clip the scrollable overflow region of scroll containers on the block-start and inline-start sides of the box (thereby behaving as if they had no scrollable overflow on that side).

This was introduced in 01821f08744d, by fantasai, in January 2016.

This behavior description matches what Gecko and Edge do.

However, Chromium and WebKit have always done something different, which I believe is that if a box is entirely off of either the block-start or inline-start side of a box, that it makes no contribution to the box's overflow.

The difference matters when there's a box that is entirely before the inline-start (block-start) side of a box, but extends past its block-end (inline-end) side. In that case, Gecko and Edge show a scrollbar, but Chromium and WebKit do not.

I'd like us to explicitly agree that we should do one or the other of these behaviors, and have the spec reflect it.

See also Mozilla bug 1419142.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions