Re: [csswg-drafts] [css-display-4] Initial value of `reading-flow` (#11396)

The CSS Working Group just discussed ``[css-display-4] Initial value of `reading-flow` ``, and agreed to the following:

* `RESOLVED: HTML should depend on the *presence* of a reading flow container, but defer to CSS about exactly what causes that.`

<details><summary>The full IRC log of that discussion</summary>
&lt;TabAtkins> rachelandrew: this bunch of issues... a lot rely on masonry<br>
&lt;TabAtkins> rachelandrew: we have an open PR for the html spec<br>
&lt;TabAtkins> rachelandrew: we're trying to get to whether these outstanding issues are liekly to change the html changes<br>
&lt;rachelandrew> https://github.com/w3c/csswg-drafts/issues/11328<br>
&lt;TabAtkins> rachelandrew: we might just resolve that it's probably not going to change the API shape<br>
&lt;TabAtkins> rachelandrew: for this first one, the initial value fo reading-flow<br>
&lt;TabAtkins> rachelandrew: in general "normal" means behaving as we do now, tab order follows the dom<br>
&lt;TabAtkins> rachelandrew: we ahve automatic layout methods, like grid-auto-flow dense that can fill in gaps, masonry can similarly have funky ordering<br>
&lt;TabAtkins> rachelandrew: with these, it kinda feels like we'd want to go with the visual ordering instead of source as a default<br>
&lt;TabAtkins> rachelandrew: so that's the question here - do we think that's a good idea?<br>
&lt;TabAtkins> rachelandrew: probably means with masonry we'd have a masonry-flow value for the property<br>
&lt;TabAtkins> rachelandrew: dense grid might cause some compat issue, but you probably already don't care abou thte osurce order since you dont' have much control over it<br>
&lt;TabAtkins> rachelandrew: and then we'd need a value to explicitly opt back into source ordering<br>
&lt;astearns> ack fantasai<br>
&lt;TabAtkins> fantasai: i think one of the key questions for html integration is, do we envision cases wher edefault ordering isn't he source order<br>
&lt;TabAtkins> fantasai: html spec is currently written with a binary change - if you do reordering, THIS happens, if not, THAT happens<br>
&lt;TabAtkins> fantasai: if the default behavior reorders, we can't go down the reordering path<br>
&lt;TabAtkins> fantasai: even if you don't actually change the order of anything, the behavior changes<br>
&lt;TabAtkins> rachelandrew: yes, it means if you didn't do any actual reordering you'd be in this slightly changed state<br>
&lt;TabAtkins> rachelandrew: but not sure why that makes a huge difference if it's initial or not<br>
&lt;TabAtkins> fantasai: there's a scoping of tab navigation that happens if you're in the reordering version<br>
&lt;TabAtkins> fantasai: we can't just turn that on for everything all the time<br>
&lt;TabAtkins> rachelandrew: it's not all the time, the proposal is it only does visual order *for these intrinsically reordered display modes*<br>
&lt;TabAtkins> fantasai: okay, might make sense. right now HTML relies on initial value to know whethe ror not to do the thing; need to isntead rely on a CSS concept of if it *is* reordered.<br>
&lt;TabAtkins> (is being reordered, that is, whether the order actually chages or not)<br>
&lt;TabAtkins> fantasai: I think dense packing might be the trickiest case...<br>
&lt;TabAtkins> fantasai: if you have a collection that's dense packed, most of the time you dont' care about specific order<br>
&lt;TabAtkins> fantasai: but if you're doing a combo layout where parts are epxlicitly and the rest are dense packed, you might really care about where the explicit items are in reading order<br>
&lt;TabAtkins> fantasai: and want them in source order, but not care about the auto placed ones<br>
&lt;TabAtkins> rachelandrew: i think that's bleeding into the next issue<br>
&lt;TabAtkins> rachelandrew: whether we change the default behavior is a different issue<br>
&lt;TabAtkins> rachelandrew: we could decide dense grid has sailed and can't change the default, but that's still separate<br>
&lt;TabAtkins> fantasai: i think it interrelates somewhat. if we ahve a lot of those cases it's a compat issue.<br>
&lt;TabAtkins> fantasai: so like if the order matches the standard order, we treat it as not reordered. maybe that's less problematic<br>
&lt;TabAtkins> rachelandrew: I think we need to make sure this concept that HTML is relying on is defined in CSS, not just looking at the initial value<br>
&lt;TabAtkins> Di: I think that makes sense<br>
&lt;TabAtkins> Di: I think in HTML right now we're only caring about whether or not there is a reading-flow container, so this wouldn't change much on the html side<br>
&lt;TabAtkins> Di: on elika's question about order being the same between stadnard and reordered, cna't think of a way to do that<br>
&lt;TabAtkins> fantasai: i think it would be good to restrict the extra behavior to the parts that are reordered, fi there are any<br>
&lt;TabAtkins> fantasai: currently if you *might* be reordering things, you get it on all the places<br>
&lt;TabAtkins> (i disagree)<br>
&lt;TabAtkins> fantasai: might be better to instead only get the scoping changes on the parts that are reordered<br>
&lt;TabAtkins> q+<br>
&lt;emilio> TabAtkins: I disagree<br>
&lt;emilio> ... I don't think we want to have different behavior on elements in the same reading-flow container<br>
&lt;emilio> ... depending on whether has moved<br>
&lt;emilio> ... moved is confusing, if you swap #2 and #3, which one of them moved?<br>
&lt;emilio> fantasai: both<br>
&lt;fantasai> 1 2 3 4 5 vs 1 2 4 3 5 => 3 &amp; 4 moved (don't match their original positions)<br>
&lt;emilio> TabAtkins: generally having the scoping be different in the same container, where the container is what controls it, seems off<br>
&lt;emilio> ... the specific case where there's a dense grid when some things are placed and others auto-placed<br>
&lt;emilio> ... seems like that could be achieved by having a default reading flow value for grid that achieves that<br>
&lt;TabAtkins> (3&amp;4 being the moved elements is *not* obvious. It's exactly as possible that 3&amp;5 are the ones that moved, just both moved *after* 4 and happened to maintain their releative order)<br>
&lt;TabAtkins> astearns: should we decide on just for masonry?<br>
&lt;TabAtkins> fantasai: that's not defined yet<br>
&lt;TabAtkins> astearns: we already have values that opt you into visual order.<br>
&lt;TabAtkins> astearns: if we dont' have an algo for that, we need that anyway, so we're not adding additional difficulty.<br>
&lt;TabAtkins> rachelandrew: there's a lot that falls out of this that needs to be decided on an individual layout basis<br>
&lt;TabAtkins> rachelandrew: q is jsut whether this is only a css issue, not an html, or both<br>
&lt;TabAtkins> rachelandrew: i think it's just css. html should only be considered with whether there is a reading flow container, regardless of whether that's from an initial value (+ othe rproperties) or an explicitly set reading-flow value<br>
&lt;TabAtkins> rachelandrew: so hopefully we can resolve on that part<br>
&lt;TabAtkins> TabAtkins: so proposed resolution: HTML should depend on teh *presence* of a reading flow container, regardless of how CSS defines that to come aobut<br>
&lt;florian> q+<br>
&lt;TabAtkins> q-<br>
&lt;florian> q-<br>
&lt;TabAtkins> astearns: objections?<br>
&lt;TabAtkins> RESOLVED: HTML should depend on the *presence* of a reading flow container, but defer to CSS about exactly what causes that.<br>
</details>


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


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

Received on Thursday, 30 January 2025 20:00:25 UTC