HTML5 Tracker

Diff (omit for latest revision)
Filter

Short URL: http://html5.org/r/6695

SVNBugCommentTime (UTC)
669513757[Gecko] [Internet Explorer] [Opera] [Webkit] Update selector case-sensitivity matching rules, including dropping the list of magically case-insensitive values.2011-10-18 23:00
Index: source
===================================================================
--- source	(revision 6694)
+++ source	(revision 6695)
@@ -63972,86 +63972,41 @@
 
 
 
+
   <div class="impl">
 
   <h3>Matching HTML elements using selectors</h3>
 
   <h4 id="selectors">Case-sensitivity</h4>
 
-  <p>Attribute and element <em>names</em> of <span>HTML
-  elements</span> in <span>HTML documents</span> must be treated as
-  <span>ASCII case-insensitive</span>.</p>
+  <p>The Selectors specification leaves the case-sensitivity of IDs,
+  classes, element names, attribute names, and attribute values to be
+  defined by the host language. <a
+  href="#refsSELECTORS">[SELECTORS]</a></p>
 
+  <p>The <span title="concept-id">unique identifier</span> of
+  <span>HTML elements</span> in documents that are in <span>quirks
+  mode</span> must be treated as <span>ASCII case-insensitive</span>
+  for the purposes of selector matching.</p>
+
   <p>Classes from the <code title="attr-class">class</code> attribute
   of <span>HTML elements</span> in documents that are in <span>quirks
-  mode</span> must be treated as <span>ASCII
-  case-insensitive</span>.</p>
+  mode</span> must be treated as <span>ASCII case-insensitive</span>
+  for the purposes of selector matching.</p>
 
-  <p>Attribute selectors on an <span title="HTML elements">HTML
-  element</span> in an <span title="HTML documents">HTML
-  document</span> must treat the <em>values</em> of attributes with
-  the following names as <span>ASCII case-insensitive</span>, with one
-  exception as noted below:</p>
+  <p>Attribute and element <em>names</em> of <span>HTML
+  elements</span> in <span>HTML documents</span> must be treated as
+  <span>ASCII case-insensitive</span> for the purposes of selector
+  matching.</p>
 
-  <!-- based on Mozilla's list, which was itself based on HTML4 -->
-  <!-- WebKit's was identical at the time of writing except as noted below -->
-  <ul class="brief">
-   <li><code title="">accept</code>
-   <li><code title="">accept-charset</code>
-   <li><code title="">align</code>
-   <li><code title="">alink</code>
-   <li><code title="">axis</code>
-   <li><code title="">bgcolor</code>
-   <li><code title="">charset</code>
-   <li><code title="">checked</code>
-   <li><code title="">clear</code>
-   <li><code title="">codetype</code>
-   <li><code title="">color</code>
-   <li><code title="">compact</code>
-   <li><code title="">declare</code>
-   <li><code title="">defer</code>
-   <li><code title="">dir</code>
-   <li><code title="">direction</code> <!-- not in webkit -->
-   <li><code title="">disabled</code>
-   <li><code title="">enctype</code>
-   <li><code title="">face</code>
-   <li><code title="">frame</code>
-   <li><code title="">hreflang</code>
-   <li><code title="">http-equiv</code>
-   <li><code title="">lang</code>
-   <li><code title="">language</code>
-   <li><code title="">link</code>
-   <li><code title="">media</code>
-   <li><code title="">method</code>
-   <li><code title="">multiple</code>
-   <li><code title="">nohref</code>
-   <li><code title="">noresize</code>
-   <li><code title="">noshade</code>
-   <li><code title="">nowrap</code>
-   <li><code title="">readonly</code>
-   <li><code title="">rel</code>
-   <li><code title="">rev</code>
-   <li><code title="">rules</code>
-   <li><code title="">scope</code>
-   <li><code title="">scrolling</code>
-   <li><code title="">selected</code>
-   <li><code title="">shape</code>
-   <li><code title="">target</code>
-   <li><code title="">text</code>
-   <li><code title="">type</code> (except as specified below)
-   <li><code title="">valign</code>
-   <li><code title="">valuetype</code>
-   <li><code title="">vlink</code>
-  </ul>
+  <p>Everything else (attribute values on <span>HTML elements</span>,
+  IDs and classes in <span>no-quirks mode</span> and
+  <span>limited-quirks mode</span>, and element names, attribute
+  names, and attribute values in <span>XML documents</span>) must be
+  treated as <span>case-sensitive</span> for the purposes of selector
+  matching.</p>
 
-  <p>All other attribute values on <span>HTML elements</span> must be
-  treated as <span>case-sensitive</span>.</p>
 
-  <p>The exception to the list above is the <code
-  title="attr-ol-type">type</code> attribute on <code>ol</code>
-  elements, which must be treated as <span>case-sensitive</span>.</p>
-
-
   <h4>Pseudo-classes</h4>
 
   <p>There are a number of dynamic selectors that can be used with

|