W3C home > Mailing lists > Public > www-style@w3.org > May 2009

Re: Should implementors copy vendor prefixes from each other?

From: Daniel Glazman <daniel.glazman@disruptive-innovations.com>
Date: Fri, 15 May 2009 07:41:04 +0200
Message-ID: <4A0D0070.7040900@disruptive-innovations.com>
To: "L. David Baron" <dbaron@dbaron.org>
Cc: www-style@w3.org
L. David Baron wrote:

> When implementors are implementing experimental properties that have
> already been implemented by other vendors, should they copy vendor
> prefixes from each other, or not?
> 
> For example, if Mozilla is implementing the 'transition-delay'
> property [1], which is already implemented in WebKit as
> '-webkit-transition-delay', should it implement it as
> '-moz-transition-delay' (the approach we've taken so far) or
> '-webkit-transition-delay'?

It's a complex but very good question. Let me push it to the
limits: if Mozilla implements -webkit-* properties, I don't
understand why prefixes exist at all. BTW, a third option
for your case above is -moz-webkit-transition-delay. I'm not
saying it's not crazy but it's logical...

But let's go back to your question.
On one hand, prefixes are used the following ways:

   1. experimental properties that are not fully conformant to the spec
   2. proprietary properties

In the second case, if Mozilla starts implementing an Apple proprietary
property for instance, then the property should probably be standardized
and at some point in the future you'll want the -moz-* version.

In the first case, browser vendors use prefixes until they're sure their
implementations is conformant to the spec. This is a positive and a very
bad thing at the same time. I have seen so many style sheets on the Web
these days with

   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   border-radius: 5px;

Am I the only one here to find that totally crazy?

Let me also take the example of opacity. I have so many stylesheets
with '-moz-opacity'... But not with 'opacity' because Gecko was not
implementing that property at that time. So my only choice is

   -moz-opacity: 0.7;
   opacity: 0.7;

That's plain ridiculous. Prefixes plague stylesheets, but on another
hand it's the only way a web designer can make sure he/she uses a
browser's feature correctly.

But browser vendors also say they use prefixes to allow evolution
of the prefixed property w/o long-term impact on the non-prefixed
property. I have the gut feeling this is a bad excuse. If
-webkit-transition-delay has to change a bit because of standardization,
browsers implementing the new version will still choke on stylesheets
conformant to the old one.

 From my personal point of view, I'm not far from considering prefixes
as we use them today are in fact painful and harmful.  They should
probably be reserved to strictly proprietary properties.

</Daniel>
Received on Friday, 15 May 2009 05:41:45 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:18 GMT