Re: [csswg-drafts] [css-display] How does block inside inline affect the box tree, exactly?

So in Gecko we don't really distinguish between boxes and fragments; they're one tree, and if we want to traverse boxes rather than fragments, we (a) ignore children that aren't first-fragments and (b) traverse children of later fragments.  That said, block-in-inline and (in-progress) column-span splitting is a heavier type of splitting than breaking and bidi resolution, so there are contexts where we could mix the two modes (treat splits of inlines around blocks, and blocks and inlines around column-spans as separate objects, but not do that for bidi/line/column/page breaking), though I think we try to avoid it.

I worry that the proposal makes spec prose from CSS 2 that we still depend on even further from the truth than it currently is.  In other words, we have prose that talks about boxes (at least when it remembers not to say elements) when it needs to be updated to talk about fragments -- if we change the definition of boxes to be less like fragments, future implementors may not realize that that prose was written before the distinction existed and think it means something different from what it actually means.  If there were more of an ongoing effort to maintain that prose, this might be less of an issue.

That said, I'm also worried that drawing this distinction might force implementations to add new implementation concepts that they don't need now, just in order to get very minor details correct.  It's often better for the spec prose to match what implementations do so that you don't get lots of very minor nonconformance.  That said, I'm not sure what the other implementations do.

-- 
GitHub Notification of comment by dbaron
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/1477#issuecomment-374799763 using your GitHub account

Received on Wednesday, 21 March 2018 00:11:01 UTC