On Tuesday 2016-12-20 02:24 +0000, Mark Legate wrote:
> https://www.w3.org/TR/CSS2/visufx.html#overflow
> https://www.w3.org/TR/2011/REC-CSS2-20110607/visuren.html#viewport
> https://www.w3.org/TR/CSS2/visufx.html#overflow-clipping

And https://bugzilla.mozilla.org/show_bug.cgi?id=1322952

> The logic, as I read it (caps added to indicate RFC language):
> 
> The viewport standard recommends that the UA SHOULD offer a scrolling 
> mechanism if the content is larger than the viewport.  The general of 
> overflow-clipping outlines a situation where clipping can occur while 
> position:absolute elements can remain visible.  In the presented situation, 
> overflow:hidden breaks the ability of the user to use a scrollbar to access 
> this content if it's also outside the viewport.  The overflow standard is a 
> bit harder to parse, however, as I understand it, it requires that:

By "the overflow standard" I assume you mean the link above rather
than the css-overflow specification.

> 1) The overflow property MUST be applied to the root element (presumably 
> overflow:auto unless otherwise specified)

Not sure what you mean by "be applied", but the overflow property on
the root element is applied to the viewport, not to the root
element.

> 2) If a BODY/body element has an overflow property it MUST apply it to the 
> viewport only if (1) is overflow:visible 

Correct.

> 3) When (2) occurs it MUST be overflow:visible

No idea what you mean by this.

> 4) When overflow:visible MUST be interpreted as overflow:auto

For the viewport, yes.

> 5) When (4) occurs a scrolling mechanism SHOULD be provided (see: 
> overflow:auto)

Yes.

> There are several things FF is doing that do not adhere to this standard:
> 
> 1) Computed values show it's being interpreted as overflow:visible not 
> overflow:auto for the root element, this is allowing overflow properties to 
> propagate from the body inappropriately

Computed values are not affected by any of this fixup.
https://drafts.csswg.org/css2/visufx.html#overflow says "Computed
value:  as specified".

> 2) overflow:hidden (and other values) are being propagated from the body 
> element despite the standard requiring this only be done if the BODY/body's 
> overflow property is set to 'visible'

I don't see this requirement.  The spec says:

  When the root element is an HTML "HTML" element or an XHTML "html"
  element, and that element has an HTML "BODY" element or an XHTML
  "body" element as a child, user agents must instead apply the
  'overflow' property from the first such child element to the
  viewport, if the value on the root element is 'visible'.

which requires that the value on body be propagated to the viewport
if the value on the *root* element is visible, no matter what the
value on body is.

> 3) viewport standard is ignored, possibly intentionally(?), however, it 
> leaves the user without a scrollbar in situations where one is desired, 
> including the one presented in #overflow-clipping

The phrase "the user agent should offer a scrolling mechanism" is
just the usual poorly-written spec language in CSS level 2, and it's
overridden by the more specific language that actually says how
overflow handling should work.

> 4) overflow:auto is ignored both in interpretation and scrollbar implications

No idea what you mean by this.

But I'm pretty sure changing this would lead to unexpected
scrollbars on large numbers of websites, since I believe this works
as specified across browsers.

-David

-- 
𝄞   L. David Baron                         http://dbaron.org/   𝄂
𝄢   Mozilla                          https://www.mozilla.org/   𝄂
             Before I built a wall I'd ask to know
             What I was walling in or walling out,
             And to whom I was like to give offense.
               - Robert Frost, Mending Wall (1914)

Attachment: signature.asc
Description: PGP signature

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to