Re: Agenda, 2 February 2012 SVG WG telcon

On Monday, February 6, 2012, 8:08:11 AM, Tab wrote:

TAJ> <g color='red' fill='currentColor'>
TAJ>  <rect />
TAJ>  <g color='green'>
TAJ>   <rect />
TAJ>  </g>
TAJ> </g>

TAJ> In this example, the <rect>s both inherit a "fill: currentColor".
TAJ> Since the first has a parent with color=red, and the second has a
TAJ> parent with color=green, I think you'd naively expect the first to be
TAJ> filled with red and the second with green.  But, because currentColor
TAJ> computes to 'red', you'll instead get two red rectangles.

TAJ> useColor doesn't help here, because then it simply wouldn't have a
TAJ> definite color at all until it was <use>d. (And then both rectangles
TAJ> would be the same color again.)

TAJ> Changing currentColor to inherit as itself and resolve to a real color
TAJ> at used-value time would help the above, and wouldn't affect your
TAJ> examples.

Okay, I see the difference (and the point of the change in computed value).

I think this would be a positive change in SVG2 (and could, potentially, be errat'ed in SVG 1.1SE; computed values were not listed there).

It would be a change, and some of the tricksy tests in 1.1SE would now fail by this definition. But those tests mostly involve doing un-natural things with the inherit keyword, specifically for testing. They are easy enough to rewrite, to test this new definition. Implementations would break, wrt the test suite, for a while until they updated.

I think this closes ACTION-3232 as well :)
Ask Tab about the use of useColor keyword for the text-emphasis-color use case

-- 
 Chris Lilley   Technical Director, Interaction Domain                 
 W3C Graphics Activity Lead, Fonts Activity Lead
 Co-Chair, W3C Hypertext CG
 Member, CSS, WebFonts, SVG Working Groups

Received on Tuesday, 7 February 2012 01:35:30 UTC