RE: vendor prefix properties diverging from official properties

> From: Simon Fraser [mailto:smfr@me.com]


> In principle, having a common prefix on CSS-draft properties sounds
> like a sensible idea, and certainly apperas to reduce author confusion
> and effort.
> 
> In practice, however, there are serious problems with the proposal. The
> key here is that a browser implementation of a CSS draft property is a
> snapshot in time of the specification of that property at the time of
> implementation. If the draft is revised, it's not the case that all
> browsers suddenly revise their implementations to match; not only is
> there a limit on engineering time, but browsers typically have 6-12mo
> release cycles, so implementation is bound to lag specification.

I couldn't agree more with Simon as this happens in the real world.
If you used a recent implementation of CSS3 Backgrounds and Borders based on 
one of the last couple of drafts before CR [1], you would be able to set:

-w3c-background-origin: border-box;

But if you then switched to an earlier implementation that was based on an older 
draft [2], that browser would expect :

-w3c-background-origin: border;

You couldn't just specify both; as both browsers key off the same property name, only
one of them would win and do what's expected.

In the real world, Firefox uses the older value syntax [3]. I have not checked recent
builds but I believe WebKit-based browsers still do too. Opera 10.50, on the other hand, 
conforms to the new value syntax [4].

To be fair and accurate, there would be no actual problem in this specific 
case as the spec moved to CR and Opera supports the property unprefixed.

But the likelihood of such conflict is both real and significant.


[1] http://www.w3.org/TR/2009/WD-css3-background-20091015/
[2] http://www.w3.org/TR/2005/WD-css3-background-20050216/
[3] https://developer.mozilla.org/en/CSS/-moz-background-origin
[4] http://dev.opera.com/articles/view/css3-border-background-boxshadow/#background-origin

Received on Tuesday, 2 March 2010 23:00:51 UTC