Closed Bug 428599 Opened 12 years ago Closed 8 years ago

text-decorations are drawn through descendant frames where the decoration is inappropriate

Categories

(Core :: Layout: Block and Inline, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla8

People

(Reporter: zwol, Unassigned)

References

Details

(Whiteboard: duplicate?)

Attachments

(1 file)

Consider

<!DOCTYPE HTML><html><body>
<p style="text-decoration:underline">Lorem ipsum <span style="display:inline-block">dolor<br>sit<br>amet</span> consectetur adipisicing elit</p>
</body></html>

Present trunk propagates the text-decoration from the P to the SPAN, contrary to CSS2.1, and thus the words "dolor", "sit", and "amet" are all underlined.  This is bug 403526.  However, fixing that bug only suppresses the underlines on "dolor" and "sit", because the P tag still draws its underline across the bottom of the SPAN's outermost box.  This is incorrect, because the SPAN's outermost box counts as "an element which contains no text" for purposes of section 16.3.1 of the CSS spec.  The correct rendering would stop the line at the beginning of the SPAN and continue it afterward, so "amet" would not be underlined either.  Note that this means that the spaces on either side of "amet" _should_ be underlined.

This is the remaining issue with the reftest text-decoration/underline-block-propagation-standards.html after bug 403526 is fixed.
Marking as suspected duplicate per dbaron.  If found to be a duplicate, the most recent patch to 403526 will need an embedded bug number adjusted.
Keywords: qawanted
Whiteboard: duplicate?
1.9.1?  Note that on reflection, I'm not 100% comfortable with defining the SPAN in question as "an element which contains no text".  Descendant boxes do contain text and it seems like an awfully fine hair to split.
Flags: wanted1.9.1?
Attached file test case
adding a self-contained test case.  it's clear that the green and pink boxes should not be crossed out, but what about the word "all"?
Flags: wanted1.9.1?
Flags: wanted1.9.1-
Flags: blocking1.9.1-
I think you just asked about this issue: http://csswg.inkedblade.net/spec/css2.1#issue-56 ?
we spoke face to face, but - yes, that's the spec issue that's blocking me; however, there are some hairs to split about which bugs are which.

CSS2.1 issue 56 is actually filed as bug 202930, and the pending patch that would resolve it according to your proposal is in bug 403526.

This bug is something else; we talked about it in the thread that starts at http://lists.w3.org/Archives/Public/www-style/2008Jul/0095.html and you convinced me the line's not supposed to cross a descendant element that transitively, but not directly, contains text.
also, this bug is not going to be fixed by the patch in bug 403526, but I expect to be able to fix it pretty quickly once I get unblocked on that bug.
I finally landed bug 403526, but I am not likely to get to this bug soon, I'm afraid.
Assignee: zweinberg → nobody
Status: ASSIGNED → NEW
Since it may be relevant here:  the CSS WG just accepted the proposal in
http://lists.w3.org/Archives/Public/www-style/2010Aug/0334.html
See my notes in bug 403524 comment 65 about fixing this.
Patch for 4035254 addresses this bug as well.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla8
Duplicate of this bug: 477548
Issue is Resolved - removing QA-Wanted Keywords - QA-Wanted query clean-up task
Keywords: qawanted
You need to log in before you can comment on or make changes to this bug.