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)
signature.asc
Description: PGP signature
_______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform