Should implementors copy vendor prefixes from each other?

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'?


Here are some reasons I can see on the side of using their own
prefix (in this case, -moz-transition-delay):

  (1) Experimental properties are often based on specs that have not
  been fully developed yet, and may have unusually high amounts of
  ambiguity.  They may also have insufficient tests.  (However,
  these problems have also been present in specs in CR.)  Therefore,
  if the properties are implemented differently, authors can specify
  different values or intentionally avoid one of the experimental
  implementations.

  (2) It is clearer to authors that a '-webkit-transition-delay'
  property is WebKit-specific CSS, and a '-moz-transition-delay'
  property is Mozilla-specific CSS.

and here are some reasons on the side of using the same prefix:

  (A) Style sheets are simpler since authors don't have to write the
  same declaration multiple times.

  (B) Style sheets written for one browser are reasonably likely to
  work in others, even if the author didn't care about that browser
  (or didn't know it would implement the property at the time they
  wrote the page).

Does anyone else see other reasons on either side, or strong reasons
that one of these should override the others?

-David

[1] http://www.w3.org/TR/css3-transitions/#the-transition-delay-property-

-- 
L. David Baron                                 http://dbaron.org/
Mozilla Corporation                       http://www.mozilla.com/

Received on Thursday, 14 May 2009 23:42:18 UTC