This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 10740 - encourage use of SHARED (vendor) prefixes: experimental--feature
Summary: encourage use of SHARED (vendor) prefixes: experimental--feature
Status: RESOLVED WONTFIX
Alias: None
Product: HTML WG
Classification: Unclassified
Component: pre-LC1 HTML5 spec (editor: Ian Hickson) (show other bugs)
Version: unspecified
Hardware: PC All
: P3 normal
Target Milestone: LC
Assignee: Ian 'Hixie' Hickson
QA Contact: HTML WG Bugzilla archive list
URL: http://dev.w3.org/html5/spec/infrastr...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-25 22:57 UTC by Leif Halvard Silli
Modified: 2010-10-04 13:57 UTC (History)
7 users (show)

See Also:


Attachments

Description Leif Halvard Silli 2010-09-25 22:57:08 UTC
The vendor--feature (earlier: _vendor-feature) is modelled after how CSS vendor prefixes works, see the initial bug description: http://www.w3.org/Bugs/Public/show_bug.cgi?id=9239#c0  Spec says:

]] New element names should not be created. Using attributes for such extensions exclusively allows extensions from multiple vendors to co-exist on the same element, [[

However multiple prefixes, such as multiple CSS prefixes, are difficult for authors to handle. And the more vendors there are, the more difficult is it. E.g consider this mess, which basically seeks to implement the same "foo" property: 

     selector { -abc-foo:value; -bar-foo:value; -lorem-foo:value, foo:value; }

In addition to being messy, the author also isn't guaranteed that  each "prefix--foo" is intended to be an experimental version of the same "foo" feature. 

For an author, it would be a huge simplification and security if instead he/she could do something like this:

     selector { -experimental-foo:value;  foo:value; }

Not only is this simpler: In addition, authors which use "-experimental-" instead of "-vendor-"  could be have a higher degree of certainty that the vendors have intended to implement the very same feature and also more reason to assume that the feature is undergoing specification.

Such an -experimental- prefix could be considered an alias for -vendorprefix-. Thus if an author only wants to target a particular vendor, he/she could use the prefix of that particular vendor instead of using the -experimental- prefix. 

Thus, if HTML5 implent vendor prefixes as 'vendor--feature', then I propose that there should also be an "experimental--" prefix. And, if a group of related vendors want to co-operate on the use of their own experimental prefix, they should also be able to register their own "experimentalxyz--" prefix.

The use of such shared prefixes should be encouraged through the following changes in the spec:

a) define a global prefix for experimentation, e.g. "experimental--"
b) consider if the global "experimental--" (and possibly other shared prefixes) only should caus a warning (wheras "real" vendor prefixes should couse an error)
c) enable related vendors to register both shared vendor prefixes as well as proprietary vendor prefixes.
Comment 1 Tab Atkins Jr. 2010-09-26 06:30:03 UTC
This is an extremely bad idea for precisely the same reasons that it's a bad idea for CSS.  The vendor prefix discussions for CSS adequately covered the issue; I encourage you to search the www-style archives for thorough discussion of vendor prefixes, and why the current state of affairs is the best possible solution.
Comment 2 Anne 2010-09-26 09:36:40 UTC
Indeed, the CSS WG explicitly rejected this approach.
Comment 3 Leif Halvard Silli 2010-09-27 14:21:46 UTC
(In reply to comment #1)

> I encourage you to search the www-style archives for thorough discussion
> of vendor prefixes, and why the current state of affairs is the best possible
> solution.

Can you help with a pointer?
Comment 4 Leif Halvard Silli 2010-09-27 15:37:53 UTC
I suppose you meant this thread: "Suggestion for generic CSS vendor prefix"
http://lists.w3.org/Archives/Public/www-style/2010Mar/0312.html

I particulary noted this reply of yours:
http://lists.w3.org/Archives/Public/www-style/2010Mar/0329.html

" an *excellent* suggestion for how to maintain the current vendor
   prefix situation, but reduce the pain for authors: CSS Variables! "

My comment: I believe CSS variables can be classified as a form of distributed extensibility. 

Before that, you said that shared prefixes would be
" painful to authors who don't realize that browsers may implement the property differently at first, , or may implement different drafts "
http://lists.w3.org/Archives/Public/www-style/2010Mar/0319.html

My comment:  

I'm unsure about whether the initial proposar in that thread  suggested to completely remove vendor prefixes. But at the very least, my own proposal was to make e.g. -experimental- synonymous with -vendor-. Thus both -webkit- and -experimental- would work. 

I also think that some authors don't realize that -webkit-foo and -moz-foo might not be the same foo.  I'm even inclinded to think that authors would accept that -experimental-foo could lead to differing results more easily than they accept that -webkit-foo and -moz-foo could lead to differnt results.
Comment 5 Ian 'Hixie' Hickson 2010-09-28 07:21:26 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Rejected
Change Description: no spec change
Rationale: Concurred with Tab and Anne.