Re: [css-variables] Split declaring custom properties from using the values?

On Mar 17, 2014, at 5:41 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:

> On Mon, Mar 17, 2014 at 5:31 PM, Alan Stearns <stearns@adobe.com> wrote:
>> Hey all,
>> 
>> At the start of all the recent bikeshedding, Tab mentioned that one of the
>> primary use cases for custom properties is to do CSS polyfills. I’m very
>> much looking forward to that future day when there is enough custom
>> property support across browsers to do this.
>> 
>> I’m wondering whether that day might come faster if we separate declaring
>> custom properties (which is all a polyfill needs) from using the custom
>> property values in other declarations. It’s a smaller step for each
>> browser to take, and recent #webkit IRC chat makes me think that project
>> might be interested in this approach. Would Blink and/or IE be willing to
>> take this first step sooner than taking on all of the current level 1
>> draft?
>> 
>> I’m suggesting that we take section 3 of the current draft and move it to
>> level 2, if that gets us to better CSS polyfills faster. If this works, it
>> might even accelerate both steps - once declaring custom properties are in
>> place, adding code to use them becomes a smaller step, too.
> 
> Given that Firefox is already about to ship with var(), I don't think
> it's a good idea to punt it to another level - we'd just pull it back
> in almost immediately.

Though this is a fair point, I'm not sure we should make a decision on the basis of a single implementation. If feedback from Microsoft and Apple were to suggest we could get interop on the polyfill subset much earlier by splitting off the variable dereferencing part then maybe it's worth considering. If the spec is going to be stuck in CR for a while with a single implementation it's not a bad idea to consider alternative paths to achieving both interop and REC.

> 
> However, I *do* think it's worthwhile to emphasize more strongly that
> custom properties are just that - custom properties - and that using
> them as sources for variables is just one possible use, and to
> emphasize within Blink that we can just implement the "custom
> properties" part (as that's fairly easy), and then do the var() part
> later.

Making this emphasis is good either way, yes.

Browsers can certainly stage their implementation but we can't move the spec to REC until we have full implementation in 2+ browsers. I know some of us don't really care much about the REC part. But others do. 

Note: I wouldn't want to rathole, er, discuss this during a telcon unless WebKit and Microsoft do publicly indicate splitting the spec would result in earlier implementation. It's quite possible it doesn't matter much to them either way.


> 
> ~TJ

Received on Tuesday, 18 March 2014 15:30:27 UTC