clarified and enumerated default actions for all events
authorschepers
Thu, 10 Sep 2009 14:38:53 +0900
changeset 180 35c195615b3d
parent 179 627c59ba689a
child 181 d579a07f11de
clarified and enumerated default actions for all events
html/DOM3-Events.html
--- a/html/DOM3-Events.html	Thu Sep 10 08:48:06 2009 +0900
+++ b/html/DOM3-Events.html	Thu Sep 10 14:38:53 2009 +0900
@@ -56,6 +56,10 @@
         text-decoration: none
       }
       
+/*      .eventtype code {
+        font-size: 2em;
+      }
+*/      
 
       /* style for heading links */
       a[id]:hover:after { 
@@ -135,7 +139,7 @@
       <dl>
         <dt>This version:</dt>
         <dd>
-          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.69">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.69</a>
+          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.70">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.70</a>
         </dd>
         <dt>Latest stable version:</dt>
         <dd>
@@ -143,7 +147,7 @@
         </dd>
         <dt>Previous version:</dt>
         <dd>
-          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.68">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.68</a>
+          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.69">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.69</a>
         </dd>
         <dt>Editor's Draft:</dt>
         <dd>
@@ -553,7 +557,7 @@
           <dt id="glossary-event-target">event target</dt>
           <dd>The object to which an <a href="#glossary-event">event</a> is targeted.</dd>
           <dt id="glossary-event-type">event type</dt>
-          <dd>An <a href="#glossary-event">event</a> object which defines particular trigger conditions, properties, interfaces, and other characteristics which distinguish it from other event types.  For example, the <a href="#event-type-click"><code>click</code></a> event type has different characteristics than the <a href="#event-type-mouseover"><code>mouseover</code></a> or <a href="#event-type-load"><code>load</code></a> event types. The event type is exposed as the <a class="noxref" href="#events-event-type-type"><code class="interface-attribute">type</code></a> attribute on the event object.  See <a href="#event-types">event types</a> for more details.  Also loosely referred to as 'event', such as the <em><code>click</code> event</em>.</dd>
+          <dd>An <a href="#glossary-event">event</a> object which defines particular trigger conditions, properties, interfaces, and other characteristics which distinguish it from other event types.  For example, the <a class="eventtype" href="#event-type-click"><code>click</code></a> event type has different characteristics than the <a class="eventtype" href="#event-type-mouseover"><code>mouseover</code></a> or <a class="eventtype" href="#event-type-load"><code>load</code></a> event types. The event type is exposed as the <a href="#events-event-type-type"><code class="interface-attribute">type</code></a> attribute on the event object.  See <a href="#event-types">event types</a> for more details.  Also loosely referred to as 'event', such as the <em><a class="eventtype" href="#event-type-click"><code>click</code></a> event</em>.</dd>
           <dt id="glossary-host-language">host language</dt>
           <dd>Any language which integrates the features of another language, while normatively referencing the origin language rather than redefining those features, and extending those features only in ways defined by the origin language.  An origin language typically is only intended to be implemented in the context of one or more host languages, not as a standalone language.  For example, XHTML, HTML, and SVG are host languages for DOM 3 Events, and they integrate and extend the objects and models defined in this specification.</dd>
           <dt id="glossary-ime">IME</dt>
@@ -653,9 +657,9 @@
         <p>(This section is currently being rewritten.)</p>
         <p>Event targets may have associated <a href="#glossary-activation-behavior">activation behavior</a> that implementations perform in response to an <em>activation request</em>. As an example, the typical activation behavior associated with hyperlinks is to follow the link. Activation requests are typically initiated by users through an input device.</p>
         <p>In terms of this specification, the activation behavior of the event target shall be the <a href="#glossary-default-action">default action</a> of the event type <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a>. DOM applications should use this event type whenever they wish to make or react to an activation request.</p>
-        <p>Implementations must dispatch the <code>DOMActivate</code> event as the <a href="#glossary-default-action">default action</a> of a <a class="eventtype" href="#event-type-click"><code>click</code></a> event. This click event shall be either part of the activation request (e.g., a user requests activiation using a mouse), or synthesized by the implementation to accomodate legacy applications. Context information of such a <code>click</code> event is implementation dependent.</p>
-        <p>When implementations dispatch a synthesized <code>click</code> event, the expectation shall be that they do so as <a href="#glossary-default-action">default action</a> of another event type. For example, when a user activates a hyperlink using a keyboard, the <code>click</code> event would be dispatched as <a href="#glossary-default-action">default action</a> of the respective keyboard event.</p>
-        <p>Implementations are required to dispatch the synthesized <code>click</code> event as described above even if they do not dispatch such an event (e.g., when activation is requested by a voice command, since this specification does not address event types for voice input).</p>
+        <p>Implementations must dispatch the <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a> event as the <a href="#glossary-default-action">default action</a> of a <a class="eventtype" href="#event-type-click"><code>click</code></a> event. This <a class="eventtype" href="#event-type-click"><code>click</code></a> event shall be either part of the activation request (e.g., a user requests activiation using a mouse), or synthesized by the implementation to accomodate legacy applications. Context information of such a <code>click</code> event is implementation dependent.</p>
+        <p>When implementations dispatch a synthesized <a class="eventtype" href="#event-type-click"><code>click</code></a> event, the expectation shall be that they do so as <a href="#glossary-default-action">default action</a> of another event type. For example, when a user activates a hyperlink using a keyboard, the <code>click</code> event would be dispatched as <a href="#glossary-default-action">default action</a> of the respective keyboard event.</p>
+        <p>Implementations are required to dispatch the synthesized <a class="eventtype" href="#event-type-click"><code>click</code></a> event as described above even if they do not dispatch such an event (e.g., when activation is requested by a voice command, since this specification does not address event types for voice input).</p>
         <p class="note"><strong>Note:</strong> The activation of an event target is device dependent but is also application dependent, e.g. a link in a document can be activated using a mouse click or a mouse double click.</p>
       </div>
 <!-- div2 Events-flow-activation -->
@@ -817,7 +821,7 @@
                     </code>
                   </dt>
                   <dd>
-                    <div class="method">Signifies that the event shall be to be canceled, meaning any <a href="#glossary-default-action">default action</a> normally taken by the implementation as a result of the event must not occur (see also <a href="#event-flow-cancelation">Default actions and cancelable events</a>). Calling this method for a non-cancelable event has no effect.
+                    <div class="method">When this method is evoked, the event must be canceled, meaning any <a href="#glossary-default-action">default action</a> normally taken by the implementation as a result of the event must not occur (see also <a href="#event-flow-cancelation">Default actions and cancelable events</a>). Calling this method for a non-cancelable event shall have no effect.
 <p class="note"><strong>Note:</strong> This method does not stop the event propagation; use <a href="#events-event-type-stopPropagation"><code>Event.stopPropagation()</code></a> or <a href="#events-event-type-stopImmediatePropagation"><code>Event.stopImmediatePropagation()</code></a> for that effect.</p>
                       <div><strong>No Parameters</strong></div>
                       <div><strong>No Return Value</strong></div>
@@ -1229,46 +1233,16 @@
           <tr>
             <th>type</th>
             <th>Bubbling phase</th>
-            <th>Cancelable</th>
             <th>Target node types</th>
             <th>DOM interface</th>
+            <th>Cancelable</th>
+            <th>Default Action</th>
           </tr>
           <tr>
             <td>
               <a class="eventtype" href="#event-type-abort"><code>abort</code></a>
             </td>
             <td>Yes</td>
-            <td>No</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-Event">
-                <code>Event</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-blur"><code>blur</code></a>
-            </td>
-            <td>No</td>
-            <td>No</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-UIEvent">
-                <code>UIEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-change"><code>change</code></a>
-            </td>
-            <td>Yes</td>
-            <td>No</td>
             <td>
               <code>Element</code>
             </td>
@@ -1277,189 +1251,14 @@
                 <code>Event</code>
               </a>
             </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-click"><code>click</code></a>
-            </td>
-            <td>Yes</td>
-            <td>Yes</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-MouseEvent">
-                <code>MouseEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-compositionstart"><code>compositionstart</code></a>
-            </td>
-            <td>Yes</td>
-            <td>Yes</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-CompositionEvent">
-                <code>CompositionEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-compositionupdate"><code>compositionupdate</code></a>
-            </td>
-            <td>Yes</td>
-            <td>Yes</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-CompositionEvent">
-                <code>CompositionEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-compositionend"><code>compositionend</code></a>
-            </td>
-            <td>Yes</td>
-            <td>Yes</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-CompositionEvent">
-                <code>CompositionEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-dblclick"><code>dblclick</code></a>
-            </td>
-            <td>Yes</td>
-            <td>Yes</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-MouseEvent">
-                <code>MouseEvent</code>
-              </a>
-            </td>
+            <td>No</td>
+            <td>none</td>
           </tr>
           <tr>
             <td>
-              <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a>
-            </td>
-            <td>Yes</td>
-            <td>Yes</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-UIEvent">
-                <code>UIEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-DOMAttributeNameChanged"><code>DOMAttributeNameChanged</code></a>
-            </td>
-            <td>Yes</td>
-            <td>No</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-MutationNameEvent">
-                <code>MutationNameEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
-            </td>
-            <td>Yes</td>
-            <td>No</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-MutationEvent">
-                <code>MutationEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-DOMContentLoaded"><code>DOMContentLoaded</code></a>
+              <a class="eventtype" href="#event-type-blur"><code>blur</code></a>
             </td>
             <td>No</td>
-            <td>No</td>
-            <td><code>Document</code>, <code>Element</code></td>
-            <td>
-              <a href="#events-Events-Event">
-                <code>Event</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-DOMCharacterDataModified"><code>DOMCharacterDataModified</code></a>
-            </td>
-            <td>Yes</td>
-            <td>No</td>
-            <td><code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>ProcessingInstruction</code></td>
-            <td>
-              <a href="#events-Events-MutationEvent">
-                <code>MutationEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-DOMElementNameChanged"><code>DOMElementNameChanged</code></a>
-            </td>
-            <td>Yes</td>
-            <td>No</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-MutationNameEvent">
-                <code>MutationNameEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-DOMFocusIn"><code>DOMFocusIn</code></a>
-            </td>
-            <td>Yes</td>
-            <td>No</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-UIEvent">
-                <code>UIEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-DOMFocusOut"><code>DOMFocusOut</code></a>
-            </td>
-            <td>Yes</td>
-            <td>No</td>
             <td>
               <code>Element</code>
             </td>
@@ -1468,78 +1267,14 @@
                 <code>UIEvent</code>
               </a>
             </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-DOMNodeInserted"><code>DOMNodeInserted</code></a>
-            </td>
-            <td>Yes</td>
             <td>No</td>
-            <td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td>
-            <td>
-              <a href="#events-Events-MutationEvent">
-                <code>MutationEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-DOMNodeInsertedIntoDocument"><code>DOMNodeInsertedIntoDocument</code></a>
-            </td>
-            <td>No</td>
-            <td>No</td>
-            <td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td>
-            <td>
-              <a href="#events-Events-MutationEvent">
-                <code>MutationEvent</code>
-              </a>
-            </td>
+            <td>none</td>
           </tr>
           <tr>
             <td>
-              <a class="eventtype" href="#event-type-DOMNodeRemoved"><code>DOMNodeRemoved</code></a>
+              <a class="eventtype" href="#event-type-change"><code>change</code></a>
             </td>
             <td>Yes</td>
-            <td>No</td>
-            <td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td>
-            <td>
-              <a href="#events-Events-MutationEvent">
-                <code>MutationEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-DOMNodeRemovedFromDocument"><code>DOMNodeRemovedFromDocument</code></a>
-            </td>
-            <td>No</td>
-            <td>No</td>
-            <td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td>
-            <td>
-              <a href="#events-Events-MutationEvent">
-                <code>MutationEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-DOMSubtreeModified"><code>DOMSubtreeModified</code></a>
-            </td>
-            <td>Yes</td>
-            <td>No</td>
-            <td><code>Document</code>, <code>DocumentFragment</code>, <code>Element</code>, <code>Attr</code></td>
-            <td>
-              <a href="#events-Events-MutationEvent">
-                <code>MutationEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-error"><code>error</code></a>
-            </td>
-            <td>Yes</td>
-            <td>No</td>
             <td>
               <code>Element</code>
             </td>
@@ -1548,115 +1283,13 @@
                 <code>Event</code>
               </a>
             </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-focus"><code>focus</code></a>
-            </td>
-            <td>No</td>
-            <td>No</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-UIEvent">
-                <code>UIEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-focusin"><code>focusin</code></a>
-            </td>
-            <td>Yes</td>
             <td>No</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-UIEvent">
-                <code>UIEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-focusout"><code>focusout</code></a>
-            </td>
-            <td>Yes</td>
-            <td>No</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-UIEvent">
-                <code>UIEvent</code>
-              </a>
-            </td>
+            <td>none</td>
           </tr>
           <tr>
             <td>
-              <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>
-            </td>
-            <td>Yes</td>
-            <td>Yes</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-KeyboardEvent">
-                <code>KeyboardEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a>
-            </td>
-            <td>Yes</td>
-            <td>Yes</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-KeyboardEvent">
-                <code>KeyboardEvent</code>
-              </a>
+              <a class="eventtype" href="#event-type-click"><code>click</code></a>
             </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>
-            </td>
-            <td>Yes</td>
-            <td>Yes</td>
-            <td>
-              <code>Element</code>
-            </td>
-            <td>
-              <a href="#events-Events-KeyboardEvent">
-                <code>KeyboardEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-load"><code>load</code></a>
-            </td>
-            <td>No</td>
-            <td>No</td>
-            <td><code>Document</code>, <code>Element</code></td>
-            <td>
-              <a href="#events-Events-Event">
-                <code>Event</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-mousedown"><code>mousedown</code></a>
-            </td>
-            <td>Yes</td>
             <td>Yes</td>
             <td>
               <code>Element</code>
@@ -1666,87 +1299,61 @@
                 <code>MouseEvent</code>
               </a>
             </td>
+            <td>Yes</td>
+            <td><a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a> event</td>
           </tr>
           <tr>
             <td>
-              <a class="eventtype" href="#event-type-mouseenter"><code>mouseenter</code></a>
-            </td>
-            <td>No</td>
-            <td>Yes</td>
-            <td>
-              <code>Element</code>
+              <a class="eventtype" href="#event-type-compositionstart"><code>compositionstart</code></a>
             </td>
-            <td>
-              <a href="#events-Events-MouseEvent">
-                <code>MouseEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-mouseleave"><code>mouseleave</code></a>
-            </td>
-            <td>No</td>
             <td>Yes</td>
             <td>
               <code>Element</code>
             </td>
             <td>
-              <a href="#events-Events-MouseEvent">
-                <code>MouseEvent</code>
+              <a href="#events-Events-CompositionEvent">
+                <code>CompositionEvent</code>
               </a>
             </td>
+            <td>Yes</td>
+            <td>Launch <a href="#glossary-text-composition-system">text composition system</a></td>
           </tr>
           <tr>
             <td>
-              <a class="eventtype" href="#event-type-mousemove"><code>mousemove</code></a>
+              <a class="eventtype" href="#event-type-compositionupdate"><code>compositionupdate</code></a>
             </td>
             <td>Yes</td>
-            <td>Yes</td>
             <td>
               <code>Element</code>
             </td>
             <td>
-              <a href="#events-Events-MouseEvent">
-                <code>MouseEvent</code>
+              <a href="#events-Events-CompositionEvent">
+                <code>CompositionEvent</code>
               </a>
             </td>
+            <td>Yes</td>
+            <td>none</td>
           </tr>
           <tr>
             <td>
-              <a class="eventtype" href="#event-type-mouseout"><code>mouseout</code></a>
+              <a class="eventtype" href="#event-type-compositionend"><code>compositionend</code></a>
             </td>
             <td>Yes</td>
-            <td>Yes</td>
             <td>
               <code>Element</code>
             </td>
             <td>
-              <a href="#events-Events-MouseEvent">
-                <code>MouseEvent</code>
+              <a href="#events-Events-CompositionEvent">
+                <code>CompositionEvent</code>
               </a>
             </td>
+            <td>Yes</td>
+            <td><a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event</td>
           </tr>
           <tr>
             <td>
-              <a class="eventtype" href="#event-type-mouseover"><code>mouseover</code></a>
-            </td>
-            <td>Yes</td>
-            <td>Yes</td>
-            <td>
-              <code>Element</code>
+              <a class="eventtype" href="#event-type-dblclick"><code>dblclick</code></a>
             </td>
-            <td>
-              <a href="#events-Events-MouseEvent">
-                <code>MouseEvent</code>
-              </a>
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <a class="eventtype" href="#event-type-mouseup"><code>mouseup</code></a>
-            </td>
-            <td>Yes</td>
             <td>Yes</td>
             <td>
               <code>Element</code>
@@ -1756,25 +1363,207 @@
                 <code>MouseEvent</code>
               </a>
             </td>
+            <td>Yes</td>
+            <td>none</td>
           </tr>
           <tr>
             <td>
-              <a class="eventtype" href="#event-type-mousewheel"><code>mousewheel</code></a>
+              <a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a>
             </td>
             <td>Yes</td>
-            <td>Yes</td>
-            <td><code>Document</code>, <code>Element</code></td>
             <td>
-              <a href="#events-Events-MouseWheelEvent">
-                <code>MouseWheelEvent</code>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-UIEvent">
+                <code>UIEvent</code>
               </a>
             </td>
+            <td>Yes</td>
+            <td>none</td>
           </tr>
           <tr>
             <td>
-              <a class="eventtype" href="#event-type-reset"><code>reset</code></a>
+              <a class="eventtype" href="#event-type-DOMAttributeNameChanged"><code>DOMAttributeNameChanged</code></a>
             </td>
             <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-MutationNameEvent">
+                <code>MutationNameEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-DOMAttrModified"><code>DOMAttrModified</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-MutationEvent">
+                <code>MutationEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-DOMContentLoaded"><code>DOMContentLoaded</code></a>
+            </td>
+            <td>No</td>
+            <td><code>Document</code>, <code>Element</code></td>
+            <td>
+              <a href="#events-Events-Event">
+                <code>Event</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-DOMCharacterDataModified"><code>DOMCharacterDataModified</code></a>
+            </td>
+            <td>Yes</td>
+            <td><code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>ProcessingInstruction</code></td>
+            <td>
+              <a href="#events-Events-MutationEvent">
+                <code>MutationEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-DOMElementNameChanged"><code>DOMElementNameChanged</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-MutationNameEvent">
+                <code>MutationNameEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-DOMFocusIn"><code>DOMFocusIn</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-UIEvent">
+                <code>UIEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-DOMFocusOut"><code>DOMFocusOut</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-UIEvent">
+                <code>UIEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-DOMNodeInserted"><code>DOMNodeInserted</code></a>
+            </td>
+            <td>Yes</td>
+            <td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td>
+            <td>
+              <a href="#events-Events-MutationEvent">
+                <code>MutationEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-DOMNodeInsertedIntoDocument"><code>DOMNodeInsertedIntoDocument</code></a>
+            </td>
+            <td>No</td>
+            <td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td>
+            <td>
+              <a href="#events-Events-MutationEvent">
+                <code>MutationEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-DOMNodeRemoved"><code>DOMNodeRemoved</code></a>
+            </td>
+            <td>Yes</td>
+            <td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td>
+            <td>
+              <a href="#events-Events-MutationEvent">
+                <code>MutationEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-DOMNodeRemovedFromDocument"><code>DOMNodeRemovedFromDocument</code></a>
+            </td>
+            <td>No</td>
+            <td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td>
+            <td>
+              <a href="#events-Events-MutationEvent">
+                <code>MutationEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-DOMSubtreeModified"><code>DOMSubtreeModified</code></a>
+            </td>
+            <td>Yes</td>
+            <td><code>Document</code>, <code>DocumentFragment</code>, <code>Element</code>, <code>Attr</code></td>
+            <td>
+              <a href="#events-Events-MutationEvent">
+                <code>MutationEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-error"><code>error</code></a>
+            </td>
             <td>Yes</td>
             <td>
               <code>Element</code>
@@ -1784,53 +1573,249 @@
                 <code>Event</code>
               </a>
             </td>
+            <td>No</td>
+            <td>none</td>
           </tr>
           <tr>
             <td>
-              <a class="eventtype" href="#event-type-resize"><code>resize</code></a>
+              <a class="eventtype" href="#event-type-focus"><code>focus</code></a>
             </td>
-            <td>Yes</td>
             <td>No</td>
-            <td><code>Document</code>, <code>Element</code></td>
+            <td>
+              <code>Element</code>
+            </td>
             <td>
               <a href="#events-Events-UIEvent">
                 <code>UIEvent</code>
               </a>
             </td>
+            <td>No</td>
+            <td>none</td>
           </tr>
           <tr>
             <td>
-              <a class="eventtype" href="#event-type-scroll"><code>scroll</code></a>
+              <a class="eventtype" href="#event-type-focusin"><code>focusin</code></a>
             </td>
-            <td>No</td>
-            <td>No</td>
-            <td><code>Document</code>, <code>Element</code></td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
             <td>
               <a href="#events-Events-UIEvent">
                 <code>UIEvent</code>
               </a>
             </td>
+            <td>No</td>
+            <td>none</td>
           </tr>
           <tr>
             <td>
-              <a class="eventtype" href="#event-type-select"><code>select</code></a>
+              <a class="eventtype" href="#event-type-focusout"><code>focusout</code></a>
             </td>
             <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-UIEvent">
+                <code>UIEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-KeyboardEvent">
+                <code>KeyboardEvent</code>
+              </a>
+            </td>
+            <td>Yes</td>
+            <td>Varies: <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event; launch <a href="#glossary-text-composition-system">text composition system</a>; <a href="#event-type-blur"><code>blur</code></a> and <a href="#event-type-focus"><code>focus</code></a> events; <a href="#event-type-DOMActivate"><code>DOMActivate</code></a> event; other event</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-KeyboardEvent">
+                <code>KeyboardEvent</code>
+              </a>
+            </td>
+            <td>Yes</td>
+            <td>Varies: <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event; launch <a href="#glossary-text-composition-system">text composition system</a>; <a href="#event-type-blur"><code>blur</code></a> and <a href="#event-type-focus"><code>focus</code></a> events; <a href="#event-type-DOMActivate"><code>DOMActivate</code></a> event; other event</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-KeyboardEvent">
+                <code>KeyboardEvent</code>
+              </a>
+            </td>
+            <td>Yes</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-load"><code>load</code></a>
+            </td>
+            <td>No</td>
+            <td><code>Document</code>, <code>Element</code></td>
+            <td>
+              <a href="#events-Events-Event">
+                <code>Event</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-mousedown"><code>mousedown</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-MouseEvent">
+                <code>MouseEvent</code>
+              </a>
+            </td>
+            <td>Yes</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-mouseenter"><code>mouseenter</code></a>
+            </td>
             <td>No</td>
             <td>
               <code>Element</code>
             </td>
             <td>
-              <a href="#events-Events-Event">
-                <code>Event</code>
+              <a href="#events-Events-MouseEvent">
+                <code>MouseEvent</code>
               </a>
             </td>
+            <td>Yes</td>
+            <td>none</td>
           </tr>
           <tr>
             <td>
-              <a class="eventtype" href="#event-type-submit"><code>submit</code></a>
+              <a class="eventtype" href="#event-type-mouseleave"><code>mouseleave</code></a>
+            </td>
+            <td>No</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-MouseEvent">
+                <code>MouseEvent</code>
+              </a>
             </td>
             <td>Yes</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-mousemove"><code>mousemove</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-MouseEvent">
+                <code>MouseEvent</code>
+              </a>
+            </td>
+            <td>Yes</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-mouseout"><code>mouseout</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-MouseEvent">
+                <code>MouseEvent</code>
+              </a>
+            </td>
+            <td>Yes</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-mouseover"><code>mouseover</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-MouseEvent">
+                <code>MouseEvent</code>
+              </a>
+            </td>
+            <td>Yes</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-mouseup"><code>mouseup</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-MouseEvent">
+                <code>MouseEvent</code>
+              </a>
+            </td>
+            <td>Yes</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-mousewheel"><code>mousewheel</code></a>
+            </td>
+            <td>Yes</td>
+            <td><code>Document</code>, <code>Element</code></td>
+            <td>
+              <a href="#events-Events-MouseWheelEvent">
+                <code>MouseWheelEvent</code>
+              </a>
+            </td>
+            <td>Yes</td>
+            <td><a href="#event-type-scroll"><code>scroll</code></a> event</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-reset"><code>reset</code></a>
+            </td>
             <td>Yes</td>
             <td>
               <code>Element</code>
@@ -1840,13 +1825,74 @@
                 <code>Event</code>
               </a>
             </td>
+            <td>Yes</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-resize"><code>resize</code></a>
+            </td>
+            <td>Yes</td>
+            <td><code>Document</code>, <code>Element</code></td>
+            <td>
+              <a href="#events-Events-UIEvent">
+                <code>UIEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-scroll"><code>scroll</code></a>
+            </td>
+            <td>No</td>
+            <td><code>Document</code>, <code>Element</code></td>
+            <td>
+              <a href="#events-Events-UIEvent">
+                <code>UIEvent</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-select"><code>select</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-Event">
+                <code>Event</code>
+              </a>
+            </td>
+            <td>No</td>
+            <td>none</td>
+          </tr>
+          <tr>
+            <td>
+              <a class="eventtype" href="#event-type-submit"><code>submit</code></a>
+            </td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-Event">
+                <code>Event</code>
+              </a>
+            </td>
+            <td>Yes</td>
+            <td>none</td>
           </tr>
           <tr>
             <td>
               <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a>
             </td>
             <td>Yes</td>
-            <td>Yes</td>
             <td>
               <code>Element</code>
             </td>
@@ -1855,32 +1901,36 @@
                 <code>TextEvent</code>
               </a>
             </td>
+            <td>Yes</td>
+            <td>none</td>
           </tr>
           <tr>
             <td>
               <a class="eventtype" href="#event-type-unload"><code>unload</code></a>
             </td>
             <td>No</td>
-            <td>No</td>
             <td><code>Document</code>, <code>Element</code></td>
             <td>
               <a href="#events-Events-Event">
                 <code>Event</code>
               </a>
             </td>
+            <td>No</td>
+            <td>none</td>
           </tr>
           <tr>
             <td>
               <a class="eventtype" href="#event-type-wheel"><code>wheel</code></a>
             </td>
             <td>Yes</td>
-            <td>Yes</td>
             <td><code>Document</code>, <code>Element</code></td>
             <td>
               <a href="#events-Events-WheelEvent">
                 <code>WheelEvent</code>
               </a>
             </td>
+            <td>Yes</td>
+            <td><a href="#event-type-scroll"><code>scroll</code></a> event</td>
           </tr>
         </table>
         <p>As an example, the event <a class="eventtype" href="#event-type-load"><code>load</code></a> must trigger event listeners attached on <code>Element</code> nodes for that event and on the capture and target phases. This event cannot be cancelled. If an event listener for the <a class="eventtype" href="#event-type-load"><code>load</code></a> event is attached to a node other than <code>Document</code> or <code>Element</code> nodes, or if it is attached to the bubbling phase only, this event listener must not be triggered.</p>
@@ -1977,78 +2027,79 @@
         </dl>
         <p>The User Interface event types are listed below.</p>
 
+<!-- DOMActivate -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-DOMActivate">
               <a class="noxref" href="#event-type-DOMActivate">DOMActivate</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMActivate</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
-    Refer to <a href="#event-flow-activation">Activation requests and behavior</a>.</dd>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMActivate</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
+              A user agent must dispatch this event when a button, link, or other state-changing element is activated.  Refer to <a href="#event-flow-activation">Activation requests and behavior</a> for more details.</dd>
           </dl>
         </div>
+
 <!-- DOMFocusIn -->
-
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-DOMFocusIn">
               <a class="noxref" href="#event-type-DOMFocusIn">DOMFocusIn</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMFocusIn</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
-    A user agent must dispatch this event when an <a href="#glossary-event-target">event target</a> receives focus. The focus shall be given to the element before the dispatch of this event type. This event type shall be dispatched after the event type <a class="eventtype" href="#event-type-focus"><code>focus</code></a>.  This event type is deprecated in favor of the equivalent event type <a class="noxref" href="#event-type-focusin">focusin</a>.</dd>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMFocusIn</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
+              A user agent must dispatch this event when an <a href="#glossary-event-target">event target</a> receives focus. The focus shall be given to the element before the dispatch of this event type. This event type shall be dispatched after the event type <a class="eventtype" href="#event-type-focus"><code>focus</code></a>.  This event type is deprecated in favor of the equivalent event type <a class="noxref" href="#event-type-focusin">focusin</a>.</dd>
           </dl>
         </div>
+
 <!-- DOMFocusOut -->
-
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-DOMFocusOut">
               <a class="noxref" href="#event-type-DOMFocusOut">DOMFocusOut</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMFocusOut</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMFocusOut</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
     A user agent must dispatch this event when an <a href="#glossary-event-target">event target</a> loses focus. The focus shall be taken from the element before the dispatch of this event type. This event type shall be dispatched after the event type <a class="eventtype" href="#event-type-blur"><code>blur</code></a>.  This event type is deprecated in favor of the equivalent event type <a class="noxref" href="#event-type-focusout">focusout</a>.</dd>
           </dl>
         </div>
+
 <!-- focus -->
-
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-focus">
               <a class="noxref" href="#event-type-focus">focus</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>focus</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>focus</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
     A user agent must dispatch this event when an <a href="#glossary-event-target">event target</a> receives focus. The focus shall be given to the element before the dispatch of this event type.</dd>
           </dl>
         </div>
+
 <!-- focusin -->
-
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-focusin">
               <a class="noxref" href="#event-type-DOMFocusIn">focusin</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMFocusIn</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMFocusIn</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
     A user agent must dispatch this event when an <a href="#glossary-event-target">event target</a> receives focus. The focus shall be given to the element before the dispatch of this event type. This event type shall be dispatched after the event type <a class="eventtype" href="#event-type-focus"><code>focus</code></a>.  This event type is similar to <a class="eventtype" href="#event-type-focus"><code>focus</code></a>, but it must include the <a href="#glossary-bubbling-phase">bubbling phase</a>.</dd>
           </dl>
         </div>
+
 <!-- focusout -->
-
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-focusout">
               <a class="noxref" href="#event-type-DOMFocusOut">focusout</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMFocusOut</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMFocusOut</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
     A user agent must dispatch this event when an <a href="#glossary-event-target">event target</a> loses focus. The focus shall be taken from the element before the dispatch of this event type. This event type shall be dispatched after the event type <a class="eventtype" href="#event-type-blur"><code>blur</code></a>.  This event type is similar to <a class="eventtype" href="#event-type-blur"><code>blur</code></a>, but it must include the <a href="#glossary-bubbling-phase">bubbling phase</a>.</dd>
           </dl>
         </div>
+
 <!-- blur -->
-
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-blur">
               <a class="noxref" href="#event-type-blur">blur</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>blur</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>blur</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
     A user agent must dispatch this event when an <a href="#glossary-event-target">event target</a> loses focus. The focus shall be taken from the element before the dispatch of this event type.</dd>
           </dl>
         </div>
@@ -2066,7 +2117,7 @@
             <dt id="event-type-load">
               <a class="noxref" href="#event-type-load">load</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>load</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>load</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
       A user agent must dispatch this event when the DOM implementation finishes loading the resource (such as the document) and any dependent resources (such as images, style sheets, or scripts). Dependent resources that fail to load must not prevent this event from firing if the resource that loaded them is still accessible via the DOM. If this event type is dispatched, implementations are required to dispatch this event at least on the <code>Document</code> node.  This event differs from the <a href="#event-type-DOMContentLoaded"><code>DOMContentLoaded</code></a> event in that it is not dispatched until all external resources are loaded. 
             </dd>
           </dl>
@@ -2078,7 +2129,7 @@
             <dt id="event-type-DOMContentLoaded">
               <a class="noxref" href="#event-type-DOMContentLoaded">DOMContentLoaded</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMContentLoaded</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMContentLoaded</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
               A user agent must dispatch this event when the DOM implementation finishes loading the resource (such as the document), but before any dependent resources (such as images, style sheets, or scripts) are necessary loaded.  If this event type is dispatched, implementations are required to dispatch this event at least on the <code>Document</code> node.  This event differs from the <a href="#event-type-load"><code>load</code></a> event in that it is dispatched immediately when the document markup is loaded, rather than waiting on external resources. 
             </dd>
           </dl>
@@ -2091,18 +2142,18 @@
             <dt id="event-type-unload">
               <a class="noxref" href="#event-type-unload">unload</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>unload</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>unload</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
       A user agent must dispatch this event when the DOM Implementation removes from the environment the resource (such as the document) or any dependent resources (such as images, style sheets, scripts). The document shall be unloaded after the dispatch of this event type. If this event type is dispatched, implementations are required to dispatch this event at least on the <code>Document</code> node.</dd>
           </dl>
         </div>
         
-<!-- unload -->
+<!-- abort -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-abort">
               <a class="noxref" href="#event-type-abort">abort</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>abort</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>abort</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
       A user agent must dispatch this event when the loading of a resource has been aborted.</dd>
           </dl>
         </div>
@@ -2113,7 +2164,7 @@
             <dt id="event-type-error">
               <a class="noxref" href="#event-type-error">error</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>error</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>error</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
       A user agent must dispatch this event when a resource failed to load, or has been loaded but cannot be interpreted according to its semantics, such as an invalid image, a script execution error, or non-well-formed XML.</dd>
           </dl>
         </div>
@@ -2124,7 +2175,7 @@
             <dt id="event-type-select">
               <a class="noxref" href="#event-type-select">select</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>select</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.  The value of the <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> attribute shall be the selected text range as a string.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>select</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.  The value of the <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> attribute shall be the selected text range as a string.</td></tr></table>
               A user agent must dispatch this event when a user selects some text.  The user agent must make the selected text passage available through the <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> attribute. <span class="issue">@@ should the selection include the markup structure, or just the text-content?</span>  This event is dispatched after the selection has occurred.
               <p class="note"><strong>Note:</strong> The <a class="eventtype" href="#event-type-select"><code>select</code></a> event may not be available for all elements in all languages.  For example, in HTML, <a class="eventtype" href="#event-type-select"><code>select</code></a> events will only be dispatched on only form <code>input</code> elements.</p>
             </dd>
@@ -2137,7 +2188,7 @@
             <dt id="event-type-change">
               <a class="noxref" href="#event-type-change">change</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>change</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>change</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
       A user agent must dispatch this event when a form control loses the input focus and its value has been modified since gaining focus. This event type shall be dispatched before the event type <a class="eventtype" href="#event-type-blur"><code>blur</code></a>.</dd>
           </dl>
         </div>
@@ -2148,40 +2199,44 @@
             <dt id="event-type-submit">
               <a class="noxref" href="#event-type-submit">submit</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>submit</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
-      A user agent must dispatch this event when a form, such as a [<cite><a class="noxref informative" href="#references-HTML5">HTML 5</a></cite>] or [<cite><a class="noxref informative" href="#references-XHTML10">XHTML 1.0</a></cite>] form, is submitted. <span class="issue">@@ is this event dispatched before or after the form is submitted?  what is the cancel behavior?</span></dd>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>submit</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>form data and HTTP request sent to server</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
+      A user agent must dispatch this event when a form, such as a [<cite><a class="noxref informative" href="#references-HTML5">HTML 5</a></cite>] or [<cite><a class="noxref informative" href="#references-XHTML10">XHTML 1.0</a></cite>] form, is submitted.  This event must be dispatched immediately before the form data and HTTP request is sent to the server.  If this event is canceled, the form data and HTTP request must not be sent to the server.
+              <p class="note"><strong>Note:</strong> The actual behavior for form data and HTTP request submission is host-language dependent.  Typically, canceling a <a class="eventtype" href="#event-type-submit"><code>submit</code></a> event will prevent user agent from navigating away from the current page.</p>
+            </dd>
           </dl>
         </div>
 
-        <!-- reset -->
+<!-- reset -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-reset">
               <a class="noxref" href="#event-type-reset">reset</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>reset</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
-      A user agent must dispatch this event when a form, such as a [<cite><a class="noxref informative" href="#references-HTML5">HTML 5</a></cite>] or [<cite><a class="noxref informative" href="#references-XHTML10">XHTML 1.0</a></cite>] form, is reset. <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> attribute. <span class="issue">@@ is this event dispatched before or after the form is reset?  what is the cancel behavior?</span></dd>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>reset</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a> if generated from a user interface, <a href="#events-Events-Event"><code>Event</code></a> otherwise.</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>form elements are returned to initial state</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> may be in use.</td></tr></table>
+              A user agent must dispatch this event immediately before a form, such as a [<cite><a class="noxref informative" href="#references-HTML5">HTML 5</a></cite>] or [<cite><a class="noxref informative" href="#references-XHTML10">XHTML 1.0</a></cite>] form, is reset.   If this event is canceled, the form elements are not returned to their initial state.
+              <p class="note"><strong>Note:</strong> The actual behavior for resetting form data is host-language dependent.</p>
+            </dd>
           </dl>
         </div>
 
-        <!-- resize -->
+<!-- resize -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-resize">
               <a class="noxref" href="#event-type-resize">resize</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>resize</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>resize</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
       A user agent must dispatch this event when a document view or an element has been resized. This event type is dispatched after the resize has occurred.</dd>
           </dl>
         </div>
 
-        <!-- scroll -->
+<!-- scroll -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-scroll">
               <a class="noxref" href="#event-type-scroll">scroll</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>scroll</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>scroll</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> is in use.</td></tr></table>
       A user agent must dispatch this event when a document view or an element has been scrolled.  This event type is dispatched after the scroll has occurred.</dd>
           </dl>
         </div>
@@ -2365,6 +2420,7 @@
 
     <p>Note that the lag time, degree, distance, and number of <a class="eventtype" href="#event-type-mousemove"><code>mousemove</code></a> events allowed between the <a class="eventtype" href="#event-type-mousedown"><code>mousedown</code></a> and <a class="eventtype" href="#event-type-mouseup"><code>mouseup</code></a> events while still firing a <a class="eventtype" href="#event-type-click"><code>click</code></a> or <a class="eventtype" href="#event-type-dblclick"><code>dblclick</code></a> event shall be implementation-, device-, and platform-specific.  Each implementation should determine the appropriate hysteresis tolerance, but in general should fire <a class="eventtype" href="#event-type-click"><code>click</code></a> and <a class="eventtype" href="#event-type-dblclick"><code>dblclick</code></a> events when the event target of the associated <a class="eventtype" href="#event-type-mousedown"><code>mousedown</code></a> and <a class="eventtype" href="#event-type-mouseup"><code>mouseup</code></a> events is the same element with no <a class="eventtype" href="#event-type-mouseout"><code>mouseout</code></a> or <a class="eventtype" href="#event-type-mouseleave"><code>mouseleave</code></a> events intervening, and should not fire <a class="eventtype" href="#event-type-click"><code>click</code></a> and <a class="eventtype" href="#event-type-dblclick"><code>dblclick</code></a> events when the event target of the associated <a class="eventtype" href="#event-type-mousedown"><code>mousedown</code></a> and <a class="eventtype" href="#event-type-mouseup"><code>mouseup</code></a> events is different.</p>
 
+<!-- click -->
       <div class="event-definition assert must">
         <dl>
           <dt id="event-type-click">
@@ -2381,106 +2437,106 @@
                 following values: [...]" followed by the default action being to fire 
                 'mouseup' or 'click' or whatever, with the same detail for that, and also 
                 with rules for how to handle mouseover, mouseenter, mouseleave, etc. Same 
-                for keyboards, mousewheels, etc. Basically any user interaction event. --></p><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>click</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. The <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> attribute indicates the <a href="#events-dt-current-click-count">current click count</a>. The attribute value shall be <code>1</code> when the user begins this action and increments by <code>1</code> for each click.</td></tr></table><!-- A pointing device button is clicked over an element. The definition of a click depends on the environment configuration; i.e. it may depend on the screen location or the delay between the press and release of the pointing device button. In any case, the event target must be the same between the <a class="eventtype" href="#event-type-mousedown"><code>mousedown</code></a>, <a class="eventtype" href="#event-type-mouseup"><code>mouseup</code></a>, and <a class="eventtype" href="#event-type-click"><code>click</code></a>. The sequence of these events is: <a class="eventtype" href="#event-type-mousedown"><code>mousedown</code></a>, <a class="eventtype" href="#event-type-mouseup"><code>mouseup</code></a>, and <a class="eventtype" href="#event-type-click"><code>click</code></a>. It depends on the environment configuration whether the event type <a class="eventtype" href="#event-type-click"><code>click</code></a> can occur if one or more of the event types <a class="eventtype" href="#event-type-mouseover"><code>mouseover</code></a>, <a class="eventtype" href="#event-type-mousemove"><code>mousemove</code></a>, and <a class="eventtype" href="#event-type-mouseout"><code>mouseout</code></a> occur between the press and release of the pointing device button. In addition, the event type is dispatched as described in <a href="#event-flow-activation">Activation requests and behavior</a>. -->
+                for keyboards, mousewheels, etc. Basically any user interaction event. --></p><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>click</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td><a class="eventtype" href="#event-type-DOMActivate"><code>DOMActivate</code></a> event</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. The <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> attribute indicates the <a href="#events-dt-current-click-count">current click count</a>. The attribute value shall be <code>1</code> when the user begins this action and increments by <code>1</code> for each click.</td></tr></table><!-- A pointing device button is clicked over an element. The definition of a click depends on the environment configuration; i.e. it may depend on the screen location or the delay between the press and release of the pointing device button. In any case, the event target must be the same between the <a class="eventtype" href="#event-type-mousedown"><code>mousedown</code></a>, <a class="eventtype" href="#event-type-mouseup"><code>mouseup</code></a>, and <a class="eventtype" href="#event-type-click"><code>click</code></a>. The sequence of these events is: <a class="eventtype" href="#event-type-mousedown"><code>mousedown</code></a>, <a class="eventtype" href="#event-type-mouseup"><code>mouseup</code></a>, and <a class="eventtype" href="#event-type-click"><code>click</code></a>. It depends on the environment configuration whether the event type <a class="eventtype" href="#event-type-click"><code>click</code></a> can occur if one or more of the event types <a class="eventtype" href="#event-type-mouseover"><code>mouseover</code></a>, <a class="eventtype" href="#event-type-mousemove"><code>mousemove</code></a>, and <a class="eventtype" href="#event-type-mouseout"><code>mouseout</code></a> occur between the press and release of the pointing device button. In addition, the event type is dispatched as described in <a href="#event-flow-activation">Activation requests and behavior</a>. -->
                 The <a href="#event-type-click"><code>click</code></a> event must be dispatched on the <a href="#glossary-topmost-event-target">topmost event target</a> indicated by the pointer, when the user presses down and releases the pointer button, or otherwise activates the pointer in a manner that simulates such an action.  Activation of the button may depend upon the pointer device and the environment configuration, e.g. it may depend on the screen location or the delay between the press and release of the pointing device button.  The <a href="#event-type-click"><code>click</code></a> event may be preceded by the <a href="#event-type-mousedown"><code>mousedown</code></a> and <a href="#event-type-mouseup"><code>mouseup</code></a> events on the same element.  Depending upon the environment configuration, the <a href="#event-type-click"><code>click</code></a> event may be dispatched if one or more of the event types <a href="#event-type-mouseover"><code>mouseover</code></a>, <a href="#event-type-mousemove"><code>mousemove</code></a>, and <a href="#event-type-mouseout"><code>mouseout</code></a> occur between the press and release of the pointing device button.  The <a href="#event-type-click"><code>click</code></a> event may also be followed by the <a href="#event-type-dblclick"><code>dblclick</code></a> event.  The <a href="#event-type-click"><code>click</code></a> event type must be dispatched as described in <a href="#event-flow-activation">Activation requests and behavior</a>.
             </dd>
         </dl>
       </div>
+
 <!-- dblclick -->
-
       <div class="event-definition assert must">
         <dl>
           <dt id="event-type-dblclick">
             <a class="noxref" href="#event-type-dblclick">dblclick</a>
           </dt>
-          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>dblclick</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. The <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> attribute indicates the <a href="#events-dt-current-click-count">current click count</a>.</td></tr></table>
+          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>dblclick</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. The <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> attribute indicates the <a href="#events-dt-current-click-count">current click count</a>.</td></tr></table>
      A user agent must dispatch this event when a pointing device button is clicked twice over an element. The definition of a double click depends on the environment configuration, except that the event target must be the same between <a class="eventtype" href="#event-type-mousedown"><code>mousedown</code></a>, <a class="eventtype" href="#event-type-mouseup"><code>mouseup</code></a>, and <a class="eventtype" href="#event-type-dblclick"><code>dblclick</code></a>. This event type must be dispatched after the event type <a class="eventtype" href="#event-type-click"><code>click</code></a> if a click and double click occur simultaneously, and after the event type <a class="eventtype" href="#event-type-mouseup"><code>mouseup</code></a> otherwise.
               <p class="note"><strong>Note:</strong> Canceling the <a class="eventtype" href="#event-type-click"><code>click</code></a> event must not not affect the firing of a <a class="eventtype" href="#event-type-dblclick"><code>dblclick</code></a> event.</p></dd>
         </dl>
       </div>
+
 <!-- mousedown -->
-
       <div class="event-definition assert must">
         <dl>
           <dt id="event-type-mousedown">
             <a class="noxref" href="#event-type-mousedown">mousedown</a>
           </dt>
-          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mousedown</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. The <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> attribute indicates the <a href="#events-dt-current-click-count">current click count</a> incremented by one. For example, if no click happened before the mousedown, <a class="noxref" href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> must contain the value <code>1</code>.</td></tr></table>
+          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mousedown</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. The <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> attribute indicates the <a href="#events-dt-current-click-count">current click count</a> incremented by one. For example, if no click happened before the mousedown, <a class="noxref" href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> must contain the value <code>1</code>.</td></tr></table>
      A user agent must dispatch this event when a pointing device button is pressed over an element.</dd>
         </dl>
       </div>
+
 <!-- mouseenter -->
-
       <div class="event-definition assert must">
         <dl>
           <dt id="event-type-mouseenter">
             <a class="noxref" href="#event-type-mouseenter">mouseenter</a>
           </dt>
-          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mouseenter</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a> indicates the <a href="#glossary-event-target">event target</a> a pointing device is exiting, if any.</td></tr></table>
+          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mouseenter</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a> indicates the <a href="#glossary-event-target">event target</a> a pointing device is exiting, if any.</td></tr></table>
        A user agent must dispatch this event when a pointing device is moved onto an element.  This event type is similar to <a class="noxref" href="#event-type-mouseover">mouseover</a>, but for <a class="noxref" href="#event-type-mouseenter">mouseenter</a>, the <a href="#glossary-propagation-path">propagation path</a> must end at the <a href="#glossary-event-target">event target</a> element, and must not include the target element's child nodes as <a href="#glossary-event-target">event targets</a>. 
 
               <p class="note"><strong>Note:</strong> This is the event type equivalent of the CSS <a href="http://www.w3.org/TR/CSS2/selector.html#dynamic-pseudo-classes" title="Selectors"><code>:hover</code> pseudo-class</a><a href="#references-CSS2">[CSS2]</a>.  This matches the <a class="noxref" href="#event-type-mouseleave">mouseleave</a> event type in its <a href="#glossary-propagation-path">propagation path</a> behavior.</p></dd>
         </dl>
       </div>
+
 <!-- mouseleave -->
-
       <div class="event-definition assert must">
         <dl>
           <dt id="event-type-mouseleave">
             <a class="noxref" href="#event-type-mouseleave">mouseleave</a>
           </dt>
-          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mouseout</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a> indicates the <a href="#glossary-event-target">event target</a> a pointing device is entering, if any.</td></tr></table>
+          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mouseout</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a> indicates the <a href="#glossary-event-target">event target</a> a pointing device is entering, if any.</td></tr></table>
 
        A user agent must dispatch this event when a pointing device is moved off of an element.  This event type is similar to <a class="noxref" href="#event-type-mouseout">mouseout</a>, but for <a class="noxref" href="#event-type-mouseleave">mouseleave</a>, the <a href="#glossary-propagation-path">propagation path</a> must end at the <a href="#glossary-event-target">event target</a> element, and must not include the target element's child nodes as <a href="#glossary-event-target">event targets</a>. 
               <p class="note"><strong>Note:</strong> This matches the <a class="noxref" href="#event-type-mouseenter">mouseenter</a> event type in its <a href="#glossary-propagation-path">propagation path</a> behavior.</p></dd>
         </dl>
       </div>
+
 <!-- mousemove -->
-
       <div class="event-definition assert must">
         <dl>
           <dt id="event-type-mousemove">
             <a class="noxref" href="#event-type-mousemove">mousemove</a>
           </dt>
-          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mousemove</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use.</td></tr></table>
+          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mousemove</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use.</td></tr></table>
 
      A user agent must dispatch this event when a pointing device is moved while it is over an element.  The frequency rate of events while the pointing device is moved shall be implementation-, device-, and platform-specific, but multiple consecutive <a href="#event-type-mousemove"><code>mousemove</code></a> events should be fired for sustained pointer-device movement, rather than a single event for each instance of mouse movement.  Implementations are encouraged to determine the optimal frequency rate to balance responsiveness with performance.</dd>
         </dl>
       </div>
+
 <!-- mouseout -->
-
       <div class="event-definition assert must">
         <dl>
           <dt id="event-type-mouseout">
             <a class="noxref" href="#event-type-mouseout">mouseout</a>
           </dt>
-          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mouseout</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a> indicates the <a href="#glossary-event-target">event target</a> a pointing device is entering, if any.</td></tr></table>
+          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mouseout</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a> indicates the <a href="#glossary-event-target">event target</a> a pointing device is entering, if any.</td></tr></table>
        A user agent must dispatch this event when a pointing device is moved off of an element.
               This event type is similar to <a class="noxref" href="#event-type-mouseleave">mouseleave</a>, but for <a class="noxref" href="#event-type-mouseout">mouseout</a>, the <a href="#glossary-propagation-path">propagation path</a> must include the target element's child nodes as <a href="#glossary-event-target">event targets</a>.  The <a class="noxref" href="#event-type-mouseout">mouseout</a> event type matches the <a class="noxref" href="#event-type-mouseover">mouseover</a> event type in its <a href="#glossary-propagation-path">propagation path</a> behavior.
           </dd>
         </dl>
       </div>
+
 <!-- mouseover -->
-
       <div class="event-definition assert must">
         <dl>
           <dt id="event-type-mouseover">
             <a class="noxref" href="#event-type-mouseover">mouseover</a>
           </dt>
-          <dd><table summary="This table contains information about the semantics of the given event type" border="0" cellpadding="2" cellspacing="0"><tbody><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mouseover</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a> indicates the <a href="#glossary-event-target">event target</a> a pointing device is exiting, if any.</td></tr></tbody></table>
+          <dd><table summary="This table contains information about the semantics of the given event type" border="0" cellpadding="2" cellspacing="0"><tbody><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mouseover</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a> indicates the <a href="#glossary-event-target">event target</a> a pointing device is exiting, if any.</td></tr></tbody></table>
        A user agent must dispatch this event when a pointing device is moved onto an element.
               This event type is similar to <a class="noxref" href="#event-type-mouseenter">mouseenter</a>, but for <a class="noxref" href="#event-type-mouseover">mouseover</a>, the <a href="#glossary-propagation-path">propagation path</a> must include the target element's child nodes as <a href="#glossary-event-target">event targets</a>.  The <a class="noxref" href="#event-type-mouseover">mouseover</a> event type matches the <a class="noxref" href="#event-type-mouseout">mouseout</a> event type in its <a href="#glossary-propagation-path">propagation path</a> behavior.
           </dd>
         </dl>
       </div>
+
 <!-- mouseup -->
-
       <div class="event-definition assert must">
         <dl>
           <dt id="event-type-mouseup">
             <a class="noxref" href="#event-type-mouseup">mouseup</a>
           </dt>
-          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mouseup</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. The <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> attribute indicates the <a href="#events-dt-current-click-count">current click count</a> incremented by one.</td></tr></table>
+          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mouseup</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. The <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> attribute indicates the <a href="#events-dt-current-click-count">current click count</a> incremented by one.</td></tr></table>
 
      A user agent must dispatch this event when a pointing device button is released over an element.</dd>
         </dl>
@@ -2583,17 +2639,23 @@
         </dd>
       </dl>
 
+<!-- mousewheel -->
       <div class="event-definition assert must">
         <dl>
           <dt id="event-type-mousewheel">
             <a class="noxref" href="#event-type-mousewheel">mousewheel</a>
           </dt>
-          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mousewheel</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseWheelEvent"><code>MouseWheelEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseWheelEvent-wheelDelta"><code>MouseWheelEvent.wheelDelta</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. <a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, and <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a> are in use if the wheel is associated to a pointing device. <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a> indicates the <a href="#glossary-event-target">event target</a> the pointing device is pointing at, if any. <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> is not in use.</td></tr></table>
- A user agent must dispatch this event when a mouse wheel has been rotated around the y-axis.</dd>
+          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>mousewheel</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MouseWheelEvent"><code>MouseWheelEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td><a href="#event-type-scroll"><code>scroll</code></a> event</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MouseWheelEvent-wheelDelta"><code>MouseWheelEvent.wheelDelta</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. <a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, and <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a> are in use if the wheel is associated to a pointing device. <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a> indicates the <a href="#glossary-event-target">event target</a> the pointing device is pointing at, if any. <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> is not in use.</td></tr></table>
+            A user agent must dispatch this event when a mouse wheel has been rotated around the y-axis.
+            <p>The default action of the <a class="eventtype" href="#event-type-mousewheel"><code>mousewheel</code></a> event is to dispatch a <a href="#event-type-scroll"><code>scroll</code></a> event with the appropriate values.  If this event is canceled, the <a href="#event-type-scroll"><code>scroll</code></a> event must not be dispatched.</p>
+          </dd>
         </dl>
       </div>
     </div>
 <!-- div3 Events-eventgroupings-mousewheelevents -->
+
+
+
 <!-- div3 Events-eventgroupings-mouseevents -->
     <div class="div3">
       <h3 class="div3"><a id="events-wheelevents" href="#events-wheelevents">5.2.5 Wheel Event Types</a></h3>
@@ -2763,13 +2825,16 @@
         </dd>
       </dl>
 
+<!-- wheel -->
       <div class="event-definition assert must">
         <dl>
           <dt id="event-type-wheel">
             <a class="noxref" href="#event-type-wheel">wheel</a>
           </dt>
-          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>wheel</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-WheelEvent"><code>WheelEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-WheelEvent-deltaX"><code>WheelEvent.deltaX</code></a>, <a href="#events-Events-WheelEvent-deltaY"><code>WheelEvent.deltaY</code></a>, <a href="#events-Events-WheelEvent-deltaZ"><code>WheelEvent.deltaZ</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. <a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, and <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a> are in use if the wheel is associated to a pointing device. <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a> indicates the <a href="#glossary-event-target">event target</a> the pointing device is pointing at, if any. <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> is not in use.</td></tr></table>
- A user agent must dispatch this event when a mouse wheel has been rotated. A <a href="#glossary-default-action">default action</a> of user agent generated event objects of this type causes implementations to dispatch a <code>mousewheel</code> event iff it supports that event type and <a href="#events-Events-WheelEvent-deltaY"><code>WheelEvent.deltaY</code></a> is non-zero.</dd>
+          <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>wheel</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-WheelEvent"><code>WheelEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td><a href="#event-type-scroll"><code>scroll</code></a> event</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-WheelEvent-deltaX"><code>WheelEvent.deltaX</code></a>, <a href="#events-Events-WheelEvent-deltaY"><code>WheelEvent.deltaY</code></a>, <a href="#events-Events-WheelEvent-deltaZ"><code>WheelEvent.deltaZ</code></a>, <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>, <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>, <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>, <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>, and <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a> are in use. <a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>, <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>, <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>, <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>, and <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a> are in use if the wheel is associated to a pointing device. <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a> indicates the <a href="#glossary-event-target">event target</a> the pointing device is pointing at, if any. <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> is not in use.</td></tr></table>
+            A user agent must dispatch this event when a mouse wheel has been rotated. A <a href="#glossary-default-action">default action</a> of user agent generated event objects of this type causes implementations to dispatch a <code>mousewheel</code> event iff it supports that event type and <a href="#events-Events-WheelEvent-deltaY"><code>WheelEvent.deltaY</code></a> is non-zero.
+            <p>The default action of the <a class="eventtype" href="#event-type-wheel"><code>wheel</code></a> event is to dispatch a <a href="#event-type-scroll"><code>scroll</code></a> event with the appropriate values.  If this event is canceled, the <a href="#event-type-scroll"><code>scroll</code></a> event must not be dispatched.</p>
+          </dd>
         </dl>
       </div>
 <!-- div3 Events-eventgroupings-uievents -->
@@ -2951,16 +3016,19 @@
         </dl>
         <p>The text event type is listed below.</p>
 
+<!-- textInput -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-textInput">
               <a class="noxref" href="#event-type-textInput">textInput</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>textInput</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-TextEvent"><code>TextEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, <a href="#events-Events-TextEvent-data"><code>TextEvent.data</code></a>, and <a href="#events-Events-TextEvent-inputMode"><code>TextEvent.inputMode</code></a> are in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>textInput</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-TextEvent"><code>TextEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, <a href="#events-Events-TextEvent-data"><code>TextEvent.data</code></a>, and <a href="#events-Events-TextEvent-inputMode"><code>TextEvent.inputMode</code></a> are in use.</td></tr></table>
                A user agent must dispatch this event when one or more characters have been entered. These characters may originate from a variety of sources, e.g., characters resulting from a key being pressed or released on a keyboard device, from the processing of an <a href="#glossary-ime">input method editor</a>, or resulting from a voice command.  Where a "paste" operation generates a simple sequence of characters, i.e. a text passage without any structure or style information, this event type should be generated as well.</dd>
           </dl>
         </div>
       </div>
+      
+      
 <!-- div3 Events-TextEvents-Interfaces -->
       <div class="div3">
         <h3 class="div3"><a id="events-keyboardevents" href="#events-keyboardevents">5.2.7 Keyboard Event Types</a></h3>
@@ -3161,42 +3229,51 @@
           <li><a class="eventtype" href="#event-type-keyup"><code>keyup</code></a></li>
         </ol>        
 
+<!-- keydown -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-keydown">
               <a class="noxref" href="#event-type-keydown">keydown</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>keydown</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-KeyboardEvent"><code>KeyboardEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a>, <a href="#events-Events-KeyboardEvent-keylocation"><code>KeyboardEvent.keyLocation</code></a>, <a href="#events-Events-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a>, <a href="#events-Events-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a>, <a href="#events-Events-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a>, <a href="#events-Events-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a>, and <a href="#events-Events-KeyboardEvent-repeat"><code>KeyboardEvent.repeat</code></a> are in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>keydown</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-KeyboardEvent"><code>KeyboardEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>Varies: <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event; launch <a href="#glossary-text-composition-system">text composition system</a>; <a href="#event-type-blur"><code>blur</code></a> and <a href="#event-type-focus"><code>focus</code></a> events; <a href="#event-type-DOMActivate"><code>DOMActivate</code></a> event; other event</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a>, <a href="#events-Events-KeyboardEvent-keylocation"><code>KeyboardEvent.keyLocation</code></a>, <a href="#events-Events-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a>, <a href="#events-Events-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a>, <a href="#events-Events-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a>, <a href="#events-Events-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a>, and <a href="#events-Events-KeyboardEvent-repeat"><code>KeyboardEvent.repeat</code></a> are in use.</td></tr></table>
                A user agent must dispatch this event when a key is pressed down. The <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event type is device dependent and relies on the capabilities of the input devices and how they are mapped in the operating system. This event type shall be generated after the keyboard mapping but before the processing of an <a href="#glossary-ime">input method editor</a>, normally associated with the dispatching of a <a class="eventtype" href="#event-type-compositionstart"><code>compositionstart</code></a>, <a class="eventtype" href="#event-type-compositionupdate"><code>compositionupdate</code></a>, or <a class="eventtype" href="#event-type-compositionend"><code>compositionend</code></a> event. This event type must be dispatched before the <a class="eventtype" href="#event-type-compositionstart"><code>keypress</code></a> and <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a> events event associated with the same key.  Whether or not a <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> contributes to the generation of a text event is implementation dependent.
+               
+               <p>The default action of the <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event depends upon the key: if the key is associated with a character, the default action is to dispatch a <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event with the character as the value of the <a href="#events-Events-TextEvent-data"><code>TextEvent.data</code></a> attribute; if the key is associated with a <a href="#glossary-text-composition-system">text composition system</a>, the default action is to launch that system; if the key is the <code>tab</code> key, the default action is to dispatch a <a href="#event-type-blur"><code>blur</code></a> event with the currently focused element (if any) as the value of the <a href="#events-event-type-target">Event.target</a> attribute, followed by a <a href="#event-type-focus"><code>focus</code></a> event with the new focused element as the value of the <a href="#events-event-type-target">Event.target</a> attribute; if the key is the <code>enter</code> key and the current focus is on a state-changing element, the default action is to dispatch a <a href="#event-type-DOMActivate"><code>DOMActivate</code></a> event; if the key is associated with any other event type, such as the <a href="#event-type-scroll"><code>scroll</code></a> event, the default action is to dispatch an event of that type.  If this event is canceled, the associated events types must not be dispatched, and the associated actions must not be performed.</p>
 
               <p class="note"><strong>Note:</strong> the <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> and <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a> events are traditionally associated with detecting a physical key rather than a character value.</p></dd>
           </dl>
         </div>
 
+<!-- keypress -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-keypress">
               <a class="noxref" href="#event-type-keypress">keypress</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>keypress</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-KeyboardEvent"><code>KeyboardEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a>, <a href="#events-Events-KeyboardEvent-keylocation"><code>KeyboardEvent.keyLocation</code></a>, <a href="#events-Events-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a>, <a href="#events-Events-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a>, <a href="#events-Events-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a>, <a href="#events-Events-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a>, and <a href="#events-Events-KeyboardEvent-repeat"><code>KeyboardEvent.repeat</code></a> are in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>keypress</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-KeyboardEvent"><code>KeyboardEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>Varies: <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event; launch <a href="#glossary-text-composition-system">text composition system</a>; <a href="#event-type-blur"><code>blur</code></a> and <a href="#event-type-focus"><code>focus</code></a> events; <a href="#event-type-DOMActivate"><code>DOMActivate</code></a> event; other event</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a>, <a href="#events-Events-KeyboardEvent-keylocation"><code>KeyboardEvent.keyLocation</code></a>, <a href="#events-Events-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a>, <a href="#events-Events-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a>, <a href="#events-Events-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a>, <a href="#events-Events-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a>, and <a href="#events-Events-KeyboardEvent-repeat"><code>KeyboardEvent.repeat</code></a> are in use.</td></tr></table>
                A user agent must dispatch this event when a key is pressed down. The <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event type is device dependent and relies on the capabilities of the input devices and how they are mapped in the operating system. This event type shall be generated after the keyboard mapping but before the processing of an <a href="#glossary-ime">input method editor</a>, normally associated with the dispatching of a <a class="eventtype" href="#event-type-compositionstart"><code>compositionstart</code></a>, <a class="eventtype" href="#event-type-compositionupdate"><code>compositionupdate</code></a>, or <a class="eventtype" href="#event-type-compositionend"><code>compositionend</code></a> event. This event type must be dispatched after the <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event and before the <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a> event associated with the same key.
 
+               <p>The default action of the <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event depends upon the key: if the key is associated with a character, the default action is to dispatch a <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event with the character as the value of the <a href="#events-Events-TextEvent-data"><code>TextEvent.data</code></a> attribute; if the key is associated with a <a href="#glossary-text-composition-system">text composition system</a>, the default action is to launch that system; if the key is the <code>tab</code> key, the default action is to dispatch a <a href="#event-type-blur"><code>blur</code></a> event with the currently focused element (if any) as the value of the <a href="#events-event-type-target">Event.target</a> attribute, followed by a <a href="#event-type-focus"><code>focus</code></a> event with the new focused element as the value of the <a href="#events-event-type-target">Event.target</a> attribute; if the key is the <code>enter</code> key and the current focus is on a state-changing element, the default action is to dispatch a <a href="#event-type-DOMActivate"><code>DOMActivate</code></a> event; if the key is associated with any other event type, such as the <a href="#event-type-scroll"><code>scroll</code></a> event, the default action is to dispatch an event of that type.  If this event is canceled, the associated events types must not be dispatched, and the associated actions must not be performed.</p>
+
               <p class="note"><strong>Note:</strong> the <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event is traditionally associated with detecting a character value rather than a physical key, and may not be available on all keys in some configurations.</p><p class="warning"><strong>Warning:</strong> the <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> event type is defined in this specification for reference and completeness, but this specification <a href="#glossary-deprecated">deprecates</a> the use of this event type.</p></dd>
           </dl>
         </div>
 
+<!-- keyup -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-keyup">
               <a class="noxref" href="#event-type-keyup">keyup</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>keyup</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-KeyboardEvent"><code>KeyboardEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a>, and <a href="#events-Events-KeyboardEvent-keylocation"><code>KeyboardEvent.keyLocation</code></a> are in use. <a href="#events-Events-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a>, <a href="#events-Events-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a>, <a href="#events-Events-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a>, and <a href="#events-Events-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a> are in use unless the <a class="noxref" href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a> corresponds to the key modifier itself.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>keyup</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-KeyboardEvent"><code>KeyboardEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, <a href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a>, and <a href="#events-Events-KeyboardEvent-keylocation"><code>KeyboardEvent.keyLocation</code></a> are in use. <a href="#events-Events-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a>, <a href="#events-Events-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a>, <a href="#events-Events-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a>, and <a href="#events-Events-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a> are in use unless the <a class="noxref" href="#events-Events-KeyboardEvent-keyIdentifier"><code>KeyboardEvent.keyIdentifier</code></a> corresponds to the key modifier itself.</td></tr></table>
                A user agent must dispatch this event when a key is released.  The <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event type is device dependent and relies on the capabilities of the input devices and how they are mapped in the operating system.  This event type shall be generated after the keyboard mapping. This event type must be dispatched after the <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> and <a class="eventtype" href="#event-type-keypress"><code>keypress</code></a> events event associated with the same key.  Whether or not a <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> contributes to the generation of a text event is implementation dependent.
 
               <p class="note"><strong>Note:</strong> the <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> and <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a> events are traditionally associated with detecting a physical key rather than a character value.</p></dd>
           </dl>
         </div>
       </div>
+      
+      
 <!-- div3 Events-eventgroupings-uievents -->
       <div class="div3">
         <h3 class="div3"><a id="events-compositionevents" href="#events-compositionevents">5.2.8 Composition Events Types</a></h3>
@@ -3296,12 +3373,13 @@
         </ol>        
 
 
+<!-- compositionstart -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-compositionstart">
               <a class="noxref" href="#event-type-compositionstart">compositionstart</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>compositionstart</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-CompositionEvent"><code>CompositionEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, and <a href="#events-Events-CompositionEvent-data"><code>CompositionEvent.data</code></a>.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>compositionstart</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-CompositionEvent"><code>CompositionEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td>Launch <a href="#glossary-text-composition-system">text composition system</a></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, and <a href="#events-Events-CompositionEvent-data"><code>CompositionEvent.data</code></a>.</td></tr></table>
               A user agent must dispatch this event when a <a href="#glossary-text-composition-system">text composition system</a> is invoked in preparation for composing a passage of text.  This event type is device-dependent, and may rely upon the capabilities of the text conversion system and how it is mapped into the operating system.  When a keyboard is used to feed an input method editor, this event type is generated after a <code>keydown</code> event, but speech or handwriting recognition systems may send this event type without keyboard events.  Some implemenations may populate the <a href="#events-Events-CompositionEvent-data"><code>data</code></a> attribute of the <a class="eventtype" href="#event-type-compositionstart"><code>compositionstart</code></a> event with the text currently selected in the document (for editing and replacement); otherwise, the value of the <a href="#events-Events-CompositionEvent-data"><code>data</code></a> attribute shall be <code>null</code>.  
               
               <p>This event is dispatched immediately before a <a href="#glossary-text-composition-system">text composition system</a> is launched.  The default action of this event is to launch the appropriate <a href="#glossary-text-composition-system">text composition system</a>.  If this event is canceled, the <a href="#glossary-text-composition-system">text composition system</a> must not be launched.</p>
@@ -3310,25 +3388,27 @@
           </dl>
         </div>
 
+<!-- compositionupdate -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-compositionupdate">
               <a class="noxref" href="#event-type-compositionupdate">compositionupdate</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>compositionupdate</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-CompositionEvent"><code>CompositionEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, and <a href="#events-Events-CompositionEvent-data"><code>CompositionEvent.data</code></a>.</td></tr></table>
-              A user agent must dispatch this event when a <a href="#glossary-text-composition-system">text composition system</a> updates its active text passage with a new character, which is added to the string in <a href="#events-Events-CompositionEvent-data"><code>CompositionEvent.data</code></a>.  Note that some <a href="#glossary-text-composition-system">text composition systems</a> may not expose this information to the DOM, in which case this event will not fire during the composition process.  If the composition process is canceled, this event will be fired immediately before the <a class="noxref" href="#event-type-compositionend">compositionend</a> event, and the <a href="#events-Events-CompositionEvent-data"><code>CompositionEvent.data</code> attribute will be set to <code>null</code><span class="issue">(@@ "null" or "empty string"? What's the distinction?)</span>.</a></dd>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>compositionupdate</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-CompositionEvent"><code>CompositionEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, and <a href="#events-Events-CompositionEvent-data"><code>CompositionEvent.data</code></a>.</td></tr></table>
+              A user agent should dispatch this event when a <a href="#glossary-text-composition-system">text composition system</a> updates its active text passage with a new character, which is added to the string in <a href="#events-Events-CompositionEvent-data"><code>CompositionEvent.data</code></a>.  Note that some <a href="#glossary-text-composition-system">text composition systems</a> may not expose this information to the DOM, in which case this event will not fire during the composition process.  If the composition session is canceled, this event will be fired immediately before the <a class="eventtype" href="#event-type-compositionend"><code>compositionend</code></a> event, and the <a href="#events-Events-CompositionEvent-data"><code>CompositionEvent.data</code> attribute will be set to <code>null</code><span class="issue">(@@ "null" or "empty string"? What's the distinction?)</span>.</a></dd>
           </dl>
         </div>
 
+<!-- compositionend -->
         <div class="event-definition assert must">
           <dl>
             <dt id="event-type-compositionend">
               <a class="noxref" href="#event-type-compositionend">compositionend</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>compositionend</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-CompositionEvent"><code>CompositionEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, and <a href="#events-Events-CompositionEvent-data"><code>CompositionEvent.data</code></a>.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>compositionend</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-CompositionEvent"><code>CompositionEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>Yes</td></tr><tr class="assert must"><th>Default action</th><td><a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>, and <a href="#events-Events-CompositionEvent-data"><code>CompositionEvent.data</code></a>.</td></tr></table>
               A user agent must dispatch this event when a <a href="#glossary-text-composition-system">text composition system</a> completes the composition of its active text passage, or cancels the composition process.  If the result of the <a href="#glossary-text-composition-system">text composition system</a> is not null and does not contain the empty string, this event type will be followed by a <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event type with the appropriate <a href="#events-Events-TextEvent-inputMode">inputMode</a> value, such as <a href="#events-DOM_INPUT_METHOD_IME">DOM_INPUT_METHOD_IME</a>, <a href="#events-DOM_INPUT_METHOD_HANDWRITING">DOM_INPUT_METHOD_HANDWRITING</a>, <a href="#events-DOM_INPUT_METHOD_VOICE">DOM_INPUT_METHOD_VOICE</a>, or <a href="#events-DOM_INPUT_METHOD_MULTIMODAL">DOM_INPUT_METHOD_MULTIMODAL</a>.
               
-              <p>This event is dispatched immediately after the <a href="#glossary-text-composition-system">text composition system</a> is completed (e.g. the <a href="#glossary-ime">IME</a> closed, minimized, switched out of focus, or otherwise dismissed, with the focus switched back to the user agent).  The default action of this event is to dispatch the <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event type as described above.  If this event is canceled, the <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event type must not be dispatch, no matter the value of the <a href="#events-Events-CompositionEvent-data"><code>CompositionEvent.data</code> attribute.  Note that canceling the <a class="eventtype" href="#event-type-compositionend"><code>compositionend</code></a> <em>event type</em> is distinct from canceling the <a href="#glossary-text-composition-system">text composition system</a> session (e.g. by hitting a cancel button or closing an <a href="#glossary-ime">IME</a> window).</p>
+              <p>This event is dispatched immediately after the <a href="#glossary-text-composition-system">text composition system</a> is completed (e.g. the <a href="#glossary-ime">IME</a> closed, minimized, switched out of focus, or otherwise dismissed, with the focus switched back to the user agent).  The default action of this event is to dispatch the <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event type as described above.  If this event is canceled, the <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event type must not be dispatch, no matter the value of the <a href="#events-Events-CompositionEvent-data"><code>CompositionEvent.data</code></a> attribute.  Note that canceling the <a class="eventtype" href="#event-type-compositionend"><code>compositionend</code></a> <em>event type</em> is distinct from canceling the <a href="#glossary-text-composition-system">text composition system</a> session (e.g. by hitting a cancel button or closing an <a href="#glossary-ime">IME</a> window).</p>
             </dd>
           </dl>
         </div>
@@ -3493,7 +3573,7 @@
             <dt id="event-type-DOMSubtreeModified">
               <a class="noxref" href="#event-type-DOMSubtreeModified">DOMSubtreeModified</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMSubtreeModified</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>DocumentFragment</code>, <code>Element</code>, <code>Attr</code></td></tr><tr class="assert must"><th>Context info</th><td>None</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMSubtreeModified</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Document</code>, <code>DocumentFragment</code>, <code>Element</code>, <code>Attr</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td>None</td></tr></table>
     This is a general event for notification of all changes to the document. It can be used instead of the more specific mutation and mutation name events listed below. It may be dispatched after a single modification to the document or, at the implementation's discretion, after multiple changes have occurred. The latter use should generally be used to accommodate multiple changes which occur either simultaneously or in rapid succession. The target of this event shall be the lowest common parent of the changes which have taken place. This event shall be dispatched after any other events caused by the mutation(s) have occurred.</dd>
           </dl>
         </div>
@@ -3503,7 +3583,7 @@
             <dt id="event-type-DOMNodeInserted">
               <a class="noxref" href="#event-type-DOMNodeInserted">DOMNodeInserted</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMNodeInserted</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MutationEvent-relatedNode"><code>MutationEvent.relatedNode</code></a> holds the parent node of the node that has been inserted or, in case of <code>Attr</code> nodes, the <code>ownerElement</code> of the <code>Attr</code> node.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMNodeInserted</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MutationEvent-relatedNode"><code>MutationEvent.relatedNode</code></a> holds the parent node of the node that has been inserted or, in case of <code>Attr</code> nodes, the <code>ownerElement</code> of the <code>Attr</code> node.</td></tr></table>
               A user agent must dispatch this event when a node has been added as a child of another node or, in case of <code>Attr</code> nodes, has been added to an <code>Element</code>. This event shall be dispatched after the insertion has taken place. The <a href="#glossary-target-node">target node</a> of this event shall be the node being inserted.</dd>
           </dl>
         </div>
@@ -3513,7 +3593,7 @@
             <dt id="event-type-DOMNodeRemoved">
               <a class="noxref" href="#event-type-DOMNodeRemoved">DOMNodeRemoved</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMNodeRemoved</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MutationEvent-relatedNode"><code>MutationEvent.relatedNode</code></a> holds the parent node of the node being removed or, in case of <code>Attr</code> nodes, the <code>ownerElement</code> of the <code>Attr</code> node.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMNodeRemoved</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MutationEvent-relatedNode"><code>MutationEvent.relatedNode</code></a> holds the parent node of the node being removed or, in case of <code>Attr</code> nodes, the <code>ownerElement</code> of the <code>Attr</code> node.</td></tr></table>
               A user agent must dispatch this event when a node is being removed from its parent node or, in case of <code>Attr</code> nodes, removed from its <code>ownerElement</code>. This event shall be dispatched before the removal takes place. The <a href="#glossary-target-node">target node</a> of this event shall be the node being removed.</dd>
           </dl>
         </div>
@@ -3523,7 +3603,7 @@
             <dt id="event-type-DOMNodeRemovedFromDocument">
               <a class="noxref" href="#event-type-DOMNodeRemovedFromDocument">DOMNodeRemovedFromDocument</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMNodeRemovedFromDocument</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td></tr><tr class="assert must"><th>Context info</th><td>None</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMNodeRemovedFromDocument</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td>None</td></tr></table>
               A user agent must dispatch this event when a node is being removed from a document, either through direct removal of the node or removal of a subtree in which it is contained; <code>Attr</code> nodes are considered part of an <code>Element</code>'s subtree. This event shall be dispatched before the removal takes place. The <a href="#glossary-target-node">target node</a> of this event type shall be the node being removed. If the node is being directly removed, the event type <a class="eventtype" href="#event-type-DOMNodeRemoved"><code>DOMNodeRemoved</code></a> must occur before this event type.</dd>
           </dl>
         </div>
@@ -3533,7 +3613,7 @@
             <dt id="event-type-DOMNodeInsertedIntoDocument">
               <a class="noxref" href="#event-type-DOMNodeInsertedIntoDocument">DOMNodeInsertedIntoDocument</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMNodeInsertedIntoDocument</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td></tr><tr class="assert must"><th>Context info</th><td>None</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMNodeInsertedIntoDocument</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>No</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code>, <code>Attr</code>, <code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>DocumentType</code>, <code>EntityReference</code>, <code>ProcessingInstruction</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td>None</td></tr></table>
               A user agent must dispatch this event when a node has been inserted into a document, either through direct insertion of the node or insertion of a subtree in which it is contained; <code>Attr</code> nodes are considered part of an <code>Element</code>'s subtree. This event shall be dispatched after the insertion has taken place. The <a href="#glossary-target-node">target node</a> of this event shall be the node being inserted. If the node is being directly inserted, the event type <a class="eventtype" href="#event-type-DOMNodeInserted"><code>DOMNodeInserted</code></a> must occur before this event type.</dd>
           </dl>
         </div>
@@ -3543,7 +3623,7 @@
             <dt id="event-type-DOMAttrModified">
               <a class="noxref" href="#event-type-DOMAttrModified">DOMAttrModified</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMAttrModified</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MutationEvent-attrName"><code>MutationEvent.attrName</code></a> and <a href="#events-Events-MutationEvent-attrChange"><code>MutationEvent.attrChange</code></a> are in use. The value of <a href="#events-Events-MutationEvent-relatedNode"><code>MutationEvent.relatedNode</code></a> indicates the <code>Attr</code> node that has been modified, added, or removed. If the <code>Attr</code> node has been added, <a href="#events-Events-MutationEvent-newValue"><code>MutationEvent.newValue</code></a> shall be in use. If the <code>Attr</code> node has been removed, <a href="#events-Events-MutationEvent-prevValue"><code>MutationEvent.prevValue</code></a> shall be in use. If the <code>Attr</code> node has been modified, <a class="noxref" href="#events-Events-MutationEvent-newValue"><code>MutationEvent.newValue</code></a> and <a class="noxref" href="#events-Events-MutationEvent-prevValue"><code>MutationEvent.prevValue</code></a> are in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMAttrModified</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MutationEvent-attrName"><code>MutationEvent.attrName</code></a> and <a href="#events-Events-MutationEvent-attrChange"><code>MutationEvent.attrChange</code></a> are in use. The value of <a href="#events-Events-MutationEvent-relatedNode"><code>MutationEvent.relatedNode</code></a> indicates the <code>Attr</code> node that has been modified, added, or removed. If the <code>Attr</code> node has been added, <a href="#events-Events-MutationEvent-newValue"><code>MutationEvent.newValue</code></a> shall be in use. If the <code>Attr</code> node has been removed, <a href="#events-Events-MutationEvent-prevValue"><code>MutationEvent.prevValue</code></a> shall be in use. If the <code>Attr</code> node has been modified, <a class="noxref" href="#events-Events-MutationEvent-newValue"><code>MutationEvent.newValue</code></a> and <a class="noxref" href="#events-Events-MutationEvent-prevValue"><code>MutationEvent.prevValue</code></a> are in use.</td></tr></table>
               A user agent must dispatch this event after an <code>Attr.value</code> has been modified and after an <code>Attr</code> node has been added to or removed from an <code>Element</code>. The <a href="#glossary-target-node">target node</a> of this event shall be the <code>Element</code> node where the change occurred. It is implementation dependent whether this event type occurs when the children of the <code>Attr</code> node are changed in ways that do not affect the value of <code>Attr.value</code>.</dd>
           </dl>
         </div>
@@ -3553,7 +3633,7 @@
             <dt id="event-type-DOMCharacterDataModified">
               <a class="noxref" href="#event-type-DOMCharacterDataModified">DOMCharacterDataModified</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMCharacterDataModified</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>ProcessingInstruction</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MutationEvent-prevValue"><code>MutationEvent.prevValue</code></a>, and <a href="#events-Events-MutationEvent-newValue"><code>MutationEvent.newValue</code></a> are in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMCharacterDataModified</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationEvent"><code>MutationEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>ProcessingInstruction</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MutationEvent-prevValue"><code>MutationEvent.prevValue</code></a>, and <a href="#events-Events-MutationEvent-newValue"><code>MutationEvent.newValue</code></a> are in use.</td></tr></table>
               A user agent must dispatch this event after <code>CharacterData.data</code> or <code>ProcessingInstruction.data</code> have been modified, but the node itself has not been inserted or deleted.  The <a href="#glossary-target-node">target node</a> of this event shall be the <code>CharacterData</code> node or the <code>ProcessingInstruction</code> node.</dd>
           </dl>
         </div>
@@ -3648,7 +3728,7 @@
             <dt id="event-type-DOMElementNameChanged">
               <a class="noxref" href="#event-type-DOMElementNameChanged">DOMElementNameChanged</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMElementNameChanged</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationNameEvent"><code>MutationNameEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MutationNameEvent-prevNamespaceURI"><code>MutationNameEvent.prevNamespaceURI</code></a>, and <a href="#events-Events-MutationNameEvent-prevNodeName"><code>MutationNameEvent.prevNodeName</code></a> are in use.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMElementNameChanged</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationNameEvent"><code>MutationNameEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MutationNameEvent-prevNamespaceURI"><code>MutationNameEvent.prevNamespaceURI</code></a>, and <a href="#events-Events-MutationNameEvent-prevNodeName"><code>MutationNameEvent.prevNodeName</code></a> are in use.</td></tr></table>
               A user agent must dispatch this event after the <code>namespaceURI</code> and/or the <code>nodeName</code> of an <code>Element</code> node have been modified (e.g., the element was renamed using <code>Document.renameNode()</code>). The <a href="#glossary-target-node">target node</a> of this event shall be the renamed <code>Element</code> node.</dd>
           </dl>
         </div>
@@ -3658,7 +3738,7 @@
             <dt id="event-type-DOMAttributeNameChanged">
               <a class="noxref" href="#event-type-DOMAttributeNameChanged">DOMAttributeNameChanged</a>
             </dt>
-            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMAttributeNameChanged</code></strong></td></tr><tr class="assert must"><th>Namespace</th><td><code>None</code></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationNameEvent"><code>MutationNameEvent</code></a></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MutationNameEvent-prevNamespaceURI"><code>MutationNameEvent.prevNamespaceURI</code></a>, and <a href="#events-Events-MutationNameEvent-prevNodeName"><code>MutationNameEvent.prevNodeName</code></a> are in use. The value of <a href="#events-Events-MutationEvent-relatedNode"><code>MutationEvent.relatedNode</code></a> contains the renamed <code>Attr</code> node.</td></tr></table>
+            <dd><table border="0" summary="This table contains information about the semantics of the given event type" cellpadding="2" cellspacing="0"><tr class="assert must"><th>Type</th><td class="eventname"><strong><code>DOMAttributeNameChanged</code></strong></td></tr><tr class="assert must"><th>Interface</th><td><a href="#events-Events-MutationNameEvent"><code>MutationNameEvent</code></a></td></tr><tr class="assert must"><th>Bubbles</th><td>Yes</td></tr><tr class="assert must"><th>Target</th><td><code>Element</code></td></tr><tr class="assert must"><th>Cancelable</th><td>No</td></tr><tr class="assert must"><th>Default action</th><td>none</td></tr><tr class="assert must"><th>Context info</th><td><a href="#events-Events-MutationNameEvent-prevNamespaceURI"><code>MutationNameEvent.prevNamespaceURI</code></a>, and <a href="#events-Events-MutationNameEvent-prevNodeName"><code>MutationNameEvent.prevNodeName</code></a> are in use. The value of <a href="#events-Events-MutationEvent-relatedNode"><code>MutationEvent.relatedNode</code></a> contains the renamed <code>Attr</code> node.</td></tr></table>
               A user agent must dispatch this event after the <code>namespaceURI</code> and/or the <code>nodeName</code> of a <code>Attr</code> node have been modified (e.g., the attribute was renamed using <code>Document.renameNode()</code>). The <a href="#glossary-target-node">target node</a> of this event shall be the <code>Element</code> node whose <code>Attr</code> has been renamed.</dd>
           </dl>
         </div>
@@ -3921,7 +4001,7 @@
             <!-- div3 IME -->
             <div class="div3">
               <h4 class="adiv3"><a id="keyset-cancelable_keys" href="#keyset-cancelable_keys">6.2.4 Default actions and cancelable keyboard events</a></h4>
-              <p>Canceling the <a href="#glossary-default-action">default action</a> of a <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event does not affect its respective <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a> event; it must however prevent the respective <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event from being generated. The following example describes a possible sequence of keys to generate the Unicode character Q (Latin Capital Letter Q) on a PC/AT US keyboard using a US mapping:</p>
+              <p>Canceling the <a href="#glossary-default-action">default action</a> of a <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event must not affect its respective <a class="eventtype" href="#event-type-keyup"><code>keyup</code></a> event, but it must prevent the respective <a class="eventtype" href="#event-type-textInput"><code>textInput</code></a> event from being generated. The following example describes a possible sequence of keys to generate the Unicode character Q (Latin Capital Letter Q) on a PC/AT US keyboard using a US mapping:</p>
               <ol>
                 <li><code>"keydown"</code>: <code class="value">'U+0051'</code> (Latin Capital Letter Q key), shiftKey<br/>
     the <a href="#glossary-default-action">default action</a> of the <a class="eventtype" href="#event-type-keydown"><code>keydown</code></a> event is prevented, e.g. by invoking <a href="#events-event-type-preventDefault"><code>Event.preventDefault()</code></a> during the dispatch of the keydown event object.</li>