<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>9590</bug_id>
          
          <creation_ts>2010-04-25 09:18:55 +0000</creation_ts>
          <short_desc>Consider &quot;prefix--&quot; instead of &quot;_prefix-&quot; as a pattern for proprietary extensions</short_desc>
          <delta_ts>2010-10-15 15:36:47 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>HTML WG</product>
          <component>pre-LC1 HTML5 spec (editor: Ian Hickson)</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>NE</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Ian &apos;Hixie&apos; Hickson">ian</assigned_to>
          <cc>annevk</cc>
    
    <cc>dbaron</cc>
    
    <cc>former-z^corpan</cc>
    
    <cc>hsivonen</cc>
    
    <cc>ian</cc>
    
    <cc>james</cc>
    
    <cc>jonas</cc>
    
    <cc>julian.reschke</cc>
    
    <cc>mike</cc>
    
    <cc>mjs</cc>
    
    <cc>mounir</cc>
    
    <cc>public-html-admin</cc>
    
    <cc>public-html-wg-issue-tracking</cc>
    
    <cc>xn--mlform-iua</cc>
          
          <qa_contact name="HTML WG Bugzilla archive list">public-html-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>35243</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-04-25 09:18:55 +0000</bug_when>
    <thetext>Consider &quot;prefix--&quot; instead of &quot;_prefix-&quot; as a pattern for proprietary extensions. I&apos;ve been trying to convince people at Apple to use the naming pattern recommended by the standard for vendor extensions, and the sheer ugliness of &quot;_webkit-&quot; makes it an impossible sell. &quot;webkit-&quot; is more palatable, and in practice will never conflict with a future standard feature, but presumably we want something that can work for an arbitrary vendor and will never conflict with a future standard. So a perhaps less ugly possibility is &quot;prefix--&quot; (note double hyphen).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37514</commentid>
    <comment_count>1</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2010-08-16 22:13:26 +0000</bug_when>
    <thetext>EDITOR&apos;S RESPONSE: This is an Editor&apos;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: Accepted
Change Description: see diff given below
Rationale: Concurred with reporter&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37515</commentid>
    <comment_count>2</comment_count>
    <who name="">contributor</who>
    <bug_when>2010-08-16 22:14:28 +0000</bug_when>
    <thetext>Checked in as WHATWG revision r5307.
Check-in comment: use vendor--feature instead of _vendor-feature since Apple engineers think underscores are ugly.
http://html5.org/tools/web-apps-tracker?from=5306&amp;to=5307</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37541</commentid>
    <comment_count>3</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2010-08-17 04:08:02 +0000</bug_when>
    <thetext>dbaron brought up an interesting problem with this:
   http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-August/027973.html
...so it might change again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38628</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Pieters">zcorpan</who>
    <bug_when>2010-09-08 08:13:34 +0000</bug_when>
    <thetext>Another problem: http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2010-August/028270.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39415</commentid>
    <comment_count>5</comment_count>
    <who name="Leif Halvard Silli">xn--mlform-iua</who>
    <bug_when>2010-09-25 21:58:45 +0000</bug_when>
    <thetext>(1)  That _vendor  to some developer is ugly, should be considered an  irrelevant issue

(2)  vendor--feature, in contrast to _vendor-feature, can also be used in element names: &lt;vendor--element&gt;&lt;/vendor--element&gt;.  Whether that is an advantage or an disadvantage depends on the angle one looks at it from ...  But regardless what HTML5 says, one _must assume_ that, sooner or later, vendors *will* make use of this syntax in elements as well as in attributes.

(3) As justifcation for my conclusion in (2), take a look at vendor prefixes in CSS: 

      In CSS, then -vendor-feature is *typically* used for properties - and this has no effect on other browsers&apos;s ability to read the non-vendor properties. *However*, -vendor-feature is *also* used in selectors, even in pseudeo-selectors and pseudo-elements (Mozilla has some of those and Webkti also has them in meda quieries). And when used in pseudo elements/selectors, then user agents from other vendors are required, per the CSS rules, to ignore the the entire selector - which is a feature that can be, and is used, used to target particular user agents.

     Thus, even if _vendor-feature is chosen for HTML5, vendors could still enable support for such elements, while other vendors would then be required to ignore such elements (per HTML5&apos;s parsing rules).

(4) Both &lt;_vendor-element&gt; and &lt;vendor--element&gt; works in the XML serialization.

(5) That  _vendor--feature creates problems w.r.t. &lt;!-- &lt;i ven--dor &gt; --&gt;, could be considered a feature as well - if one wants to discourage use of this option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39790</commentid>
    <comment_count>6</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2010-09-28 19:41:04 +0000</bug_when>
    <thetext>Maciej, are there any other syntaxes Apple would be willing to use? Maybe using a dot?

   vendor.attribute=&quot;&quot;
   _vendor-attribute=&quot;&quot;
   vendor_attribute=&quot;&quot;

Anyone got any other ideas? It has to be well-formed in XML, not clash with comment syntax, not clash with data-* and other features, and be something UAs are willing to use (otherwise what&apos;s the point).

Mozilla currently uses the _vendor-attr syntax.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39802</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Pieters">zcorpan</who>
    <bug_when>2010-09-28 20:10:13 +0000</bug_when>
    <thetext>It was pointed out on IRC that the vendor.foo syntax needs escaping in Selectors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39803</commentid>
    <comment_count>8</comment_count>
    <who name="Edward O&apos;Connor">hober0</who>
    <bug_when>2010-09-28 20:12:25 +0000</bug_when>
    <thetext>&gt; Anyone got any other ideas? It has to be well-formed in XML, not clash with
&gt; comment syntax, not clash with data-* and other features, and be something UAs
&gt; are willing to use (otherwise what&apos;s the point).

How about x-vendor-attribute=&quot;&quot;?

* It&apos;s well-formed XML.
* It doesn&apos;t clash with comment syntax, data-*, or other features.

I can&apos;t speak to browser vendors&apos; willingness to use it, but there&apos;s at least one precedent: WebOS&apos;s x-mojo-* attributes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39845</commentid>
    <comment_count>9</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2010-09-28 23:56:40 +0000</bug_when>
    <thetext>mjs, dbaron: Would x-vendor-attr=&quot;&quot; be acceptable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39854</commentid>
    <comment_count>10</comment_count>
    <who name="L. David Baron (Mozilla)">dbaron</who>
    <bug_when>2010-09-29 01:32:49 +0000</bug_when>
    <thetext>x-vendor-attr sounds fine to me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39859</commentid>
    <comment_count>11</comment_count>
    <who name="Jonas Sicking (Not reading bugmail)">jonas</who>
    <bug_when>2010-09-29 05:29:07 +0000</bug_when>
    <thetext>I&apos;m not a huge fan of the x-vendor-function syntax, but if that&apos;s what everyone else prefers then I can live with it. However a few other alternatives to consider are:

vendor_function_vendor_function
vendor__function
vendor-function-

I think out of these I like the first one the most, though I guess the concern is that other specs might use that syntax and eventually we might want to bring those specs into HTML, a&apos;la SVG?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39860</commentid>
    <comment_count>12</comment_count>
    <who name="Jonas Sicking (Not reading bugmail)">jonas</who>
    <bug_when>2010-09-29 05:30:40 +0000</bug_when>
    <thetext>Err.. don&apos;t know why my comment got munged. Here was the list I was going for:

vendor_function_   
vendor_function   
vendor__function  
vendor-function-</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39861</commentid>
    <comment_count>13</comment_count>
    <who name="Jonas Sicking (Not reading bugmail)">jonas</who>
    <bug_when>2010-09-29 05:31:44 +0000</bug_when>
    <thetext>Arg, sorry, that wasn&apos;t it, the intended list was:


vendor_function   
_vendor_function  
vendor__function  
vendor-function-</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39862</commentid>
    <comment_count>14</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-09-29 05:47:59 +0000</bug_when>
    <thetext>(In reply to comment #9)
&gt; mjs, dbaron: Would x-vendor-attr=&quot;&quot; be acceptable?


x-vendor-attr=&quot;&quot; seems like the best suggestion to my tastes, out of those so far. I will briefly survey the folks who code on WebKit at Apple.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39915</commentid>
    <comment_count>15</comment_count>
    <who name="Henri Sivonen">hsivonen</who>
    <bug_when>2010-09-29 08:48:54 +0000</bug_when>
    <thetext>_vendor-attribute=&quot;&quot; and x-vendor-attribute=&quot;&quot; WFM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40005</commentid>
    <comment_count>16</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2010-09-29 19:45:22 +0000</bug_when>
    <thetext>Should I just reserve anything starting with &quot;x-&quot; and anything containing an underscore, and recommend using either &quot;x-vendor-feature&quot; or &quot;_vendor-feature&quot;? Or would it be better to strongly recommend a specific syntax? (If the latter, I&apos;ll go with x-vendor-feature since it has the highest chance of being used.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40007</commentid>
    <comment_count>17</comment_count>
    <who name="Anne">annevk</who>
    <bug_when>2010-09-29 19:50:50 +0000</bug_when>
    <thetext>I think we should reserve everything apart from x-vendor-feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40020</commentid>
    <comment_count>18</comment_count>
    <who name="Jonas Sicking (Not reading bugmail)">jonas</who>
    <bug_when>2010-09-29 21:54:24 +0000</bug_when>
    <thetext>I would not pay attention to the mozilla _moz-foo syntax. I&apos;m fairly certain that it&apos;s only used internally and that we never use it to enable features that authors might want. I.e. there is no reason for it to ever appear in markup that people put through a validator. In the long term our current uses will hopefully go away and instead use internal state flags rather than ones exposed in the DOM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40024</commentid>
    <comment_count>19</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2010-09-29 22:37:48 +0000</bug_when>
    <thetext>I&apos;ve reserved &quot;x-*&quot; and anything containing &quot;_&quot;, but only recommended the use of &quot;x-*&quot;.

EDITOR&apos;S RESPONSE: This is an Editor&apos;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: see diff below
Rationale: see the WHATWG posts cited above for why the original suggestion of &quot;--&quot; has been rejected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40025</commentid>
    <comment_count>20</comment_count>
    <who name="">contributor</who>
    <bug_when>2010-09-29 22:38:27 +0000</bug_when>
    <thetext>Checked in as WHATWG revision r5562.
Check-in comment: Change how vendor extensions are marked up.
http://html5.org/tools/web-apps-tracker?from=5561&amp;to=5562</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>