[html5] r2202 - [] (0) WF2: Restructure the <input> section to allow for attributes to be define [...]

whatwg at whatwg.org whatwg at whatwg.org
Tue Sep 16 18:17:12 PDT 2008


Author: ianh
Date: 2008-09-16 18:17:12 -0700 (Tue, 16 Sep 2008)
New Revision: 2202

Modified:
   index
   source
Log:
[] (0) WF2: Restructure the <input> section to allow for attributes to be defined once instead of multiple times. Define autocomplete=''.

Modified: index
===================================================================
--- index	2008-09-17 00:34:31 UTC (rev 2201)
+++ index	2008-09-17 01:17:12 UTC (rev 2202)
@@ -1036,65 +1036,77 @@
        <li><a href="#the-input"><span class=secno>4.9.4 </span>The
         <code>input</code> element</a>
         <ul class=toc>
-         <li><a href="#text-state"><span class=secno>4.9.4.1. </span>Text
-          state</a>
+         <li><a href="#states"><span class=secno>4.9.4.1. </span>States of
+          the <code title=attr-input-type>type</code> attribute</a>
+          <ul class=toc>
+           <li><a href="#text-state"><span class=secno>4.9.4.1.1. </span>Text
+            state</a>
 
-         <li><a href="#password"><span class=secno>4.9.4.2. </span>Password
-          state</a>
+           <li><a href="#password"><span class=secno>4.9.4.1.2.
+            </span>Password state</a>
 
-         <li><a href="#image"><span class=secno>4.9.4.3. </span>Image Button
-          state</a>
+           <li><a href="#image"><span class=secno>4.9.4.1.3. </span>Image
+            Button state</a>
 
-         <li><a href="#date-and"><span class=secno>4.9.4.4. </span>Date and
-          Time state</a>
+           <li><a href="#date-and"><span class=secno>4.9.4.1.4. </span>Date
+            and Time state</a>
 
-         <li><a href="#local"><span class=secno>4.9.4.5. </span>Local Date
-          and Time state</a>
+           <li><a href="#local"><span class=secno>4.9.4.1.5. </span>Local
+            Date and Time state</a>
 
-         <li><a href="#date-state"><span class=secno>4.9.4.6. </span>Date
-          state</a>
+           <li><a href="#date-state"><span class=secno>4.9.4.1.6. </span>Date
+            state</a>
 
-         <li><a href="#month"><span class=secno>4.9.4.7. </span>Month
-          state</a>
+           <li><a href="#month"><span class=secno>4.9.4.1.7. </span>Month
+            state</a>
 
-         <li><a href="#week-state"><span class=secno>4.9.4.8. </span>Week
-          state</a>
+           <li><a href="#week-state"><span class=secno>4.9.4.1.8. </span>Week
+            state</a>
 
-         <li><a href="#time-state"><span class=secno>4.9.4.9. </span>Time
-          state</a>
+           <li><a href="#time-state"><span class=secno>4.9.4.1.9. </span>Time
+            state</a>
 
-         <li><a href="#number"><span class=secno>4.9.4.10. </span>Number
-          state</a>
+           <li><a href="#number"><span class=secno>4.9.4.1.10. </span>Number
+            state</a>
 
-         <li><a href="#range"><span class=secno>4.9.4.11. </span>Range
-          state</a>
+           <li><a href="#range"><span class=secno>4.9.4.1.11. </span>Range
+            state</a>
 
-         <li><a href="#e-mail"><span class=secno>4.9.4.12. </span>E-mail
-          state</a>
+           <li><a href="#e-mail"><span class=secno>4.9.4.1.12. </span>E-mail
+            state</a>
 
-         <li><a href="#url-state"><span class=secno>4.9.4.13. </span>URL
-          state</a>
+           <li><a href="#url-state"><span class=secno>4.9.4.1.13. </span>URL
+            state</a>
 
-         <li><a href="#checkbox"><span class=secno>4.9.4.14. </span>Checkbox
-          state</a>
+           <li><a href="#checkbox"><span class=secno>4.9.4.1.14.
+            </span>Checkbox state</a>
 
-         <li><a href="#radio"><span class=secno>4.9.4.15. </span>Radio Button
-          state</a>
+           <li><a href="#radio"><span class=secno>4.9.4.1.15. </span>Radio
+            Button state</a>
 
-         <li><a href="#file-state"><span class=secno>4.9.4.16. </span>File
-          state</a>
+           <li><a href="#file-state"><span class=secno>4.9.4.1.16.
+            </span>File state</a>
 
-         <li><a href="#hidden"><span class=secno>4.9.4.17. </span>Hidden
-          state</a>
+           <li><a href="#hidden"><span class=secno>4.9.4.1.17. </span>Hidden
+            state</a>
 
-         <li><a href="#submit"><span class=secno>4.9.4.18. </span>Submit
-          Button state</a>
+           <li><a href="#submit"><span class=secno>4.9.4.1.18. </span>Submit
+            Button state</a>
 
-         <li><a href="#reset"><span class=secno>4.9.4.19. </span>Reset Button
-          state</a>
+           <li><a href="#reset"><span class=secno>4.9.4.1.19. </span>Reset
+            Button state</a>
 
-         <li><a href="#button"><span class=secno>4.9.4.20. </span>Button
-          state</a>
+           <li><a href="#button"><span class=secno>4.9.4.1.20. </span>Button
+            state</a>
+          </ul>
+
+         <li><a href="#common3"><span class=secno>4.9.4.2. </span>Common
+          <code>input</code> element attributes</a>
+          <ul class=toc>
+           <li><a href="#the-autocomplete"><span class=secno>4.9.4.2.1.
+            </span>The <code
+            title=attr-input-autocomplete>autocomplete</code> attribute</a>
+          </ul>
         </ul>
 
        <li><a href="#the-button"><span class=secno>4.9.5 </span>The
@@ -5363,7 +5375,7 @@
   <p>In addition, an interface with a complement of URL decomposition
    attributes will define an <dfn id=input
    title=concept-uda-input>input</dfn>, which is a <a href="#url">URL</a>
-   that the attributes act on, and a <dfn id=common3
+   that the attributes act on, and a <dfn id=common4
    title=concept-uda-setter>common setter action</dfn>, which is a set of
    steps invoked when any of the attributes' setters are invoked.
 
@@ -5388,7 +5400,7 @@
    title=concept-uda-input>input</a> URL with the new value; otherwise, the
    user agent must let <var title="">output</var> be equal to the <a
    href="#input" title=concept-uda-input>input</a>. Finally, the user agent
-   must invoke the <a href="#common3" title=concept-uda-setter>common setter
+   must invoke the <a href="#common4" title=concept-uda-setter>common setter
    action</a> with the value of <var title="">output</var>.
 
   <p>When replacing a component in the URL, if the component is part of an
@@ -27038,19 +27050,18 @@
 
    <dt>Element-specific attributes:
 
-   <dd><code title=attr-input-accept><a href="#accept">accept</a></code>
+   <dd><code title=attr-input-accept>accept</code>
 
    <dd><code title=attr-fs-action><a href="#action">action</a></code>
 
-   <dd><code title=attr-input-alt><a href="#alt4">alt</a></code>
+   <dd><code title=attr-input-alt>alt</code>
 
    <dd><code title=attr-input-autocomplete><a
-    href="#autocomplete">autocomplete</a></code>
+    href="#autocomplete0">autocomplete</a></code>
 
-   <dd><code title=attr-input-autofocus><a
-    href="#autofocus">autofocus</a></code>
+   <dd><code title=attr-input-autofocus>autofocus</code>
 
-   <dd><code title=attr-input-checked><a href="#checked">checked</a></code>
+   <dd><code title=attr-input-checked>checked</code>
 
    <dd><code title=attr-fe-disabled><a href="#disabled5">disabled</a></code>
 
@@ -27058,74 +27069,70 @@
 
    <dd><code title=attr-fae-form><a href="#form0">form</a></code>
 
-   <dd><code title=attr-input-inputmode><a
-    href="#inputmode">inputmode</a></code>
+   <dd><code title=attr-input-inputmode>inputmode</code>
 
-   <dd><code title=attr-input-list><a href="#list">list</a></code>
+   <dd><code title=attr-input-list>list</code>
 
-   <dd><code title=attr-input-max><a href="#max3">max</a></code>
+   <dd><code title=attr-input-max>max</code>
 
-   <dd><code title=attr-input-maxlength><a
-    href="#maxlength">maxlength</a></code>
+   <dd><code title=attr-input-maxlength>maxlength</code>
 
    <dd><code title=attr-fs-method><a href="#method">method</a></code>
 
-   <dd><code title=attr-input-min><a href="#min1">min</a></code>
+   <dd><code title=attr-input-min>min</code>
 
    <dd><code title=attr-fe-name><a href="#name11">name</a></code>
 
-   <dd><code title=attr-input-pattern><a href="#pattern">pattern</a></code>
+   <dd><code title=attr-input-pattern>pattern</code>
 
-   <dd><code title=attr-input-readonly><a
-    href="#readonly">readonly</a></code>
+   <dd><code title=attr-input-readonly>readonly</code>
 
-   <dd><code title=attr-input-required><a
-    href="#required">required</a></code>
+   <dd><code title=attr-input-required>required</code>
 
-   <dd><code title=attr-input-size><a href="#size">size</a></code>
+   <dd><code title=attr-input-size>size</code>
 
-   <dd><code title=attr-input-src><a href="#src9">src</a></code>
+   <dd><code title=attr-input-src>src</code>
 
-   <dd><code title=attr-input-step><a href="#step">step</a></code>
+   <dd><code title=attr-input-step>step</code>
 
    <dd><code title=attr-fs-target><a href="#target3">target</a></code>
 
    <dd><code title=attr-input-type><a href="#type12">type</a></code>
 
-   <dd><code title=attr-input-value><a href="#value7">value</a></code>
+   <dd><code title=attr-input-value>value</code>
 
    <dt>DOM interface:
 
    <dd>
     <pre
      class=idl>interface <dfn id=htmlinputelement>HTMLInputElement</dfn> : <a href="#htmlelement">HTMLElement</a> {
-           attribute DOMString <a href="#accept0" title=dom-input-accept>accept</a>;
+           attribute DOMString <a href="#accept" title=dom-input-accept>accept</a>;
            attribute DOMString <a href="#action0" title=dom-fs-action>action</a>;
-           attribute DOMString <a href="#alt5" title=dom-input-alt>alt</a>;
-           attribute boolean <a href="#autocomplete0" title=dom-input-autocomplete>autocomplete</a>;
-           attribute boolean <a href="#autofocus0" title=dom-input-autofocus>autofocus</a>;
+           attribute DOMString <a href="#alt4" title=dom-input-alt>alt</a>;
+           attribute boolean <a href="#autocomplete" title=dom-input-autocomplete>autocomplete</a>;
+           attribute boolean <a href="#autofocus" title=dom-input-autofocus>autofocus</a>;
            attribute boolean <a href="#defaultchecked" title=dom-input-defaultChecked>defaultChecked</a>;
-           attribute boolean <a href="#checked0" title=dom-input-checked>checked</a>;
+           attribute boolean <a href="#checked" title=dom-input-checked>checked</a>;
            attribute boolean <a href="#disabled6" title=dom-fe-disabled>disabled</a>;
            attribute DOMString <a href="#enctype0" title=dom-fs-enctype>enctype</a>;
   readonly attribute <a href="#htmlformelement">HTMLFormElement</a> <a href="#form1" title=dom-fae-form>form</a>;
-           attribute DOMString <a href="#inputmode0" title=dom-input-inputmode>inputmode</a>;
-  readonly attribute <a href="#htmlelement">HTMLElement</a> <a href="#list0" title=dom-input-list>list</a>;
-           attribute DOMString <a href="#max4" title=dom-input-max>max</a>;
-           attribute long <a href="#maxlength0" title=dom-input-maxLength>maxLength</a>;
+           attribute DOMString <a href="#inputmode" title=dom-input-inputmode>inputmode</a>;
+  readonly attribute <a href="#htmlelement">HTMLElement</a> <a href="#list" title=dom-input-list>list</a>;
+           attribute DOMString <a href="#max3" title=dom-input-max>max</a>;
+           attribute long <a href="#maxlength" title=dom-input-maxLength>maxLength</a>;
            attribute DOMString <a href="#method0" title=dom-fs-method>method</a>;
-           attribute DOMString <a href="#min2" title=dom-input-min>min</a>;
+           attribute DOMString <a href="#min1" title=dom-input-min>min</a>;
            attribute DOMString <a href="#name12" title=dom-fe-name>name</a>;
-           attribute DOMString <a href="#pattern0" title=dom-input-pattern>pattern</a>;
-           attribute boolean <a href="#readonly0" title=dom-input-readOnly>readOnly</a>;
-           attribute boolean <a href="#required0" title=dom-input-required>required</a>;
-           attribute unsigned long <a href="#size0" title=dom-input-size>size</a>;
-           attribute DOMString <a href="#src10" title=dom-input-src>src</a>;
-           attribute DOMString <a href="#step0" title=dom-input-step>step</a>;
+           attribute DOMString <a href="#pattern" title=dom-input-pattern>pattern</a>;
+           attribute boolean <a href="#readonly" title=dom-input-readOnly>readOnly</a>;
+           attribute boolean <a href="#required" title=dom-input-required>required</a>;
+           attribute unsigned long <a href="#size" title=dom-input-size>size</a>;
+           attribute DOMString <a href="#src9" title=dom-input-src>src</a>;
+           attribute DOMString <a href="#step" title=dom-input-step>step</a>;
            attribute DOMString <a href="#target4" title=dom-fs-target>target</a>;
            attribute DOMString <a href="#type13" title=dom-input-type>type</a>;
            attribute DOMString <a href="#defaultvalue" title=dom-input-defaultValue>defaultValue</a>;
-           attribute DOMString <a href="#value8" title=dom-input-value>value</a>;
+           attribute DOMString <a href="#value7" title=dom-input-value>value</a>;
            attribute DOMTimeStamp <a href="#valueasdate" title=dom-input-valueAsDate>valueAsDate</a>;
            attribute float <a href="#valueasnumber" title=dom-input-valueAsNumber>valueAsNumber</a>;
   readonly attribute <a href="#htmloptionelement">HTMLOptionElement</a> <a href="#selectedoption" title=dom-input-selectedOption>selectedOption</a>;
@@ -27391,75 +27398,65 @@
    attribute is used to make the control non-interactive and to prevent its
    value from being submitted.
 
-  <p class=big-issue>... <dfn id=autofocus
-   title=attr-input-autofocus><code>autofocus</code></dfn>
+  <p>Which of the <code title=attr-input-accept>accept</code>, <code
+   title=attr-fs-action><a href="#action">action</a></code>, <code
+   title=attr-input-alt>alt</code>, <code title=attr-input-autocomplete><a
+   href="#autocomplete0">autocomplete</a></code>, <code
+   title=attr-input-autofocus>autofocus</code>, <code
+   title=attr-input-checked>checked</code>, <code title=attr-fs-enctype><a
+   href="#enctype">enctype</a></code>, and <code
+   title=attr-input-inputmode>inputmode</code>, <code
+   title=attr-input-list>list</code>, <code title=attr-input-max>max</code>,
+   <code title=attr-input-maxlength>maxlength</code>, <code
+   title=attr-fs-method><a href="#method">method</a></code>, <code
+   title=attr-input-min>min</code>, <code
+   title=attr-input-pattern>pattern</code>, <code
+   title=attr-input-readonly>readonly</code>, <code
+   title=attr-input-required>required</code>, <code
+   title=attr-input-size>size</code>, <code title=attr-input-src>src</code>,
+   <code title=attr-input-step>step</code>, <code title=attr-fs-target><a
+   href="#target3">target</a></code>, and <code
+   title=attr-input-value>value</code> attributes apply to an <code><a
+   href="#input0">input</a></code> element depends on the state of its <code
+   title=attr-input-type><a href="#type12">type</a></code> attribute. They
+   are defined below.
 
-  <p>The semantics and processing rules of the <dfn id=accept
-   title=attr-input-accept><code>accept</code></dfn>, <dfn id=alt4
-   title=attr-input-alt><code>alt</code></dfn>, <dfn id=autocomplete
-   title=attr-input-autocomplete><code>autocomplete</code></dfn>, <dfn
-   id=checked title=attr-input-checked><code>checked</code></dfn>, <dfn
-   id=inputmode title=attr-input-inputmode><code>inputmode</code></dfn>, <dfn
-   id=list title=attr-input-list><code>list</code></dfn>, <dfn id=max3
-   title=attr-input-max><code>max</code></dfn>, <dfn id=maxlength
-   title=attr-input-maxlength><code>maxlength</code></dfn>, <dfn id=min1
-   title=attr-input-min><code>min</code></dfn>, <dfn id=pattern
-   title=attr-input-pattern><code>pattern</code></dfn>, <dfn id=readonly
-   title=attr-input-readonly><code>readonly</code></dfn>, <dfn id=required
-   title=attr-input-required><code>required</code></dfn>, <dfn id=size
-   title=attr-input-size><code>size</code></dfn>, <dfn id=src9
-   title=attr-input-src><code>src</code></dfn>, <dfn id=step
-   title=attr-input-step><code>step</code></dfn>, and <dfn id=value7
-   title=attr-input-value><code>value</code></dfn> attributes depend on the
-   state of the <code title=attr-input-type><a href="#type12">type</a></code>
-   attribute, and are defined in the sections below.
-
-  <p>The <code title=attr-fs-target><a href="#target3">target</a></code>,
-   <code title=attr-fs-method><a href="#method">method</a></code>, <code
-   title=attr-fs-enctype><a href="#enctype">enctype</a></code>, and <code
-   title=attr-fs-action><a href="#action">action</a></code> attributes are
-   used in <span>form submission</span> when the <code
-   title=attr-input-type><a href="#type12">type</a></code> attribute is in
-   one of the <a href="#submit2" title=attr-input-type-submit>Submit
-   Button</a> or <a href="#image5" title=attr-input-type-image>Image
-   Button</a> states.
-
-  <p>The <dfn id=accept0 title=dom-input-accept><code>accept</code></dfn>,
-   <dfn id=alt5 title=dom-input-alt><code>alt</code></dfn>, <dfn
-   id=autocomplete0
+  <p>The <dfn id=accept title=dom-input-accept><code>accept</code></dfn>,
+   <dfn id=alt4 title=dom-input-alt><code>alt</code></dfn>, <dfn
+   id=autocomplete
    title=dom-input-autocomplete><code>autocomplete</code></dfn>, <dfn
-   id=autofocus0 title=dom-input-autofocus><code>autofocus</code></dfn>, <dfn
-   id=inputmode0 title=dom-input-inputmode><code>inputmode</code></dfn>, <dfn
-   id=max4 title=dom-input-max><code>max</code></dfn>, <dfn id=min2
-   title=dom-input-min><code>min</code></dfn>, <dfn id=pattern0
-   title=dom-input-pattern><code>pattern</code></dfn>, <dfn id=required0
-   title=dom-input-required><code>required</code></dfn>, <dfn id=size0
-   title=dom-input-size><code>size</code></dfn>, <dfn id=src10
-   title=dom-input-src><code>src</code></dfn>, <dfn id=step0
+   id=autofocus title=dom-input-autofocus><code>autofocus</code></dfn>, <dfn
+   id=inputmode title=dom-input-inputmode><code>inputmode</code></dfn>, <dfn
+   id=max3 title=dom-input-max><code>max</code></dfn>, <dfn id=min1
+   title=dom-input-min><code>min</code></dfn>, <dfn id=pattern
+   title=dom-input-pattern><code>pattern</code></dfn>, <dfn id=required
+   title=dom-input-required><code>required</code></dfn>, <dfn id=size
+   title=dom-input-size><code>size</code></dfn>, <dfn id=src9
+   title=dom-input-src><code>src</code></dfn>, <dfn id=step
    title=dom-input-step><code>step</code></dfn>, and <dfn id=type13
    title=dom-input-type><code>type</code></dfn> DOM attributes must <a
    href="#reflect">reflect</a> the content attributes with the same names.
 
-  <p>The <dfn id=maxlength0
+  <p>The <dfn id=maxlength
    title=dom-input-maxLength><code>maxLength</code></dfn> DOM attribute must
-   <a href="#reflect">reflect</a> the <code title=attr-input-maxlength><a
-   href="#maxlength">maxlength</a></code> content attribute. The <dfn
-   id=readonly0 title=dom-input-readOnly><code>readOnly</code></dfn> DOM
+   <a href="#reflect">reflect</a> the <code
+   title=attr-input-maxlength>maxlength</code> content attribute. The <dfn
+   id=readonly title=dom-input-readOnly><code>readOnly</code></dfn> DOM
    attribute must <a href="#reflect">reflect</a> the <code
-   title=attr-input-readonly><a href="#readonly">readonly</a></code> content
-   attribute. The <dfn id=defaultchecked
+   title=attr-input-readonly>readonly</code> content attribute. The <dfn
+   id=defaultchecked
    title=dom-input-defaultChecked><code>defaultChecked</code></dfn> DOM
    attribute must <a href="#reflect">reflect</a> the <code
-   title=attr-input-checked><a href="#checked">checked</a></code> content
-   attribute. The <dfn id=defaultvalue
+   title=attr-input-checked>checked</code> content attribute. The <dfn
+   id=defaultvalue
    title=dom-input-defaultValue><code>defaultValue</code></dfn> DOM attribute
-   must <a href="#reflect">reflect</a> the <code title=attr-input-value><a
-   href="#value7">value</a></code> content attribute.
+   must <a href="#reflect">reflect</a> the <code
+   title=attr-input-value>value</code> content attribute.
 
-  <p class=big-issue>... <dfn id=checked0
+  <p class=big-issue>... <dfn id=checked
    title=dom-input-checked><code>checked</code></dfn>
 
-  <p class=big-issue>... <dfn id=value8
+  <p class=big-issue>... <dfn id=value7
    title=dom-input-value><code>value</code></dfn>
 
   <p class=big-issue>... <dfn id=valueasdate
@@ -27468,7 +27465,7 @@
   <p class=big-issue>... <dfn id=valueasnumber
    title=dom-input-valueAsNumber><code>valueAsNumber</code></dfn>
 
-  <p class=big-issue>... <dfn id=list0
+  <p class=big-issue>... <dfn id=list
    title=dom-input-list><code>list</code></dfn>
 
   <p class=big-issue>... <dfn id=selectedoption
@@ -27491,48 +27488,55 @@
    href="#setcustomvalidity">setCustomValidity()</a></code> methods, are part
    of the <a href="#constraint0">constraint validation API</a>.
 
-  <h5 id=text-state><span class=secno>4.9.4.1. </span><dfn id=text2
-   title=attr-input-type-text>Text</dfn> state</h5>
+  <h5 id=states><span class=secno>4.9.4.1. </span>States of the <code
+   title=attr-input-type><a href="#type12">type</a></code> attribute</h5>
 
+  <h6 id=text-state><span class=secno>4.9.4.1.1. </span><dfn id=text2
+   title=attr-input-type-text>Text</dfn> state</h6>
+
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute is
    absent, has the value <code title=attr-input-type-text-keyword><a
    href="#text1">text</a></code>, or has an invalid value, it is in the <a
    href="#text2" title=attr-input-type-text>Text</a> state.
 
-  <p class=big-issue>... <code title=attr-input-autocomplete><a
-   href="#autocomplete">autocomplete</a></code> <code
-   title=attr-input-inputmode><a href="#inputmode">inputmode</a></code> <code
-   title=attr-input-list><a href="#list">list</a></code> <code
-   title=attr-input-maxlength><a href="#maxlength">maxlength</a></code> <code
-   title=attr-input-pattern><a href="#pattern">pattern</a></code> <code
-   title=attr-input-readonly><a href="#readonly">readonly</a></code> <code
-   title=attr-input-required><a href="#required">required</a></code> <code
-   title=attr-input-size><a href="#size">size</a></code> <code
-   title=attr-input-value><a href="#value7">value</a></code>
+  <p class=big-issue>...
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute is in
    the <a href="#text2" title=attr-input-type-text>Text</a> state, the
+   following common <code><a href="#input0">input</a></code> element
+   attributes apply to the element: <code title=attr-input-autocomplete><a
+   href="#autocomplete0">autocomplete</a></code>, <code
+   title=attr-input-autofocus>autofocus</code>, <code
+   title=attr-input-inputmode>inputmode</code>, <code
+   title=attr-input-list>list</code>, <code
+   title=attr-input-maxlength>maxlength</code>, <code
+   title=attr-input-pattern>pattern</code>, <code
+   title=attr-input-readonly>readonly</code>, <code
+   title=attr-input-required>required</code>, <code
+   title=attr-input-size>size</code>, and <code
+   title=attr-input-value>value</code>.
+
+  <p>When an <code><a href="#input0">input</a></code> element's <code
+   title=attr-input-type><a href="#type12">type</a></code> attribute is in
+   the <a href="#text2" title=attr-input-type-text>Text</a> state, the
    following attributes must not be specified: <code class=no-backref
-   title=attr-input-accept><a href="#accept">accept</a></code>, <code
-   class=no-backref title=attr-input-alt><a href="#alt4">alt</a></code>,
-   <code class=no-backref title=attr-input-checked><a
-   href="#checked">checked</a></code>, <code class=no-backref
-   title=attr-input-max><a href="#max3">max</a></code>, <code
-   class=no-backref title=attr-input-min><a href="#min1">min</a></code>,
-   <code class=no-backref title=attr-input-src><a
-   href="#src9">src</a></code>, <code class=no-backref
-   title=attr-input-step><a href="#step">step</a></code>, <code
-   class=no-backref title=attr-fs-target><a
-   href="#target3">target</a></code>, <code class=no-backref
-   title=attr-fs-method><a href="#method">method</a></code>, <code
-   class=no-backref title=attr-fs-enctype><a
+   title=attr-input-accept>accept</code>, <code class=no-backref
+   title=attr-input-alt>alt</code>, <code class=no-backref
+   title=attr-input-checked>checked</code>, <code class=no-backref
+   title=attr-input-max>max</code>, <code class=no-backref
+   title=attr-input-min>min</code>, <code class=no-backref
+   title=attr-input-src>src</code>, <code class=no-backref
+   title=attr-input-step>step</code>, <code class=no-backref
+   title=attr-fs-target><a href="#target3">target</a></code>, <code
+   class=no-backref title=attr-fs-method><a href="#method">method</a></code>,
+   <code class=no-backref title=attr-fs-enctype><a
    href="#enctype">enctype</a></code>, and <code class=no-backref
    title=attr-fs-action><a href="#action">action</a></code>.
 
-  <h5 id=password><span class=secno>4.9.4.2. </span><dfn id=password1
-   title=attr-input-type-password>Password</dfn> state</h5>
+  <h6 id=password><span class=secno>4.9.4.1.2. </span><dfn id=password1
+   title=attr-input-type-password>Password</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27542,8 +27546,8 @@
 
   <p class=big-issue>...
 
-  <h5 id=image><span class=secno>4.9.4.3. </span><dfn id=image5
-   title=attr-input-type-image>Image Button</dfn> state</h5>
+  <h6 id=image><span class=secno>4.9.4.1.3. </span><dfn id=image5
+   title=attr-input-type-image>Image Button</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27556,8 +27560,8 @@
   <p class=big-issue>... image: <dfn id=selected
    title=concept-input-type-image-coordinate>selected coordinate</dfn>
 
-  <h5 id=date-and><span class=secno>4.9.4.4. </span><dfn id=date-and0
-   title=attr-input-type-datetime>Date and Time</dfn> state</h5>
+  <h6 id=date-and><span class=secno>4.9.4.1.4. </span><dfn id=date-and0
+   title=attr-input-type-datetime>Date and Time</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27567,8 +27571,8 @@
 
   <p class=big-issue>...
 
-  <h5 id=local><span class=secno>4.9.4.5. </span><dfn id=local0
-   title=attr-input-type-datetime-local>Local Date and Time</dfn> state</h5>
+  <h6 id=local><span class=secno>4.9.4.1.5. </span><dfn id=local0
+   title=attr-input-type-datetime-local>Local Date and Time</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27579,8 +27583,8 @@
 
   <p class=big-issue>...
 
-  <h5 id=date-state><span class=secno>4.9.4.6. </span><dfn id=date2
-   title=attr-input-type-date>Date</dfn> state</h5>
+  <h6 id=date-state><span class=secno>4.9.4.1.6. </span><dfn id=date2
+   title=attr-input-type-date>Date</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27590,8 +27594,8 @@
 
   <p class=big-issue>...
 
-  <h5 id=month><span class=secno>4.9.4.7. </span><dfn id=month1
-   title=attr-input-type-month>Month</dfn> state</h5>
+  <h6 id=month><span class=secno>4.9.4.1.7. </span><dfn id=month1
+   title=attr-input-type-month>Month</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27601,8 +27605,8 @@
 
   <p class=big-issue>...
 
-  <h5 id=week-state><span class=secno>4.9.4.8. </span><dfn id=week0
-   title=attr-input-type-week>Week</dfn> state</h5>
+  <h6 id=week-state><span class=secno>4.9.4.1.8. </span><dfn id=week0
+   title=attr-input-type-week>Week</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27612,8 +27616,8 @@
 
   <p class=big-issue>...
 
-  <h5 id=time-state><span class=secno>4.9.4.9. </span><dfn id=time3
-   title=attr-input-type-time>Time</dfn> state</h5>
+  <h6 id=time-state><span class=secno>4.9.4.1.9. </span><dfn id=time3
+   title=attr-input-type-time>Time</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27623,8 +27627,8 @@
 
   <p class=big-issue>...
 
-  <h5 id=number><span class=secno>4.9.4.10. </span><dfn id=number2
-   title=attr-input-type-number>Number</dfn> state</h5>
+  <h6 id=number><span class=secno>4.9.4.1.10. </span><dfn id=number2
+   title=attr-input-type-number>Number</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27634,8 +27638,8 @@
 
   <p class=big-issue>...
 
-  <h5 id=range><span class=secno>4.9.4.11. </span><dfn id=range1
-   title=attr-input-type-range>Range</dfn> state</h5>
+  <h6 id=range><span class=secno>4.9.4.1.11. </span><dfn id=range1
+   title=attr-input-type-range>Range</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27645,8 +27649,8 @@
 
   <p class=big-issue>...
 
-  <h5 id=e-mail><span class=secno>4.9.4.12. </span><dfn id=e-mail0
-   title=attr-input-type-email>E-mail</dfn> state</h5>
+  <h6 id=e-mail><span class=secno>4.9.4.1.12. </span><dfn id=e-mail0
+   title=attr-input-type-email>E-mail</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27656,8 +27660,8 @@
 
   <p class=big-issue>...
 
-  <h5 id=url-state><span class=secno>4.9.4.13. </span><dfn id=url2
-   title=attr-input-type-url>URL</dfn> state</h5>
+  <h6 id=url-state><span class=secno>4.9.4.1.13. </span><dfn id=url2
+   title=attr-input-type-url>URL</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27667,8 +27671,8 @@
 
   <p class=big-issue>...
 
-  <h5 id=checkbox><span class=secno>4.9.4.14. </span><dfn id=checkbox1
-   title=attr-input-type-checkbox>Checkbox</dfn> state</h5>
+  <h6 id=checkbox><span class=secno>4.9.4.1.14. </span><dfn id=checkbox1
+   title=attr-input-type-checkbox>Checkbox</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27678,11 +27682,11 @@
 
   <p class=big-issue>...
 
-  <p class=big-issue>... <dfn id=checked1
+  <p class=big-issue>... <dfn id=checked0
    title=concept-input-checked-checkbox>checked</dfn>
 
-  <h5 id=radio><span class=secno>4.9.4.15. </span><dfn id=radio1
-   title=attr-input-type-radio>Radio Button</dfn> state</h5>
+  <h6 id=radio><span class=secno>4.9.4.1.15. </span><dfn id=radio1
+   title=attr-input-type-radio>Radio Button</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27692,11 +27696,11 @@
 
   <p class=big-issue>...
 
-  <p class=big-issue>... <dfn id=checked2
+  <p class=big-issue>... <dfn id=checked1
    title=concept-input-checked-radio>checked</dfn>
 
-  <h5 id=file-state><span class=secno>4.9.4.16. </span><dfn id=file0
-   title=attr-input-type-file>File</dfn> state</h5>
+  <h6 id=file-state><span class=secno>4.9.4.1.16. </span><dfn id=file0
+   title=attr-input-type-file>File</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27709,8 +27713,8 @@
   <p class=big-issue>... <dfn id=selected0
    title=concept-input-type-file-selected>selected file</dfn>
 
-  <h5 id=hidden><span class=secno>4.9.4.17. </span><dfn id=hidden1
-   title=attr-input-type-hidden>Hidden</dfn> state</h5>
+  <h6 id=hidden><span class=secno>4.9.4.1.17. </span><dfn id=hidden1
+   title=attr-input-type-hidden>Hidden</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27720,8 +27724,8 @@
 
   <p class=big-issue>...
 
-  <h5 id=submit><span class=secno>4.9.4.18. </span><dfn id=submit2
-   title=attr-input-type-submit>Submit Button</dfn> state</h5>
+  <h6 id=submit><span class=secno>4.9.4.1.18. </span><dfn id=submit2
+   title=attr-input-type-submit>Submit Button</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27734,8 +27738,8 @@
 rel="" on submit buttons?
 -->
 
-  <h5 id=reset><span class=secno>4.9.4.19. </span><dfn id=reset2
-   title=attr-input-type-reset>Reset Button</dfn> state</h5>
+  <h6 id=reset><span class=secno>4.9.4.1.19. </span><dfn id=reset2
+   title=attr-input-type-reset>Reset Button</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27745,8 +27749,8 @@
 
   <p class=big-issue>...
 
-  <h5 id=button><span class=secno>4.9.4.20. </span><dfn id=button1
-   title=attr-input-type-button>Button</dfn> state</h5>
+  <h6 id=button><span class=secno>4.9.4.1.20. </span><dfn id=button1
+   title=attr-input-type-button>Button</dfn> state</h6>
 
   <p>When an <code><a href="#input0">input</a></code> element's <code
    title=attr-input-type><a href="#type12">type</a></code> attribute has the
@@ -27756,6 +27760,78 @@
 
   <p class=big-issue>...
 
+  <h5 id=common3><span class=secno>4.9.4.2. </span>Common <code><a
+   href="#input0">input</a></code> element attributes</h5>
+
+  <p>These attributes only apply to an <code><a
+   href="#input0">input</a></code> element if its <code
+   title=attr-input-type><a href="#type12">type</a></code> attribute is in a
+   state whose definition declares that the attribute applies. When an
+   attribute doesn't apply to an <code><a href="#input0">input</a></code>
+   element, user agents must <a href="#ignored">ignore</a> the attribute.
+
+  <h6 id=the-autocomplete><span class=secno>4.9.4.2.1. </span>The <code
+   title=attr-input-autocomplete><a
+   href="#autocomplete0">autocomplete</a></code> attribute</h6>
+  <!--XXX IE also applies it to <form> elements. It doesn't apply it
+  to <textarea>. -->
+
+  <p>The <dfn id=autocomplete0
+   title=attr-input-autocomplete><code>autocomplete</code></dfn> attribute is
+   an enumerated attribute. The attribute has two states. The <code
+   title=attr-input-autocomplete-on>on</code> keyword maps to the <dfn id=on
+   title=attr-input-autocomplete-on-state>on</dfn> state, and the <code
+   title=attr-input-autocomplete-off>off</code> keyword maps to the <dfn
+   id=off title=attr-input-autocomplete-off-state>off</dfn> state. The
+   attribute may also be omitted. The <i>missing value default</i> is the <a
+   href="#on" title=attr-input-autocomplete-on-state>on</a> state.
+
+  <p>The <a href="#off" title=attr-input-autocomplete-off-state>off</a> state
+   indicates that the control's input data is either particularily sensitive
+   (for example the activation code for a nuclear weapon) or is a value that
+   will never be reused (for example a one-time-key for a bank login) and the
+   user should therefore explicitly enter the data each time, instead of
+   being able to rely on the UA to prefill the value for him.
+
+  <p>Conversely, the <a href="#on"
+   title=attr-input-autocomplete-on-state>on</a> state indicates that the
+   value is not particularily sensitive and the user should expect to be able
+   to rely on his UA to remember values he has entered for that control.
+
+  <p>When an <code><a href="#input0">input</a></code> element's <code
+   title=attr-input-autocomplete><a
+   href="#autocomplete0">autocomplete</a></code> attribute is in the <a
+   href="#on" title=attr-input-autocomplete-on-state>on</a> state, the user
+   agent may store the value entered by the user so that if the user returns
+   to the page, the UA can prefill the form. When an <code><a
+   href="#input0">input</a></code> element's <code
+   title=attr-input-autocomplete><a
+   href="#autocomplete0">autocomplete</a></code> attribute is in the <a
+   href="#off" title=attr-input-autocomplete-off-state>off</a> state, the
+   user agent should not remember the control's value.</p>
+  <!-- XXX xref value? -->
+
+  <p>This specification does not define the autocompletion mechanism. User
+   agents may implement any system within the conformance criteria of this
+   specification, taking into account security and privacy concerns.
+
+  <div class=example>
+   <p>Banks frequently do not want UAs to prefill login information:</p>
+
+   <pre><p>Account: <input type="text" name="ac" autocomplete="off"></p>
+<p>PIN: <input type="text" name="pin" autocomplete="off"></p></pre>
+  </div>
+
+  <p>A user agent may allow the user to disable support for this attribute's
+   <a href="#off" title=attr-input-autocomplete-off-state>off</a> state
+   (causing the attribute to always be in the <a href="#on"
+   title=attr-input-autocomplete-on-state>on</a> state and always allowing
+   values to be remembered and prefilled). Support for the <a href="#off"
+   title=attr-input-autocomplete-off-state>off</a> state should be enabled by
+   default, and the ability to disable support should not be trivially
+   accessible, as there are significant security implications for the user if
+   support for this attribute is disabled.
+
   <h4 id=the-button><span class=secno>4.9.5 </span>The <dfn
    id=button2><code>button</code></dfn> element</h4>
 
@@ -28055,7 +28131,7 @@
            attribute DOMString <span title=dom-option-label>label</span>;
            attribute boolean <span title=dom-option-defaultSelected>defaultSelected</span>;
            attribute boolean <span title=dom-option-selected>selected</span>;
-           attribute DOMString <a href="#value8" title=dom-input-value>value</a>;
+           attribute DOMString <a href="#value7" title=dom-input-value>value</a>;
 
   readonly attribute DOMString <span title=dom-option-text>text</span>;
   readonly attribute long <span title=dom-option-index>index</span>;
@@ -28067,7 +28143,7 @@
   <p class=big-issue>... <dfn id=selected1
    title=concept-option-selected>selected</dfn>
 
-  <p class=big-issue>... <dfn id=value9
+  <p class=big-issue>... <dfn id=value8
    title=concept-option-value>value</dfn>
 
   <p class=big-issue> <dfn id=option0
@@ -28376,7 +28452,8 @@
   <p class=big-issue>... <dfn id=disabled6
    title=dom-fe-disabled>disabled</dfn> DOM attribute
 
-  <p class=big-issue>... <dfn id=value10 title=concept-fe-value>value</dfn>
+  <p class=big-issue>... <dfn id=value9 title=concept-fe-value>value</dfn></p>
+  <!-- XXX autocomplete: define somewhere that the value may be set from a stored value -->
 
   <h4 id=attributes2><span class=secno>4.9.14 </span><dfn
    id=attributes5>Attributes for form submission</dfn></h4>
@@ -28627,14 +28704,14 @@
         href="#input0">input</a></code> element whose <code
         title=attr-input-type><a href="#type12">type</a></code> attribute is
         in the <span title=attr-input-type-checkbox-state>Checkbox</span>
-        state and the control is not <a href="#checked1"
+        state and the control is not <a href="#checked0"
         title=concept-input-checked-checkbox>checked</a>.
 
        <li>The <var title="">field</var> element is an <code><a
         href="#input0">input</a></code> element whose <code
         title=attr-input-type><a href="#type12">type</a></code> attribute is
         in the <span title=attr-input-type-radio-state>Radio Button</span>
-        state and the control is not <a href="#checked2"
+        state and the control is not <a href="#checked1"
         title=concept-input-checked-radio>checked</a>.
 
        <li>The <var title="">field</var> element is an <code><a
@@ -28722,7 +28799,7 @@
        href="#select">select</a></code> element that is <a href="#selected1"
        title=concept-option-selected>selected</a>, append an entry in the
        <var title="">form data set</var> with the <var title="">name</var> as
-       the name and the <a href="#value9"
+       the name and the <a href="#value8"
        title=concept-option-value>value</a> of the <code><a
        href="#option">option</a></code> element as the value.
 
@@ -28740,7 +28817,7 @@
 
      <li>
       <p>Otherwise, append an entry in the <var title="">form data set</var>
-       with <var title="">name</var> as the name and the <a href="#value10"
+       with <var title="">name</var> as the name and the <a href="#value9"
        title=concept-fe-value>value</a> of the <var title="">field</var>
        element as the value.
     </ol>
@@ -29252,15 +29329,15 @@
    <dt>Content model:
 
    <dd>If there is no <code title=attr-script-src><a
-    href="#src11">src</a></code> attribute, depends on the value of the <code
+    href="#src10">src</a></code> attribute, depends on the value of the <code
     title=attr-script-type><a href="#type14">type</a></code> attribute.
 
    <dd>If there <em>is</em> a <code title=attr-script-src><a
-    href="#src11">src</a></code> attribute, the element must be empty.
+    href="#src10">src</a></code> attribute, the element must be empty.
 
    <dt>Element-specific attributes:
 
-   <dd><code title=attr-script-src><a href="#src11">src</a></code>
+   <dd><code title=attr-script-src><a href="#src10">src</a></code>
 
    <dd><code title=attr-script-async><a href="#async">async</a></code>
 
@@ -29275,7 +29352,7 @@
    <dd>
     <pre
      class=idl>interface <dfn id=htmlscriptelement>HTMLScriptElement</dfn> : <a href="#htmlelement">HTMLElement</a> {
-           attribute DOMString <code title=dom-script-src><a href="#src12">src</a></code>;
+           attribute DOMString <code title=dom-script-src><a href="#src11">src</a></code>;
            attribute boolean <code title=dom-script-async><a href="#async0">async</a></code>;
            attribute boolean <code title=dom-script-defer><a href="#defer0">defer</a></code>;
            attribute DOMString <code title=dom-script-type><a href="#type15">type</a></code>;
@@ -29289,7 +29366,7 @@
 
   <p>When used to include dynamic scripts, the scripts may either be embedded
    inline or may be imported from an external file using the <code
-   title=attr-script-src><a href="#src11">src</a></code> attribute. If the
+   title=attr-script-src><a href="#src10">src</a></code> attribute. If the
    language is not that described by "<code title="">text/javascript</code>",
    then the <code title=attr-script-type><a href="#type14">type</a></code>
    attribute must be present. If the <code title=attr-script-type><a
@@ -29299,7 +29376,7 @@
   <p>When used to include data blocks, the data must be embedded inline, the
    format of the data must be given using the <code title=attr-script-type><a
    href="#type14">type</a></code> attribute, and the <code
-   title=attr-script-src><a href="#src11">src</a></code> attribute must not
+   title=attr-script-src><a href="#src10">src</a></code> attribute must not
    be specified.
 
   <p>The <dfn id=type14 title=attr-script-type><code>type</code></dfn>
@@ -29310,7 +29387,7 @@
    "<code title="">text/javascript</code>".) <a
    href="#refsRFC2046">[RFC2046]</a>
 
-  <p>The <dfn id=src11 title=attr-script-src><code>src</code></dfn>
+  <p>The <dfn id=src10 title=attr-script-src><code>src</code></dfn>
    attribute, if specified, gives the address of the external script resource
    to use. The value of the attribute must be a <a href="#valid8">valid
    URL</a> identifying a script resource of the type given by the <code
@@ -29322,7 +29399,7 @@
    title=attr-script-charset><code>charset</code></dfn> attribute gives the
    character encoding of the external script resource. The attribute must not
    be specified if the <code title=attr-script-src><a
-   href="#src11">src</a></code> attribute is not present. If the attribute is
+   href="#src10">src</a></code> attribute is not present. If the attribute is
    set, its value must be a valid character encoding name, and must be the
    preferred name for that encoding. <a
    href="#refsIANACHARSET">[IANACHARSET]</a>
@@ -29361,7 +29438,7 @@
    of the synchronous blocking behavior that is the default.
 
   <p>Changing the <code title=attr-script-src><a
-   href="#src11">src</a></code>, <code title=attr-script-type><a
+   href="#src10">src</a></code>, <code title=attr-script-type><a
    href="#type14">type</a></code>, <code title=attr-script-charset><a
    href="#charset2">charset</a></code>, <code title=attr-script-async><a
    href="#async">async</a></code>, and <code title=attr-script-defer><a
@@ -29482,7 +29559,7 @@
 
    <li>
     <p>If the element has a <code title=attr-script-src><a
-     href="#src11">src</a></code> attribute, then the specified resource must
+     href="#src10">src</a></code> attribute, then the specified resource must
      be <a href="#fetch" title=fetch>fetched</a>.</p>
 
     <p>For historical reasons, if the <a href="#url">URL</a> is a <a
@@ -29505,7 +29582,7 @@
      be inserted into the document. Either way, once the element is inserted
      into the document, the load must have started. If the UA performs such
      prefetching, but the element is never inserted in the document, or the
-     <code title=attr-script-src><a href="#src11">src</a></code> attribute is
+     <code title=attr-script-src><a href="#src10">src</a></code> attribute is
      dynamically changed, then the user agent will not execute the script,
      and the fetching process will have been effectively wasted.</p>
 
@@ -29533,14 +29610,14 @@
 
      <dt>If the element has an <code title=attr-script-async><a
       href="#async">async</a></code> attribute and a <code
-      title=attr-script-src><a href="#src11">src</a></code> attribute
+      title=attr-script-src><a href="#src10">src</a></code> attribute
 
      <dd>The element must be added to the end of the <a href="#list-of0">list
       of scripts that will execute asynchronously</a>.
 
      <dt>If the element has an <code title=attr-script-async><a
       href="#async">async</a></code> attribute but no <code
-      title=attr-script-src><a href="#src11">src</a></code> attribute, and
+      title=attr-script-src><a href="#src10">src</a></code> attribute, and
       the <a href="#list-of0">list of scripts that will execute
       asynchronously</a> is not empty
 
@@ -29548,14 +29625,14 @@
       of scripts that will execute asynchronously</a>.
 
      <dt>If the element has a <code title=attr-script-src><a
-      href="#src11">src</a></code> attribute and has been flagged as <a
+      href="#src10">src</a></code> attribute and has been flagged as <a
       href="#parser-inserted">"parser-inserted"</a>
 
      <dd>The element is the <span>pending external script</span>. (There can
       only be one such script at a time.)
 
      <dt>If the element has a <code title=attr-script-src><a
-      href="#src11">src</a></code> attribute
+      href="#src10">src</a></code> attribute
 
      <dd>The element must be added to the end of the <a href="#list-of1">list
       of scripts that will execute as soon as possible</a>.
@@ -29620,7 +29697,7 @@
      <li>
       <p>If there are any more scripts in the list, and the element now at
        the head of the list had no <code title=attr-script-src><a
-       href="#src11">src</a></code> attribute when it was added to the list,
+       href="#src10">src</a></code> attribute when it was added to the list,
        or had one, but its associated script has finished loading, then jump
        back to step two to execute the script associated with this element.</p>
     </ol>
@@ -29723,7 +29800,7 @@
     </ol>
   </dl>
 
-  <p>The DOM attributes <dfn id=src12
+  <p>The DOM attributes <dfn id=src11
    title=dom-script-src><code>src</code></dfn>, <dfn id=type15
    title=dom-script-type><code>type</code></dfn>, <dfn id=charset3
    title=dom-script-charset><code>charset</code></dfn>, <dfn id=async0
@@ -29981,50 +30058,50 @@
 
    <dt>Element-specific attributes:
 
-   <dd><code title=attr-eventsource-src><a href="#src13">src</a></code>
+   <dd><code title=attr-eventsource-src><a href="#src12">src</a></code>
 
    <dt>DOM interface:
 
    <dd>
     <pre
      class=idl>interface <dfn id=htmleventsourceelement>HTMLEventSourceElement</dfn> : <a href="#htmlelement">HTMLElement</a> {
-           attribute DOMString <a href="#src14" title=dom-eventsource-src>src</a>;
+           attribute DOMString <a href="#src13" title=dom-eventsource-src>src</a>;
 };</pre>
   </dl>
 
   <p>The <code><a href="#eventsource">eventsource</a></code> element
    represents a target for events generated by a remote server.
 
-  <p>The <dfn id=src13 title=attr-eventsource-src><code>src</code></dfn>
+  <p>The <dfn id=src12 title=attr-eventsource-src><code>src</code></dfn>
    attribute, if specified, must give a <a href="#valid8">valid URL</a>
    identifying a resource that uses the <code>text/event-stream</code>
    format.
 
   <p>When an <code><a href="#eventsource">eventsource</a></code> element with
-   a <code title=attr-eventsource-src><a href="#src13">src</a></code>
+   a <code title=attr-eventsource-src><a href="#src12">src</a></code>
    attribute specified is inserted into the document<!-- XXX xref -->, and
    when an <code><a href="#eventsource">eventsource</a></code> element that
    is already in the document<!--XXX xref--> has a <code
-   title=attr-eventsource-src><a href="#src13">src</a></code> attribute
+   title=attr-eventsource-src><a href="#src12">src</a></code> attribute
    added, the user agent must run the <a href="#add-declared">add declared
    event source</a> algorithm.
 
   <p>While an <code><a href="#eventsource">eventsource</a></code> element is
    in a document<!--
   XXX xref -->, if its <code
-   title=attr-eventsource-src><a href="#src13">src</a></code> attribute is
+   title=attr-eventsource-src><a href="#src12">src</a></code> attribute is
    mutated, the user agent must must run the <a href="#remove1">remove
    declared event source</a> algorithm followed by the <a
    href="#add-declared">add declared event source</a> algorithm.
 
   <p>When an <code><a href="#eventsource">eventsource</a></code> element with
-   a <code title=attr-eventsource-src><a href="#src13">src</a></code>
+   a <code title=attr-eventsource-src><a href="#src12">src</a></code>
    attribute specified is removed from a document<!-- XXX xref -->, and when
    an <code><a href="#eventsource">eventsource</a></code> element that is in
    a document<!--XXX
   xref--> with a <code title=attr-eventsource-src><a
-   href="#src13">src</a></code> attribute specified has its <code
-   title=attr-eventsource-src><a href="#src13">src</a></code> attribute
+   href="#src12">src</a></code> attribute specified has its <code
+   title=attr-eventsource-src><a href="#src12">src</a></code> attribute
    removed, the user agent must run the <a href="#remove1">remove declared
    event source</a> algorithm.</p>
   <!-- changing the base URL doesn't trigger these algorithms -->
@@ -30040,7 +30117,7 @@
    <li><a href="#resolve" title="resolve a url">Resolve</a> the <a
     href="#url">URL</a> specified by the <code><a
     href="#eventsource">eventsource</a></code> element's <code
-    title=attr-eventsource-src><a href="#src13">src</a></code> attribute.
+    title=attr-eventsource-src><a href="#src12">src</a></code> attribute.
 
    <li>If that fails, then set the element's <i>current declared event
     source</i> to "undefined" and abort these steps.
@@ -30079,7 +30156,7 @@
   <!-- XXX should we make 'load', 'error', 'abort' events fire on this
   element? -->
 
-  <p>The <dfn id=src14 title=dom-eventsource-src><code>src</code></dfn> DOM
+  <p>The <dfn id=src13 title=dom-eventsource-src><code>src</code></dfn> DOM
    attribute must <a href="#reflect">reflect</a> the content attribute of the
    same name.
 
@@ -30615,7 +30692,7 @@
      <th>Description
 
     <tr>
-     <td><!--checked--><dfn id=checked3
+     <td><!--checked--><dfn id=checked2
       title=datagrid-cell-class-checked><code>checked</code></dfn>
 
      <td>Cells
@@ -30648,11 +30725,11 @@
       title=datagrid-cell-class-progress><a
       href="#progress1">progress</a></code>, <code
       title=datagrid-cell-class-checked><a
-      href="#checked3">checked</a></code>, <code
+      href="#checked2">checked</a></code>, <code
       title=datagrid-cell-class-checked><a
-      href="#checked3">unchecked</a></code> and <code
+      href="#checked2">unchecked</a></code> and <code
       title=datagrid-cell-class-checked><a
-      href="#checked3">indeterminate</a></code> classes override this,
+      href="#checked2">indeterminate</a></code> classes override this,
       though.)
 
     <tr>
@@ -30671,9 +30748,9 @@
 
      <td>The cell has a checkbox, and it can be set to an indeterminate
       state. If neither the <code title=datagrid-cell-class-checked><a
-      href="#checked3">checked</a></code> nor <code
+      href="#checked2">checked</a></code> nor <code
       title=datagrid-cell-class-checked><a
-      href="#checked3">unchecked</a></code> classes are present, then the
+      href="#checked2">unchecked</a></code> classes are present, then the
       checkbox is in that state, too. (The <code
       title=datagrid-cell-class-cyclable><a
       href="#cyclable">cyclable</a></code> and <code
@@ -30786,7 +30863,7 @@
 
      <td>The cell has a checkbox and, unless the <code
       title=datagrid-cell-class-checked><a
-      href="#checked3">checked</a></code> class is present as well, it is
+      href="#checked2">checked</a></code> class is present as well, it is
       unchecked. (The <code title=datagrid-cell-class-cyclable><a
       href="#cyclable">cyclable</a></code> and <code
       title=datagrid-cell-class-progress><a
@@ -31423,8 +31500,8 @@
     <p>The <code title=dom-provider-getCellClasses><a
      href="#getcellclasses">getCellClasses()</a></code> method must add the
      <code title=datagrid-cell-class-checked><a
-     href="#checked3">checked</a></code> class if the <code><a
-     href="#input0">input</a></code> element is <a href="#checked0"
+     href="#checked2">checked</a></code> class if the <code><a
+     href="#input0">input</a></code> element is <a href="#checked"
      title=dom-input-checked>checked</a>, and the <code
      title=datagrid-cell-class-unchecked><a
      href="#unchecked">unchecked</a></code> class otherwise.</p>
@@ -31432,7 +31509,7 @@
     <p>The <code title=dom-provider-setCellCheckedState><a
      href="#setcellcheckedstate">setCellCheckedState()</a></code> method must
      set the <code><a href="#input0">input</a></code> element's checkbox <a
-     href="#checked0" title=dom-input-checked>state</a> to checked if the
+     href="#checked" title=dom-input-checked>state</a> to checked if the
      method's third argument is 1, and to unchecked otherwise.</p>
 
     <p>The <code title=dom-provider-cycleCell><a
@@ -31452,7 +31529,7 @@
 
     <p>The <code title=dom-provider-getCellData><a
      href="#getcelldata">getCellData()</a></code> method must return the
-     <code title=dom-input-value><a href="#value8">value</a></code> of the
+     <code title=dom-input-value><a href="#value7">value</a></code> of the
      <code><a href="#input0">input</a></code> element.</p>
 
     <p>The <code title=dom-provider-getCellClasses><a
@@ -31463,7 +31540,7 @@
     <p>The <code title=dom-provider-editCell><a
      href="#editcell">editCell()</a></code> method must set the <code><a
      href="#input0">input</a></code> element's <code title=dom-input-value><a
-     href="#value8">value</a></code> DOM attribute to the value of the third
+     href="#value7">value</a></code> DOM attribute to the value of the third
      argument to the method.</p>
 
     <p>The <code title=dom-provider-setCellCheckedState><a
@@ -31838,7 +31915,7 @@
    <dt id=cellType2>To establish how a simple text cell should be presented
 
    <dd>Check whether one of the <code title=datagrid-cell-class-checked><a
-    href="#checked3">checked</a></code>, <code
+    href="#checked2">checked</a></code>, <code
     title=datagrid-cell-class-unchecked><a
     href="#unchecked">unchecked</a></code>, or <code
     title=datagrid-cell-class-indeterminate><a
@@ -31854,7 +31931,7 @@
    <dt>To establish the state of a cell's checkbox, if it has one
 
    <dd>Check whether the <code title=datagrid-cell-class-checked><a
-    href="#checked3">checked</a></code> class applies to the cell. If it
+    href="#checked2">checked</a></code> class applies to the cell. If it
     does, the cell is checked. Otherwise, check whether the <code
     title=datagrid-cell-class-unchecked><a
     href="#unchecked">unchecked</a></code> class applies to the cell. If it
@@ -31866,7 +31943,7 @@
     href="#indeterminate">indeterminate</a></code> class applies to the cell,
     the checkbox is a tristate checkbox, and the user can set it to the
     indeterminate state. Otherwise, only the <code
-    title=datagrid-cell-class-checked><a href="#checked3">checked</a></code>
+    title=datagrid-cell-class-checked><a href="#checked2">checked</a></code>
     and/or <code title=datagrid-cell-class-unchecked><a
     href="#unchecked">unchecked</a></code> classes apply to the cell, and the
     cell can only be toggled between those two states.
@@ -32279,7 +32356,7 @@
     href="#disabled9">disabled</a></code>
 
    <dd><code title=attr-command-checked><a
-    href="#checked4">checked</a></code>
+    href="#checked3">checked</a></code>
 
    <dd><code title=attr-command-radiogroup><a
     href="#radiogroup">radiogroup</a></code>
@@ -32300,7 +32377,7 @@
            attribute DOMString <a href="#label1" title=dom-command-label>label</a>;
            attribute DOMString <a href="#icon0" title=dom-command-icon>icon</a>;
            attribute boolean <a href="#disabled10" title=dom-command-disabled>disabled</a>;
-           attribute boolean <a href="#checked5" title=dom-command-checked>checked</a>;
+           attribute boolean <a href="#checked4" title=dom-command-checked>checked</a>;
            attribute DOMString <a href="#radiogroup0" title=dom-command-radiogroup>radiogroup</a>;
            attribute boolean <a href="#default3" title=dom-command-default>default</a>;
  void <a href="#click" title=dom-command-click>click</a>(); // shadows <code><a href="#htmlelement">HTMLElement</a></code>.<code title=dom-click><a href="#click1">click()</a></code>
@@ -32352,7 +32429,7 @@
    the faucet is already open, but the command "eat" would be marked hidden
    since the faucet could never be eaten.
 
-  <p>The <dfn id=checked4
+  <p>The <dfn id=checked3
    title=attr-command-checked><code>checked</code></dfn> attribute is a <a
    href="#boolean0">boolean attribute</a> that, if present, indicates that
    the command is selected.
@@ -32385,7 +32462,7 @@
   <p>The <dfn id=type17 title=dom-command-type><code>type</code></dfn>, <dfn
    id=label1 title=dom-command-label><code>label</code></dfn>, <dfn id=icon0
    title=dom-command-icon><code>icon</code></dfn>, <dfn id=disabled10
-   title=dom-command-disabled><code>disabled</code></dfn>, <dfn id=checked5
+   title=dom-command-disabled><code>disabled</code></dfn>, <dfn id=checked4
    title=dom-command-checked><code>checked</code></dfn>, <dfn id=radiogroup0
    title=dom-command-radiogroup><code>radiogroup</code></dfn>, and <dfn
    id=default3 title=dom-command-default><code>default</code></dfn> DOM
@@ -32403,9 +32480,9 @@
 
    <dd>
     <p>If the element has a <code title=attr-command-checked><a
-     href="#checked4">checked</a></code> attribute, the UA must remove that
+     href="#checked3">checked</a></code> attribute, the UA must remove that
      attribute. Otherwise, the UA must add a <code
-     title=attr-command-checked><a href="#checked4">checked</a></code>
+     title=attr-command-checked><a href="#checked3">checked</a></code>
      attribute, with the literal value <code title="">checked</code>. The UA
      must then <a href="#firing">fire a <code title="">click</code> event</a>
      at the element.
@@ -32423,12 +32500,12 @@
      title=attr-command-radiogroup><a
      href="#radiogroup">radiogroup</a></code> attributes as if they were the
      empty string), and has a <code title=attr-command-checked><a
-     href="#checked4">checked</a></code> attribute, must remove that
+     href="#checked3">checked</a></code> attribute, must remove that
      attribute and <a href="#firing">fire a <code title="">click</code>
      event</a> at the element.</p>
 
     <p>Then, the element's <code title=attr-command-checked><a
-     href="#checked4">checked</a></code> attribute attribute must be set to
+     href="#checked3">checked</a></code> attribute attribute must be set to
      the literal value <code title="">checked</code> and a <span title="file
      a click event"><code title="">click</code> event must be fired</span> at
      the element.
@@ -32706,7 +32783,7 @@
    title=attr-menu-type-toolbar>toolbar</code> keyword maps to the <dfn
    id=tool-bar title="tool bar state">tool bar</dfn> state, in which the
    element is declaring a tool bar. The attribute may also be omitted. The
-   <i>missing value default</i> is the <dfn id=list1 title="list
+   <i>missing value default</i> is the <dfn id=list0 title="list
    state">list</dfn> state, which indicates that the element is merely a list
    of commands that is neither declaring a context menu nor defining a tool
    bar.
@@ -32725,7 +32802,7 @@
 
   <p>If a <code><a href="#menu">menu</a></code> element's <code
    title=attr-menu-type><a href="#type20">type</a></code> attribute is in the
-   <a href="#list1" title="list state">list</a> state, then the element
+   <a href="#list0" title="list state">list</a> state, then the element
    either represents an unordered list of items (each represented by an
    <code><a href="#li">li</a></code> element), each of which represents a
    command that the user may perform or activate, or, if the element has no
@@ -33046,10 +33123,10 @@
 
    <dd>The kind of command: "command", meaning it is a normal command;
     "radio", meaning that triggering the command will, amongst other things,
-    set the <a href="#checked6" title=command-facet-CheckedState>Checked
+    set the <a href="#checked5" title=command-facet-CheckedState>Checked
     State</a> to true (and probably uncheck some other commands); or
     "checkbox", meaning that triggering the command will, amongst other
-    things, toggle the value of the <a href="#checked6"
+    things, toggle the value of the <a href="#checked5"
     title=command-facet-CheckedState>Checked State</a>.
 
    <dt><dfn id=id1 title=command-facet-ID>ID</dfn>
@@ -33083,7 +33160,7 @@
 
    <dd>Whether the command is relevant and can be triggered or not.
 
-   <dt><dfn id=checked6 title=command-facet-CheckedState>Checked State</dfn>
+   <dt><dfn id=checked5 title=command-facet-CheckedState>Checked State</dfn>
 
    <dd>Whether the command is checked or not.
 
@@ -33121,7 +33198,7 @@
   readonly attribute DOMString <a href="#icon2" title=dom-command-ro-icon>icon</a>;
   readonly attribute boolean <a href="#hidden3" title=dom-command-ro-hidden>hidden</a>;
   readonly attribute boolean <a href="#disabled13" title=dom-command-ro-disabled>disabled</a>;              
-  readonly attribute boolean <a href="#checked7" title=dom-command-ro-checked>checked</a>;              
+  readonly attribute boolean <a href="#checked6" title=dom-command-ro-checked>checked</a>;              
   void <a href="#click0" title=dom-command-ro-click>click</a>();
   readonly attribute <a href="#htmlcollection0">HTMLCollection</a> <a href="#triggers0" title=dom-command-ro-triggers>triggers</a>;
   readonly attribute <a href="#command0">Command</a> <span title=dom-command-ro-command>command</span>;
@@ -33204,9 +33281,9 @@
    href="#option">option</a></code>, and <code><a
    href="#command0">command</a></code> elements.
 
-  <p>The <dfn id=checked7
+  <p>The <dfn id=checked6
    title=dom-command-ro-checked><code>checked</code></dfn> attribute must
-   return true if the command's <a href="#checked6"
+   return true if the command's <a href="#checked5"
    title=command-facet-CheckedState>Checked State</a> is that the command is
    checked, and false if it is that the command is not checked. If the
    element does not define a command, the attribute must return false. This
@@ -33286,7 +33363,7 @@
    State</a> facet of the command is always false. (The command is always
    enabled.)
 
-  <p>The <a href="#checked6" title=command-facet-CheckedState>Checked
+  <p>The <a href="#checked5" title=command-facet-CheckedState>Checked
    State</a> of the command is always false. (The command is never checked.)
 
   <p>The <a href="#action2" title=command-facet-Action>Action</a> of the
@@ -33305,7 +33382,7 @@
    title=command-facet-Label>Label</a>, <a href="#hint"
    title=command-facet-Hint>Hint</a>, <a href="#icon1"
    title=command-facet-Icon>Icon</a>, <a href="#hidden2"
-   title=command-facet-HiddenState>Hidden State</a>, <a href="#checked6"
+   title=command-facet-HiddenState>Hidden State</a>, <a href="#checked5"
    title=command-facet-CheckedState>Checked State</a>, and <a href="#action2"
    title=command-facet-Action>Action</a> facets of the command are determined
    <a href="#using5" title=a-command>as for <code>a</code> elements</a> (see
@@ -33346,8 +33423,8 @@
    depends on the Type of the command:
 
   <p>If the <a href="#type22" title=command-facet-Type>Type</a> is "command",
-   then it is the string given by the <code title=attr-input-value><a
-   href="#value7">value</a></code> attribute, if any, and a
+   then it is the string given by the <code
+   title=attr-input-value>value</code> attribute, if any, and a
    <span>UA-dependent value</span><!-- XXX xref--> that the UA uses to label
    the button itself if the attribute is absent.
 
@@ -33359,10 +33436,9 @@
    question is the <a href="#label4" title=command-facet-Label>Label</a> (in
    DOM terms, this the string given by <code><var
    title="">element</var>.labels[0].textContent</code>). Otherwise, the value
-   of the <code title=attr-input-value><a href="#value7">value</a></code>
-   attribute, if present, is the <a href="#label4"
-   title=command-facet-Label>Label</a>. Otherwise, the <a href="#label4"
-   title=command-facet-Label>Label</a> is the empty string.
+   of the <code title=attr-input-value>value</code> attribute, if present, is
+   the <a href="#label4" title=command-facet-Label>Label</a>. Otherwise, the
+   <a href="#label4" title=command-facet-Label>Label</a> is the empty string.
 
   <p>The <a href="#hint" title=command-facet-Hint>Hint</a> of the command is
    the value of the <code title=attr-title><a href="#title">title</a></code>
@@ -33382,11 +33458,11 @@
    State</a> of the command mirrors the <a href="#disabled4"
    title=concept-fe-disabled>disabled</a> state of the control.
 
-  <p>The <a href="#checked6" title=command-facet-CheckedState>Checked
+  <p>The <a href="#checked5" title=command-facet-CheckedState>Checked
    State</a> of the command is true if the command is of <a href="#type22"
    title=command-facet-Type>Type</a> "radio" or "checkbox" and the element
-   has a <code title=attr-input-checked><a href="#checked">checked</a></code>
-   attribute, and false otherwise.
+   has a <code title=attr-input-checked>checked</code> attribute, and false
+   otherwise.
 
   <p>The <a href="#action2" title=command-facet-Action>Action</a> of the
    command is to <a href="#firing" title="fire a click event">fire a <code
@@ -33440,7 +33516,7 @@
    State</a> of the command is true (disabled) if the element has a <code
    title=attr-option-disabled>disabled</code> attribute, and false otherwise.
 
-  <p>The <a href="#checked6" title=command-facet-CheckedState>Checked
+  <p>The <a href="#checked5" title=command-facet-CheckedState>Checked
    State</a> of the command is true (checked) if the element's <code
    title=dom-option-selected>selected</code> DOM attribute is true, and false
    otherwise.
@@ -33504,9 +33580,9 @@
    title=attr-command-disabled><a href="#disabled9">disabled</a></code>
    attribute, and false otherwise.
 
-  <p>The <a href="#checked6" title=command-facet-CheckedState>Checked
+  <p>The <a href="#checked5" title=command-facet-CheckedState>Checked
    State</a> of the command is true (checked) if the element has a <code
-   title=attr-command-checked><a href="#checked4">checked</a></code>
+   title=attr-command-checked><a href="#checked3">checked</a></code>
    attribute, and false otherwise.
 
   <p>The <a href="#action2" title=command-facet-Action>Action</a> of the
@@ -33572,7 +33648,7 @@
    href="#type18">type</a></code> attribute's state's <i>relevance</i> is
    false, and true otherwise.
 
-  <p>The <a href="#checked6" title=command-facet-CheckedState>Checked
+  <p>The <a href="#checked5" title=command-facet-CheckedState>Checked
    State</a> of the command is always false. (The command is never checked.)
 
   <p>The <a href="#action2" title=command-facet-Action>Action</a> of the
@@ -39319,7 +39395,7 @@
    the associated <code>Document</code> object, as an <a
    href="#absolute">absolute URL</a> (same as the <code
    title=dom-location-href><a href="#href5">href</a></code> attribute), and
-   the <a href="#common3" title=concept-uda-setter>common setter action</a>
+   the <a href="#common4" title=concept-uda-setter>common setter action</a>
    being the same as setting the <code title=dom-location-href><a
    href="#href5">href</a></code> attribute to the new output value.</p>
   <!--
@@ -43837,7 +43913,7 @@
      default value. For <code><a href="#input0">input</a></code> elements
      this means updating the <code title=dom-input-defaultValue><a
      href="#defaultvalue">defaultValue</a></code> DOM attribute as well as
-     the <code title=dom-input-value><a href="#value8">value</a></code> DOM
+     the <code title=dom-input-value><a href="#value7">value</a></code> DOM
      attribute; for <code><a href="#select">select</a></code> elements it
      means updating the <code><a href="#option">option</a></code> elements'
      <code title=dom-option-defaultSelected>defaultSelected</code> DOM
@@ -46391,7 +46467,7 @@
    addresses can have multiple clients (due to sharing a proxy server). It is
    better to include a unique identifier in the document when it is served
    and then pass that identifier as part of the URL in the <code
-   title=attr-eventsource-src><a href="#src13">src</a></code> attribute of
+   title=attr-eventsource-src><a href="#src12">src</a></code> attribute of
    the <code><a href="#eventsource">eventsource</a></code> element.
 
   <p>Implementations that support HTTP's per-server connection limitation
@@ -48377,9 +48453,9 @@
      (<code>></code>) characters, and must not be the empty string.</p>
 
     <div class=example>
-     <p>In the following example, the <code title=attr-input-value><a
-      href="#value7">value</a></code> attribute is given with the unquoted
-      attribute value syntax:</p>
+     <p>In the following example, the <code
+      title=attr-input-value>value</code> attribute is given with the
+      unquoted attribute value syntax:</p>
 
      <pre><input <em>value=yes</em>></pre>
     </div>

Modified: source
===================================================================
--- source	2008-09-17 00:34:31 UTC (rev 2201)
+++ source	2008-09-17 01:17:12 UTC (rev 2202)
@@ -24463,36 +24463,30 @@
   the control non-interactive and to prevent its value from being
   submitted.</p>
 
-  <p class="big-issue">... <dfn title="attr-input-autofocus"><code>autofocus</code></dfn></p>
-
-  <p>The semantics and processing rules of the <dfn
-  title="attr-input-accept"><code>accept</code></dfn>, <dfn
-  title="attr-input-alt"><code>alt</code></dfn>, <dfn
-  title="attr-input-autocomplete"><code>autocomplete</code></dfn>,
-  <dfn title="attr-input-checked"><code>checked</code></dfn>, <dfn
-  title="attr-input-inputmode"><code>inputmode</code></dfn>, <dfn
-  title="attr-input-list"><code>list</code></dfn>, <dfn
-  title="attr-input-max"><code>max</code></dfn>, <dfn
-  title="attr-input-maxlength"><code>maxlength</code></dfn>, <dfn
-  title="attr-input-min"><code>min</code></dfn>, <dfn
-  title="attr-input-pattern"><code>pattern</code></dfn>, <dfn
-  title="attr-input-readonly"><code>readonly</code></dfn>, <dfn
-  title="attr-input-required"><code>required</code></dfn>, <dfn
-  title="attr-input-size"><code>size</code></dfn>, <dfn
-  title="attr-input-src"><code>src</code></dfn>, <dfn
-  title="attr-input-step"><code>step</code></dfn>, and <dfn
-  title="attr-input-value"><code>value</code></dfn> attributes depend
-  on the state of the <code title="attr-input-type">type</code>
-  attribute, and are defined in the sections below.</p>
-
-  <p>The <code title="attr-fs-target">target</code>, <code
+  <p>Which of the <code title="attr-input-accept">accept</code>, <code
+  title="attr-fs-action">action</code>, <code
+  title="attr-input-alt">alt</code>, <code
+  title="attr-input-autocomplete">autocomplete</code>, <code
+  title="attr-input-autofocus">autofocus</code>, <code
+  title="attr-input-checked">checked</code>, <code
+  title="attr-fs-enctype">enctype</code>, and <code
+  title="attr-input-inputmode">inputmode</code>, <code
+  title="attr-input-list">list</code>, <code
+  title="attr-input-max">max</code>, <code
+  title="attr-input-maxlength">maxlength</code>, <code
   title="attr-fs-method">method</code>, <code
-  title="attr-fs-enctype">enctype</code>, and <code
-  title="attr-fs-action">action</code> attributes are used in
-  <span>form submission</span> when the <code
-  title="attr-input-type">type</code> attribute is in one of the <span
-  title="attr-input-type-submit">Submit Button</span> or <span
-  title="attr-input-type-image">Image Button</span> states.</p>
+  title="attr-input-min">min</code>, <code
+  title="attr-input-pattern">pattern</code>, <code
+  title="attr-input-readonly">readonly</code>, <code
+  title="attr-input-required">required</code>, <code
+  title="attr-input-size">size</code>, <code
+  title="attr-input-src">src</code>, <code
+  title="attr-input-step">step</code>, <code
+  title="attr-fs-target">target</code>, and <code
+  title="attr-input-value">value</code> attributes apply to an
+  <code>input</code> element depends on the state of its <code
+  title="attr-input-type">type</code> attribute. They are defined
+  below.</p>
 
   <p>The <dfn title="dom-input-accept"><code>accept</code></dfn>, <dfn
   title="dom-input-alt"><code>alt</code></dfn>, <dfn
@@ -24543,27 +24537,34 @@
 
 
 
-  <h5><dfn title="attr-input-type-text">Text</dfn> state</h5>
+  <h5>States of the <code title="attr-input-type">type</code> attribute</h5>
 
+  <h6><dfn title="attr-input-type-text">Text</dfn> state</h6>
+
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute is absent, has the value <code title="attr-input-type-text-keyword">text</code>,
   or has an invalid value, it is in the <span
   title="attr-input-type-text">Text</span> state.</p>
 
-  <p class="big-issue">...
-  <code title="attr-input-autocomplete">autocomplete</code>
-  <code title="attr-input-inputmode">inputmode</code>
-  <code title="attr-input-list">list</code>
-  <code title="attr-input-maxlength">maxlength</code>
-  <code title="attr-input-pattern">pattern</code>
-  <code title="attr-input-readonly">readonly</code>
-  <code title="attr-input-required">required</code>
-  <code title="attr-input-size">size</code>
-  <code title="attr-input-value">value</code>
-  </p>
+  <p class="big-issue">...</p>
 
   <p>When an <code>input</code> element's <code
   title="attr-input-type">type</code> attribute is in the <span
+  title="attr-input-type-text">Text</span> state, the following common
+  <code>input</code> element attributes apply to the element:
+  <code title="attr-input-autocomplete">autocomplete</code>,
+  <code title="attr-input-autofocus">autofocus</code>,
+  <code title="attr-input-inputmode">inputmode</code>,
+  <code title="attr-input-list">list</code>,
+  <code title="attr-input-maxlength">maxlength</code>,
+  <code title="attr-input-pattern">pattern</code>,
+  <code title="attr-input-readonly">readonly</code>,
+  <code title="attr-input-required">required</code>,
+  <code title="attr-input-size">size</code>, and
+  <code title="attr-input-value">value</code>.</p>
+
+  <p>When an <code>input</code> element's <code
+  title="attr-input-type">type</code> attribute is in the <span
   title="attr-input-type-text">Text</span> state, the following
   attributes must not be specified:
   <code class="no-backref" title="attr-input-accept">accept</code>,
@@ -24580,7 +24581,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-password">Password</dfn> state</h5>
+  <h6><dfn title="attr-input-type-password">Password</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-password-keyword">password</code>,
@@ -24590,7 +24591,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-image">Image Button</dfn> state</h5>
+  <h6><dfn title="attr-input-type-image">Image Button</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-image-keyword">image</code>,
@@ -24602,7 +24603,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-datetime">Date and Time</dfn> state</h5>
+  <h6><dfn title="attr-input-type-datetime">Date and Time</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-datetime-keyword">datetime</code>,
@@ -24612,7 +24613,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-datetime-local">Local Date and Time</dfn> state</h5>
+  <h6><dfn title="attr-input-type-datetime-local">Local Date and Time</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-datetime-local-keyword">datetime-local</code>,
@@ -24622,7 +24623,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-date">Date</dfn> state</h5>
+  <h6><dfn title="attr-input-type-date">Date</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-date-keyword">date</code>,
@@ -24632,7 +24633,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-month">Month</dfn> state</h5>
+  <h6><dfn title="attr-input-type-month">Month</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-month-keyword">month</code>,
@@ -24642,7 +24643,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-week">Week</dfn> state</h5>
+  <h6><dfn title="attr-input-type-week">Week</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-week-keyword">week</code>,
@@ -24652,7 +24653,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-time">Time</dfn> state</h5>
+  <h6><dfn title="attr-input-type-time">Time</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-time-keyword">time</code>,
@@ -24662,7 +24663,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-number">Number</dfn> state</h5>
+  <h6><dfn title="attr-input-type-number">Number</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-number-keyword">number</code>,
@@ -24672,7 +24673,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-range">Range</dfn> state</h5>
+  <h6><dfn title="attr-input-type-range">Range</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-range-keyword">range</code>,
@@ -24682,7 +24683,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-email">E-mail</dfn> state</h5>
+  <h6><dfn title="attr-input-type-email">E-mail</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-email-keyword">email</code>,
@@ -24692,7 +24693,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-url">URL</dfn> state</h5>
+  <h6><dfn title="attr-input-type-url">URL</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-url-keyword">url</code>,
@@ -24702,7 +24703,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-checkbox">Checkbox</dfn> state</h5>
+  <h6><dfn title="attr-input-type-checkbox">Checkbox</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-checkbox-keyword">checkbox</code>,
@@ -24714,7 +24715,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-radio">Radio Button</dfn> state</h5>
+  <h6><dfn title="attr-input-type-radio">Radio Button</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-radio-keyword">radio</code>,
@@ -24726,7 +24727,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-file">File</dfn> state</h5>
+  <h6><dfn title="attr-input-type-file">File</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-file-keyword">file</code>,
@@ -24738,7 +24739,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-hidden">Hidden</dfn> state</h5>
+  <h6><dfn title="attr-input-type-hidden">Hidden</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-hidden-keyword">hidden</code>,
@@ -24748,7 +24749,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-submit">Submit Button</dfn> state</h5>
+  <h6><dfn title="attr-input-type-submit">Submit Button</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-submit-keyword">submit</code>,
@@ -24762,7 +24763,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-reset">Reset Button</dfn> state</h5>
+  <h6><dfn title="attr-input-type-reset">Reset Button</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-reset-keyword">reset</code>,
@@ -24772,7 +24773,7 @@
 
 
 
-  <h5><dfn title="attr-input-type-button">Button</dfn> state</h5>
+  <h6><dfn title="attr-input-type-button">Button</dfn> state</h6>
 
   <p>When an <code>input</code> element's <code title="attr-input-type">type</code>
   attribute has the value <code title="attr-input-type-button-keyword">button</code>,
@@ -24782,7 +24783,88 @@
 
 
 
+  <h5>Common <code>input</code> element attributes</h5>
 
+  <p>These attributes only apply to an <code>input</code> element if
+  its <code title="attr-input-type">type</code> attribute is in a
+  state whose definition declares that the attribute applies. When an
+  attribute doesn't apply to an <code>input</code> element, user
+  agents must <span>ignore</span> the attribute.</p>
+
+
+  <h6>The <code title="attr-input-autocomplete">autocomplete</code> attribute</h6>
+
+  <!--XXX IE also applies it to <form> elements. It doesn't apply it
+  to <textarea>. -->
+ 
+  <p>The <dfn
+  title="attr-input-autocomplete"><code>autocomplete</code></dfn>
+  attribute is an enumerated attribute. The attribute has two
+  states. The <code title="attr-input-autocomplete-on">on</code>
+  keyword maps to the <dfn
+  title="attr-input-autocomplete-on-state">on</dfn> state, and the
+  <code title="attr-input-autocomplete-off">off</code> keyword maps to
+  the <dfn title="attr-input-autocomplete-off-state">off</dfn>
+  state. The attribute may also be omitted. The <i>missing value
+  default</i> is the <span
+  title="attr-input-autocomplete-on-state">on</span> state.</p>
+
+  <p>The <span title="attr-input-autocomplete-off-state">off</span>
+  state indicates that the control's input data is either
+  particularily sensitive (for example the activation code for a
+  nuclear weapon) or is a value that will never be reused (for example
+  a one-time-key for a bank login) and the user should therefore
+  explicitly enter the data each time, instead of being able to rely
+  on the UA to prefill the value for him.</p>
+
+  <p>Conversely, the <span
+  title="attr-input-autocomplete-on-state">on</span> state indicates
+  that the value is not particularily sensitive and the user should
+  expect to be able to rely on his UA to remember values he has
+  entered for that control.</p>
+
+  <p>When an <code>input</code> element's <code
+  title="attr-input-autocomplete">autocomplete</code> attribute is in
+  the <span title="attr-input-autocomplete-on-state">on</span> state,
+  the user agent may store the value entered by the user so that if
+  the user returns to the page, the UA can prefill the form. When an
+  <code>input</code> element's <code
+  title="attr-input-autocomplete">autocomplete</code> attribute is in
+  the <span title="attr-input-autocomplete-off-state">off</span>
+  state, the user agent should not remember the control's value.</p>
+  <!-- XXX xref value? -->
+
+  <p>This specification does not define the autocompletion mechanism.
+  User agents may implement any system within the conformance criteria
+  of this specification, taking into account security and privacy
+  concerns.</p>
+
+  <div class="example">
+
+   <p>Banks frequently do not want UAs to prefill login
+   information:</p>
+
+   <pre><p>Account: <input type="text" name="ac" autocomplete="off"></p>
+<p>PIN: <input type="text" name="pin" autocomplete="off"></p></pre>
+
+  </div>
+
+  <p>A user agent may allow the user to disable support for this
+  attribute's <span
+  title="attr-input-autocomplete-off-state">off</span> state (causing
+  the attribute to always be in the <span
+  title="attr-input-autocomplete-on-state">on</span> state and always
+  allowing values to be remembered and prefilled). Support for the
+  <span title="attr-input-autocomplete-off-state">off</span> state
+  should be enabled by default, and the ability to disable support
+  should not be trivially accessible, as there are significant
+  security implications for the user if support for this attribute is
+  disabled.</p>
+
+
+
+
+
   <h4>The <dfn><code>button</code></dfn> element</h4>
 
   <dl class="element">
@@ -25265,6 +25347,7 @@
   <p class="big-issue">... <dfn title="dom-fe-disabled">disabled</dfn> DOM attribute</p>
 
   <p class="big-issue">... <dfn title="concept-fe-value">value</dfn></p>
+  <!-- XXX autocomplete: define somewhere that the value may be set from a stored value -->
 
 
   <h4><dfn>Attributes for form submission</dfn></h4>




More information about the Commit-Watchers mailing list