html5/spec Overview.html,1.1454,1.1455

Update of /sources/public/html5/spec
In directory hutz:/tmp/cvs-serv3914

Modified Files:
	Overview.html 
Log Message:
WF2: input and change events; activation behaviors for <input> element. (whatwg r2282)

Index: Overview.html
===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.1454
retrieving revision 1.1455
diff -u -d -r1.1454 -r1.1455
--- Overview.html	4 Oct 2008 01:28:27 -0000	1.1454
+++ Overview.html	5 Oct 2008 09:19:58 -0000	1.1455
@@ -8,7 +8,7 @@
    <p><a href=http://www.w3.org/><img alt=W3C height=48 src=http://www.w3.org/Icons/w3c_home width=72></a></p>
    <h1>HTML 5</h1>
    <h2 class="no-num no-toc" id=a-vocabulary-and-associated-apis-for-html-and-xhtml>A vocabulary and associated APIs for HTML and XHTML</h2>
-   <h2 class="no-num no-toc" id=editor-s-draft-date-zzz-9-june-2008><!-- "W3C Working Draft" --> Editor's Draft <!--ZZZ-->4 October 2008</h2>
+   <h2 class="no-num no-toc" id=editor-s-draft-date-zzz-9-june-2008><!-- "W3C Working Draft" --> Editor's Draft <!--ZZZ-->5 October 2008</h2>
    <dl><!-- ZZZ: update the month/day
     <dt>This Version:</dt>
     <dd><a href="http://www.w3.org/TR/2008/WD-html5-20080609/">http://www.w3.org/TR/2008/WD-html5-20080609/</a></dd>
@@ -100,7 +100,7 @@
   specification's progress along the W3C Recommendation
   track.
   <!--ZZZ:-->
-  This specification is the 4 October 2008 <!--ZZZ "Working Draft"-->Editor's Draft.
+  This specification is the 5 October 2008 <!--ZZZ "Working Draft"-->Editor's Draft.
   <!--:ZZZ-->
   </p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- relationship to other work (required) --><p>This specification is also being produced by the <a href=http://www.whatwg.org/>WHATWG</a>. The two specifications are
   identical from the table of contents onwards.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- context and rationale (required) --><p>This specification is intended to replace (be a new version of)
@@ -476,7 +476,8 @@
          <li><a href=#the-pattern-attribute><span class=secno>4.10.4.2.7 </span>The <code title=attr-input-pattern>pattern</code> attribute</a></li>
          <li><a href=#the-min-and-max-attributes><span class=secno>4.10.4.2.8 </span>The <code title=attr-input-min>min</code> and <code title=attr-input-max>max</code> attributes</a></li>
          <li><a href=#the-step-attribute><span class=secno>4.10.4.2.9 </span>The <code title=attr-input-step>step</code> attribute</a></ol></li>
-       <li><a href=#common-input-element-apis><span class=secno>4.10.4.3 </span>Common <code>input</code> element APIs</a></ol></li>
+       <li><a href=#common-input-element-apis><span class=secno>4.10.4.3 </span>Common <code>input</code> element APIs</a></li>
+       <li><a href=#common-event-behaviors><span class=secno>4.10.4.4 </span>Common event behaviors</a></ol></li>
      <li><a href=#the-button-element><span class=secno>4.10.5 </span>The <code>button</code> element</a></li>
      <li><a href=#the-select-element><span class=secno>4.10.6 </span>The <code>select</code> element</a></li>
      <li><a href=#the-datalist-element><span class=secno>4.10.7 </span>The <code>datalist</code> element</a></li>
@@ -19330,6 +19331,50 @@
      <td class=no> &middot; <!-- Reset Button -->
 <!-- <td class="no"> &middot;      Button -->
 
+    <tr><th> <code title=event-input-input><a href=#event-input-input>input</a></code> event
+     <td class=no> &middot; <!-- Hidden -->
+     <td class=yes> Yes     <!-- Text -->
+<!-- <td class="yes"> Yes          E-mail -->
+<!-- <td class="yes"> Yes          URL -->
+     <td class=yes> Yes     <!-- Password -->
+     <td class=yes> Yes     <!-- Date and Time -->
+<!-- <td class="yes"> Yes          Date -->
+<!-- <td class="yes"> Yes          Month -->
+<!-- <td class="yes"> Yes          Week -->
+<!-- <td class="yes"> Yes          Time -->
+     <td class=yes> Yes     <!-- Local Date and Time -->
+<!-- <td class="yes"> Yes          Number -->
+     <td class=yes> Yes     <!-- Range -->
+     <td class=yes> Yes     <!-- Checkbox -->
+<!-- <td class="yes"> Yes          Radio Button -->
+     <td class=no> &middot; <!-- File Upload -->
+     <td class=no> &middot; <!-- Submit Button -->
+     <td class=no> &middot; <!-- Image Button -->
+     <td class=no> &middot; <!-- Reset Button -->
+<!-- <td class="no"> &middot;      Button -->
+
+    <tr><th> <code title=event-input-change><a href=#event-input-change>change</a></code> event
+     <td class=no> &middot; <!-- Hidden -->
+     <td class=yes> Yes     <!-- Text -->
+<!-- <td class="yes"> Yes          E-mail -->
+<!-- <td class="yes"> Yes          URL -->
+     <td class=yes> Yes     <!-- Password -->
+     <td class=yes> Yes     <!-- Date and Time -->
+<!-- <td class="yes"> Yes          Date -->
+<!-- <td class="yes"> Yes          Month -->
+<!-- <td class="yes"> Yes          Week -->
+<!-- <td class="yes"> Yes          Time -->
+     <td class=yes> Yes     <!-- Local Date and Time -->
+<!-- <td class="yes"> Yes          Number -->
+     <td class=yes> Yes     <!-- Range -->
+     <td class=yes> Yes     <!-- Checkbox -->
+<!-- <td class="yes"> Yes          Radio Button -->
+     <td class=yes> Yes     <!-- File Upload -->
+     <td class=no> &middot; <!-- Submit Button -->
+     <td class=no> &middot; <!-- Image Button -->
+     <td class=no> &middot; <!-- Reset Button -->
+<!-- <td class="no"> &middot; Button -->
+
   </table><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute changes state, and
   when the element is first created, the element's rendering and
   behaviour must change to the new state's accordingly and the
@@ -19415,8 +19460,7 @@
   methods, are part of the <a href=#the-constraint-validation-api>constraint validation API</a>.<h5 id=states-of-the-type-attribute><span class=secno>4.10.4.1 </span>States of the <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute</h5><!-- XXX for things that say "express it as a valid foo", make sure
   that valid foo is unambiguous, and if not, define a canonical
   serialisation. e.g. should it be 2008-01-01T00:00 or
-  2008-01-01t00:00? should it be 1e2 or 100? --><!-- XXX for each of these, need to say when to fire oninput and
-  onchange --><h6 id=hidden-state><span class=secno>4.10.4.1.1 </span><dfn title=attr-input-type-hidden>Hidden</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#hidden-state title=attr-input-type-hidden>Hidden</a> state, the rules in
+  2008-01-01t00:00? should it be 1e2 or 100? --><h6 id=hidden-state><span class=secno>4.10.4.1.1 </span><dfn title=attr-input-type-hidden>Hidden</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#hidden-state title=attr-input-type-hidden>Hidden</a> state, the rules in
   this section apply.<p>The <code><a href=#the-input-element>input</a></code> element represents a value that is not
   intended to be examined or manipulated by the user.<p><strong>Constraint validation:</strong> If an <code><a href=#the-input-element>input</a></code>
   element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in
@@ -19455,7 +19499,7 @@
   <code class=no-backref title=dom-input-valueAsDate><a href=#dom-input-valueasdate>valueAsDate</a></code>, and
   <code class=no-backref title=dom-input-valueAsNumber><a href=#dom-input-valueasnumber>valueAsNumber</a></code> DOM attributes
   <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code>, and
-  <code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> methods.<h6 id=text-state><span class=secno>4.10.4.1.2 </span><dfn title=attr-input-type-text>Text</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#text-state title=attr-input-type-text>Text</a> state, the rules in this
+  <code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> methods.<p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not fire.<h6 id=text-state><span class=secno>4.10.4.1.2 </span><dfn title=attr-input-type-text>Text</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#text-state title=attr-input-type-text>Text</a> state, the rules in this
   section apply.<p>The <code><a href=#the-input-element>input</a></code> element represents a one line plain text
   edit control for the element's <a href=#concept-fe-value title=concept-fe-value>value</a>.<p>If the element is <i title=concept-input-mutable><a href=#concept-input-mutable>mutable</a></i>,
   its <a href=#concept-fe-value title=concept-fe-value>value</a> should be editable
@@ -19476,7 +19520,7 @@
   <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attributes.
 
   <p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute is
-  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The following content attributes must not be specified and do not
+  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> and <code title=event-input-change><a href=#event-input-change>change</a></code> events apply.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -19522,7 +19566,7 @@
   <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attributes.
 
   <p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute is
-  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The following content attributes must not be specified and do not
+  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> and <code title=event-input-change><a href=#event-input-change>change</a></code> events apply.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -19565,7 +19609,7 @@
   <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attributes.
 
   <p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute is
-  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The following content attributes must not be specified and do not
+  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> and <code title=event-input-change><a href=#event-input-change>change</a></code> events apply.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -19598,7 +19642,7 @@
   <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code>,
   <code title=attr-input-required><a href=#attr-input-required>required</a></code>, and
   <code title=attr-input-size><a href=#attr-input-size>size</a></code> content attributes;
-  <code title=attr-input-value><a href=#attr-input-value>value</a></code> DOM attribute.<p>The following content attributes must not be specified and do not
+  <code title=attr-input-value><a href=#attr-input-value>value</a></code> DOM attribute.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> and <code title=event-input-change><a href=#event-input-change>change</a></code> events apply.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -19683,7 +19727,7 @@
   <code title=dom-input-selectedOption><a href=#dom-input-selectedoption>selectedOption</a></code> DOM attributes;
   <code title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code>, and
   <code title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> methods.<p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute is
-  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The following content attributes must not be specified and do not
+  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> and <code title=event-input-change><a href=#event-input-change>change</a></code> events apply.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-input-alt><a href=#attr-input-alt>alt</a></code>,
@@ -19761,7 +19805,7 @@
   <code title=dom-input-selectedOption><a href=#dom-input-selectedoption>selectedOption</a></code> DOM attributes;
   <code title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code>, and
   <code title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> methods.<p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute is
-  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The following content attributes must not be specified and do not
+  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> and <code title=event-input-change><a href=#event-input-change>change</a></code> events apply.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -19837,7 +19881,7 @@
   <code title=dom-input-selectedOption><a href=#dom-input-selectedoption>selectedOption</a></code> DOM attributes;
   <code title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code>, and
   <code title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> methods.<p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute is
-  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The following content attributes must not be specified and do not
+  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> and <code title=event-input-change><a href=#event-input-change>change</a></code> events apply.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -19915,7 +19959,7 @@
   <code title=dom-input-selectedOption><a href=#dom-input-selectedoption>selectedOption</a></code> DOM attributes;
   <code title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code>, and
   <code title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> methods.<p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute is
-  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The following content attributes must not be specified and do not
+  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> and <code title=event-input-change><a href=#event-input-change>change</a></code> events apply.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -19987,7 +20031,7 @@
   <code title=dom-input-selectedOption><a href=#dom-input-selectedoption>selectedOption</a></code> DOM attributes;
   <code title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code>, and
   <code title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> methods.<p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute is
-  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The following content attributes must not be specified and do not
+  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> and <code title=event-input-change><a href=#event-input-change>change</a></code> events apply.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -20055,7 +20099,7 @@
   <code title=dom-input-selectedOption><a href=#dom-input-selectedoption>selectedOption</a></code> DOM attributes;
   <code title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code>, and
   <code title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> methods.<p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute is
-  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The following content attributes must not be specified and do not
+  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> and <code title=event-input-change><a href=#event-input-change>change</a></code> events apply.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -20117,7 +20161,7 @@
   <code title=dom-input-selectedOption><a href=#dom-input-selectedoption>selectedOption</a></code> DOM attributes;
   <code title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code>, and
   <code title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> methods.<p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute is
-  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The following content attributes must not be specified and do not
+  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> and <code title=event-input-change><a href=#event-input-change>change</a></code> events apply.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -20197,7 +20241,7 @@
   <code title=dom-input-selectedOption><a href=#dom-input-selectedoption>selectedOption</a></code> DOM attributes;
   <code title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code>, and
   <code title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> methods.<p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute is
-  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The following content attributes must not be specified and do not
+  in mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> and <code title=event-input-change><a href=#event-input-change>change</a></code> events apply.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -20219,14 +20263,22 @@
   element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state
   is true, the control represents a positive selection, and if it is
   false, a negative selection.<p>If the element is <i title=concept-input-mutable><a href=#concept-input-mutable>mutable</a></i>,
-  the user should allow the user to toggle the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state.<p><strong>Constraint validation:</strong> If the element is <i title=concept-input-required><a href=#concept-input-required>required</a></i> and its <span title=concept-fe-checkedness>checkedness</span> is false, then the
-  element is <a href=#suffering-from-being-missing>suffering from being missing</a>.</p><!-- XXX event timing; activation behavior --><p>The following common <code><a href=#the-input-element>input</a></code> element content
+  then: The <a href=#pre-click-activation-steps>pre-click activation steps</a> consist of setting
+  the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> to
+  its opposite value (i.e. true if it is false, false if it is
+  true). The <a href=#canceled-activation-steps>canceled activation steps</a> consist of setting
+  the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> back to the
+  value it had before the <a href=#pre-click-activation-steps>pre-click activation steps</a> were
+  run. The <a href=#activation-behavior>activation behavior</a> is to <a href=#fire-a-simple-event>fire a simple
+  event</a> called <code title=event-change>change</code> at the
+  element.<p><strong>Constraint validation:</strong> If the element is <i title=concept-input-required><a href=#concept-input-required>required</a></i> and its <span title=concept-fe-checkedness>checkedness</span> is false, then the
+  element is <a href=#suffering-from-being-missing>suffering from being missing</a>.<p>The following common <code><a href=#the-input-element>input</a></code> element content
   attributes and DOM attributes apply to the element:
   <code title=attr-input-checked><a href=#attr-input-checked>checked</a></code>, and
   <code title=attr-input-required><a href=#attr-input-required>required</a></code> content attributes;
   <code title=dom-input-checked><a href=#dom-input-checked>checked</a></code> and
   <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attributes.<p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute is
-  in mode <a href=#dom-input-value-default-on title=dom-input-value-default-on>default/on</a>.<p>The following content attributes must not be specified and do not
+  in mode <a href=#dom-input-value-default-on title=dom-input-value-default-on>default/on</a>.<p>The <code title=event-input-change><a href=#event-input-change>change</a></code> event applies.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -20249,7 +20301,8 @@
   <code class=no-backref title=dom-input-valueAsDate><a href=#dom-input-valueasdate>valueAsDate</a></code> and
   <code class=no-backref title=dom-input-valueAsNumber><a href=#dom-input-valueasnumber>valueAsNumber</a></code> DOM attributes;
   <code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> and
-  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<h6 id=radio-button-state><span class=secno>4.10.4.1.15 </span><dfn title=attr-input-type-radio>Radio Button</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#radio-button-state title=attr-input-type-radio>Radio Button</a> state, the rules
+  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> event does not
+  apply.<h6 id=radio-button-state><span class=secno>4.10.4.1.15 </span><dfn title=attr-input-type-radio>Radio Button</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#radio-button-state title=attr-input-type-radio>Radio Button</a> state, the rules
   in this section apply.<p>The <code><a href=#the-input-element>input</a></code> element represents a control that, when
   used in conjunction with other <code><a href=#the-input-element>input</a></code> elements, forms a
   <i><a href=#radio-button-group>radio button group</a></i> in which only one control can have its
@@ -20271,12 +20324,10 @@
    attribute.</li>
 
   </ul><p>A document must not contain an <code><a href=#the-input-element>input</a></code> element whose
-  <i><a href=#radio-button-group>radio button group</a></i> contains only that element.<p>If the element is <i title=concept-input-mutable><a href=#concept-input-mutable>mutable</a></i>,
-  the user should allow the user to set the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state of the
-  element to true.<p>When any of the following events occur, if the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is true after
+  <i><a href=#radio-button-group>radio button group</a></i> contains only that element.<p>When any of the following events occur, if the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is true after
   the event, the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state of all the
   other elements in the same <i><a href=#radio-button-group>radio button group</a></i> must be set to
-  false:</p><!-- XXX event firing order and timing --><ul><li>The element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is set to
+  false:<ul><li>The element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is set to
    true (for whatever reason).</li>
 
    <li>The element's <code title=attr-fe-name><a href=#attr-fe-name>name</a></code>
@@ -20285,17 +20336,24 @@
 
    <li>The element's <a href=#form-owner>form owner</a> changes.</li>
 
-  </ul><p><strong>Constraint validation:</strong> If the element is <i title=concept-input-required><a href=#concept-input-required>required</a></i> and all of the
+  </ul><p>If the element is <i title=concept-input-mutable><a href=#concept-input-mutable>mutable</a></i>,
+  then: The <a href=#pre-click-activation-steps>pre-click activation steps</a> consist of setting
+  the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> to
+  true. The <a href=#canceled-activation-steps>canceled activation steps</a> consist of setting
+  the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> to
+  false. The <a href=#activation-behavior>activation behavior</a> is to <a href=#fire-a-simple-event>fire a
+  simple event</a> called <code title=event-change>change</code>
+  at the element.<p><strong>Constraint validation:</strong> If the element is <i title=concept-input-required><a href=#concept-input-required>required</a></i> and all of the
   <code><a href=#the-input-element>input</a></code> elements in the <i><a href=#radio-button-group>radio button group</a></i> have a
   <span title=concept-fe-checkedness>checkedness</span> that is
   false, then the element is <a href=#suffering-from-being-missing>suffering from being
-  missing</a>.</p><!-- XXX event timing; activation behavior --><p>The following common <code><a href=#the-input-element>input</a></code> element content
+  missing</a>.<p>The following common <code><a href=#the-input-element>input</a></code> element content
   attributes and DOM attributes apply to the element:
   <code title=attr-input-checked><a href=#attr-input-checked>checked</a></code> and
   <code title=attr-input-required><a href=#attr-input-required>required</a></code> content attributes;
   <code title=dom-input-checked><a href=#dom-input-checked>checked</a></code> and
   <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attributes.<p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute is
-  in mode <a href=#dom-input-value-default-on title=dom-input-value-default-on>default/on</a>.<p>The following content attributes must not be specified and do not
+  in mode <a href=#dom-input-value-default-on title=dom-input-value-default-on>default/on</a>.<p>The <code title=event-input-change><a href=#event-input-change>change</a></code> event applies.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-input-accept><a href=#attr-input-accept>accept</a></code>,
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -20318,7 +20376,8 @@
   <code class=no-backref title=dom-input-valueAsDate><a href=#dom-input-valueasdate>valueAsDate</a></code> and
   <code class=no-backref title=dom-input-valueAsNumber><a href=#dom-input-valueasnumber>valueAsNumber</a></code> DOM attributes;
   <code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> and
-  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<h6 id=file-upload-state><span class=secno>4.10.4.1.16 </span><dfn title=attr-input-type-file>File Upload</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#file-upload-state title=attr-input-type-file>File Upload</a> state, the rules in this
+  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> event does not
+  apply.<h6 id=file-upload-state><span class=secno>4.10.4.1.16 </span><dfn title=attr-input-type-file>File Upload</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#file-upload-state title=attr-input-type-file>File Upload</a> state, the rules in this
   section apply.<p>The <code><a href=#the-input-element>input</a></code> element represents a list of <dfn id=concept-input-type-file-selected title=concept-input-type-file-selected>selected files</dfn>, each
   file consisting of a file name, a file type, and a file body (the
   contents of the file).<p>If the element is <i title=concept-input-mutable><a href=#concept-input-mutable>mutable</a></i>,
@@ -20353,7 +20412,7 @@
   not accepted by one (or more) of these tokens.</p><hr><p>The following common <code><a href=#the-input-element>input</a></code> element content
   attributes apply to the element:
   <code title=attr-input-accept><a href=#attr-input-accept>accept</a></code> and
-  <code title=attr-input-required><a href=#attr-input-required>required</a></code>.<p>The following content attributes must not be specified and do not
+  <code title=attr-input-required><a href=#attr-input-required>required</a></code>.<p>The <code title=event-input-change><a href=#event-input-change>change</a></code> event applies.<p>The following content attributes must not be specified and do not
   apply to the element:
   <code class=no-backref title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
   <code class=no-backref title=attr-input-alt><a href=#attr-input-alt>alt</a></code>,
@@ -20379,14 +20438,16 @@
   <code class=no-backref title=dom-input-valueAsDate><a href=#dom-input-valueasdate>valueAsDate</a></code> and
   <code class=no-backref title=dom-input-valueAsNumber><a href=#dom-input-valueasnumber>valueAsNumber</a></code> DOM attributes;
   <code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> and
-  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<h6 id=submit-button-state><span class=secno>4.10.4.1.17 </span><dfn title=attr-input-type-submit>Submit Button</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#submit-button-state title=attr-input-type-submit>Submit Button</a> state, the rules
+  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<p>The <code title=event-input-input><a href=#event-input-input>input</a></code> event does not
+  apply.<h6 id=submit-button-state><span class=secno>4.10.4.1.17 </span><dfn title=attr-input-type-submit>Submit Button</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#submit-button-state title=attr-input-type-submit>Submit Button</a> state, the rules
   in this section apply.<p>The <code><a href=#the-input-element>input</a></code> element represents a button that, when
   activated, submits the form. If the element has a <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, the button's label
   must be the value of that attribute; otherwise, it must be an
   implementation-defined string that means "Submit" or some such.<p>If the element is <i title=concept-input-mutable><a href=#concept-input-mutable>mutable</a></i>,
-  the user should allow the user to activate the element.</p><!-- XXX event timing; activation behavior --><p>When the element is activated, if the element has a <a href=#form-owner>form
-  owner</a>, the element must <a href=#concept-form-submit title=concept-form-submit>submit</a> the <a href=#form-owner>form
-  owner</a> from the <code><a href=#the-input-element>input</a></code> element.<p>The <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes control the form
+  the user should allow the user to activate the element.<p>The element's <a href=#activation-behavior>activation behavior</a>, if the element
+  has a <a href=#form-owner>form owner</a>, is to <a href=#concept-form-submit title=concept-form-submit>submit</a> the <a href=#form-owner>form
+  owner</a> from the <code><a href=#the-input-element>input</a></code> element; otherwise, it is
+  to do nothing.<p>The <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes control the form
   submission.<p>The following common <code><a href=#the-input-element>input</a></code> element content
   attributes and DOM attributes apply to the element:
   <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>,
@@ -20416,7 +20477,7 @@
   <code class=no-backref title=dom-input-valueAsDate><a href=#dom-input-valueasdate>valueAsDate</a></code> and
   <code class=no-backref title=dom-input-valueAsNumber><a href=#dom-input-valueasnumber>valueAsNumber</a></code> DOM attributes;
   <code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> and
-  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<h6 id=image-button-state><span class=secno>4.10.4.1.18 </span><dfn title=attr-input-type-image>Image Button</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#image-button-state title=attr-input-type-image>Image Button</a> state, the rules
+  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not fire.<h6 id=image-button-state><span class=secno>4.10.4.1.18 </span><dfn title=attr-input-type-image>Image Button</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#image-button-state title=attr-input-type-image>Image Button</a> state, the rules
   in this section apply.<p>The <code><a href=#the-input-element>input</a></code> element represents either an image from
   which a user can select a coordinate and submit the form, or
   alternatively a button from which the user can submit the form.</p><hr><p>The image is given by the <dfn id=attr-input-src title=attr-input-src><code>src</code></dfn> attribute. The <code title=attr-input-src><a href=#attr-input-src>src</a></code> attribute must be present, and
@@ -20472,16 +20533,20 @@
   selecting a <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>coordinate</a> from
   the image specified by the <code title=attr-input-src><a href=#attr-input-src>src</a></code>
   attribute; if the element is <i title=concept-input-mutable><a href=#concept-input-mutable>mutable</a></i>, the user should allow the
-  user to select this <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>coordinate</a>, at
-  which point the element's <a href=#form-owner>form owner</a>, if any, must be
-  <a href=#concept-form-submit title=concept-form-submit>submitted</a> from the
-  <code><a href=#the-input-element>input</a></code> element.<p>Otherwise, the element represents a submit button whose label is
+  user to select this <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>coordinate</a>. The
+  <a href=#activation-behavior>activation behavior</a> in this case consists of taking the
+  user's selected <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>coordinate</a>, and
+  then, if the element has a <a href=#form-owner>form owner</a>, <a href=#concept-form-submit title=concept-form-submit>submitting</a> the <code><a href=#the-input-element>input</a></code>
+  element's <a href=#form-owner>form owner</a> from the <code><a href=#the-input-element>input</a></code>
+  element.<p>Otherwise, the element represents a submit button whose label is
   given by the value of the <code title=attr-input-alt><a href=#attr-input-alt>alt</a></code>
   attribute; if the element is <i title=concept-input-mutable><a href=#concept-input-mutable>mutable</a></i>, the user should allow the
-  user to activate the button, at which point the the <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected
-  coordinate</a> must be set to (0,0) and the element's <a href=#form-owner>form
-  owner</a>, if any, must be <a href=#concept-form-submit title=concept-form-submit>submitted</a> from the
-  <code><a href=#the-input-element>input</a></code> element.</p><!-- XXX event timing; activation behavior --><p>The <dfn id=concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected
+  user to activate the button. The <a href=#activation-behavior>activation behavior</a> in
+  this case consists of setting the <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected
+  coordinate</a> to (0,0), and then, if the element has a
+  <a href=#form-owner>form owner</a>, <a href=#concept-form-submit title=concept-form-submit>submitting</a> the <code><a href=#the-input-element>input</a></code>
+  element's <a href=#form-owner>form owner</a> from the <code><a href=#the-input-element>input</a></code>
+  element.<p>The <dfn id=concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected
   coordinate</dfn> must consist of an <var title="">x</var>-component
   and a <var title="">y</var>-component. The <var title="">x</var>-component must be greater than or equal to zero,
   and less than or equal to the rendered width, in CSS pixels, of the
@@ -20518,7 +20583,7 @@
   <code class=no-backref title=dom-input-valueAsDate><a href=#dom-input-valueasdate>valueAsDate</a></code> and
   <code class=no-backref title=dom-input-valueAsNumber><a href=#dom-input-valueasnumber>valueAsNumber</a></code> DOM attributes;
   <code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> and
-  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<p class=note>Many aspects of this state's behavior are similar to
+  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not fire.<p class=note>Many aspects of this state's behavior are similar to
   the behavior of the <code><a href=#the-img-element>img</a></code> element. Readers are encouraged
   to read that section, where many of the same requirements are
   described in more detail.<h6 id=reset-button-state><span class=secno>4.10.4.1.19 </span><dfn title=attr-input-type-reset>Reset Button</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#reset-button-state title=attr-input-type-reset>Reset Button</a> state, the rules
@@ -20526,9 +20591,9 @@
   activated, resets the form. If the element has a <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, the button's label
   must be the value of that attribute; otherwise, it must be an
   implementation-defined string that means "Reset" or some such.<p>If the element is <i title=concept-input-mutable><a href=#concept-input-mutable>mutable</a></i>,
-  the user should allow the user to activate the element.</p><!-- XXX event timing; activation behavior --><p>When the element is activated, if the element has a <a href=#form-owner>form
-  owner</a>, the element must <a href=#concept-form-reset title=concept-form-reset>reset</a> the <a href=#form-owner>form
-  owner</a>.<p><strong>Constraint validation:</strong> The element is
+  the user should allow the user to activate the element.<p>The element's <a href=#activation-behavior>activation behavior</a>, if the element
+  has a <a href=#form-owner>form owner</a>, is to <a href=#concept-form-reset title=concept-form-reset>reset</a> the <a href=#form-owner>form owner</a>;
+  otherwise, it is to do nothing.<p><strong>Constraint validation:</strong> The element is
   <a href=#barred-from-constraint-validation>barred from constraint validation</a>.<p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute
   applies to this element and is in mode <a href=#dom-input-value-default title=dom-input-value-default>default</a>.<p>The following content attributes must not be specified and do not
   apply to the element:
@@ -20556,12 +20621,13 @@
   <code class=no-backref title=dom-input-valueAsDate><a href=#dom-input-valueasdate>valueAsDate</a></code> and
   <code class=no-backref title=dom-input-valueAsNumber><a href=#dom-input-valueasnumber>valueAsNumber</a></code> DOM attributes;
   <code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> and
-  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<h6 id=button-state><span class=secno>4.10.4.1.20 </span><dfn title=attr-input-type-button>Button</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#button-state title=attr-input-type-button>Button</a> state, the rules in
+  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not fire.<h6 id=button-state><span class=secno>4.10.4.1.20 </span><dfn title=attr-input-type-button>Button</dfn> state</h6><p>When an <code><a href=#the-input-element>input</a></code> element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#button-state title=attr-input-type-button>Button</a> state, the rules in
   this section apply.<p>The <code><a href=#the-input-element>input</a></code> element represents a button with no
   default behavior. If the element has a <code title=attr-input-value><a href=#attr-input-value>value</a></code> attribute, the button's label
   must be the value of that attribute; otherwise, it must be the empty
   string.<p>If the element is <i title=concept-input-mutable><a href=#concept-input-mutable>mutable</a></i>,
-  the user should allow the user to activate the element.</p><!-- XXX event timing; activation behavior --><p><strong>Constraint validation:</strong> The element is
+  the user should allow the user to activate the element. The
+  element's <a href=#activation-behavior>activation behavior</a> is to do nothing.<p><strong>Constraint validation:</strong> The element is
   <a href=#barred-from-constraint-validation>barred from constraint validation</a>.<p>The <code title=dom-input-value><a href=#dom-input-value>value</a></code> DOM attribute
   applies to this element and is in mode <a href=#dom-input-value-default title=dom-input-value-default>default</a>.<p>The following content attributes must not be specified and do not
   apply to the element:
@@ -20589,7 +20655,7 @@
   <code class=no-backref title=dom-input-valueAsDate><a href=#dom-input-valueasdate>valueAsDate</a></code> and
   <code class=no-backref title=dom-input-valueAsNumber><a href=#dom-input-valueasnumber>valueAsNumber</a></code> DOM attributes;
   <code class=no-backref title=dom-input-stepDown><a href=#dom-input-stepdown>stepDown()</a></code> and
-  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<h6 id=common-algorithms><span class=secno>4.10.4.1.21 </span>Common algorithms</h6><p>When a user agent is to <dfn id=strip-line-breaks-from-the-value>strip line breaks from the
+  <code class=no-backref title=dom-input-stepUp><a href=#dom-input-stepup>stepUp()</a></code> methods.<p>The <code class=no-backref title=event-input-input><a href=#event-input-input>input</a></code> and <code class=no-backref title=event-input-change><a href=#event-input-change>change</a></code> events do not fire.<h6 id=common-algorithms><span class=secno>4.10.4.1.21 </span>Common algorithms</h6><p>When a user agent is to <dfn id=strip-line-breaks-from-the-value>strip line breaks from the
   value</dfn>, the user agent must remove any U+000A LINE FEED (LF)
   and U+000D CARRIAGE RETURN (CR) characters from <a href=#concept-fe-value title=concept-fe-value>value</a>.<h5 id=common-input-element-attributes><span class=secno>4.10.4.2 </span>Common <code><a href=#the-input-element>input</a></code> element attributes</h5><p>These attributes only apply to an <code><a href=#the-input-element>input</a></code> element if
   its <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in a
@@ -20874,7 +20940,32 @@
    <li><p>Set the <a href=#concept-fe-value title=concept-fe-value>value</a> of the
    element to <var title="">value as string</var>.</li>
 
-  </ol><hr><p class=XXX>... <dfn id=dom-input-list title=dom-input-list><code>list</code></dfn><p class=XXX>... <dfn id=dom-input-selectedoption title=dom-input-selectedOption><code>selectedOption</code></dfn><h4 id=the-button-element><span class=secno>4.10.5 </span>The <dfn><code>button</code></dfn> element</h4><dl class=element><dt>Categories</dt>
+  </ol><hr><p class=XXX>... <dfn id=dom-input-list title=dom-input-list><code>list</code></dfn><p class=XXX>... <dfn id=dom-input-selectedoption title=dom-input-selectedOption><code>selectedOption</code></dfn><h5 id=common-event-behaviors><span class=secno>4.10.4.4 </span>Common event behaviors</h5><p>When the <dfn id=event-input-input title=event-input-input><code>input</code></dfn>
+  event applies, the user agent must <a href=#queue-a-task>queue a task</a> to
+  <a href=#fire-a-simple-event>fire a simple event</a> called <code title=event-input>input</code> at the <code><a href=#the-input-element>input</a></code> element
+  any time the user causes the element's <a href=#concept-fe-value title=concept-fe-value>value</a> to change. User agents may
+  wait for a suitable break in the user's interaction before queuing
+  the task; for example, a user agent could wait for the user to have
+  not hit a key for 100ms, so as to only fire the event when the user
+  pauses, instead of continuously for each keystroke.<p>When the <dfn id=event-input-change title=event-input-change><code>change</code></dfn> event applies,
+  if the element does not have an <a href=#activation-behavior>activation behavior</a>
+  defined but uses a user interface that involves an explicit commit
+  action, then the user agent must <a href=#queue-a-task>queue a task</a> to
+  <a href=#fire-a-simple-event>fire a simple event</a> called <code title=event-change>change</code> at the <code><a href=#the-input-element>input</a></code> element
+  any time the <em>user</em> commits a change to the element's <a href=#concept-fe-value title=concept-fe-value>value</a> or list of <a href=#concept-input-type-file-selected title=concept-input-type-file-selected>selected files</a>.<p class=example>An example of a user interface with a commit
+  action would be a <a href=#file-upload-state title=attr-input-type-file>File
+  Upload</a> control that consists of a single button that brings
+  up a file selection dialog: when the dialog is closed, if that the
+  <a href=#concept-input-type-file-selected title=concept-input-type-file-selected>file selection</a>
+  changed as a result, then the user has commited a new <a href=#concept-input-type-file-selected title=concept-input-type-file-selected>file selection</a>.<p class=example>Another example of a user interface with a commit
+  action would be a <a href=#date-state title=attr-input-type-date>Date</a>
+  control that allows both text-based user input and user selection
+  from a drop-down calendar: while text input might not have an
+  explicit commit step, selecting a date from the drop down calendar
+  and then dismissing the drop down would be a commit action.<p>In addition, when the <code title=event-input-change><a href=#event-input-change>change</a></code> event applies, <code title=event-change>change</code> events can also be fired as part
+  of the element's <span>action behavior</span> and as part of the
+  <a href=#unfocusing-steps>unfocusing steps</a>.<p>The <a href=#task-source>task source</a> for these <span title=concept-tasks>task</span> is the <a href=#user-interaction-task-source>user interaction task
+  source</a>.<h4 id=the-button-element><span class=secno>4.10.5 </span>The <dfn><code>button</code></dfn> element</h4><dl class=element><dt>Categories</dt>
    <dd><a href=#phrasing-content-0>Phrasing content</a>.</dd>
    <dd><a href=#interactive-content-0>Interactive content</a>.</dd>
    <dd><a href=#category-listed title=category-listed>Listed</a>, <a href=#category-label title=category-label>labelable</a>, and <a href=#category-submit title=category-submit>submittable</a> <a href=#form-associated-element>form-associated element</a>.</dd>
@@ -30645,7 +30736,14 @@
 
   </ol><p>User agents must run the <a href=#focusing-steps>focusing steps</a> for an
   element whenever the user moves the focus to a
-  <a href=#focusable>focusable</a> element.<p>The <dfn id=unfocusing-steps>unfocusing steps</dfn> are as follows:<ol><!-- XXX onchange event for input controls --><li><p>Unfocus the element.</li>
+  <a href=#focusable>focusable</a> element.<p>The <dfn id=unfocusing-steps>unfocusing steps</dfn> are as follows:<ol><li><p>If the element is an <code><a href=#the-input-element>input</a></code> element, and the
+   <code title=event-input-change><a href=#event-input-change>change</a></code> event applies to the
+   element, and the element does not have a defined <a href=#activation-behavior>activation
+   behavior</a>, and the user has changed the element's <a href=#concept-fe-value title=concept-fe-value>value</a> or its list of <a href=#concept-input-type-file-selected title=concept-input-type-file-selected>selected files</a>
+   while the control was focused without committing that change, then
+   <a href=#fire-a-simple-event>fire a simple event</a> called <code title=event-change>change</code> at the element.</p>
+
+   <li><p>Unfocus the element.</li>
 
    <li><p><a href=#fire-a-simple-event>Fire a simple event</a> that doesn't bubble called
    <code title=event-blur>blur</code> at the element.</li>

Received on Sunday, 5 October 2008 09:20:38 UTC