Re: [csswg-drafts] [css-display] [css-text-decor] Propagation of text-decoration with display:contents

The CSS Working Group just discussed `[css-display] [css-text-decor] Propagation of text-decoration with display:contents`, and agreed to the following resolutions:

* `RESOLVED: define this as a box-tree concept`

<details><summary>The full IRC log of that discussion</summary>
&lt;astearns> topic: [css-display] [css-text-decor] Propagation of text-decoration with display:contents<br>
&lt;astearns> github topic: https://github.com/w3c/csswg-drafts/issues/1136<br>
&lt;tantek> astearns: propagation of text decoration<br>
&lt;tantek> TabAtkins: q: how do text decorations propagate? on what tree do they propagate? they are not inheritance. something after inheritance. on box tree? element tree? or something else magic?<br>
&lt;tantek> TabAtkins: there are several arguments for box tree, in particular compat constraints<br>
&lt;tantek> TabAtkins: if you have an inline with an underline<br>
&lt;tantek> TabAtkins: if you have a span underline ...<br>
&lt;TabAtkins> &lt;span underline>foo &lt;div>INTERRUPTION&lt;/div> bar&lt;/span><br>
&lt;tantek> TabAtkins: if you have this<br>
&lt;tantek> TabAtkins: the foo and the bar get underlined, the INTERRUPTION does not<br>
&lt;tantek> TabAtkins: because the block has broken the span apart<br>
&lt;tantek> TabAtkins: if the decorations propagated through the element tree then the div would get the decoration<br>
&lt;tantek> TabAtkins: but if propagate thru the box tree then that is what we see<br>
&lt;tantek> dbaron: it is already specified in terms of the element tree, and just specifies that case<br>
&lt;fantasai> https://drafts.csswg.org/css-text-decor-3/#line-decoration<br>
&lt;tantek> TabAtkins: it is not well specified from what we can see<br>
&lt;tantek> dbaron: we impl it from a spec that was relatively clear<br>
&lt;tantek> fantasai: I believe that was 2.1<br>
&lt;tantek> fantasai: which does not distinguish between elements and boxes very well<br>
&lt;tantek> dbaron: it was readable in terms of elements, and describes that case as don't do this thing<br>
&lt;tantek> dbaron: it explicitly said that<br>
&lt;fantasai> https://www.w3.org/TR/CSS21/text.html#decoration<br>
&lt;dbaron> s/we impl/I believe we implemented/<br>
&lt;tantek> TabAtkins: that implies that display contents as implications on how we treat that<br>
&lt;tantek> TabAtkins: whether that affects the decision<br>
&lt;tantek> fantasai: it shouldn't make a difference element vs block tree in general, but it will affect once we have display content<br>
&lt;tantek> fantasai: question is whether you can propagate to text nodes which are new thing now<br>
&lt;tantek> TabAtkins: side question if you specify it on a ... element does it .... ?<br>
&lt;tantek> dbaron: in terms of that we impl on the box tree<br>
&lt;tantek> TabAtkins: according to r... so do we<br>
&lt;tantek> astearns: any other interop data?<br>
&lt;dbaron> we walk up the box tree, but through placeholders for out-of-flows<br>
&lt;tantek> fremy: technically I can try... in IE<br>
&lt;fantasai> s/..../propagate to its contents/<br>
&lt;fantasai> s/on a .../on a display:contents element/<br>
&lt;tantek> TabAtkins: I got it the opposite<br>
&lt;tantek> TabAtkins: fix up will interrupt decoration<br>
&lt;tantek> fremy: example?<br>
&lt;TabAtkins> https://bugs.chromium.org/p/chromium/issues/detail?id=553174<br>
&lt;tantek> TabAtkins: yes I have a CR example<br>
&lt;tantek> TabAtkins: this is interruption due to inline table. we are propagating, other browsers do not<br>
&lt;tantek> dbaron: beware of tables when testing text-deco because there are quirks mode diffs<br>
&lt;tantek> fremy: ... apparently ...<br>
&lt;tantek> (horns)<br>
&lt;tantek> TabAtkins: what about the 2nd case? where element is an inline table?<br>
&lt;dbaron> The Gecko code is at https://searchfox.org/mozilla-central/rev/b318c7dca7392bd16c0b11929f55b1be133f0b31/layout/generic/nsTextFrame.cpp#5373<br>
&lt;tantek> TabAtkins: (describes bug)<br>
&lt;tantek> fremy: I see what you mean<br>
&lt;tantek> TabAtkins: our impl is inconsistent<br>
&lt;tantek> TabAtkins: the fact that these two cases should be identical in any sensible interpretation implies that it should be a box tree concept possibly with some nods to the element tree e.g. block that splits inline<br>
&lt;tantek> fremy: i don't know either we would have to change something either way<br>
&lt;tantek> astearns: sounds like we need to spec this as box-tree concept and file bugs on browsers<br>
&lt;tantek> TabAtkins: chrome has a bug filed<br>
&lt;tantek> astearns: any obj to defining this as a box-tree concept?<br>
&lt;tantek> RESOLVED: define this as a box-tree concept<br>
&lt;tantek> astearns: few more min<br>
</details>


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

Received on Wednesday, 31 May 2017 16:53:50 UTC