- From: Paul LeBeau <paul.lebeau@gmail.com>
- Date: Tue, 26 Aug 2014 10:09:41 +1200
- To: www-svg <www-svg@w3.org>
- Message-ID: <CACfsppA+ejpZOJN9=GCZ696b1qRQVXnSqmdVSejWY9fNuj1X7Q@mail.gmail.com>
Yesterday I discovered that both Chrome and FF are propagating text-decoration into SVG and onto <text> elements. So, in the following example, "Foo" is underlined and cannot be disabled, unless it is removed from the parent <a>. <a> <svg> <text>Foo</text> </svg> </a> This didn't seem quite right to me, so I filed bugs for both browsers. FF's argument is that text decorations draw across descendant elements. (See https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration#Notes). However the CSS spec says: *For block containers that establish an inline formatting context, the > decorations are propagated to an anonymous inline element that wraps all > the in-flow inline-level children of the block container. For all other > elements it is propagated to any in-flow children. Note that text > decorations are not propagated to floating and absolutely positioned > descendants, nor to the contents of atomic inline-level descendants such as > inline blocks and inline tables.* Wouldn't <text> elements be exempt from inheriting the underline for either or both of the following reasons: (a) SVG elements do not establish an inline formatting context, and <text> elements are not in-flow children. (b) <text> elements are absolutely positioned descendants. I guess it depends whether you consider that the content of <text> elements constitute a "flow" in the CSS sense, and whether SVG elements are absolutely positioned in the HTML/CSS sense. Paul
Received on Monday, 25 August 2014 22:10:29 UTC