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

RESOLVED FIXED in mozilla8

Status

()

Core
Layout: Block and Inline
RESOLVED FIXED
9 years ago
3 years ago

People

(Reporter: zwol, Unassigned)

Tracking

Trunk
mozilla8
Points:
---
Dependency tree / graph
Bug Flags:
blocking1.9.1 -
wanted1.9.1 -

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: duplicate?)

Attachments

(1 attachment)

(Reporter)

Description

9 years ago
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.
(Reporter)

Comment 1

9 years ago
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?
(Reporter)

Comment 2

9 years ago
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?
(Reporter)

Comment 3

9 years ago
Created attachment 327987 [details]
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-

Comment 4

9 years ago
I think you just asked about this issue: http://csswg.inkedblade.net/spec/css2.1#issue-56 ?
(Reporter)

Comment 5

9 years ago
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.
(Reporter)

Comment 6

9 years ago
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.
Blocks: 403524
(Reporter)

Comment 7

7 years ago
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.

Comment 10

6 years ago
Patch for 4035254 addresses this bug as well.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla8

Updated

6 years ago
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.