[CSS3 Color] Proposed erratum on currentColor

Hello,

I propose to change

  The computed value of the ‘currentColor’ keyword is the computed value of the ‘color’ property.

to 

  The computed value of the ‘currentColor’ keyword is the value 'currentColor'. The used value is the computed value of the ‘color’ property. 

The spec goes on to say 

  If the ‘currentColor’ keyword is set on the ‘color’ property itself, it is treated as ‘color: inherit’. 

and its not clear to me how this erratum would affect that. For example

 <div style="color: blue">
  <div id="z" style="color: currentColor; border-color: green">
    <div id="a" style="border-color: currentColor">a</div>
    <div id="b" style="border-color: currentColor; 
         color: red">b</div>
    <div id="c" style="border-color: currentColor;
         color: CurrentColor;">c</div>
 </div> 
  </div> 
 
Previously, on z color would compute to blue. Now it computes to currentColor. What inherits into a and b? Is it 'currentColor' or 'inherit'? In otyher words at what point does 'treated as' kick in?

I guess it would be 'currentColor' because otherwise, if 'inherit' inherits as the value, then div#a ends up with border-color: inherit which is green in this case. But the inherited value of 'color' is blue.

div#b still gets a red border, right?

So to clarify this I propose to change

  If the ‘currentColor’ keyword is set on the ‘color’ property itself, it is treated as ‘color: inherit’. 

to

  If the ‘currentColor’ keyword is set on the ‘color’ property itself, it is treated as ‘color: inherit’ when the value is used. 

-- 
 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 Sunday, 28 October 2012 15:53:13 UTC