Re: [csswg-drafts] [css-overflow-4] viewport propagation of scrollbar-gutter (#6079)

The CSS Working Group just discussed `viewport propagation of scrollbar-gutter`, and agreed to the following:

* `RESOLVED: We propagate scrollbar-gutter from the root to the viewport`
* `RESOLVED: Scrollbar-gutter does not propagate from <body>`
* `RESOLVED: No future properties should propagate from <body> to the ICB`
* `RESOLVED: deprecate any existing use of body propagation`

<details><summary>The full IRC log of that discussion</summary>
&lt;Rossen__> Topic: viewport propagation of scrollbar-gutter<br>
&lt;Rossen__> github: https://github.com/w3c/csswg-drafts/issues/6079<br>
&lt;myles> chrishtr: when you apply properties on the HTML or body elements, under certain conditions, ti gets propagated to the root element's scroller. Does this apply to scrollbar gutter properties? Proposed: yes.<br>
&lt;myles> Rossen: This is reverse propagation thing for overflow and direction<br>
&lt;myles> fantasai: Overflow doesn't inherit so it's less bad<br>
&lt;Rossen__> ack fantasai<br>
&lt;myles> fantasai: I absolutely hate body propagation rules in CSS. They should die. The web depends on them. I don't want it to propagated from teh body to the viewport<br>
&lt;tantek> +1 fantasai<br>
&lt;myles> emilio: Right. The scroll-snap stuff, and the thing that allows you to do smooth scrolling, those don't propagate.<br>
&lt;fantasai> s/The web/But the web/<br>
&lt;myles> chrishtr: If the user puts overflow on the body, and &lt;missed> then they're just out of luck?<br>
&lt;myles> florian: They should put it on the root instead.<br>
&lt;fantasai> s/to the viewport/to the viewport. But we do need to specify that it propagates from the root to viewport./<br>
&lt;myles> florian: Putting things on HTML instead of body causes no problem. It's confusing if you've put it on body and it works, but you want to put other stuff on body but it doesn't work<br>
&lt;tantek> +1 florian, can we deprecate putting it on body so it's still "supported" but warned in CSS validators?<br>
&lt;myles> Rossen: let's go back to the actual issue here<br>
&lt;myles> Rossen: There's a proposal here about scrollbar gutter.<br>
&lt;myles> Rossen: For better or worse, we have behavior today that does the propagation<br>
&lt;myles> Rossen: Can we make that work for scrollbar gutter as well<br>
&lt;myles> florian: There are 2 potential resolution. The first is required. Propagate from the root to the viewport is required. Whether or not we ALSO propagate from the body is controvertial<br>
&lt;tantek> +1<br>
&lt;myles> fantasai: Let's resolve that we propagate from root to viewport first.<br>
&lt;myles> Rossen: Any objections?<br>
&lt;myles> RESOLVED: We propagate scrollbar-gutter from the root to the viewport<br>
&lt;myles> Rossen: Now what about body?<br>
&lt;myles> Rossen: It still works everywhere. I think our mutual feelings are the same.<br>
&lt;heycam> q+<br>
&lt;myles> fantasai: We're not saying that it should stop working on overflow. W'ere saying we shouldnt' add more properties to that list<br>
&lt;chrishtr> q+<br>
&lt;tantek> can we instead introduce an informative WARNING about depending on &lt;body> propagation? (i.e. that devtools could flag for example)<br>
&lt;myles> emilio: There was a huge discussion years ago in gecko and other browsers. Gecko only propagates overflow and .....<br>
&lt;myles> florian: Overflow, background, and writing mode<br>
&lt;myles> emilio: Browser do differen things. Fancy new properties dont' propagate. Let's leave it as it is. Not propagate from body to root.<br>
&lt;tantek> +1 emilio<br>
&lt;florian> s/writing-mode/principal writing mode (i.e. writing-mode and direction)/<br>
&lt;fantasai> tantek, I'm happy to warn about it for the properties which currently do propagate (overflow/background/direction/writing-mode). But I *do not* want to add more properties to that list.<br>
&lt;tantek> fantasai, 100%<br>
&lt;myles> emilio: A lot of other properties dont' eitehr<br>
&lt;myles> iank_: Overscroll behavior does.<br>
&lt;myles> emilio: Scroll snap does<br>
&lt;myles> emilio: Those only work on the root<br>
&lt;myles> emilio: If UAs want to add a warning, if you detect you ahve a body that's not scrollable and it has scroll properties, they can log them to the console, that would be helpful, but let's not add more propagation<br>
&lt;myles> Rossen: It's less worse to put your custom scroll bar ... is to not have the appropriate space for it, so you're risking to have some broken UI experience in this case<br>
&lt;Rossen__> q?<br>
&lt;myles> florian: If you apply a property and it doesnt' do what you want then ... &lt;missed><br>
&lt;florian> s/... &lt;missed>/you fix your code/<br>
&lt;Rossen__> ack heycam<br>
&lt;myles> heycam: I was going to askw hat the specific list of scrollbar related properties is that currently propagates from body to the viewport. I don't wnat to end up in a situation where some scrollbar related things propagate but others don't. If scroll snaping and scrollbar color and scrollbar width propagate, then that's good<br>
&lt;tantek> A-ha "scrollbar-color value set on the HTML body element are not propagated to the viewport." https://drafts.csswg.org/css-scrollbars-1/#scrollbar-color<br>
&lt;fantasai> s/propagate/propagate don't propagate/<br>
&lt;myles> chrishtr: I'm okay with the not body thing.<br>
&lt;myles> chrishtr: That shortens the conversation<br>
&lt;myles> Rossen: I'm okay with this.<br>
&lt;myles> Rossen: Anyone else want to keep it?<br>
&lt;myles> Rossen: Objections?<br>
&lt;tantek> can we generalize that to any future scroll-*?<br>
&lt;myles> RESOLVED: Scrollbar-gutter does not propagate from &lt;body><br>
&lt;myles> fantasai: Tantek is asking "can we generalize ..."<br>
&lt;tantek> yes please fantasai<br>
&lt;myles> fantasai: The proposed resolution is "don't propagate anythign else ever"<br>
&lt;myles> chrishtr: Do we need a resolution for scrollbar-width and one other?<br>
&lt;tantek> s/else ever/else ever from BODY to viewport<br>
&lt;myles> emilio: Those already don't propagate<br>
&lt;myles> Rossen: I think that was the generalized proposed resolution that fantasai said<br>
&lt;fantasai> chrishtr, they do propagate from the root already<br>
&lt;tantek> no more BODY propagation<br>
&lt;myles> Rossen: "Anything outside of overflow, direction, and background should not propagate from body"<br>
&lt;myles> florian: In addition, we need to propagate some things from HTML to the viewport<br>
&lt;myles> florian: Otherwise you can't change the scrollbar width<br>
&lt;myles> Rossen: I'm talking about &lt;body><br>
&lt;myles> florian: We should open a new issue about which things need to be propagated and are missing<br>
&lt;myles> fantasai: Proposed resolution: no future properties will propagate from &lt;body> to the ICB<br>
&lt;tantek> +1<br>
&lt;myles> chrishtr: I'll open a new issue about scrollbar-width on the HTML element<br>
&lt;florian> s/to be propagated /to be propagated from :root/<br>
&lt;myles> Rossen: No new objectsion<br>
&lt;fantasai> chrishtr, the spec already defines this<br>
&lt;fantasai> chrishtr, see https://drafts.csswg.org/css-scrollbars-1/#scrollbar-width<br>
&lt;fantasai> chrishtr, no need to open an issue...<br>
&lt;myles> RESOLVED: No future properties should propagate from &lt;body> to the ICB<br>
&lt;chrishtr> fantasai, great!<br>
&lt;tantek> even current properties that don't say they propagate too right?<br>
&lt;fantasai> s/ICB/ICB or viewport/<br>
&lt;myles> fantasai: Tantek said something in IRC<br>
&lt;myles> tantek: proposal: deprecate, or add a warning, to any existing use of body propagation. This would enable CSS validators and dev tools to warn and flag when they depend on that behavior<br>
&lt;myles> emilio: I don't feel strongly. but sure.<br>
&lt;myles> emilio: Dev tools can warn for whatever without anything in the spec<br>
&lt;myles> emilio: We warn for stuff that doesn't apply. Saying "this is bad and you should feel bad" is not good<br>
&lt;myles> fantasai: I'm fine with deprecating and making that a statemetn so it can make its way to author-facing materials<br>
&lt;myles> fantasai: Deprecating settings values on &lt;body> with the expectation it propagates to root<br>
&lt;myles> florian: Making it officially bad. "please don<br>
&lt;myles> florian: 't do this"<br>
&lt;myles> RESOLVED: deprecate any existing use of body propagation<br>
&lt;fantasai> scribenick: fantasai<br>
</details>


-- 
GitHub Notification of comment by css-meeting-bot
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/6079#issuecomment-816307011 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 8 April 2021 23:53:11 UTC