reorganized some sections, clarified ids and links, validated
authorschepers
Sat, 29 Aug 2009 13:58:45 +0900
changeset 161 5b52adf595b0
parent 160 048701e4b4ea
child 162 f9265e782bb2
reorganized some sections, clarified ids and links, validated
html/DOM3-Events.html
--- a/html/DOM3-Events.html	Sat Aug 29 08:07:36 2009 +0900
+++ b/html/DOM3-Events.html	Sat Aug 29 13:58:45 2009 +0900
@@ -1,111 +1,113 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-US" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
+<?xml version="1.0"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
   <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>Document Object Model (DOM) Level 3 Events Specification</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-
-    <link rel="copyright" href="copyright-notice.html"/>
-    <link rel="glossary" href="glossary.html"/>
-    <link rel="Start" href="Overview.html"/>
-    <link rel="author" href="mailto:[email protected]"/>
-    <link rel="help" href="http://www.w3.org/DOM/"/>
-
-	<link rel="alternate stylesheet" type="text/css" media="screen" title="geek" href="geek.css" />
-    <link rel="stylesheet" type="text/css" href="./spec.css"/>
-	<link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED"/>
+    <link rel="copyright" href="copyright-notice.html" />
+    <link rel="glossary" href="glossary.html" />
+    <link rel="Start" href="Overview.html" />
+    <link rel="author" href="mailto:[email protected]" />
+    <link rel="help" href="http://www.w3.org/DOM/" />
+    <link rel="alternate stylesheet" type="text/css" media="screen" title="geek" href="geek.css" />
+    <link rel="stylesheet" type="text/css" href="./spec.css" />
+    <link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED" />
     <style type="text/css">
       .issue {
-          background-color: darkgray;
-		  color: white;
-          /* border: 2px dashed red; */
+        background-color: darkgray;
+        color: white;
       }
+      
       .note {
-          color:green;
+        color:green;
       }
       .example {
-          border:1px solid #ffa500;
-          background-color:#fffacd;
-          padding: 1em;
+        border:1px solid #ffa500;
+        background-color:#fffacd;
+        padding: 1em;
       }
 
       .value {
-          color: #191970;
+        color: #191970;
       }
 
       .atrisk {
-          border:1px solid red;
-          color: gray;
+        border:1px solid red;
+        color: gray;
       }
 
       .typeCell {
-          bgcolor: #CFCFCF;
+        bgcolor: #CFCFCF;
       }
 
- 	  dl#glossary-list dt a
-	  {
-          font-weight: bold;
+      h5 {
+        font-weight: bold;
+      }
+
+      dl#glossary-list dt a
+      {
+        font-weight: bold;
       }	 
- 
-		/*style for keyIdentifiers keyCode charCode table*/
-		table#tbl-keyIdentifiers-keyCode-charCode  { border: 1px solid black;  border-spacing: 0; cell-padding: 2; }
-		#tbl-keyIdentifiers-keyCode-charCode td { border: 1px solid #d3d3d3 }
-		#tbl-keyIdentifiers-keyCode-charCode th { border: 1px solid black }
-
-		#tbl-keyIdentifiers-keyCode-charCode th { text-align: center; font-weight: bold }
-
-		#tbl-keyIdentifiers-keyCode-charCode th { vertical-align: middle; font-size: 0.85em; }
-		#tbl-keyIdentifiers-keyCode-charCode td { vertical-align: middle; text-align: center;  }
-
-		.smallRow1 th { 
-			font-size: 0.75em;
-			display:block; 
-			width:1.5em; 
-			height:1.5em; 
-			height:auto;
-	    }
-
-		.verticalCell1 { 
-			display:block; 
-			width:1.5em; 
-			height:1.5em; 
-			height:auto;
-	    }
-		
-	    #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td,
-	    #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td,
-	    #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td,
-	    #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td
-	    {
-	      border-left: 1px solid black;
-	    }
-
-
-	    #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td,
-	    #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td,
-	    #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td,
-	    #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td,
-	    #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td,
-	    #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td,
-	    #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td,
-	    #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td
-	    {
-	      border-left: 1px solid gray;
-	    }
-		
-  </style>
+
+      /*style for keyIdentifiers keyCode charCode table*/
+      table#tbl-keyIdentifiers-keyCode-charCode  { border: 1px solid black;  border-spacing: 0; cell-padding: 2; }
+      #tbl-keyIdentifiers-keyCode-charCode td { border: 1px solid #d3d3d3 }
+      #tbl-keyIdentifiers-keyCode-charCode th { border: 1px solid black }
+
+      #tbl-keyIdentifiers-keyCode-charCode th { text-align: center; font-weight: bold }
+
+      #tbl-keyIdentifiers-keyCode-charCode th { vertical-align: middle; font-size: 0.85em; }
+      #tbl-keyIdentifiers-keyCode-charCode td { vertical-align: middle; text-align: center;  }
+
+      .smallRow1 th { 
+        font-size: 0.75em;
+        display:block; 
+        width:1.5em; 
+        height:1.5em; 
+        height:auto;
+      }
+
+      .verticalCell1 { 
+        display:block; 
+        width:1.5em; 
+        height:1.5em; 
+        height:auto;
+      }
+
+      #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td,
+      #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td,
+      #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td,
+      #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td
+      {
+        border-left: 1px solid black;
+      }
+
+
+      #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td,
+      #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td,
+      #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td,
+      #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td,
+      #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td,
+      #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td,
+      #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td,
+      #tbl-keyIdentifiers-keyCode-charCode td:first-child + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td + td
+      {
+        border-left: 1px solid gray;
+      }
+
+    </style>
   </head>
   <body>
     <div id="Overview" class="head">
       <p>
         <a href="http://www.w3.org/">
-          <img height="48" width="72" alt="W3C" src="http://www.w3.org/Icons/w3c_home"/>
+          <img height="48" width="72" alt="W3C" src="http://www.w3.org/Icons/w3c_home" />
         </a>
       </p>
       <h1 id="Overview-title">Document Object Model (DOM) Level 3 Events Specification</h1>
       <h2 id="Overview-version">Version 1.1</h2>
-      <!-- @@@ -->
-      <h2 id="Overview-W3C-doctype">Editor's Draft <span class="date">28 August 2009</span></h2>
+<!-- @@@ -->
+      <h2 id="Overview-W3C-doctype">Editor's Draft <span class="date">29 August 2009</span></h2>
       <dl>
         <dt>This version:</dt>
         <dd>
@@ -117,46 +119,38 @@
         </dd>
         <dt>Previous version:</dt>
         <dd>
-          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.42">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.42</a>
+          <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.53">http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html?rev=1.53</a>
         </dd>
       </dl>
       <dl>
         <dt>Editors:</dt>
         <dd>Doug Schepers, W3C</dd>
-        <dd><a href="http://bjoern.hoehrmann.de/">Bj&#246;rn H&#246;hrmann</a> Invited Expert (until December 2007)</dd>
-        <dd>Philippe Le H&#233;garet, <em>W3C (until November 2003)</em></dd>
+        <dd><a href="http://bjoern.hoehrmann.de/">Bj&#xF6;rn H&#xF6;hrmann</a> Invited Expert (until December 2007)</dd>
+        <dd>Philippe Le H&#xE9;garet, <em>W3C (until November 2003)</em></dd>
         <dd>Tom Pixley, <em>Netscape Communications Corporation (until July 2002)</em></dd>
       </dl>
-
       <p class="copyright" id="copyright-copy-2009-w3creg-mit-ercim-kei"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
-       © 2009 <a href="http://www.w3.org/"><acronym title="World Wide Web
-       Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute
-       of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><acronym title="European Research Consortium
-       for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+       &#xA9; 2009 <a href="http://www.w3.org/"><acronym title="World Wide Web        Consortium">W3C</acronym></a><sup>&#xAE;</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute        of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><acronym title="European Research Consortium        for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
        and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document
        use</a> rules apply.</p>
-
-
     </div>
-    <hr title="separator from header"/>
+    <hr title="separator from header" />
     <h2 id="Overview-abstract">Abstract</h2>
     <div class="abstract">
       <p>This specification defines the Document Object Model Events Level 3, a generic platform- and language-neutral event system which allows registration of event handlers, describes event flow through a tree structure, and provides basic contextual information for each event. The Document Object Model Events Level 3 builds on the Document Object Model Events Level 2 [<a class="noxref" href="#references-DOM2Events">DOM Level 2 Events</a>].</p>
     </div>
-
     <h2 class="no-num no-toc" id="sotd">Status of this Document</h2>
-
-      <div>
-
-       <p id="this-section-describes-the-status-of-thi"><em>This section
+    <div>
+      <p id="this-section-describes-the-status-of-thi">
+        <em>This section
         describes the status of this document at the time of its publication.
         Other documents may supersede this document. A list of current W3C
         publications and the latest revision of this technical report can be
         found in the <a href="http://www.w3.org/TR/">W3C technical reports
-        index</a> at http://www.w3.org/TR/.</em></p>
-
-       <p id="this-document-was-produced-by-a-group-op">This document was
+        index</a> at http://www.w3.org/TR/.</em>
+      </p>
+      <p id="this-document-was-produced-by-a-group-op">This document was
         produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February
         2004 W3C Patent Policy</a>. W3C maintains a <a href="http://www.w3.org/2004/01/pp-impl/42538/status" rel="disclosure">public list of any patent disclosures</a> made in
         connection with the deliverables of the group; that page also includes
@@ -164,10 +158,8 @@
         knowledge of a patent which the individual believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
         Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
         6 of the W3C Patent Policy</a>.</p>
-
-       <p id="working-draft">This is the <span class="date">20 July 2009</span> Editor's Draft version of the "Document Object Model (DOM) Level 3 Events" specification.  This document was previously published as a W3C Note, pending further feedback from implementers, and is now being revised to reflect the current state of implementation.  It is expected that this specification will progress to Recommendation status.</p>
-
-       <p id="this-document-is-produced-by-the-web-app">This document is produced
+      <p id="working-draft">This is the <span class="date">29 August 2009</span> Editor's Draft version of the "Document Object Model (DOM) Level 3 Events" specification.  This document was previously published as a W3C Note, pending further feedback from implementers, and is now being revised to reflect the current state of implementation.  It is expected that this specification will progress to Recommendation status.</p>
+      <p id="this-document-is-produced-by-the-web-app">This document is produced
         by the <a href="http://www.w3.org/2008/webapps/">Web Applications WG</a>,
         part of the <a href="http://www.w3.org/2006/rwc/Activity">Rich Web
         Clients Activity</a> in the W3C <a href="http://www.w3.org/Interaction/">Interaction Domain</a>. It is
@@ -176,8 +168,7 @@
         W3C Membership. This is a draft document and may be updated, replaced or
         obsoleted by other documents at any time. It is inappropriate to cite
         this document as other than work in progress.</p>
-
-       <p id="latest-editors-draft"><strong>You can find the
+      <p id="latest-editors-draft"><strong>You can find the
         latest <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html">Editor's Draft</a>
         of this document in the <a href="http://dev.w3.org/">W3C's CVS
         repository</a>, which is updated on a regular basis.</strong> The
@@ -186,352 +177,433 @@
         See <a href="http://www.w3.org/Mail/">W3C mailing list and archive usage
         guidelines</a>. <!-- A detailed <a href="http://dev.w3.org/cvsweb/2009/dom/">list of changes</a>
                 from the previous version is also available from the W3C's CVS server. --></p>
-
-       <p id="unstable"><strong class="redNote">Implementers should be aware that this document is not
+      <p id="unstable"><strong class="redNote">Implementers should be aware that this document is not
         stable.</strong> Implementers who are not taking part in the discussions
         are likely to find the specification changing out from under them in
         incompatible ways. Vendors interested in implementing this document
         before it eventually reaches the Candidate Recommendation stage should
         join the aforementioned mailing lists and take part in the discussions.</p>
-
     </div>
-    <h2 id="Overview-table-of-contents"><a id="Overview-contents">Table of Contents</a></h2>
+    <h2 id="Overview-table-of-contents">
+      <a id="Overview-contents">Table of Contents</a>
+    </h2>
     <ul class="toc">
-      <li><a href="#events-Events">1. Document Object Model Events</a>
-        <ul class="toc">
-          <li><a href="#events-Events-overview">1.1 Introduction</a></li>
-          <li><a href="#events-Conformance">1.2 Conformance</a></li>
-        </ul>
-      </li>
-      <li><a href="#glossary-role-glossary" class="glossary">2. Glossary</a></li>
-      <li><a href="#events-Events-flow">3. DOM Event Architecture</a>
-        <ul class="toc">
-          <li><a href="#events-Events-flow">3.1 Event dispatch and DOM event flow</a></li>
-          <li><a href="#events-Events-flow-cancelation">3.2 Default actions and cancelable events</a></li>
-          <li><a href="#events-Events-flow-activation">3.3 Activation requests and behavior</a></li>
-        </ul>
-      </li>
-      <li><a href="#events-Events-interface">4. Basic Event Interfaces</a>
+      <li>
+        <a href="#dom-events">1. Document Object Model Events</a>
         <ul class="toc">
-          <li><a href="#interface-Event">4.1 Interface Event</a></li>
-          <li><a href="#interface-CustomEvent">4.2 Interface CustomEvent</a></li>
-          <li><a href="#interface-EventTarget">4.3 Interface EventTarget</a></li>
-          <li><a href="#interface-EventListener">4.4 Interface EventListener</a></li>
-          <li><a href="#events-Events-document">4.5 Event creation</a></li>
-          <li><a href="#interface-DocumentEvent">4.5.1 Interface DocumentEvent</a></li>
-        </ul>
-      </li>
-      <li><a href="#events-Events">5. Events</a>
-        <ul class="toc">
-          <li><a href="#events-Event-types">5.1 Event Types</a>
-            <ul class="toc">
-              <li><a href="#events-Events-EventTypes-complete">5.1.1 Complete List of Event Types</a></li>
-            </ul>
+          <li>
+            <a href="#dom-events-overview">1.1 Introduction</a>
           </li>
-          <li><a href="#events-Events-definitions">5.2 Event Module Definitions</a>
-            <ul class="toc">
-              <li><a href="#events-Events-eventgroupings-uievents">5.2.1 User Interface Event Types</a></li>
-              <li><a href="#events-Events-eventgroupings-basicevents">5.2.2 Basic Event Types</a></li>
-              <li><a href="#events-Events-eventgroupings-mouseevents">5.2.3 Mouse Event Types</a></li>
-              <li><a href="#events-Events-eventgroupings-mousewheelevents">5.2.4 Mouse Wheel Event Types</a></li>
-              <li><a href="#events-Events-eventgroupings-wheelevents">5.2.5 Wheel Event Types</a></li>
-              <li><a href="#events-Events-TextEvents-Interfaces">5.2.6 Text Events Types</a></li>
-              <li><a href="#events-Events-KeyboardEvents-Interfaces">5.2.7 Keyboard Event Types</a></li>
-              <li><a href="#events-Events-CompositionEvents-Interfaces">5.2.8 Composition Events Types</a>
-                <ul class="toc">
-                  <li><a href="#handwriting">5.2.8.1 Handwriting Recognition Systems</a></li>
-                </ul>
-              </li>              
-              <li><a href="#events-Events-eventgroupings-mutationevents">5.2.9 Mutation Events</a></li>
-              <li><a href="#events-Events-eventgroupings-mutationnameevents">5.2.10 Mutation Name Event Types</a></li>
-            </ul>
+          <li>
+            <a href="#dom-events-conformance">1.2 Conformance</a>
           </li>
         </ul>
       </li>
-      <li><a href="#keyset-KeySet">6: Keyboard events and key identifiers</a>
+      <li>
+        <a href="#glossary" class="glossary">2. Glossary</a>
+      </li>
+      <li>
+        <a href="#dom-event-architecture">3. DOM Event Architecture</a>
         <ul class="toc">
-          <li><a href="#keyset-KeySet-intro">6.1 Introduction</a>
-            <ul class="toc">
-              <li><a href="#keyset-Modifiers">6.1.1 Modifier keys</a></li>
-              <li><a href="#keyset-DeadKeys">6.1.2 Dead keys</a></li>
-              <li><a href="#keyset-IME">6.1.3 Input Method Editors</a>
-                <ul class="toc">
-                  <li><a href="#keyset-IME_keys">6.1.3.1 Input Method Editor mode keys</a></li>
-                </ul>
-              </li>
-              <li><a href="#keyset-cancelable_keys">6.1.4 Default actions and cancelable keyboard events</a></li>
-              <li><a href="#keyset-Guide">6.1.5 Guidelines for defining key identifiers</a></li>
-            </ul>
+          <li>
+            <a href="#event-flow">3.1 Event dispatch and DOM event flow</a>
           </li>
-          <li><a href="#keyset-KeySet-Set">6.2 Key identifiers set</a>
-            <ul class="toc">
-              <li><a href="#keyset-KeySet-Set-keyCode-charCode">6.2.1 Key identifiers, keyCode, and charCode</a></li>
-            </ul>
+          <li>
+            <a href="#event-flow-cancelation">3.2 Default actions and cancelable events</a>
+          </li>
+          <li>
+            <a href="#event-flow-activation">3.3 Activation requests and behavior</a>
           </li>
         </ul>
       </li>
-      <li><a href="#extending_events">Appendix A: Extending Events</a>
+      <li>
+        <a href="#event-interfaces">4. Basic Event Interfaces</a>
         <ul class="toc">
-          <li><a href="#extending_events-intro">A.1 Introduction</a></li>
-          <li><a href="#extending_events-Custom_Events">A.2 Custom Events</a></li>
-          <li><a href="#extending_events-Namespaced_Events">A.3 Namespaced Events</a>
-            <ul class="toc">
-              <li><a href="#extending_events-Legacy_Events">A.3.1 Legacy Events</a></li>
-              <li><a href="#extending_events-Vendor_Extensions">A.3.2 Vendor Extensions</a></li>
-            </ul>
+          <li>
+            <a href="#interface-Event">4.1 Interface Event</a>
           </li>
-        </ul>
-      </li>
-      <li><a href="#security-considerations-Security">Appendix B: Security Considerations</a></li>
-      <li><a href="#changes-Changes">Appendix C: Changes</a>
-        <ul class="toc">
-          <li><a href="#changes-DOMEvents2to3Changes">C.1 Changes between DOM Level 2 Events and DOM Level 3 Events</a>
+          <li>
+            <a href="#interface-CustomEvent">4.2 Interface CustomEvent</a>
+          </li>
+          <li>
+            <a href="#interface-EventTarget">4.3 Interface EventTarget</a>
+          </li>
+          <li>
+            <a href="#interface-EventListener">4.4 Interface EventListener</a>
+          </li>
+          <li>
+            <a href="#interface-DocumentEvent">4.5 Interface DocumentEvent</a>
             <ul class="toc">
-              <li><a href="#changes-DOMEvents2to3Changes-flow">C.1.1 Changes to DOM Level 2 event flow</a></li>
-              <li><a href="#changes-DOMEvents2to3Changes-event-types">C.1.2 Changes to DOM Level 2 event types</a></li>
-              <li><a href="#changes-DOMLevel2to3Changes">C.1.3 Changes to DOM Level 2 Events interfaces</a></li>
-              <li><a href="#changes-DOMLevel3Addons">C.1.4 New Interfaces</a></li>
+              <li>
+                <a href="#event-creation">4.5.1 Event creation</a>
+              </li>
             </ul>
           </li>
         </ul>
       </li>
-      <li><a href="#idl-definitions-idl">Appendix D: IDL Definitions</a>
-        <!-- <ul class="toc">
+      <li>
+        <a href="#events-module">5. Events Module</a>
+        <ul class="toc">
+          <li>
+            <a href="#event-types">5.1 Event Types</a>
+            <ul class="toc">
+              <li>
+                <a href="#event-types-list">5.1.1 List of DOM3 Event Types</a>
+              </li>
+            </ul>
+          </li>
+          <li>
+            <a href="#event-definitions">5.2 Event Module Definitions</a>
+            <ul class="toc">
+              <li>
+                <a href="#events-uievents">5.2.1 User Interface Event Types</a>
+              </li>
+              <li>
+                <a href="#events-basicevents">5.2.2 Basic Event Types</a>
+              </li>
+              <li>
+                <a href="#events-mouseevents">5.2.3 Mouse Event Types</a>
+              </li>
+              <li>
+                <a href="#events-mousewheelevents">5.2.4 Mouse Wheel Event Types</a>
+              </li>
+              <li>
+                <a href="#events-wheelevents">5.2.5 Wheel Event Types</a>
+              </li>
+              <li>
+                <a href="#events-textevents">5.2.6 Text Events Types</a>
+              </li>
+              <li>
+                <a href="#events-keyboardevents">5.2.7 Keyboard Event Types</a>
+              </li>
+              <li>
+                <a href="#events-compositionevents">5.2.8 Composition Events Types</a>
+                <ul class="toc">
+                  <li>
+                    <a href="#handwriting">5.2.8.1 Handwriting Recognition Systems</a>
+                  </li>
+                </ul>
+              </li>
+              <li>
+                <a href="#events-mutationevents">5.2.9 Mutation Events</a>
+              </li>
+              <li>
+                <a href="#events-mutationnameevents">5.2.10 Mutation Name Event Types</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a href="#keyset">6. Keyboard events and key identifiers</a>
+        <ul class="toc">
+          <li>
+            <a href="#keyboard-input">6.1 Keyboard Input</a>
+            <ul class="toc">
+              <li>
+                <a href="#keyboard-layout">6.1.1 Keyboard Layout</a>
+                <ul class="toc">
+                  <li>
+                    <a href="#keyboard-desktop">6.1.1.1 Desktop and Laptop Keyboards</a>
+                  </li>
+                  <li>
+                    <a href="#keyboard-mobile">6.1.1.1 Mobile Keypads</a>
+                  </li>
+                </ul>
+              </li>
+            </ul>
+          </li>
+          <li>
+            <a href="#keyset-comp-input">6.2 Compositional Keyboard Input</a>
+            <ul class="toc">
+              <li>
+                <a href="#keyset-Modifiers">6.2.1 Modifier keys</a>
+              </li>
+              <li>
+                <a href="#keyset-DeadKeys">6.2.2 Dead keys</a>
+              </li>
+              <li>
+                <a href="#keyset-IME">6.2.3 Input Method Editors</a>
+                <ul class="toc">
+                  <li>
+                    <a href="#keyset-IME_keys">6.2.3.1 Input Method Editor mode keys</a>
+                  </li>
+                </ul>
+              </li>
+              <li>
+                <a href="#keyset-cancelable_keys">6.2.4 Default actions and cancelable keyboard events</a>
+              </li>
+            </ul>
+          </li>
+          <li>
+            <a href="#keyset-keyidentifiers">6.3 Key Identifiers</a>
+            <ul class="toc">
+              <li>
+                <a href="#keyset-Guide">6.2.5 Guidelines for defining key identifiers</a>
+              </li>
+              <li>
+                <a href="#keyset-key-identifiers">6.3.1 Key Identifiers Set</a>
+              </li>
+              <li>
+                <a href="#keyset-keyCode-charCode">6.3.1 Key identifiers, keyCode, and charCode</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a href="#extending_events">Appendix A: Extending Events</a>
+        <ul class="toc">
+          <li>
+            <a href="#extending_events-intro">A.1 Introduction</a>
+          </li>
+          <li>
+            <a href="#extending_events-Custom_Events">A.2 Custom Events</a>
+          </li>
+          <li>
+            <a href="#extending_events-Namespaced_Events">A.3 Namespaced Events</a>
+            <ul class="toc">
+              <li>
+                <a href="#extending_events-Legacy_Events">A.3.1 Legacy Events</a>
+              </li>
+              <li>
+                <a href="#extending_events-Vendor_Extensions">A.3.2 Vendor Extensions</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a href="#security-considerations-Security">Appendix B: Security Considerations</a>
+      </li>
+      <li>
+        <a href="#changes-Changes">Appendix C: Changes</a>
+        <ul class="toc">
+          <li>
+            <a href="#changes-DOMEvents2to3Changes">C.1 Changes between DOM Level 2 Events and DOM Level 3 Events</a>
+            <ul class="toc">
+              <li>
+                <a href="#changes-DOMEvents2to3Changes-flow">C.1.1 Changes to DOM Level 2 event flow</a>
+              </li>
+              <li>
+                <a href="#changes-DOMEvents2to3Changes-event-types">C.1.2 Changes to DOM Level 2 event types</a>
+              </li>
+              <li>
+                <a href="#changes-DOMLevel2to3Changes">C.1.3 Changes to DOM Level 2 Events interfaces</a>
+              </li>
+              <li>
+                <a href="#changes-DOMLevel3Addons">C.1.4 New Interfaces</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a href="#idl-definitions-idl">Appendix D: IDL Definitions</a>
+<!-- <ul class="toc">
           <li><a href="#idl-definitions-idl-events.idl"></a><a href="idl/events.idl">events.idl</a></li>
         </ul> -->
       </li>
-      <li><a href="#java-binding-java-binding">Appendix E: Java Language Binding</a>
+      <li>
+        <a href="#java-binding-java-binding">Appendix E: Java Language Binding</a>
       </li>
-      <li><a href="#ecma-script-binding-ecma-binding">Appendix F: ECMAScript Language Binding</a></li>
-      <li><a href="#acknowledgements-contributors">Appendix G: Acknowledgements</a>
+      <li>
+        <a href="#ecma-script-binding-ecma-binding">Appendix F: ECMAScript Language Binding</a>
+      </li>
+      <li>
+        <a href="#acknowledgements-contributors">Appendix G: Acknowledgements</a>
         <ul class="toc">
-          <li><a href="#acknowledgements-Productions">G.1 Production Systems</a>
+          <li>
+            <a href="#acknowledgements-Productions">G.1 Production Systems</a>
+          </li>
         </ul>
       </li>
-      <li><a href="#references-role-references" class="references">References</a>
+      <li>
+        <a href="#references-role-references" class="references">References</a>
         <ul class="toc">
-          <li><a href="#references-References-Normative">H.1 Normative References</a>
-          <li><a href="#references-References-Informative">H.2 Informative References</a></li>
+          <li>
+            <a href="#references-References-Normative">H.1 Normative References</a>
+          </li>
+          <li>
+            <a href="#references-References-Informative">H.2 Informative References</a>
+          </li>
         </ul>
       </li>
     </ul>
-    </div>
     <div class="div1">
-      <h1 id="events-Events" class="div1">1. Document Object Model Events</h1>
-
+      <h1 id="dom-events" class="div1">1. Document Object Model Events</h1>
       <div class="div2">
-        <h2 id="events-Events-overview" class="div2">1.1 Introduction</h2>
-        <p>DOM Events is designed with two main goals. The first goal is the design of an <a href="#glossary-dt-event">event</a> system which allows registration of event listeners and describes event flow through a tree structure. Additionally, the specification will provide standard modules of events for user interface control and document mutation notifications, including defined contextual information for each of these event modules.</p>
-        <p>The second goal of DOM Events is to provide a common subset of the current event systems used in <a href="#glossary-dt-DOM-Level-0">DOM Level 0</a> browsers. This is intended to foster interoperability of existing scripts and content. It is not expected that this goal will be met with full backwards compatibility. However, the specification attempts to achieve this when possible.</p>
+        <h2 id="dom-events-overview" class="div2">1.1 Introduction</h2>
+        <p>DOM Events is designed with two main goals. The first goal is the design of an <a href="#glossary-event">event</a> system which allows registration of event listeners and describes event flow through a tree structure. Additionally, the specification will provide standard modules of events for user interface control and document mutation notifications, including defined contextual information for each of these event modules.</p>
+        <p>The second goal of DOM Events is to provide a common subset of the current event systems used in <a href="#glossary-DOM-Level-0">DOM Level 0</a> browsers. This is intended to foster interoperability of existing scripts and content. It is not expected that this goal will be met with full backwards compatibility. However, the specification attempts to achieve this when possible.</p>
         <div class="div3">
-          <h3 id="events-Conformance" class="div3">1.2 Conformance</h3>
-          <p>This specification is to be understood in the context of the DOM Level 3 Core specification [<cite><a class="noxref normative" href="#references-DOMCore">DOM Level 3 Core</a></cite>] and the general considerations for DOM implementations apply. For example, handling of <a href="#glossary-dt-namespaceURI">namespace URIs</a> is discussed in <a class="normative" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#Namespaces-Considerations"><em>XML Namespaces</em></a>, and behavior in exceptional circumstances (such as when a <code>null</code> argument is passed when <code>null</code> was not expected) is discussed under <a class="normative" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-17189187"><em>DOMException</em></a>. For additional information about <a class="normative" href="http://www.w3.org/TR/DOM-Level-3-Core/introduction.html#ID-Conformance"><em>conformance</em></a>, please see the DOM Level 3 Core specification [<cite><a class="noxref normative" href="#references-DOMCore">DOM Level 3 Core</a></cite>].</p>
-
-          <p>An implementation is DOM Level 3 Events conformant if it supports the Core module defined in [<cite><a class="noxref normative" href="#references-DOM2Core">DOM Level 2 Core</a></cite>], the <a href="#events-Events-flow">Event dispatch and DOM event flow</a> mechanism and the interfaces with their associated semantics defined in <a href="#events-Events-interface">Basic interfaces</a>. An implementation conforms to a DOM Level 3 Events module if it conforms to DOM Level 3 Events, the event types defined in the module, and the modules the module depends upon (if any).</p>
-
+          <h3 id="dom-events-conformance" class="div3">1.2 Conformance</h3>
+          <p>This specification is to be understood in the context of the DOM Level 3 Core specification [<cite><a class="noxref normative" href="#references-DOMCore">DOM Level 3 Core</a></cite>] and the general considerations for DOM implementations apply. For example, handling of <a href="#glossary-namespaceURI">namespace URIs</a> is discussed in <a class="normative" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#Namespaces-Considerations"><em>XML Namespaces</em></a>, and behavior in exceptional circumstances (such as when a <code>null</code> argument is passed when <code>null</code> was not expected) is discussed under <a class="normative" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-17189187"><em>DOMException</em></a>. For additional information about <a class="normative" href="http://www.w3.org/TR/DOM-Level-3-Core/introduction.html#ID-Conformance"><em>conformance</em></a>, please see the DOM Level 3 Core specification [<cite><a class="noxref normative" href="#references-DOMCore">DOM Level 3 Core</a></cite>].</p>
+          <p>An implementation is DOM Level 3 Events conformant if it supports the Core module defined in [<cite><a class="noxref normative" href="#references-DOM2Core">DOM Level 2 Core</a></cite>], the <a href="#event-flow">Event dispatch and DOM event flow</a> mechanism and the interfaces with their associated semantics defined in <a href="#event-interfaces">Basic interfaces</a>. An implementation conforms to a DOM Level 3 Events module if it conforms to DOM Level 3 Events, the event types defined in the module, and the modules the module depends upon (if any).</p>
           <p>An implementation conforms to an event type if it conforms to its associated semantics and DOM interfaces. This includes that event objects that are generated by the implementation are generated as outlined in the tabular definition of the event type.</p>
-
-          <p>An implementation which does not conform to an event module can still implement the DOM interfaces associated with it. The DOM application can then create an event object using the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent()</code></a> method and <a href="#glossary-dt-dispatch">dispatch</a> an event type associated with this interface using the <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent()</code></a> method.</p>
-
-          <p><span class='assert must'>A DOM application may use the <code>hasFeature(feature, version)</code> method of the <code>DOMImplementation</code> interface with parameter values <code>"Events"</code> and <code>"3.0"</code> (respectively) to determine whether or not DOM Level 3 Events is supported by the implementation, and the implementation must return true.</span> <span class='assert must'>Since DOM Level 3 Events is built on top of DOM Level 2 Events [<cite><a class="noxref normative" href="#references-DOM2Events">DOM Level 2 Events</a></cite>], an implementation that returns <code>true</code> for <code>"Events"</code> and <code>"3.0"</code> shall also return <code>true</code> for the parameters <code>"Events"</code> and <code>"2.0"</code>.</span>  <span class='assert must'>The same holds for the feature strings defined for the individual event modules as applicable.</span>  Refer to <a class="normative" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMFeatures"><em>DOM Features</em></a> in [<cite><a class="noxref normative" href="#references-DOMCore">DOM Level 3 Core</a></cite>] for additional information.</p>
+          <p>An implementation which does not conform to an event module can still implement the DOM interfaces associated with it. The DOM application can then create an event object using the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent()</code></a> method and <a href="#glossary-dispatch">dispatch</a> an event type associated with this interface using the <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent()</code></a> method.</p>
+          <p><span class="assert must">A DOM application may use the <code>hasFeature(feature, version)</code> method of the <code>DOMImplementation</code> interface with parameter values <code>"Events"</code> and <code>"3.0"</code> (respectively) to determine whether or not DOM Level 3 Events is supported by the implementation, and the implementation must return true.</span><span class="assert must">Since DOM Level 3 Events is built on top of DOM Level 2 Events [<cite><a class="noxref normative" href="#references-DOM2Events">DOM Level 2 Events</a></cite>], an implementation that returns <code>true</code> for <code>"Events"</code> and <code>"3.0"</code> shall also return <code>true</code> for the parameters <code>"Events"</code> and <code>"2.0"</code>.</span><span class="assert must">The same holds for the feature strings defined for the individual event modules as applicable.</span>  Refer to <a class="normative" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMFeatures"><em>DOM Features</em></a> in [<cite><a class="noxref normative" href="#references-DOMCore">DOM Level 3 Core</a></cite>] for additional information.</p>
         </div>
-        <!-- div3 Conformance -->
+<!-- div3 Conformance -->
       </div>
-
-      <!-- div1 glossary -->
+<!-- div1 glossary -->
       <div class="div1" id="glossary-glossary">
-        <h1 id="glossary-role-glossary" class="glossary">2. Glossary</h1>
+        <h1 id="glossary" class="glossary">2. Glossary</h1>
         <p class="1st">Some of the following term definitions have been borrowed or modified from similar definitions in other W3C or standards documents. See the links within the definitions for more information.</p>
         <dl id="glossary-list">
-          <dt id="glossary-dt-activation-behavior">activation behavior</dt>
-          	<dd>The action taken when an <a href="#glossary-dt-event">event</a>, typically initiated by users through an input device, causes an element to fulfill a defined role.  The role may be defined for that element by the host language, or by author-defined variables, or both.  The role for any given element may be a generic action, or may be unique to that element.  For example, the activation behavior of an HTML or SVG <code>&lt;a&gt;</code> element shall be to cause the user agent to traverse the link specified in the <code>href</code> attribute, with the further optional parameter of specifying the browsing context for the traversal (such as the current window or tab, a named window, or a new window); the activation behavior of an HTML <code>&lt;input&gt;</code> element with the <code>type</code> attribute value <code>submit</code> shall be to send the values of the form elements to an author-defined IRI by the author-defined HTTP method.</dd>
-
-          <dt id="glossary-dt-bubbling-phase">bubbling phase</dt>
-          	<dd>The process by which an <a href="#glossary-dt-event">event</a> can be handled by one of the target ancestors after being handled by the <a href="#glossary-dt-target-node">target node</a>.</dd>
-
-         <dt id="glossary-dt-capture-phase">capture phase</dt>
-          	<dd>The process by which an <a href="#glossary-dt-event">event</a> can be handled by one of the target ancestors before being handled by the <a href="#glossary-dt-target-node">target node</a>.</dd>
-
-         <dt id="glossary-dt-dead-key">dead key</dt>
-         <dd>A dead key is a key or combination of key that produces no character by itself, but which in combination or sequence with another key produces a modified character, such as a character with diacritical marks (e.g. <code>ö</code>, <code>é</code>, <code>â</code>).</dd>
-
-         <dt id="glossary-dt-default-action">default action</dt>
-         <dd>A <a href="#glossary-dt-default-action">default action</a> is a supplementary behavior that an implementation must perform in combination with the dispatch of the event object.  Each event, and each specification, defines the <a href="#glossary-dt-default-action">default action</a> for that event.  A <a href="#glossary-dt-default-action">default action</a> may be cancelled through the invocation of the <a href="#events-Events-Event-preventDefault"><code>Event.preventDefault()</code></a> method.  For more details, see <a href="#events-Events-flow-cancelation">Default actions and cancelable events</a>.</dd>
-
-         <dt id="glossary-dt-defaultView">defaultView</dt>
-         <dd>The <code>defaultView</code> is the <a href="http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-AbstractView" title="Document Object Model Views"><code>AbstractView</code> interface</a> of the <code>Document</code>'s <a href="http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-DocumentView" title="Document Object Model Views"><code>DocumentView</code> interface</a>, which serves as a reference to the containing frame or window.  This interface may also be accessed as the <code>Window</code> interface in many implementations.</dd>
-
-         <dt id="glossary-dt-deprecated">deprecated</dt>
-         <dd>Features marked as deprecated are included in the specification as reference to older implementations or specifications, but are optional and discouraged.  Only features which have existing or in-progress replacements shall be deprecated in this specification.  Implementations which do not already include support for the feature should not implement deprecated features, and authors creating content should not use deprecated features, unless there is no other way to solve a use case.  Other specifications which reference this specification should not use deprecated features, but should point instead to the replacements of which the feature is deprecated in favor.</dd>
-
-        <dt id="glossary-dt-dispatch">dispatch</dt>
-        <dd>To create an event with attributes and methods appropriate to its type and context, and propagate it through the DOM tree in the specified manner. Interchangeable with the term "fire", e.g. "fire a 'click' event" or "dispatch a 'load' event".</dd>
-
-        <dt id="glossary-dt-DOM-Level-0">DOM Level 0</dt>
-        <dd>The term "DOM Level 0" refers to a mix (not formally specified) of HTML document functionalities offered by Netscape Navigator version 3.0 and Microsoft Internet Explorer version 3.0. In some cases, attributes or methods have been included for reasons of backward compatibility with "DOM Level 0".</dd>
-
-        <dt id="glossary-dt-event">event</dt>
-        <dd>An event is the representation of some asynchronous occurrence (such as a mouse click on the presentation of the element, or the removal of child node from an element, or any of unthinkably many other possibilities) that gets associated with an <a href="#glossary-dt-event-target">event target</a>.</dd>
-
-        <dt id="glossary-dt-event-phase">event phase</dt>
-        <dd>See <a href="#glossary-dt-phase">phase</a>.</dd>
-
-        <dt id="glossary-dt-event-type">event target</dt>
-        <dd>The object to which an <a href="#glossary-dt-event">event</a> is targeted.</dd>
-
-        <dt id="glossary-dt-event-type">event type</dt>
-        <dd>An <a href="#glossary-dt-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="#events-event-click"><code>click</code></a> event type has different characteristics than the <a href="#events-event-mouseover"><code>mouseover</code></a> or <a href="#events-event-load"><code>load</code></a> event types. The event type is exposed as the <a class="noxref" href="#events-Events-Event-type"><code class="interface-attribute">type</code></a> attribute on the event object.  See <a href="#events-Event-types">event types</a> for more details.  Also loosely referred to as 'event', such as the <em><code>click</code> event</em>.</dd>
-
-        <dt id="glossary-dt-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-dt-ime">IME</dt>
-        <dt id="glossary-dt-input-method-editor">input method editor</dt>
-        <dd>An <em>input method editor</em> (IME), also known as a <em>front end processor</em>, is an application that performs the conversion between keystrokes and ideographs or other characters, usually by user-guided dictionary lookup, often used in East Asian languages (e.g. Chinese, Japanese, Korean).  An IME may also be used for dictionary-based word completion, such as on mobile devices.  See <a href="#keyset-IME">Input Method Editors</a> for treatment of IMEs in this specification.  See also <a href="#glossary-dt-text-composition-system">text composition system</a>.</dd>
-
-        <dt id="glossary-dt-localname">local name</dt>
-        <dd>See local name in [<cite><a class="noxref informative" href="#references-Namespaces11">XML Namespaces 1.1</a></cite>].</dd>
-
-        <dt id="glossary-dt-namespaceURI">namespace URI</dt>
-        <dd>A <em>namespace URI</em> is a URI that identifies an XML namespace. This is called the namespace name in [<cite><a class="noxref informative" href="#references-Namespaces11">XML Namespaces 1.1</a></cite>]. See also sections 1.3.2 "<a class="normative" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#baseURIs-Considerations"> <em>DOM URIs</em></a>" and 1.3.3 "<a class="normative" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#Namespaces-Considerations"><em>XML Namespaces</em></a>" regarding URIs and namespace URIs handling and comparison in the DOM APIs.</dd>
-
-        <dt id="glossary-dt-phase">phase</dt>
-        <dd>In the context of <a href="#glossary-dt-event">events</a>, a phase is set of logical traversals from node to node along the DOM tree, from the <a href="#glossary-dt-root-element">root element</a> down to the <a href="#glossary-dt-event-target">event target</a> (<a href="glossary-dt-capture-phase">capture phase</a>), at the <a href="#glossary-dt-event-target">event target</a> itself (<a href="#glossary-dt-target-phase">target phase</a>), and back up to the <a href="#glossary-dt-root-element">root element</a> (<a href="#glossary-dt-bubbling-phase">bubbling phase</a>).</dd>
-
-        <dt id="glossary-dt-propagation-path">propagation path</dt>
-        <dd>The ordered set of <a href="#glossary-dt-event-target">event targets</a> though which an <a href="#glossary-dt-event">event</a> object will pass sequentially on the way to and back from the ultimate <a href="#glossary-dt-event-target">event target</a>.  The propagation path is initially comprised of one or more <a href="#glossary-dt-event-phase">event phases</a> as defined by the <a href="#glossary-dt-event-type">event type</a>, but may be interrupted.  Also known as an <em>event target chain</em>.</dd>
-
-        <dt id="glossary-dt-target-node">target node</dt>
-        <dd>The target node is the node representing the <a href="#glossary-dt-event-target">event target</a> to which an <a href="#glossary-dt-event">event</a> is targeted using the DOM event flow.</dd>
-
-        <dt id="glossary-dt-text-composition-system">text composition system</dt>
-        <dd>A software component which interprets some form of alternate input, such as a <a href="#glossary-dt-ime">input method editor</a>, a speech processor, or a handwriting recognition system, and converts it to text.</dd>
-
-        <dt id="glossary-dt-root-element">root element</dt>
-        <dd>The first element node of a document, of which all other elements are children; the document element.</dd>
-
-        <dt id="glossary-dt-target-phase">target phase</dt>
-        <dd>The process by which an <a href="#glossary-dt-event">event</a> can be handled by the <a href="#glossary-dt-event-target">event target</a>.</dd>
-
-        <dt id="glossary-dt-topmost-event-target">topmost event target</dt>
-        <dd>The <a href="#glossary-dt-topmost-event-target">topmost event target</a> shall be the element highest in the rendering order which is capable of being an <a href="#glossary-dt-event-target">event target</a>.  In this case, 'top' shall refer not to the position on the screen, but the logical order of the element in relation to other elements in drawing or stacking order on the z-axis (where the x-axis is the screen width and the y-axis is the screen height).  In HTML and CSS, or in SVG, this is controlled by the document order, as modified in HTML and CSS by the 'z-index' property.  In some cases, such as when using some values of the SVG 'pointer-events' property, the topmost element may not receive pointer events, in which case, the next element in z-index order which can receive pointer-events is the <a href="#glossary-dt-topmost-event-target">topmost event target</a>.  Note that visibility of the element does not necessarily affect its ability to be the <a href="#glossary-dt-topmost-event-target">topmost event target</a>, since an element which is hidden by use of the CSS 'visibility' property can still receive pointer events (though not one with a 'display' property of 'none'), and the <a href="#glossary-dt-topmost-event-target">topmost event target</a> may be completely obscured by another element which cannot receive pointer events.  Unless otherwise noted, there is only one <a href="#glossary-dt-topmost-event-target">topmost event target</a> in any event.</dd>
-
-        <dt id="glossary-dt-tree">tree</dt>
-        <dd>A data structure that represents a document as a hierarchical set of nodes with child-parent-sibling relationships, i.e. each node having one or more possible ancestors (nodes higher in the hierarchy in a direct lineage), one or more possible descendants (nodes lower in the hierarchy in a direct lineage), and one or more possible peers (nodes of the same level in the hierarchy, with the same immediate ancestor).</dd>
-
-        <dt id="glossary-dt-Unicode-character-categories">Unicode character categories</dt>
-        <dd>The Unicode character categories, a subset of the complete Unicode general categories, comprise the categories <abbr title="Letter, Lowercase">Ll</abbr>, <abbr title="Letter, Modifier">Lm</abbr>, <abbr title="Letter, Other">Lo</abbr>, <abbr title="Letter, Titlecase">Lt</abbr>, <abbr title="Letter, Uppercase">Lu</abbr>, <abbr title="Number, Decimal Digit">Nd</abbr>, <abbr title="Number, Letter">Nl</abbr>, <abbr title="Number, Other">No</abbr>, <abbr title="Punctuation, Connector">Pc</abbr>, <abbr title="Punctuation, Dash">Pd</abbr>, <abbr title="Punctuation, Close">Pe</abbr>, <abbr title="Punctuation, Final quote">Pf</abbr>, <abbr title="Punctuation, Initial quote">Pi</abbr>, <abbr title="Punctuation, Other">Po</abbr>, <abbr title="Punctuation, Open">Ps</abbr>, <abbr title="Symbol, Currency">Sc</abbr>, <abbr title="Symbol, Modifier">Sk</abbr>, <abbr title="Symbol, Math">Sm</abbr>, and <abbr title="Symbol, Other">So</abbr>.</dd> 
-
-       </dl>
+          <dt id="glossary-activation-behavior">activation behavior</dt>
+          <dd>The action taken when an <a href="#glossary-event">event</a>, typically initiated by users through an input device, causes an element to fulfill a defined role.  The role may be defined for that element by the host language, or by author-defined variables, or both.  The role for any given element may be a generic action, or may be unique to that element.  For example, the activation behavior of an HTML or SVG <code>&lt;a&gt;</code> element shall be to cause the user agent to traverse the link specified in the <code>href</code> attribute, with the further optional parameter of specifying the browsing context for the traversal (such as the current window or tab, a named window, or a new window); the activation behavior of an HTML <code>&lt;input&gt;</code> element with the <code>type</code> attribute value <code>submit</code> shall be to send the values of the form elements to an author-defined IRI by the author-defined HTTP method.</dd>
+          <dt id="glossary-bubbling-phase">bubbling phase</dt>
+          <dd>The process by which an <a href="#glossary-event">event</a> can be handled by one of the target ancestors after being handled by the <a href="#glossary-target-node">target node</a>.</dd>
+          <dt id="glossary-capture-phase">capture phase</dt>
+          <dd>The process by which an <a href="#glossary-event">event</a> can be handled by one of the target ancestors before being handled by the <a href="#glossary-target-node">target node</a>.</dd>
+          <dt id="glossary-dead-key">dead key</dt>
+          <dd>A dead key is a key or combination of key that produces no character by itself, but which in combination or sequence with another key produces a modified character, such as a character with diacritical marks (e.g. <code>&#xF6;</code>, <code>&#xE9;</code>, <code>&#xE2;</code>).</dd>
+          <dt id="glossary-default-action">default action</dt>
+          <dd>A <a href="#glossary-default-action">default action</a> is a supplementary behavior that an implementation must perform in combination with the dispatch of the event object.  Each event, and each specification, defines the <a href="#glossary-default-action">default action</a> for that event.  A <a href="#glossary-default-action">default action</a> may be cancelled through the invocation of the <a href="#events-event-type-preventDefault"><code>Event.preventDefault()</code></a> method.  For more details, see <a href="#event-flow-cancelation">Default actions and cancelable events</a>.</dd>
+          <dt id="glossary-defaultView">defaultView</dt>
+          <dd>The <code>defaultView</code> is the <a href="http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-AbstractView" title="Document Object Model Views"><code>AbstractView</code> interface</a> of the <code>Document</code>'s <a href="http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-DocumentView" title="Document Object Model Views"><code>DocumentView</code> interface</a>, which serves as a reference to the containing frame or window.  This interface may also be accessed as the <code>Window</code> interface in many implementations.</dd>
+          <dt id="glossary-deprecated">deprecated</dt>
+          <dd>Features marked as deprecated are included in the specification as reference to older implementations or specifications, but are optional and discouraged.  Only features which have existing or in-progress replacements shall be deprecated in this specification.  Implementations which do not already include support for the feature should not implement deprecated features, and authors creating content should not use deprecated features, unless there is no other way to solve a use case.  Other specifications which reference this specification should not use deprecated features, but should point instead to the replacements of which the feature is deprecated in favor.</dd>
+          <dt id="glossary-dispatch">dispatch</dt>
+          <dd>To create an event with attributes and methods appropriate to its type and context, and propagate it through the DOM tree in the specified manner. Interchangeable with the term "fire", e.g. "fire a 'click' event" or "dispatch a 'load' event".</dd>
+          <dt id="glossary-DOM-Level-0">DOM Level 0</dt>
+          <dd>The term "DOM Level 0" refers to a mix (not formally specified) of HTML document functionalities offered by Netscape Navigator version 3.0 and Microsoft Internet Explorer version 3.0. In some cases, attributes or methods have been included for reasons of backward compatibility with "DOM Level 0".</dd>
+          <dt id="glossary-event">event</dt>
+          <dd>An event is the representation of some asynchronous occurrence (such as a mouse click on the presentation of the element, or the removal of child node from an element, or any of unthinkably many other possibilities) that gets associated with an <a href="#glossary-event-target">event target</a>.</dd>
+          <dt id="glossary-event-phase">event phase</dt>
+          <dd>See <a href="#glossary-phase">phase</a>.</dd>
+          <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>
+          <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>
+          <dt id="glossary-input-method-editor">input method editor</dt>
+          <dd>An <em>input method editor</em> (IME), also known as a <em>front end processor</em>, is an application that performs the conversion between keystrokes and ideographs or other characters, usually by user-guided dictionary lookup, often used in East Asian languages (e.g. Chinese, Japanese, Korean).  An IME may also be used for dictionary-based word completion, such as on mobile devices.  See <a href="#keyset-IME">Input Method Editors</a> for treatment of IMEs in this specification.  See also <a href="#glossary-text-composition-system">text composition system</a>.</dd>
+          <dt id="glossary-localname">local name</dt>
+          <dd>See local name in [<cite><a class="noxref informative" href="#references-Namespaces11">XML Namespaces 1.1</a></cite>].</dd>
+          <dt id="glossary-namespaceURI">namespace URI</dt>
+          <dd>A <em>namespace URI</em> is a URI that identifies an XML namespace. This is called the namespace name in [<cite><a class="noxref informative" href="#references-Namespaces11">XML Namespaces 1.1</a></cite>]. See also sections 1.3.2 "<a class="normative" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#baseURIs-Considerations"><em>DOM URIs</em></a>" and 1.3.3 "<a class="normative" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#Namespaces-Considerations"><em>XML Namespaces</em></a>" regarding URIs and namespace URIs handling and comparison in the DOM APIs.</dd>
+          <dt id="glossary-phase">phase</dt>
+          <dd>In the context of <a href="#glossary-event">events</a>, a phase is set of logical traversals from node to node along the DOM tree, from the <a href="#glossary-root-element">root element</a> down to the <a href="#glossary-event-target">event target</a> (<a href="glossary-capture-phase">capture phase</a>), at the <a href="#glossary-event-target">event target</a> itself (<a href="#glossary-target-phase">target phase</a>), and back up to the <a href="#glossary-root-element">root element</a> (<a href="#glossary-bubbling-phase">bubbling phase</a>).</dd>
+          <dt id="glossary-propagation-path">propagation path</dt>
+          <dd>The ordered set of <a href="#glossary-event-target">event targets</a> though which an <a href="#glossary-event">event</a> object will pass sequentially on the way to and back from the ultimate <a href="#glossary-event-target">event target</a>.  The propagation path is initially comprised of one or more <a href="#glossary-event-phase">event phases</a> as defined by the <a href="#glossary-event-type">event type</a>, but may be interrupted.  Also known as an <em>event target chain</em>.</dd>
+          <dt id="glossary-target-node">target node</dt>
+          <dd>The target node is the node representing the <a href="#glossary-event-target">event target</a> to which an <a href="#glossary-event">event</a> is targeted using the DOM event flow.</dd>
+          <dt id="glossary-text-composition-system">text composition system</dt>
+          <dd>A software component which interprets some form of alternate input, such as a <a href="#glossary-ime">input method editor</a>, a speech processor, or a handwriting recognition system, and converts it to text.</dd>
+          <dt id="glossary-root-element">root element</dt>
+          <dd>The first element node of a document, of which all other elements are children; the document element.</dd>
+          <dt id="glossary-target-phase">target phase</dt>
+          <dd>The process by which an <a href="#glossary-event">event</a> can be handled by the <a href="#glossary-event-target">event target</a>.</dd>
+          <dt id="glossary-topmost-event-target">topmost event target</dt>
+          <dd>The <a href="#glossary-topmost-event-target">topmost event target</a> shall be the element highest in the rendering order which is capable of being an <a href="#glossary-event-target">event target</a>.  In this case, 'top' shall refer not to the position on the screen, but the logical order of the element in relation to other elements in drawing or stacking order on the z-axis (where the x-axis is the screen width and the y-axis is the screen height).  In HTML and CSS, or in SVG, this is controlled by the document order, as modified in HTML and CSS by the 'z-index' property.  In some cases, such as when using some values of the SVG 'pointer-events' property, the topmost element may not receive pointer events, in which case, the next element in z-index order which can receive pointer-events is the <a href="#glossary-topmost-event-target">topmost event target</a>.  Note that visibility of the element does not necessarily affect its ability to be the <a href="#glossary-topmost-event-target">topmost event target</a>, since an element which is hidden by use of the CSS 'visibility' property can still receive pointer events (though not one with a 'display' property of 'none'), and the <a href="#glossary-topmost-event-target">topmost event target</a> may be completely obscured by another element which cannot receive pointer events.  Unless otherwise noted, there is only one <a href="#glossary-topmost-event-target">topmost event target</a> in any event.</dd>
+          <dt id="glossary-tree">tree</dt>
+          <dd>A data structure that represents a document as a hierarchical set of nodes with child-parent-sibling relationships, i.e. each node having one or more possible ancestors (nodes higher in the hierarchy in a direct lineage), one or more possible descendants (nodes lower in the hierarchy in a direct lineage), and one or more possible peers (nodes of the same level in the hierarchy, with the same immediate ancestor).</dd>
+          <dt id="glossary-Unicode-character-categories">Unicode character categories</dt>
+          <dd>The Unicode character categories, a subset of the complete Unicode general categories, comprise the categories <abbr title="Letter, Lowercase">Ll</abbr>, <abbr title="Letter, Modifier">Lm</abbr>, <abbr title="Letter, Other">Lo</abbr>, <abbr title="Letter, Titlecase">Lt</abbr>, <abbr title="Letter, Uppercase">Lu</abbr>, <abbr title="Number, Decimal Digit">Nd</abbr>, <abbr title="Number, Letter">Nl</abbr>, <abbr title="Number, Other">No</abbr>, <abbr title="Punctuation, Connector">Pc</abbr>, <abbr title="Punctuation, Dash">Pd</abbr>, <abbr title="Punctuation, Close">Pe</abbr>, <abbr title="Punctuation, Final quote">Pf</abbr>, <abbr title="Punctuation, Initial quote">Pi</abbr>, <abbr title="Punctuation, Other">Po</abbr>, <abbr title="Punctuation, Open">Ps</abbr>, <abbr title="Symbol, Currency">Sc</abbr>, <abbr title="Symbol, Modifier">Sk</abbr>, <abbr title="Symbol, Math">Sm</abbr>, and <abbr title="Symbol, Other">So</abbr>.</dd>
+        </dl>
       </div>
-      <!-- div1 glossary -->
-
+<!-- div1 glossary -->
 <!-- <span class='assert must'></span> -->
-
-      <!-- div2 Events-overview -->
-      <h2 id="events-Events-flow" class="div2">3. DOM Event Architecture</h2>
+<!-- div2 Events-overview -->
+      <h2 id="dom-event-architecture" class="div2">3. DOM Event Architecture</h2>
       <div class="div2">
-        <h3 id="events-Events-flow" class="div2">3.1 Event dispatch and DOM event flow</h3>
-        <p>This section defines the event <a href="#glossary-dt-dispatch">dispatch</a> mechanism of the event model defined in this specification. <span class='assert may'>Applications may dispatch event objects using the <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent()</code></a> method</span>, and <span class='assert must'>implementations must dispatch event objects as if through this method.</span> The behavior of this method depends on the <em>event flow</em> associated with the underlying object. An event flow describes how event objects <em>propagate</em> through a data structure. As an example, when an event object is dispatched to an element in an XML document, the object propagates through parts of the document, as determined by the DOM event flow which is defined at the end of this section.</p>
-
+        <h3 id="event-flow" class="div2">3.1 Event dispatch and DOM event flow</h3>
+        <p>This section defines the event <a href="#glossary-dispatch">dispatch</a> mechanism of the event model defined in this specification. <span class="assert may">Applications may dispatch event objects using the <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent()</code></a> method</span>, and <span class="assert must">implementations must dispatch event objects as if through this method.</span> The behavior of this method depends on the <em>event flow</em> associated with the underlying object. An event flow describes how event objects <em>propagate</em> through a data structure. As an example, when an event object is dispatched to an element in an XML document, the object propagates through parts of the document, as determined by the DOM event flow which is defined at the end of this section.</p>
         <div class="figure" style="text-align: center">
           <object type="image/svg+xml" data="images/eventflow.svg" width="520" height="560">
-            <img src="images/eventflow.png" alt="graphical representation of an event dispatched in a DOM tree using the DOM event flow" title="graphical representation of an event dispatched in a DOM tree using the DOM event flow"/>
+            <img src="images/eventflow.png" alt="graphical representation of an event dispatched in a DOM tree using the DOM event flow" title="graphical representation of an event dispatched in a DOM tree using the DOM event flow" />
           </object>
-          <p style="text-align:left"><em>Figure: graphical representation of an event dispatched in a DOM tree using the DOM event flow</em></p>
+          <p style="text-align:left">
+            <em>Figure: graphical representation of an event dispatched in a DOM tree using the DOM event flow</em>
+          </p>
         </div>
-
-        <p>Event objects are always dispatched to a node called the <em>event target</em>.  <span class='assert must'>At the beginning of the dispatch, implementations must first determine the event object's <a href="#glossary-dt-propagation-path">propagation path</a>. The propagation path shall be an ordered list of event targets through which the object must pass.</span> <span class='assert must'>The last item in the list shall be the event target</span>; the preceding items in the list are referred to as the <em>target's ancestors</em>, and the immediately preceding item as the <em>target's parent</em>.  <span class='assert mustnot'>Once determined, the propagation path must not be changed, even if an element in the propagation path is moved within the DOM or removed from the DOM.</span> As an example, in the DOM event flow event listeners might change the position of the target node in the document while the event object is being dispatched; such changes do not affect the propagation path.</p>
-
-        <p id="event phase">As the next step, the event object must complete one or more <a href="#glossary-dt-phase">event phases</a>. This specification defines three event phases: <a href="#capture-phase">capture phase</a>; <a href="#target-phase">target phase</a>; and <a href="#bubble-phase">bubble phase</a>.  Event objects complete these phases in the specified order using the partial propagation paths as defined below.  <span class='assert must'>A phase shall be skipped if it is not supported, or if the event object's propagation has been stopped.</span>  For example, if the <a href="#events-Events-Event-canBubble"><code>Event.bubbles</code></a> attribute is set to false, the bubble phase shall be skipped, and if <a href="#events-Events-Event-stopPropagation"><code>Event.stopPropagation()</code></a> has been called prior to the dispatch, all phases must be skipped.</p>
-
+        <p>Event objects are always dispatched to a node called the <em>event target</em>.  <span class="assert must">At the beginning of the dispatch, implementations must first determine the event object's <a href="#glossary-propagation-path">propagation path</a>. The propagation path shall be an ordered list of event targets through which the object must pass.</span> <span class="assert must">The last item in the list shall be the event target</span>; the preceding items in the list are referred to as the <em>target's ancestors</em>, and the immediately preceding item as the <em>target's parent</em>.  <span class="assert mustnot">Once determined, the propagation path must not be changed, even if an element in the propagation path is moved within the DOM or removed from the DOM.</span> As an example, in the DOM event flow event listeners might change the position of the target node in the document while the event object is being dispatched; such changes do not affect the propagation path.</p>
+        <p id="event-phase">As the next step, the event object must complete one or more <a href="#glossary-phase">event phases</a>. This specification defines three event phases: <a href="#capture-phase">capture phase</a>; <a href="#target-phase">target phase</a>; and <a href="#bubble-phase">bubble phase</a>.  Event objects complete these phases in the specified order using the partial propagation paths as defined below.  <span class="assert must">A phase shall be skipped if it is not supported, or if the event object's propagation has been stopped.</span>  For example, if the <a href="#events-event-type-canBubble"><code>Event.bubbles</code></a> attribute is set to false, the bubble phase shall be skipped, and if <a href="#events-event-type-stopPropagation"><code>Event.stopPropagation()</code></a> has been called prior to the dispatch, all phases must be skipped.</p>
         <ol>
-          <li>The <strong id="capture-phase">capture phase</strong>: <span class='assert must'>the event object must propagate through the target's ancestors from the <a href="#glossary-dt-defaultView">defaultView</a> to the target's parent.</span> This phase is also known as the <em>capturing phase</em>. <span class='assert must'>Event listeners registered for this phase must handle the event before it reaches its target.</span></li>
-
-          <li>The <strong id="target-phase">target phase</strong>: <span class='assert must'>the event object must arrive at the event's target.</span> This phase is also known as the <em>at-target phase</em>. <span class='assert must'>Event listeners registered for this phase must handle the event once it has reached its target.</span>  <span class='assert must'>If the <a href="#glossary-dt-event-type">event type</a> indicates that the event must not bubble, the event object must halt after completion of this phase.</span></li>
-
-          <li>The <strong id="bubble-phase">bubble phase</strong>: <span class='assert must'>the event object propagates through the target's ancestors in reverse order, starting with the target's parent and ending with the <a href="#glossary-dt-defaultView">defaultView</a>.</span> This phase is also known as the <em>bubbling phase</em>. <span class='assert must'>Event listeners registered for this phase shall handle the event after it has reached its target.</span></li>
+          <li>The <strong id="capture-phase">capture phase</strong>: <span class="assert must">the event object must propagate through the target's ancestors from the <a href="#glossary-defaultView">defaultView</a> to the target's parent.</span> This phase is also known as the <em>capturing phase</em>. <span class="assert must">Event listeners registered for this phase must handle the event before it reaches its target.</span></li>
+          <li>The <strong id="target-phase">target phase</strong>: <span class="assert must">the event object must arrive at the event's target.</span> This phase is also known as the <em>at-target phase</em>. <span class="assert must">Event listeners registered for this phase must handle the event once it has reached its target.</span>  <span class="assert must">If the <a href="#glossary-event-type">event type</a> indicates that the event must not bubble, the event object must halt after completion of this phase.</span></li>
+          <li>The <strong id="bubble-phase">bubble phase</strong>: <span class="assert must">the event object propagates through the target's ancestors in reverse order, starting with the target's parent and ending with the <a href="#glossary-defaultView">defaultView</a>.</span> This phase is also known as the <em>bubbling phase</em>. <span class="assert must">Event listeners registered for this phase shall handle the event after it has reached its target.</span></li>
         </ol>
-
-        <p><span class='assert must'>Implementations let event objects accomplish an event phase by applying the following steps while there are pending event targets in the partial propagation path for this phase and the event object's propagation has not been stopped through <a href="#events-Events-Event-stopPropagation"><code>Event.stopPropagation()</code></a>.</span></p>
-
-        <p><span class='assert must'>First, the implementation must determine the <em>current target</em>. This shall be the next pending event target in the partial propagation path, starting with the first. From the perspective of an event listener this shall be the event target the listener has been registered on.</span></p>
-
-        <p><span class='assert must'>Next, the implementation must determine the current target's <em>candidate event listeners</em>. This shall be the list of all event listeners that have been registered on the current target in their order of registration. Once determined, the candidate event listeners cannot be changed; adding or removing listeners does not affect the current target's candidate event listeners.</span></p>
-
-        <p><span class='assert must'>Finally, the implementation must process all candidate event listeners in order and trigger each listener if all the following conditions are met:</span></p>
+        <p>
+          <span class="assert must">Implementations let event objects accomplish an event phase by applying the following steps while there are pending event targets in the partial propagation path for this phase and the event object's propagation has not been stopped through <a href="#events-event-type-stopPropagation"><code>Event.stopPropagation()</code></a>.</span>
+        </p>
+        <p>
+          <span class="assert must">First, the implementation must determine the <em>current target</em>. This shall be the next pending event target in the partial propagation path, starting with the first. From the perspective of an event listener this shall be the event target the listener has been registered on.</span>
+        </p>
+        <p>
+          <span class="assert must">Next, the implementation must determine the current target's <em>candidate event listeners</em>. This shall be the list of all event listeners that have been registered on the current target in their order of registration. Once determined, the candidate event listeners cannot be changed; adding or removing listeners does not affect the current target's candidate event listeners.</span>
+        </p>
+        <p>
+          <span class="assert must">Finally, the implementation must process all candidate event listeners in order and trigger each listener if all the following conditions are met:</span>
+        </p>
         <ul>
-          <li><span class='assert must'>The event object's immediate propagation has not been stopped.</span></li>
-          <li><span class='assert must'>The listener has been registered for this event phase.</span></li>
-          <li><span class='assert must'>The listener has been registered for this event type.</span></li>
+          <li>
+            <span class="assert must">The event object's immediate propagation has not been stopped.</span>
+          </li>
+          <li>
+            <span class="assert must">The listener has been registered for this event phase.</span>
+          </li>
+          <li>
+            <span class="assert must">The listener has been registered for this event type.</span>
+          </li>
         </ul>
-		<p><span class='assert must'>An implementation shall trigger a listener by invoking the <a href="#events-Events-EventListener-handleEvent"><code class="method-name">EventListener.handleEvent()</code></a> method or an equivalent binding-specific mechanism.</span></p>
-		
-        <p><span class='assert must'>As the final step of the event dispatch, for reasons of backwards compatibility, the implementation must reset the event object's internal-propagation and default-action-prevention states.</span> This ensures that an event object may be properly dispatched multiple times while also allowing to prevent the event objects propagation or <a href="#glossary-dt-default-action">default actions</a> prior to the event dispatch.</p>
-        
-        <p>In the production of the <a href="#glossary-dt-propagation-path">propagation path</a>, if the <a href="#glossary-dt-defaultView">defaultView</a> implements the <a href="#events-Events-EventTarget">EventTarget</a> interface, the event propagates from <a href="#glossary-dt-defaultView">defaultView</a> to the <code>document</code> object during the <a href="#glossary-dt-capture-phase">capture phase</a>, and from the <code>document</code> object to the <a href="#glossary-dt-defaultView">defaultView</a> during the <a href="#glossary-dt-bubble-phase">bubble phase</a>.  Note that for legacy reasons, the <a href="#events-event-load">load</a> event does not bubble to the <a href="#glossary-dt-defaultView">defaultView</a> in HTML implementations.</p>
-
-        <p>The model defined above must be applied regardless of the specific event flow associated with an event target. Each event flow must define how the propagation path shall be determined and which event phases are supported. The <em>DOM event flow</em> is an application of this model: the propagation path for a <code>Node</code> object shall be determined by its <code>Node.parentNode</code> chain, and if applicable, the document's containing <a href="#glossary-dt-defaultView">defaultView</a>; all events accomplish the capture and target phases; whether an event accomplishes the bubble phase shall be defined individually for each event type. An alternate application of this model can be found in [<cite><a class="noxref informative" href="#references-DOMLS">DOM Level 3 Load and Save</a></cite>].</p>
-        
+        <p>
+          <span class="assert must">An implementation shall trigger a listener by invoking the <a href="#events-Events-EventListener-handleEvent"><code class="method-name">EventListener.handleEvent()</code></a> method or an equivalent binding-specific mechanism.</span>
+        </p>
+        <p><span class="assert must">As the final step of the event dispatch, for reasons of backwards compatibility, the implementation must reset the event object's internal-propagation and default-action-prevention states.</span> This ensures that an event object may be properly dispatched multiple times while also allowing to prevent the event objects propagation or <a href="#glossary-default-action">default actions</a> prior to the event dispatch.</p>
+        <p>In the production of the <a href="#glossary-propagation-path">propagation path</a>, if the <a href="#glossary-defaultView">defaultView</a> implements the <a href="#events-Events-EventTarget">EventTarget</a> interface, the event propagates from <a href="#glossary-defaultView">defaultView</a> to the <code>document</code> object during the <a href="#glossary-capture-phase">capture phase</a>, and from the <code>document</code> object to the <a href="#glossary-defaultView">defaultView</a> during the <a href="#glossary-bubble-phase">bubble phase</a>.  Note that for legacy reasons, the <a href="#event-type-load">load</a> event does not bubble to the <a href="#glossary-defaultView">defaultView</a> in HTML implementations.</p>
+        <p>The model defined above must be applied regardless of the specific event flow associated with an event target. Each event flow must define how the propagation path shall be determined and which event phases are supported. The <em>DOM event flow</em> is an application of this model: the propagation path for a <code>Node</code> object shall be determined by its <code>Node.parentNode</code> chain, and if applicable, the document's containing <a href="#glossary-defaultView">defaultView</a>; all events accomplish the capture and target phases; whether an event accomplishes the bubble phase shall be defined individually for each event type. An alternate application of this model can be found in [<cite><a class="noxref informative" href="#references-DOMLS">DOM Level 3 Load and Save</a></cite>].</p>
         <p>Implementations of the DOM event model must be reentrant. Event listeners may perform actions that cause additional events to be dispatched. Such events are handled in a synchronous manner, the event propagation that causes the event listener to be triggered must resume only after the event dispatch of the new event is completed.</p>
       </div>
-      <!-- div2 Events-flow -->
+<!-- div2 Events-flow -->
       <div class="div2">
-        <h3 id="events-Events-flow-cancelation" class="div2">3.2 Default actions and cancelable events</h3>
-        <p>Event objects may have <a href="#glossary-dt-default-action">default actions</a> associated with them.  These are actions the implementation must perform in combination with the dispatch of the event object.  An example is the [<cite><a class="noxref informative" href="#references-HTML40">HTML 4.01</a></cite>] form element. When the user submits the form (e.g. by pressing on a submit button), the event <a href="#events-event-submit">submit</a> shall be dispatched to the element and the <a href="#glossary-dt-default-action">default action</a> for this event type shall be generally to send a request to a Web server with the parameters from the form.</p>
-        
-        <p><a href="#glossary-dt-default-action">Default actions</a> should be performed after the event dispatch has been completed, but in exceptional cases also immediately before the event is dispatched.</p>
-        
+        <h3 id="event-flow-cancelation" class="div2">3.2 Default actions and cancelable events</h3>
+        <p>Event objects may have <a href="#glossary-default-action">default actions</a> associated with them.  These are actions the implementation must perform in combination with the dispatch of the event object.  An example is the [<cite><a class="noxref informative" href="#references-HTML40">HTML 4.01</a></cite>] form element. When the user submits the form (e.g. by pressing on a submit button), the event <a href="#event-type-submit">submit</a> shall be dispatched to the element and the <a href="#glossary-default-action">default action</a> for this event type shall be generally to send a request to a Web server with the parameters from the form.</p>
+        <p><a href="#glossary-default-action">Default actions</a> should be performed after the event dispatch has been completed, but in exceptional cases also immediately before the event is dispatched.</p>
         <span class="issue">@@ insert example here: &lt;input type="checkbox"&gt;'s .checked handling comes to mind.
         .checked is changed just before 'click' event is dispatched, and if
         default action is prevented, .checked is set to its original value.</span>
-        
-        <p id="events-dt-cancelable-event">Some event objects are <em>cancelable</em>, meaning the <a href="#glossary-dt-default-action">default action</a> can be prevented from occuring, or, if the <a href="#glossary-dt-default-action">default action</a> is carried out before the dispatch, its effect may be reversed. Whether an event object is cancelable shall be indicated by the <a href="#events-Events-Event-canCancel"><code>Event.cancelable</code></a> attribute. Event listeners can cancel <a href="#glossary-dt-default-action">default actions</a> of cancelable event objects by invoking the <a href="#events-Events-Event-preventDefault"><code>Event.preventDefault()</code></a> method, and determine whether an event has been canceled through the <a href="#events-Events-Event-defaultPrevented"><code>Event.defaultPrevented</code></a> attribute while the object is being dispatched, or from the return value of the <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent()</code></a> method for event objects dispatched by the DOM application itself.</p>
-        <p>This specification does not offer features to programatically query if an event object has any <a href="#glossary-dt-default-action">default action</a> associated with it, or to associate new <a href="#glossary-dt-default-action">default actions</a> to an event object. Other specifications may define what default actions, if any, are associated with certain event objects. Further, implementations may associate <a href="#glossary-dt-default-action">default actions</a> with events as necessary and appropriate for that implementation. As an example, one implementation may scroll a document view by a certain amount as <a href="#glossary-dt-default-action">default action</a> of a mouse wheel event, while another implementation may instead zoom the document as its <a href="#glossary-dt-default-action">default action</a> for a mouse wheel event.</p>
+        <p id="events-dt-cancelable-event">Some event objects are <em>cancelable</em>, meaning the <a href="#glossary-default-action">default action</a> can be prevented from occuring, or, if the <a href="#glossary-default-action">default action</a> is carried out before the dispatch, its effect may be reversed. Whether an event object is cancelable shall be indicated by the <a href="#events-event-type-canCancel"><code>Event.cancelable</code></a> attribute. Event listeners can cancel <a href="#glossary-default-action">default actions</a> of cancelable event objects by invoking the <a href="#events-event-type-preventDefault"><code>Event.preventDefault()</code></a> method, and determine whether an event has been canceled through the <a href="#events-event-type-defaultPrevented"><code>Event.defaultPrevented</code></a> attribute while the object is being dispatched, or from the return value of the <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent()</code></a> method for event objects dispatched by the DOM application itself.</p>
+        <p>This specification does not offer features to programatically query if an event object has any <a href="#glossary-default-action">default action</a> associated with it, or to associate new <a href="#glossary-default-action">default actions</a> to an event object. Other specifications may define what default actions, if any, are associated with certain event objects. Further, implementations may associate <a href="#glossary-default-action">default actions</a> with events as necessary and appropriate for that implementation. As an example, one implementation may scroll a document view by a certain amount as <a href="#glossary-default-action">default action</a> of a mouse wheel event, while another implementation may instead zoom the document as its <a href="#glossary-default-action">default action</a> for a mouse wheel event.</p>
       </div>
-      <!-- div2 Events-flow-cancelation -->
+<!-- div2 Events-flow-cancelation -->
       <div class="div2">
-        <h3 id="events-Events-flow-activation" class="div2">3.3 Activation requests and behavior</h3>
+        <h3 id="event-flow-activation" class="div2">3.3 Activation requests and behavior</h3>
         <p>(This section is currently being rewritten.)</p>
-        <p>Event targets may have associated <a href="#glossary-dt-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-dt-default-action">default action</a> of the event type <a href="#events-event-DOMActivate">DOMActivate</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-dt-default-action">default action</a> of a <a href="#events-event-click">click</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-dt-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-dt-default-action">default action</a> of the respective keyboard event.</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 href="#event-type-DOMActivate">DOMActivate</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 href="#event-type-click">click</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 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 -->
-
-
-      <!-- div2 Event-interfaces -->
+<!-- div2 Events-flow-activation -->
+<!-- div2 Event-interfaces -->
       <div class="div2">
-        <h2 id="events-Events-interface" class="div2">4. Basic Event Interfaces</h2>
+        <h2 id="event-interfaces" class="div2">4. Basic Event Interfaces</h2>
         <p>The interfaces described in this section are fundamental to DOM Level 3 Events and must always be supported by the implementation. Together they define the feature Events 3.0.</p>
-        
         <p>The event types defined in this specification derive from these basic interfaces, and shall inherit all of the attributes, methods, and constants of the interfaces they derive from.  Event types defined in other specifications may similarly inherit from these basic interfaces or other interfaces defined in this specification, or may define their own interfaces.  The following chart describes the inheritance structure of interfaces defined in this specification.</p>
-        
         <div class="figure" style="text-align: center">
           <object type="image/svg+xml" data="images/event-inheritance.svg" width="960" height="230">
-            <img src="images/event-inheritance.png" alt="graphical representation of the DOM3 Events interface inheritance"/>
+            <img src="images/event-inheritance.png" alt="graphical representation of the DOM3 Events interface inheritance" />
           </object>
-          <p style="text-align:left"><em>Figure: graphical representation of the DOM3 Events interface inheritance</em></p>
+          <p style="text-align:left">
+            <em>Figure: graphical representation of the DOM3 Events interface inheritance</em>
+          </p>
         </div>
-        
-
-
         <h3 id="interface-Event" class="div2">4.1 Interface Event</h3>
         <dl>
-          <dt><strong>Interface <em>
-                <a id="events-Events-Event">Event</a>
-              </em></strong> (introduced in <strong class="since">DOM Level 2</strong>)</dt>
+          <dt><strong>Interface <em><a id="events-Events-Event">Event</a></em></strong> (introduced in <strong class="since">DOM Level 2</strong>)</dt>
           <dd>
             <p>The <code>Event</code> interface is used to provide contextual information about an event to the listener processing the event. An object which implements the <code>Event</code> interface shall be passed as the parameter to an <a href="#events-Events-EventListener"><code>EventListener</code></a>. The object passed to the event listener may also implement derived interfaces that provide access to information directly relating to the type of event they represent.</p>
             <p>To create an instance of the <code>Event</code> interface, use the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("Event")</code></a> method call.</p>
             <dl>
               <dt>
-                <br/>
+                <br />
                 <strong>IDL Definition</strong>
               </dt>
               <dd>
@@ -545,41 +617,39 @@
   const unsigned short      <a class="noxref" href="#events-AT_TARGET">AT_TARGET</a>                      = 2;
   const unsigned short      <a class="noxref" href="#events-BUBBLING_PHASE">BUBBLING_PHASE</a>                 = 3;
 
-  readonly attribute DOMString       <a class="noxref" href="#events-Events-Event-type">type</a>;
-  readonly attribute <a class="noxref" href="#events-Events-EventTarget">EventTarget</a>     <a class="noxref" href="#events-Events-Event-target">target</a>;
-  readonly attribute <a class="noxref" href="#events-Events-EventTarget">EventTarget</a>     <a class="noxref" href="#events-Events-Event-currentTarget">currentTarget</a>;
-  readonly attribute unsigned short  <a class="noxref" href="#events-Events-Event-eventPhase">eventPhase</a>;
-  readonly attribute boolean         <a class="noxref" href="#events-Events-Event-canBubble">bubbles</a>;
-  readonly attribute boolean         <a class="noxref" href="#events-Events-Event-canCancel">cancelable</a>;
-  readonly attribute DOMTimeStamp    <a class="noxref" href="#events-Events-Event-timeStamp">timeStamp</a>;
-  void               <a class="noxref" href="#events-Events-Event-stopPropagation">stopPropagation</a>();
-  void               <a class="noxref" href="#events-Events-Event-preventDefault">preventDefault</a>();
-  void               <a class="noxref" href="#events-Events-Event-initEvent">initEvent</a>(in DOMString eventTypeArg, 
+  readonly attribute DOMString       <a class="noxref" href="#events-event-type-type">type</a>;
+  readonly attribute <a class="noxref" href="#events-Events-EventTarget">EventTarget</a>     <a class="noxref" href="#events-event-type-target">target</a>;
+  readonly attribute <a class="noxref" href="#events-Events-EventTarget">EventTarget</a>     <a class="noxref" href="#events-event-type-currentTarget">currentTarget</a>;
+  readonly attribute unsigned short  <a class="noxref" href="#events-event-type-eventPhase">eventPhase</a>;
+  readonly attribute boolean         <a class="noxref" href="#events-event-type-canBubble">bubbles</a>;
+  readonly attribute boolean         <a class="noxref" href="#events-event-type-canCancel">cancelable</a>;
+  readonly attribute DOMTimeStamp    <a class="noxref" href="#events-event-type-timeStamp">timeStamp</a>;
+  void               <a class="noxref" href="#events-event-type-stopPropagation">stopPropagation</a>();
+  void               <a class="noxref" href="#events-event-type-preventDefault">preventDefault</a>();
+  void               <a class="noxref" href="#events-event-type-initEvent">initEvent</a>(in DOMString eventTypeArg, 
                                in boolean canBubbleArg, 
                                in boolean cancelableArg);
   // Introduced in DOM Level 3:
-  readonly attribute DOMString       <a class="noxref" href="#events-Events-Event-namespaceURI">namespaceURI</a>;
+  readonly attribute DOMString       <a class="noxref" href="#events-event-type-namespaceURI">namespaceURI</a>;
   // Introduced in DOM Level 3:
-  void               <a class="noxref" href="#events-Events-Event-stopImmediatePropagation">stopImmediatePropagation</a>();
+  void               <a class="noxref" href="#events-event-type-stopImmediatePropagation">stopImmediatePropagation</a>();
   // Introduced in DOM Level 3:
-  readonly attribute boolean         <a class="noxref" href="#events-Events-Event-defaultPrevented">defaultPrevented</a>;
+  readonly attribute boolean         <a class="noxref" href="#events-event-type-defaultPrevented">defaultPrevented</a>;
   // Introduced in DOM Level 3:
-  void               <a class="noxref" href="#events-Events-Event-initEventNS">initEventNS</a>(in DOMString namespaceURIArg, 
+  void               <a class="noxref" href="#events-event-type-initEventNS">initEventNS</a>(in DOMString namespaceURIArg, 
                                  in DOMString eventTypeArg, 
                                  in boolean canBubbleArg, 
                                  in boolean cancelableArg);
 };
 </pre>
                 </div>
-                <br/>
+                <br />
               </dd>
               <dt>
-                <strong>Definition group <em>
-                    <a id="events-Events-Event-eventPhaseType">PhaseType</a>
-                  </em></strong>
+                <strong>Definition group <em><a id="events-event-type-eventPhaseType">PhaseType</a></em></strong>
               </dt>
               <dd>
-                <p>An integer indicating which phase of the event flow is being processed as defined in <a href="#events-Events-flow">Event dispatch and DOM event flow</a>.</p>
+                <p>An integer indicating which phase of the event flow is being processed as defined in <a href="#event-flow">Event dispatch and DOM event flow</a>.</p>
                 <dl>
                   <dt>
                     <strong>Defined Constants</strong>
@@ -587,17 +657,23 @@
                   <dd>
                     <dl>
                       <dt>
-                        <a id="events-AT_TARGET"><code class="constant-name">AT_TARGET</code></a>
+                        <a id="events-AT_TARGET">
+                          <code class="constant-name">AT_TARGET</code>
+                        </a>
                       </dt>
-                      <dd>The current event is in the <a href="#glossary-dt-target-phase">target phase</a>, i.e. it is being evaluated at the <a href="#glossary-dt-event-target">event target</a>.</dd>
+                      <dd>The current event is in the <a href="#glossary-target-phase">target phase</a>, i.e. it is being evaluated at the <a href="#glossary-event-target">event target</a>.</dd>
                       <dt>
-                        <a id="events-BUBBLING_PHASE"><code class="constant-name">BUBBLING_PHASE</code></a>
+                        <a id="events-BUBBLING_PHASE">
+                          <code class="constant-name">BUBBLING_PHASE</code>
+                        </a>
                       </dt>
-                      <dd>The current event phase is the <a href="#glossary-dt-bubbling-phase">bubbling phase</a>.</dd>
+                      <dd>The current event phase is the <a href="#glossary-bubbling-phase">bubbling phase</a>.</dd>
                       <dt>
-                        <a id="events-CAPTURING_PHASE"><code class="constant-name">CAPTURING_PHASE</code></a>
+                        <a id="events-CAPTURING_PHASE">
+                          <code class="constant-name">CAPTURING_PHASE</code>
+                        </a>
                       </dt>
-                      <dd>The current event phase is the <a href="#glossary-dt-capture-phase">capture phase</a>.</dd>
+                      <dd>The current event phase is the <a href="#glossary-capture-phase">capture phase</a>.</dd>
                     </dl>
                   </dd>
                 </dl>
@@ -607,43 +683,25 @@
               </dt>
               <dd>
                 <dl>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-Event-canBubble">bubbles</a>
-                    </code> of type <code>boolean</code>, readonly</dt>
-                  <dd>Used to indicate whether or not an event is a bubbling event. If the event can bubble the value shall be <code>true</code>, otherwise the value shall be <code>false</code>.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-Event-canCancel">cancelable</a>
-                    </code> of type <code>boolean</code>, readonly</dt>
-                  <dd>Used to indicate whether or not an event can have its <a href="#glossary-dt-default-action">default action</a> prevented (see also <a href="#events-Events-flow-cancelation">Default actions and cancelable events</a>). If the <a href="#glossary-dt-default-action">default action</a> can be prevented the value shall be <code>true</code>, otherwise the value shall be <code>false</code>.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-Event-currentTarget">currentTarget</a>
-                    </code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a>, readonly</dt>
-                  <dd>Used to indicate the <a href="#events-Events-EventTarget"><code>EventTarget</code></a> whose <a href="#events-Events-EventListener"><code>EventListeners</code></a> are currently being processed. This is particularly useful during the capture and bubbling phases. When used with the <a href="#events-Events-flow">Event dispatch and DOM event flow</a>, this attribute contains the <a href="#glossary-dt-target-node">target node</a> or a target ancestor.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-Event-defaultPrevented">defaultPrevented</a>
-                    </code> of type <code>boolean</code>, readonly, introduced in <strong class="version">DOM Level 3</strong></dt>
-                  <dd>Used to indicate whether <a href="#events-Events-Event-preventDefault"><code>Event.preventDefault()</code></a> has been called for this event.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-Event-eventPhase">eventPhase</a>
-                    </code> of type <code>unsigned short</code>, readonly</dt>
-                  <dd>Used to indicate which phase of event flow is currently being accomplished.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-Event-namespaceURI">namespaceURI</a>
-                    </code> of type <code>DOMString</code>, readonly, introduced in <strong class="version">DOM Level 3</strong></dt>
-                  <dd>The <a href="#glossary-dt-namespaceURI">namespace URI</a> associated with this event at initialization time, or <code>null</code> if it is unspecified.<br />
-DOM Level 2 Events initialization methods, such as <a href="#events-Events-Event-initEvent"><code>Event.initEvent()</code></a>, set the value to null.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-Event-target">target</a>
-                    </code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a>, readonly</dt>
-                  <dd>Used to indicate the <a href="#glossary-dt-event-target">event target</a>. This attribute contains the <a href="#glossary-dt-target-node">target node</a> when used with the <a href="#events-Events-flow">Event dispatch and DOM event flow</a>.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-Event-timeStamp">timeStamp</a>
-                    </code> of type <code>DOMTimeStamp</code>, readonly</dt>
-                  <dd>Used to specify the time at which the event was created in milliseconds relative to 1970-01-01T00:00:00Z. Due to the fact that some systems may not provide this information the value of <code>timeStamp</code> may be not available for all events. When not available, the value shall be <code>0</code>.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-Event-type">type</a>
-                    </code> of type <code>DOMString</code>, readonly</dt>
-                  <dd>The <a href="#glossary-dt-localname">local name</a> of the event type. The name must be an <a class="normative" href="http://www.w3.org/TR/2004/REC-xml-names11-20040204/#NT-NCName">NCName</a> as defined in [<cite><a class="noxref normative" href="#references-Namespaces11">XML Namespaces 1.1</a></cite>] and must be case-sensitive.<br/></dd>
+                  <dt><code class="attribute-name"><a id="events-event-type-canBubble">bubbles</a></code> of type <code>boolean</code>, readonly</dt>
+                  <dd>Used to indicate whether or not an event is a bubbling event. If the event can bubble the value shall be <code>true</code>, otherwise the value shall be <code>false</code>.<br /></dd>
+                  <dt><code class="attribute-name"><a id="events-event-type-canCancel">cancelable</a></code> of type <code>boolean</code>, readonly</dt>
+                  <dd>Used to indicate whether or not an event can have its <a href="#glossary-default-action">default action</a> prevented (see also <a href="#event-flow-cancelation">Default actions and cancelable events</a>). If the <a href="#glossary-default-action">default action</a> can be prevented the value shall be <code>true</code>, otherwise the value shall be <code>false</code>.<br /></dd>
+                  <dt><code class="attribute-name"><a id="events-event-type-currentTarget">currentTarget</a></code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a>, readonly</dt>
+                  <dd>Used to indicate the <a href="#events-Events-EventTarget"><code>EventTarget</code></a> whose <a href="#events-Events-EventListener"><code>EventListeners</code></a> are currently being processed. This is particularly useful during the capture and bubbling phases. When used with the <a href="#event-flow">Event dispatch and DOM event flow</a>, this attribute contains the <a href="#glossary-target-node">target node</a> or a target ancestor.<br /></dd>
+                  <dt><code class="attribute-name"><a id="events-event-type-defaultPrevented">defaultPrevented</a></code> of type <code>boolean</code>, readonly, introduced in <strong class="version">DOM Level 3</strong></dt>
+                  <dd>Used to indicate whether <a href="#events-event-type-preventDefault"><code>Event.preventDefault()</code></a> has been called for this event.<br /></dd>
+                  <dt><code class="attribute-name"><a id="events-event-type-eventPhase">eventPhase</a></code> of type <code>unsigned short</code>, readonly</dt>
+                  <dd>Used to indicate which phase of event flow is currently being accomplished.<br /></dd>
+                  <dt><code class="attribute-name"><a id="events-event-type-namespaceURI">namespaceURI</a></code> of type <code>DOMString</code>, readonly, introduced in <strong class="version">DOM Level 3</strong></dt>
+                  <dd>The <a href="#glossary-namespaceURI">namespace URI</a> associated with this event at initialization time, or <code>null</code> if it is unspecified.<br />
+DOM Level 2 Events initialization methods, such as <a href="#events-event-type-initEvent"><code>Event.initEvent()</code></a>, set the value to null.<br /></dd>
+                  <dt><code class="attribute-name"><a id="events-event-type-target">target</a></code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a>, readonly</dt>
+                  <dd>Used to indicate the <a href="#glossary-event-target">event target</a>. This attribute contains the <a href="#glossary-target-node">target node</a> when used with the <a href="#event-flow">Event dispatch and DOM event flow</a>.<br /></dd>
+                  <dt><code class="attribute-name"><a id="events-event-type-timeStamp">timeStamp</a></code> of type <code>DOMTimeStamp</code>, readonly</dt>
+                  <dd>Used to specify the time at which the event was created in milliseconds relative to 1970-01-01T00:00:00Z. Due to the fact that some systems may not provide this information the value of <code>timeStamp</code> may be not available for all events. When not available, the value shall be <code>0</code>.<br /></dd>
+                  <dt><code class="attribute-name"><a id="events-event-type-type">type</a></code> of type <code>DOMString</code>, readonly</dt>
+                  <dd>The <a href="#glossary-localname">local name</a> of the event type. The name must be an <a class="normative" href="http://www.w3.org/TR/2004/REC-xml-names11-20040204/#NT-NCName">NCName</a> as defined in [<cite><a class="noxref normative" href="#references-Namespaces11">XML Namespaces 1.1</a></cite>] and must be case-sensitive.<br /></dd>
                 </dl>
               </dd>
               <dt>
@@ -651,138 +709,83 @@
               </dt>
               <dd>
                 <dl>
-                  <dt><code class="method-name">
-                      <a id="events-Events-Event-initEvent">initEvent</a>
+                  <dt>
+                    <code class="method-name">
+                      <a id="events-event-type-initEvent">initEvent</a>
                     </code>
                   </dt>
                   <dd>
-                    <div class="method">Initializes attributes of an <code>Event</code> created through the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent</code></a> method. This method may only be called before the <code>Event</code> has been dispatched via the <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent()</code></a> method. If the method is called several times before invoking <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent</code></a>, only the final invocation takes precedence. This method has no effect if called after the event has been dispatched. If called from a subclass of the <code>Event</code> interface only the values specified in this method are modified, all other attributes are left unchanged.<br/>
-This method sets the <a href="#events-Events-Event-type"><code>Event.type</code></a> attribute to <code>eventTypeArg</code>, and <a href="#events-Events-Event-namespaceURI"><code>Event.namespaceURI</code></a> to <code>null</code>. To initialize an event with a namespace URI, use the <a href="#events-Events-Event-initEventNS"><code>Event.initEventNS()</code></a> method.
-<div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">eventTypeArg</code> of type <code>DOMString</code></dt>
-                            <dd>Specifies <a href="#events-Events-Event-type"><code>Event.type</code></a>, the <a href="#glossary-dt-localname">local name</a> of the event type.<br /></dd>
-                            <dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt>
-                            <dd>Specifies <a href="#events-Events-Event-canBubble"><code>Event.bubbles</code></a>. This parameter overrides the intrinsic bubbling behavior of the event.<br/></dd>
-                            <dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt>
-                            <dd>Specifies <a href="#events-Events-Event-canCancel"><code>Event.cancelable</code></a>. This parameter overrides the intrinsic cancelable behavior of the event.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
+                    <div class="method">Initializes attributes of an <code>Event</code> created through the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent</code></a> method. This method may only be called before the <code>Event</code> has been dispatched via the <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent()</code></a> method. If the method is called several times before invoking <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent</code></a>, only the final invocation takes precedence. This method has no effect if called after the event has been dispatched. If called from a subclass of the <code>Event</code> interface only the values specified in this method are modified, all other attributes are left unchanged.<br />
+This method sets the <a href="#events-event-type-type"><code>Event.type</code></a> attribute to <code>eventTypeArg</code>, and <a href="#events-event-type-namespaceURI"><code>Event.namespaceURI</code></a> to <code>null</code>. To initialize an event with a namespace URI, use the <a href="#events-event-type-initEventNS"><code>Event.initEventNS()</code></a> method.
+<div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">eventTypeArg</code> of type <code>DOMString</code></dt><dd>Specifies <a href="#events-event-type-type"><code>Event.type</code></a>, the <a href="#glossary-localname">local name</a> of the event type.<br /></dd><dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt><dd>Specifies <a href="#events-event-type-canBubble"><code>Event.bubbles</code></a>. This parameter overrides the intrinsic bubbling behavior of the event.<br /></dd><dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt><dd>Specifies <a href="#events-event-type-canCancel"><code>Event.cancelable</code></a>. This parameter overrides the intrinsic cancelable behavior of the event.<br /></dd></dl></div></div>
                       <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
+                      <div><strong>No Return Value</strong></div>
+                      <div><strong>No Exceptions</strong></div>
                     </div>
-                    <!-- method -->
+<!-- method -->
                   </dd>
-                  <dt><code class="method-name">
-                      <a id="events-Events-Event-initEventNS">initEventNS</a>
-                    </code> introduced in <strong class="since">DOM Level 3</strong></dt>
+                  <dt><code class="method-name"><a id="events-event-type-initEventNS">initEventNS</a></code> introduced in <strong class="since">DOM Level 3</strong></dt>
                   <dd>
-                    <div class="method">Initializes attributes of an <code>Event</code> object. This method has the same behavior as <a href="#events-Events-Event-initEvent"><code>Event.initEvent()</code></a>.
-<div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">namespaceURIArg</code> of type <code>DOMString</code></dt>
-                            <dd>Specifies <a href="#events-Events-Event-namespaceURI"><code>Event.namespaceURI</code></a>, the <a href="#glossary-dt-namespaceURI">namespace URI</a> associated with this event, or <code>null</code> if no namespace.<br /></dd>
-                            <dt><code class="parameter-name">eventTypeArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
+                    <div class="method">Initializes attributes of an <code>Event</code> object. This method has the same behavior as <a href="#events-event-type-initEvent"><code>Event.initEvent()</code></a>.
+<div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">namespaceURIArg</code> of type <code>DOMString</code></dt><dd>Specifies <a href="#events-event-type-namespaceURI"><code>Event.namespaceURI</code></a>, the <a href="#glossary-namespaceURI">namespace URI</a> associated with this event, or <code>null</code> if no namespace.<br /></dd><dt><code class="parameter-name">eventTypeArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br /></dd></dl></div></div>
                       <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
+                      <div><strong>No Return Value</strong></div>
+                      <div><strong>No Exceptions</strong></div>
                     </div>
-                    <!-- method -->
+<!-- method -->
                   </dd>
-                  <dt><code class="method-name">
-                      <a id="events-Events-Event-preventDefault">preventDefault</a>
+                  <dt>
+                    <code class="method-name">
+                      <a id="events-event-type-preventDefault">preventDefault</a>
                     </code>
                   </dt>
                   <dd>
-                    <div class="method">Signifies that the event shall be to be canceled, meaning any <a href="#glossary-dt-default-action">default action</a> normally taken by the implementation as a result of the event must not occur (see also <a href="#events-Events-flow-cancelation">Default actions and cancelable events</a>). Calling this method for a non-cancelable event has no effect.
-<p class="note"><strong>Note:</strong> This method does not stop the event propagation; use <a href="#events-Events-Event-stopPropagation"><code>Event.stopPropagation()</code></a> or <a href="#events-Events-Event-stopImmediatePropagation"><code>Event.stopImmediatePropagation()</code></a> for that effect.</p>
-                      <div>
-                        <strong>No Parameters</strong>
-                      </div>
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
+                    <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.
+<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>
+                      <div><strong>No Exceptions</strong></div>
                     </div>
-                    <!-- method -->
+<!-- method -->
                   </dd>
-                  <dt><code class="method-name">
-                      <a id="events-Events-Event-stopImmediatePropagation">stopImmediatePropagation</a>
-                    </code> introduced in <strong class="since">DOM Level 3</strong></dt>
+                  <dt><code class="method-name"><a id="events-event-type-stopImmediatePropagation">stopImmediatePropagation</a></code> introduced in <strong class="since">DOM Level 3</strong></dt>
                   <dd>
-                    <div class="method">Prevents other event listeners from being triggered and, unlike <a href="#events-Events-Event-stopPropagation"><code>Event.stopPropagation()</code></a> its effect shall be immediate . Once it has been called, further calls to this method have no additional effect.
-<p class="note"><strong>Note:</strong> This method does not prevent the <a href="#glossary-dt-default-action">default action</a> from being invoked; use <a href="#events-Events-Event-preventDefault"><code>Event.preventDefault()</code></a> for that effect.</p>
-                      <div>
-                        <strong>No Parameters</strong>
-                      </div>
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
+                    <div class="method">Prevents other event listeners from being triggered and, unlike <a href="#events-event-type-stopPropagation"><code>Event.stopPropagation()</code></a> its effect shall be immediate . Once it has been called, further calls to this method have no additional effect.
+<p class="note"><strong>Note:</strong> This method does not prevent the <a href="#glossary-default-action">default action</a> from being invoked; use <a href="#events-event-type-preventDefault"><code>Event.preventDefault()</code></a> for that effect.</p>
+                      <div><strong>No Parameters</strong></div>
+                      <div><strong>No Return Value</strong></div>
+                      <div><strong>No Exceptions</strong></div>
                     </div>
-                    <!-- method -->
+<!-- method -->
                   </dd>
-                  <dt><code class="method-name">
-                      <a id="events-Events-Event-stopPropagation">stopPropagation</a>
+                  <dt>
+                    <code class="method-name">
+                      <a id="events-event-type-stopPropagation">stopPropagation</a>
                     </code>
                   </dt>
                   <dd>
-                    <div class="method">Prevents other event listeners from being triggered but its effect shall be deferred until all event listeners attached on the <a href="#events-Events-Event-currentTarget"><code>Event.currentTarget</code></a> have been triggered . Once it has been called, further calls to this method have no additional effect.
-<p class="note"><strong>Note:</strong> This method does not prevent the <a href="#glossary-dt-default-action">default action</a> from being invoked; use <a href="#events-Events-Event-preventDefault"><code>Event.preventDefault()</code></a> for that effect.</p>
-                      <div>
-                        <strong>No Parameters</strong>
-                      </div>
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
+                    <div class="method">Prevents other event listeners from being triggered but its effect shall be deferred until all event listeners attached on the <a href="#events-event-type-currentTarget"><code>Event.currentTarget</code></a> have been triggered . Once it has been called, further calls to this method have no additional effect.
+<p class="note"><strong>Note:</strong> This method does not prevent the <a href="#glossary-default-action">default action</a> from being invoked; use <a href="#events-event-type-preventDefault"><code>Event.preventDefault()</code></a> for that effect.</p>
+                      <div><strong>No Parameters</strong></div>
+                      <div><strong>No Return Value</strong></div>
+                      <div><strong>No Exceptions</strong></div>
                     </div>
-                    <!-- method -->
+<!-- method -->
                   </dd>
                 </dl>
               </dd>
             </dl>
           </dd>
-
-
-          <h3 id="interface-CustomEvent" class="div2">4.2 Interface CustomEvent</h3>
-          <dt><strong>Interface <em>
-                <a id="events-Events-CustomEvent">CustomEvent</a>
-              </em></strong> (introduced in <strong class="since">DOM Level 3</strong>)</dt>
+        </dl>
+        <h3 id="interface-CustomEvent" class="div2">4.2 Interface CustomEvent</h3>
+        <dl>
+          <dt><strong>Interface <em><a id="events-Events-CustomEvent">CustomEvent</a></em></strong> (introduced in <strong class="since">DOM Level 3</strong>)</dt>
           <dd>
             <p>The CustomEvent interface is the recommended interface for application-specific event types. Unlike the <a href="#events-Events-Event"><code>Event</code></a> interface, it allows applications to provide contextual information about the event type. Application-specific event types should have an associated namespace to avoid clashes with future general-purpose event types.</p>
             <p>To create an instance of the <code>CustomEvent</code> interface, use the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("CustomEvent")</code></a> method call.</p>
             <dl>
               <dt>
-                <br/>
+                <br />
                 <strong>IDL Definition</strong>
               </dt>
               <dd>
@@ -791,11 +794,11 @@
 // Introduced in DOM Level 3:
 interface <a class="noxref" href="#events-Events-CustomEvent">CustomEvent</a> : <a class="noxref" href="#events-Events-Event">Event</a> {
   readonly attribute DOMObject         <a class="noxref" href="#events-Events-CustomEvent-detail">detail</a>;
-  void               <a class="noxref" href="#events-Events-Event-initCustomEvent">initCustomEvent</a>(in DOMString typeArg, 
+  void               <a class="noxref" href="#events-event-type-initCustomEvent">initCustomEvent</a>(in DOMString typeArg, 
                                      in boolean canBubbleArg, 
                                      in boolean cancelableArg, 
                                      in DOMObject detailArg);
-  void               <a class="noxref" href="#events-Events-Event-initCustomEventNS">initCustomEventNS</a>(in DOMString namespaceURIArg, 
+  void               <a class="noxref" href="#events-event-type-initCustomEventNS">initCustomEventNS</a>(in DOMString namespaceURIArg, 
                                        in DOMString typeArg, 
                                        in boolean canBubbleArg, 
                                        in boolean cancelableArg, 
@@ -803,17 +806,15 @@
 };
 </pre>
                 </div>
-                <br/>
+                <br />
               </dd>
               <dt>
                 <strong>Attributes</strong>
               </dt>
               <dd>
                 <dl>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-CustomEvent-detail">detail</a>
-                    </code> of type <code>DOMObject</code>, readonly</dt>
-                  <dd>Specifies some detail information about the <a href="#events-Events-Event"><code>Event</code></a>.<br/></dd>
+                  <dt><code class="attribute-name"><a id="events-Events-CustomEvent-detail">detail</a></code> of type <code>DOMObject</code>, readonly</dt>
+                  <dd>Specifies some detail information about the <a href="#events-Events-Event"><code>Event</code></a>.<br /></dd>
                 </dl>
               </dd>
               <dt>
@@ -821,87 +822,49 @@
               </dt>
               <dd>
                 <dl>
-                  <dt><code class="method-name">
-                      <a id="events-Events-Event-initCustomEvent">initCustomEvent</a>
+                  <dt>
+                    <code class="method-name">
+                      <a id="events-event-type-initCustomEvent">initCustomEvent</a>
                     </code>
                   </dt>
                   <dd>
-                    <div class="method">Initializes attributes of a <code>CustomEvent</code> object. This method has the same behavior as <a href="#events-Events-Event-initEvent"><code>Event.initEvent()</code></a>.
-        <div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">detailArg</code> of type <code>DOMObject</code></dt>
-                            <dd>Specifies <a href="#events-Events-CustomEvent-detail"><code>CustomEvent.detail</code></a>. This value may be <code>null</code>.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
+                    <div class="method">Initializes attributes of a <code>CustomEvent</code> object. This method has the same behavior as <a href="#events-event-type-initEvent"><code>Event.initEvent()</code></a>.
+        <div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">detailArg</code> of type <code>DOMObject</code></dt><dd>Specifies <a href="#events-Events-CustomEvent-detail"><code>CustomEvent.detail</code></a>. This value may be <code>null</code>.<br /></dd></dl></div></div>
                       <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
+                      <div><strong>No Return Value</strong></div>
+                      <div><strong>No Exceptions</strong></div>
                     </div>
-                    <!-- method -->
+<!-- method -->
                   </dd>
-                  <dt><code class="method-name">
-                      <a id="events-Events-Event-initCustomEventNS">initCustomEventNS</a>
+                  <dt>
+                    <code class="method-name">
+                      <a id="events-event-type-initCustomEventNS">initCustomEventNS</a>
                     </code>
                   </dt>
                   <dd>
-                    <div class="method">Initializes attributes of a <code>CustomEvent</code> object. This method has the same behavior as <a href="#events-Events-Event-initEventNS"><code>Event.initEventNS()</code></a>.
-<div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">namespaceURIArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">detailArg</code> of type <code>DOMObject</code></dt>
-                            <dd>Specifies <a href="#events-Events-CustomEvent-detail"><code>CustomEvent.detail</code></a>. This value may be <code>null</code>.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
+                    <div class="method">Initializes attributes of a <code>CustomEvent</code> object. This method has the same behavior as <a href="#events-event-type-initEventNS"><code>Event.initEventNS()</code></a>.
+<div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">namespaceURIArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">detailArg</code> of type <code>DOMObject</code></dt><dd>Specifies <a href="#events-Events-CustomEvent-detail"><code>CustomEvent.detail</code></a>. This value may be <code>null</code>.<br /></dd></dl></div></div>
                       <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
+                      <div><strong>No Return Value</strong></div>
+                      <div><strong>No Exceptions</strong></div>
                     </div>
-                    <!-- method -->
+<!-- method -->
                   </dd>
                 </dl>
               </dd>
             </dl>
           </dd>
-          
-          
-          <h3 id="interface-EventTarget" class="div2">4.3 Interface EventTarget</h3>          
-          <dt><strong>Interface <em>
-                <a id="events-Events-EventTarget">EventTarget</a>
-              </em></strong> (introduced in <strong class="since">DOM Level 2</strong>)</dt>
+        </dl>
+        <h3 id="interface-EventTarget" class="div2">4.3 Interface EventTarget</h3>
+        <dl>
+          <dt><strong>Interface <em><a id="events-Events-EventTarget">EventTarget</a></em></strong> (introduced in <strong class="since">DOM Level 2</strong>)</dt>
           <dd>
-            <p>The <code>EventTarget</code> interface shall be implemented by all the objects which could be <a href="#glossary-dt-event-target">event targets</a> in an implementation which supports an event flow. The interface allows registration and removal of event listeners, and dispatch of events to an event target.</p>
-            <p>When used with the DOM event flow, this interface must be implemented by all <a href="#glossary-dt-target-node">target nodes</a> and target ancestors, i.e. all DOM <code>Nodes</code> of the tree support this interface when the implementation conforms to DOM Level 3 Events and, therefore, this interface can be obtained by using binding-specific casting methods on an instance of the <code>Node</code> interface.</p>
+            <p>The <code>EventTarget</code> interface shall be implemented by all the objects which could be <a href="#glossary-event-target">event targets</a> in an implementation which supports an event flow. The interface allows registration and removal of event listeners, and dispatch of events to an event target.</p>
+            <p>When used with the DOM event flow, this interface must be implemented by all <a href="#glossary-target-node">target nodes</a> and target ancestors, i.e. all DOM <code>Nodes</code> of the tree support this interface when the implementation conforms to DOM Level 3 Events and, therefore, this interface can be obtained by using binding-specific casting methods on an instance of the <code>Node</code> interface.</p>
             <p>Invoking <code>addEventListener</code> or <code>addEventListenerNS</code> repeatedly on the same <code>EventTarget</code> with the same values for the parameters <code>namespaceURI</code>, <code>type</code>, <code>listener</code>, and <code>useCapture</code> has no effect. Doing so does not cause the <a href="#events-Events-EventListener"><code>EventListener</code></a> to be called more than once and does not cause a change in the triggering order.</p>
             <dl>
               <dt>
-                <br/>
+                <br />
                 <strong>IDL Definition</strong>
               </dt>
               <dd>
@@ -932,217 +895,92 @@
 };
 </pre>
                 </div>
-                <br/>
+                <br />
               </dd>
               <dt>
                 <strong>Methods</strong>
               </dt>
               <dd>
                 <dl>
-                  <dt><code class="method-name">
+                  <dt>
+                    <code class="method-name">
                       <a id="events-Events-EventTarget-addEventListener">addEventListener</a>
                     </code>
                   </dt>
                   <dd>
                     <div class="method">Registers an event listener, depending on the <code>useCapture</code> parameter, on the capture phase of the DOM event flow or its target and bubbling phases. Invoking this method shall be equivalent to invoking <code>addEventListenerNS</code> with the same values for the parameters <code>type</code>, <code>listener</code>, and <code>useCapture</code>, and the value <code>null</code> for the parameter <code>namespaceURI</code>.  When this method is used to register an event listener, implementations may also dispatch events with the same <code>type</code> in other namespaces, for purposes of extensibility (e.g. this method may be used to dispatch <code>foo</code> event for the <code>null</code> namespace, or for a vendor-specific namespace); see <a href="#extending_events">Appendix A: Extending Events</a> for more details.
-<div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">type</code> of type <code>DOMString</code></dt>
-                            <dd>Specifies the <a href="#events-Events-Event-type"><code>Event.type</code></a> associated with the event for which the user is registering.<br/></dd>
-                            <dt><code class="parameter-name">listener</code> of type <a href="#events-Events-EventListener"><code>EventListener</code></a></dt>
-                            <dd>The <code>listener</code> parameter takes an object implemented by the user which implements the <a class="noxref" href="#events-Events-EventListener"><code>EventListener</code></a> interface and contains the method to be called when the event occurs.<br/></dd>
-                            <dt><code class="parameter-name">useCapture</code> of type <code>boolean</code></dt>
-                            <dd>If true, <code>useCapture</code> indicates that the user wishes to add the event listener for the <a href="#glossary-dt-capture-phase">capture phase</a> only, i.e. this event listener will not be triggered during the <a href="#glossary-dt-target-phase">target</a> and <a href="#glossary-dt-bubbling-phase">bubbling</a> phases. If <code>false</code>, the event listener must only be triggered during the target and bubbling phases.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
+<div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">type</code> of type <code>DOMString</code></dt><dd>Specifies the <a href="#events-event-type-type"><code>Event.type</code></a> associated with the event for which the user is registering.<br /></dd><dt><code class="parameter-name">listener</code> of type <a href="#events-Events-EventListener"><code>EventListener</code></a></dt><dd>The <code>listener</code> parameter takes an object implemented by the user which implements the <a class="noxref" href="#events-Events-EventListener"><code>EventListener</code></a> interface and contains the method to be called when the event occurs.<br /></dd><dt><code class="parameter-name">useCapture</code> of type <code>boolean</code></dt><dd>If true, <code>useCapture</code> indicates that the user wishes to add the event listener for the <a href="#glossary-capture-phase">capture phase</a> only, i.e. this event listener will not be triggered during the <a href="#glossary-target-phase">target</a> and <a href="#glossary-bubbling-phase">bubbling</a> phases. If <code>false</code>, the event listener must only be triggered during the target and bubbling phases.<br /></dd></dl></div></div>
                       <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
+                      <div><strong>No Return Value</strong></div>
+                      <div><strong>No Exceptions</strong></div>
                     </div>
-                    <!-- method -->
+<!-- method -->
                   </dd>
-                  <dt><code class="method-name">
-                      <a id="events-Events-EventTargetGroup-addEventListenerNS">addEventListenerNS</a>
-                    </code> introduced in <strong class="since">DOM Level 3</strong></dt>
+                  <dt><code class="method-name"><a id="events-Events-EventTargetGroup-addEventListenerNS">addEventListenerNS</a></code> introduced in <strong class="since">DOM Level 3</strong></dt>
                   <dd>
                     <div class="method">Registers an event listener, depending on the <code>useCapture</code> parameter, on the capture phase of the DOM event flow or its target and bubbling phases.
-<div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">namespaceURI</code> of type <code>DOMString</code></dt>
-                            <dd>Specifies the <a href="#events-Events-Event-namespaceURI"><code>Event.namespaceURI</code></a> associated with the event for which the user is registering.<br/></dd>
-                            <dt><code class="parameter-name">type</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-EventTarget-addEventListener"><code>EventTarget.addEventListener()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">listener</code> of type <a href="#events-Events-EventListener"><code>EventListener</code></a></dt>
-                            <dd>Refer to the <a href="#events-Events-EventTarget-addEventListener"><code>EventTarget.addEventListener()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">useCapture</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-EventTarget-addEventListener"><code>EventTarget.addEventListener()</code></a> method for a description of this parameter.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
-                      <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
-                    </div>
-                    <!-- method -->
-                  </dd>
-                  <dt><code class="method-name">
-                      <a id="events-Events-EventTarget-dispatchEvent">dispatchEvent</a>
-                    </code> modified in <strong class="version">DOM Level 3</strong></dt>
-                  <dd>
-                    <div class="method">Dispatches an event into the implementation's event model. The <a href="#glossary-dt-event-target">event target</a> of the event shall be the <code>EventTarget</code> object on which <code>dispatchEvent</code> is called.
-<div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">evt</code> of type <a href="#events-Events-Event"><code>Event</code></a></dt>
-                            <dd>The event to be dispatched.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
+<div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">namespaceURI</code> of type <code>DOMString</code></dt><dd>Specifies the <a href="#events-event-type-namespaceURI"><code>Event.namespaceURI</code></a> associated with the event for which the user is registering.<br /></dd><dt><code class="parameter-name">type</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-Events-EventTarget-addEventListener"><code>EventTarget.addEventListener()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">listener</code> of type <a href="#events-Events-EventListener"><code>EventListener</code></a></dt><dd>Refer to the <a href="#events-Events-EventTarget-addEventListener"><code>EventTarget.addEventListener()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">useCapture</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-Events-EventTarget-addEventListener"><code>EventTarget.addEventListener()</code></a> method for a description of this parameter.<br /></dd></dl></div></div>
                       <!-- parameters -->
-                      <div class="return">
-                        <strong>Return Value</strong>
-                        <div class="returntable">
-                          <table
-                            summary="Layout table: the first cell contains the type of the return value, the second contains a short description"
-                            border="0">
-                            <tr>
-                              <td>
-                                <p><code>boolean</code>
-                                </p>
-                              </td>
-                              <td>
-                                <p>Indicates whether any of the listeners which handled the event called <a href="#events-Events-Event-preventDefault"><code>Event.preventDefault()</code></a>. If <a href="#events-Events-Event-preventDefault"><code>Event.preventDefault()</code></a> was called the returned value shall be <code>false</code>, else it shall be <code>true</code>.</p>
-                              </td>
-                            </tr>
-                          </table>
-                        </div>
-                      </div>
+                      <div><strong>No Return Value</strong></div>
+                      <div><strong>No Exceptions</strong></div>
+                    </div>
+<!-- method -->
+                  </dd>
+                  <dt><code class="method-name"><a id="events-Events-EventTarget-dispatchEvent">dispatchEvent</a></code> modified in <strong class="version">DOM Level 3</strong></dt>
+                  <dd>
+                    <div class="method">Dispatches an event into the implementation's event model. The <a href="#glossary-event-target">event target</a> of the event shall be the <code>EventTarget</code> object on which <code>dispatchEvent</code> is called.
+<div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">evt</code> of type <a href="#events-Events-Event"><code>Event</code></a></dt><dd>The event to be dispatched.<br /></dd></dl></div></div>
+                      <!-- parameters -->
+                      <div class="return"><strong>Return Value</strong><div class="returntable"><table summary="Layout table: the first cell contains the type of the return value, the second contains a short description" border="0"><tr><td><p><code>boolean</code></p></td><td><p>Indicates whether any of the listeners which handled the event called <a href="#events-event-type-preventDefault"><code>Event.preventDefault()</code></a>. If <a href="#events-event-type-preventDefault"><code>Event.preventDefault()</code></a> was called the returned value shall be <code>false</code>, else it shall be <code>true</code>.</p></td></tr></table></div></div>
                       <!-- return -->
-                      <div class="exceptions">
-                        <strong>Exceptions</strong>
-                        <div class="exceptiontable">
-                          <table
-                            summary="Layout table: the first cell contains the type of the exception, the second contains the specific error code and a short description"
-                            border="0">
-                            <tr>
-                              <td>
-                                <p>
-                                  <a href="#events-Events-EventException"><code>EventException</code></a>
-                                </p>
-                              </td>
-                              <td>
-                                <p>UNSPECIFIED_EVENT_TYPE_ERR: Raised if the <a href="#events-Events-Event-type"><code>Event.type</code></a> was not specified by initializing the event before <code>dispatchEvent</code> was called. Specification of the <a class="noxref" href="#events-Events-Event-type"><code>Event.type</code></a> as <code>null</code> or an empty string must also trigger this exception.</p>
-                                <p>DISPATCH_REQUEST_ERR: Raised if the <a href="#events-Events-Event"><code>Event</code></a> object is already being dispatched.</p>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <p><code>DOMException</code>
-                                </p>
-                              </td>
-                              <td>
-                                <p>NOT_SUPPORTED_ERR: Raised if the <a href="#events-Events-Event"><code>Event</code></a> object has not been created using <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent()</code></a>.</p>
-                                <p>INVALID_CHARACTER_ERR: Raised if <a href="#events-Events-Event-type"><code>Event.type</code></a> is not an <a class="normative" href="http://www.w3.org/TR/2004/REC-xml-names11-20040204/#NT-NCName">
-                                    <em>NCName</em>
-                                  </a> as defined in [<cite><a class="noxref normative" href="#references-Namespaces11">XML Namespaces 1.1</a></cite>].</p>
-                              </td>
-                            </tr>
-                          </table>
-                        </div>
-                      </div>
+                      <div class="exceptions"><strong>Exceptions</strong><div class="exceptiontable"><table summary="Layout table: the first cell contains the type of the exception, the second contains the specific error code and a short description" border="0"><tr><td><p><a href="#events-Events-EventException"><code>EventException</code></a></p></td><td><p>UNSPECIFIED_EVENT_TYPE_ERR: Raised if the <a href="#events-event-type-type"><code>Event.type</code></a> was not specified by initializing the event before <code>dispatchEvent</code> was called. Specification of the <a class="noxref" href="#events-event-type-type"><code>Event.type</code></a> as <code>null</code> or an empty string must also trigger this exception.</p><p>DISPATCH_REQUEST_ERR: Raised if the <a href="#events-Events-Event"><code>Event</code></a> object is already being dispatched.</p></td></tr><tr><td><p><code>DOMException</code></p></td><td><p>NOT_SUPPORTED_ERR: Raised if the <a href="#events-Events-Event"><code>Event</code></a> object has not been created using <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent()</code></a>.</p><p>INVALID_CHARACTER_ERR: Raised if <a href="#events-event-type-type"><code>Event.type</code></a> is not an <a class="normative" href="http://www.w3.org/TR/2004/REC-xml-names11-20040204/#NT-NCName"><em>NCName</em></a> as defined in [<cite><a class="noxref normative" href="#references-Namespaces11">XML Namespaces 1.1</a></cite>].</p></td></tr></table></div></div>
                       <!-- exceptions --></div>
-                    <!-- method -->
+<!-- method -->
                   </dd>
-                  <dt><code class="method-name">
+                  <dt>
+                    <code class="method-name">
                       <a id="events-Events-EventTarget-removeEventListener">removeEventListener</a>
                     </code>
                   </dt>
                   <dd>
-                    <div class="method">Removes an event listener. Calling <code>removeEventListener</code> with arguments which do not identify any currently registered <a href="#events-Events-EventListener"><code>EventListener</code></a> on the <code>EventTarget</code> has no effect. The <a href="#events-Events-Event-namespaceURI"><code>Event.namespaceURI</code></a> for which the user registered the event listener is implied and shall be <code>null</code>.
-<div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">type</code> of type <code>DOMString</code></dt>
-                            <dd>Specifies the <a href="#events-Events-Event-type"><code>Event.type</code></a> for which the user registered the event listener.<br/></dd>
-                            <dt><code class="parameter-name">listener</code> of type <a href="#events-Events-EventListener"><code>EventListener</code></a></dt>
-                            <dd>The <a class="noxref" href="#events-Events-EventListener"><code>EventListener</code></a> to be removed.<br/></dd>
-                            <dt><code class="parameter-name">useCapture</code> of type <code>boolean</code></dt>
-                            <dd>Specifies whether the <a class="noxref" href="#events-Events-EventListener"><code>EventListener</code></a> being removed was registered for the capture phase or not. If a listener was registered twice, once for the capture phase and once for the target and bubbling phases, each must be removed separately. Removal of an event listener registered for the capture phase does not affect the same event listener registered for the target and bubbling phases, and vice versa.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
+                    <div class="method">Removes an event listener. Calling <code>removeEventListener</code> with arguments which do not identify any currently registered <a href="#events-Events-EventListener"><code>EventListener</code></a> on the <code>EventTarget</code> has no effect. The <a href="#events-event-type-namespaceURI"><code>Event.namespaceURI</code></a> for which the user registered the event listener is implied and shall be <code>null</code>.
+<div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">type</code> of type <code>DOMString</code></dt><dd>Specifies the <a href="#events-event-type-type"><code>Event.type</code></a> for which the user registered the event listener.<br /></dd><dt><code class="parameter-name">listener</code> of type <a href="#events-Events-EventListener"><code>EventListener</code></a></dt><dd>The <a class="noxref" href="#events-Events-EventListener"><code>EventListener</code></a> to be removed.<br /></dd><dt><code class="parameter-name">useCapture</code> of type <code>boolean</code></dt><dd>Specifies whether the <a class="noxref" href="#events-Events-EventListener"><code>EventListener</code></a> being removed was registered for the capture phase or not. If a listener was registered twice, once for the capture phase and once for the target and bubbling phases, each must be removed separately. Removal of an event listener registered for the capture phase does not affect the same event listener registered for the target and bubbling phases, and vice versa.<br /></dd></dl></div></div>
                       <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
+                      <div><strong>No Return Value</strong></div>
+                      <div><strong>No Exceptions</strong></div>
                     </div>
-                    <!-- method -->
+<!-- method -->
                   </dd>
-                  <dt><code class="method-name">
-                      <a id="events-Events-EventTargetGroup-removeEventListenerNS">removeEventListenerNS</a>
-                    </code> introduced in <strong class="since">DOM Level 3</strong></dt>
+                  <dt><code class="method-name"><a id="events-Events-EventTargetGroup-removeEventListenerNS">removeEventListenerNS</a></code> introduced in <strong class="since">DOM Level 3</strong></dt>
                   <dd>
                     <div class="method">Removes an event listener. Calling <code>removeEventListenerNS</code> with arguments which do not identify any currently registered <a href="#events-Events-EventListener"><code>EventListener</code></a> on the <code>EventTarget</code> has no effect.
-<div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">namespaceURI</code> of type <code>DOMString</code></dt>
-                            <dd>Specifies the <a href="#events-Events-Event-namespaceURI"><code>Event.namespaceURI</code></a> associated with the event for which the user registered the event listener.<br/></dd>
-                            <dt><code class="parameter-name">type</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-EventTarget-removeEventListener"><code>EventTarget.removeEventListener()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">listener</code> of type <a href="#events-Events-EventListener"><code>EventListener</code></a></dt>
-                            <dd>Refer to the <a href="#events-Events-EventTarget-removeEventListener"><code>EventTarget.removeEventListener()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">useCapture</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-EventTarget-removeEventListener"><code>EventTarget.removeEventListener()</code></a> method for a description of this parameter.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
+<div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">namespaceURI</code> of type <code>DOMString</code></dt><dd>Specifies the <a href="#events-event-type-namespaceURI"><code>Event.namespaceURI</code></a> associated with the event for which the user registered the event listener.<br /></dd><dt><code class="parameter-name">type</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-Events-EventTarget-removeEventListener"><code>EventTarget.removeEventListener()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">listener</code> of type <a href="#events-Events-EventListener"><code>EventListener</code></a></dt><dd>Refer to the <a href="#events-Events-EventTarget-removeEventListener"><code>EventTarget.removeEventListener()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">useCapture</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-Events-EventTarget-removeEventListener"><code>EventTarget.removeEventListener()</code></a> method for a description of this parameter.<br /></dd></dl></div></div>
                       <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
+                      <div><strong>No Return Value</strong></div>
+                      <div><strong>No Exceptions</strong></div>
                     </div>
-                    <!-- method -->
+<!-- method -->
                   </dd>
                 </dl>
               </dd>
             </dl>
           </dd>
-          
-          
-          <h3 id="interface-EventListener" class="div2">4.4 Interface EventListener</h3>          
-          <dt><strong>Interface <em>
-                <a id="events-Events-EventListener">EventListener</a>
-              </em></strong> (introduced in <strong class="since">DOM Level 2</strong>)</dt>
+        </dl>
+        <h3 id="interface-EventListener" class="div2">4.4 Interface EventListener</h3>
+        <dl>
+          <dt><strong>Interface <em><a id="events-Events-EventListener">EventListener</a></em></strong> (introduced in <strong class="since">DOM Level 2</strong>)</dt>
           <dd>
             <p>The <code>EventListener</code> interface is the primary way for handling events. Users shall implement the <code>EventListener</code> interface and register their event listener on an <a href="#events-Events-EventTarget"><code>EventTarget</code></a>. The users should also remove their <code>EventListener</code> from its <a class="noxref" href="#events-Events-EventTarget"><code>EventTarget</code></a> after they have completed using the listener.</p>
-            <p><span class='assert must'>Copying a <code>Node</code>, with methods such as <code>Node.cloneNode</code> or <code>Range.cloneContents</code>, must not copy the event listeners attached to it.</span> <span class='assert must'>Event listeners must be attached to the newly created <code>Node</code> afterwards if so desired.</span></p>
-            <p><span class='assert mustnot'>Moving a <code>Node</code>, with methods <code>Document.adoptNode</code>, <code>Node.appendChild</code>, or <code>Range.extractContents</code>, shall not affect the event listeners attached to it.</span></p>
+            <p>
+              <span class="assert must">Copying a <code>Node</code>, with methods such as <code>Node.cloneNode</code> or <code>Range.cloneContents</code>, must not copy the event listeners attached to it.</span>
+              <span class="assert must">Event listeners must be attached to the newly created <code>Node</code> afterwards if so desired.</span>
+            </p>
+            <p>
+              <span class="assert mustnot">Moving a <code>Node</code>, with methods <code>Document.adoptNode</code>, <code>Node.appendChild</code>, or <code>Range.extractContents</code>, shall not affect the event listeners attached to it.</span>
+            </p>
             <dl>
               <dt>
-                <br/>
+                <br />
                 <strong>IDL Definition</strong>
               </dt>
               <dd>
@@ -1154,50 +992,37 @@
 };
 </pre>
                 </div>
-                <br/>
+                <br />
               </dd>
               <dt>
                 <strong>Methods</strong>
               </dt>
               <dd>
                 <dl>
-                  <dt><code class="method-name">
+                  <dt>
+                    <code class="method-name">
                       <a id="events-Events-EventListener-handleEvent">handleEvent</a>
                     </code>
                   </dt>
                   <dd>
                     <div class="method">This method shall be called whenever an event occurs of the event type for which the <code>EventListener</code> interface was registered.
-<div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">evt</code> of type <a href="#events-Events-Event"><code>Event</code></a></dt>
-                            <dd>The <a class="noxref" href="#events-Events-Event"><code>Event</code></a> contains contextual information about the <a href="#glossary-dt-event">event</a>.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
+<div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">evt</code> of type <a href="#events-Events-Event"><code>Event</code></a></dt><dd>The <a class="noxref" href="#events-Events-Event"><code>Event</code></a> contains contextual information about the <a href="#glossary-event">event</a>.<br /></dd></dl></div></div>
                       <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
+                      <div><strong>No Return Value</strong></div>
+                      <div><strong>No Exceptions</strong></div>
                     </div>
-                    <!-- method -->
+<!-- method -->
                   </dd>
                 </dl>
               </dd>
             </dl>
           </dd>
-          <dt><strong>Exception <em>
-                <a id="events-Events-EventException">EventException</a>
-              </em></strong> introduced in <strong class="version">DOM Level 2</strong></dt>
+          <dt><strong>Exception <em><a id="events-Events-EventException">EventException</a></em></strong> introduced in <strong class="version">DOM Level 2</strong></dt>
           <dd>
             <p>Event operations may throw an <a href="#events-Events-EventException"><code>EventException</code></a> as specified in their method descriptions.</p>
             <dl>
               <dt>
-                <br/>
+                <br />
                 <strong>IDL Definition</strong>
               </dt>
               <dd>
@@ -1213,12 +1038,10 @@
 const unsigned short      <a class="noxref" href="#events-DISPATCH_REQUEST_ERR">DISPATCH_REQUEST_ERR</a>           = 1;
 </pre>
                 </div>
-                <br/>
+                <br />
               </dd>
               <dt>
-                <strong>Definition group <em>
-                    <a id="events-Events-EventException-EventExceptionCode">EventExceptionCode</a>
-                  </em></strong>
+                <strong>Definition group <em><a id="events-Events-EventException-EventExceptionCode">EventExceptionCode</a></em></strong>
               </dt>
               <dd>
                 <p>An integer indicating the type of error generated.</p>
@@ -1231,9 +1054,11 @@
                       <dt><a id="events-DISPATCH_REQUEST_ERR"><code class="constant-name">DISPATCH_REQUEST_ERR</code></a>, introduced in <strong class="version">DOM Level 3</strong>.</dt>
                       <dd>If the <a href="#events-Events-Event"><code>Event</code></a> object is already dispatched in the tree.</dd>
                       <dt>
-                        <a id="events-UNSPECIFIED_EVENT_TYPE_ERR"><code class="constant-name">UNSPECIFIED_EVENT_TYPE_ERR</code></a>
+                        <a id="events-UNSPECIFIED_EVENT_TYPE_ERR">
+                          <code class="constant-name">UNSPECIFIED_EVENT_TYPE_ERR</code>
+                        </a>
                       </dt>
-                      <dd>If the <a href="#events-Events-Event-type"><code>Event.type</code></a> was not specified by initializing the event before the method was called. Specification of the <a class="noxref" href="#events-Events-Event-type"><code>Event.type</code></a> as <code>null</code> or an empty string must also trigger this exception.</dd>
+                      <dd>If the <a href="#events-event-type-type"><code>Event.type</code></a> was not specified by initializing the event before the method was called. Specification of the <a class="noxref" href="#events-event-type-type"><code>Event.type</code></a> as <code>null</code> or an empty string must also trigger this exception.</dd>
                     </dl>
                   </dd>
                 </dl>
@@ -1241,23 +1066,15 @@
             </dl>
           </dd>
         </dl>
-        
-        
         <div class="div3">
-          <h3 id="events-Events-document" class="div3">4.5 Event creation</h3>
-          <p>In most cases, the events dispatched by the DOM Events implementation are also created by the implementation. It is however possible to simulate events such as mouse events by creating the <a href="#events-Events-Event"><code>Event</code></a> objects and dispatch them using the DOM Events implementation.</p>
-          <p>Creating <a href="#events-Events-Event"><code>Event</code></a> objects that are known to the DOM Events implementation is done using <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent()</code></a>. The application must then initialize the object by calling the appropriate initialization method before invoking <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent()</code></a>. The <a class="noxref" href="#events-Events-Event"><code>Event</code></a> objects created must be known by the DOM Events implementation; otherwise an event exception shall be thrown.</p>
-
-          <h3 id="interface-DocumentEvent" class="div2">4.5.1 Interface DocumentEvent</h3>          
+          <h3 id="interface-DocumentEvent" class="div2">4.5 Interface DocumentEvent</h3>
           <dl>
-            <dt><strong>Interface <em>
-                  <a id="events-Events-DocumentEvent">DocumentEvent</a>
-                </em></strong> (introduced in <strong class="since">DOM Level 2</strong>)</dt>
+            <dt><strong>Interface <em><a id="events-Events-DocumentEvent">DocumentEvent</a></em></strong> (introduced in <strong class="since">DOM Level 2</strong>)</dt>
             <dd>
               <p>The <code>DocumentEvent</code> interface provides a mechanism by which the user can create an <a href="#events-Events-Event"><code>Event</code></a> object of a type supported by the implementation. If the feature "Events" is supported by the <code>Document</code> object, the <code>DocumentEvent</code> interface must be implemented on the same object. If the feature "+Events" is supported by the <code>Document</code> object, an object that supports the <code>DocumentEvent</code> interface must be returned by invoking the method <code>Node.getFeature("+Events", "3.0")</code> on the <code>Document</code> object.</p>
               <dl>
                 <dt>
-                  <br/>
+                  <br />
                   <strong>IDL Definition</strong>
                 </dt>
                 <dd>
@@ -1273,1366 +1090,1021 @@
 };
 </pre>
                   </div>
-                  <br/>
+                  <br />
                 </dd>
                 <dt>
                   <strong>Methods</strong>
                 </dt>
                 <dd>
                   <dl>
-                    <dt><code class="method-name atrisk">
-                        <a id="events-Events-DocumentEvent-canDispatch">canDispatch</a>
-                      </code> introduced in <strong class="since">DOM Level 3</strong></dt>
+                    <dt><code class="method-name atrisk"><a id="events-Events-DocumentEvent-canDispatch">canDispatch</a></code> introduced in <strong class="since">DOM Level 3</strong></dt>
                     <dd>
                       <div class="method atrisk">Tests if the implementation can generate events of a specified type.  
-                        <br/><span class="issue">@@ what is the use case for this? Perhaps to test if an implementation supports a particular event, such as an event from an uncommon language, or a custom event?</span>
-                        <br/><span class="issue">@@ Or what does the "implementation can generate" mean? -Olli</span>
+                        <br /><span class="issue">@@ what is the use case for this? Perhaps to test if an implementation supports a particular event, such as an event from an uncommon language, or a custom event?</span>
+                        <br /><span class="issue">@@ Or what does the "implementation can generate" mean? -Olli</span>
                         
-<div class="parameters">
-                          <strong>Parameters</strong>
-                          <div class="paramtable">
-                            <dl>
-                              <dt><code class="parameter-name">namespaceURI</code> of type <code>DOMString</code></dt>
-                              <dd>Specifies the <a href="#events-Events-Event-namespaceURI"><code>Event.namespaceURI</code></a> of the event.<br/></dd>
-                              <dt><code class="parameter-name">type</code> of type <code>DOMString</code></dt>
-                              <dd>Specifies the <a href="#events-Events-Event-type"><code>Event.type</code></a> of the event.<br/></dd>
-                            </dl>
-                          </div>
-                        </div>
+<div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">namespaceURI</code> of type <code>DOMString</code></dt><dd>Specifies the <a href="#events-event-type-namespaceURI"><code>Event.namespaceURI</code></a> of the event.<br /></dd><dt><code class="parameter-name">type</code> of type <code>DOMString</code></dt><dd>Specifies the <a href="#events-event-type-type"><code>Event.type</code></a> of the event.<br /></dd></dl></div></div>
                         <!-- parameters -->
-                        <div class="return">
-                          <strong>Return Value</strong>
-                          <div class="returntable">
-                            <table
-                              summary="Layout table: the first cell contains the type of the return value, the second contains a short description"
-                              border="0">
-                              <tr>
-                                <td>
-                                  <p><code>boolean</code>
-                                  </p>
-                                </td>
-                                <td>
-                                  <p><code>true</code> if the implementation can generate and dispatch this event type, <code>false</code> otherwise.</p>
-                                </td>
-                              </tr>
-                            </table>
-                          </div>
-                        </div>
+                        <div class="return"><strong>Return Value</strong><div class="returntable"><table summary="Layout table: the first cell contains the type of the return value, the second contains a short description" border="0"><tr><td><p><code>boolean</code></p></td><td><p><code>true</code> if the implementation can generate and dispatch this event type, <code>false</code> otherwise.</p></td></tr></table></div></div>
                         <!-- return -->
-                        <div>
-                          <strong>No Exceptions</strong>
-                        </div>
+                        <div><strong>No Exceptions</strong></div>
                       </div>
-                      <!-- method -->
+<!-- method -->
                     </dd>
-                    <dt><code class="method-name">
+                    <dt>
+                      <code class="method-name">
                         <a id="events-Events-DocumentEvent-createEvent">createEvent</a>
                       </code>
                     </dt>
                     <dd>
                       <div class="method">Creates an event object of the type specified.
-<div class="parameters">
-                          <strong>Parameters</strong>
-                          <div class="paramtable">
-                            <dl>
-                              <dt><code class="parameter-name">eventType</code> of type <code>DOMString</code></dt>
-                              <dd>
-                                <p>The <code>eventType</code> parameter specifies the name of the DOM Events interface to be supported by the created event object, e.g. <code>"Event"</code>, <code>"MouseEvent"</code>, <code>"MutationEvent"</code> and so on. If the <a href="#events-Events-Event"><code>Event</code></a> is to be dispatched via the <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent()</code></a> method the appropriate event initialization method must be called after creation in order to initialize the <a class="noxref" href="#events-Events-Event"><code>Event</code></a>'s values.</p>
-                                <p>As an example, a user wishing to synthesize some kind of <a href="#events-Events-UIEvent"><code>UIEvent</code></a> would invoke <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("UIEvent")</code></a>. The <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method could then be called on the newly created <a class="noxref" href="#events-Events-UIEvent"><code>UIEvent</code></a> object to set the specific type of user interface event to be dispatched, <a href="#events-event-DOMActivate">DOMActivate</a> for example, and set its context information, e.g. <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> in this example.</p>
-                                <p>For backward compatibility reason, "UIEvents", "MouseEvents", "MutationEvents", and "HTMLEvents" feature names are valid values for the parameter <code>eventType</code> and represent respectively the interfaces "UIEvent", "MouseEvent", "MutationEvent", and "Event", and the characters 'a'..'z' are considered equivalent to the characters 'A'..'Z'.<br/></p>
-                              </dd>
-                            </dl>
-                          </div>
-                        </div>
+<div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">eventType</code> of type <code>DOMString</code></dt><dd><p>The <code>eventType</code> parameter specifies the name of the DOM Events interface to be supported by the created event object, e.g. <code>"Event"</code>, <code>"MouseEvent"</code>, <code>"MutationEvent"</code> and so on. If the <a href="#events-Events-Event"><code>Event</code></a> is to be dispatched via the <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent()</code></a> method the appropriate event initialization method must be called after creation in order to initialize the <a class="noxref" href="#events-Events-Event"><code>Event</code></a>'s values.</p><p>As an example, a user wishing to synthesize some kind of <a href="#events-Events-UIEvent"><code>UIEvent</code></a> would invoke <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("UIEvent")</code></a>. The <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method could then be called on the newly created <a class="noxref" href="#events-Events-UIEvent"><code>UIEvent</code></a> object to set the specific type of user interface event to be dispatched, <a href="#event-type-DOMActivate">DOMActivate</a> for example, and set its context information, e.g. <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> in this example.</p><p>For backward compatibility reason, "UIEvents", "MouseEvents", "MutationEvents", and "HTMLEvents" feature names are valid values for the parameter <code>eventType</code> and represent respectively the interfaces "UIEvent", "MouseEvent", "MutationEvent", and "Event", and the characters 'a'..'z' are considered equivalent to the characters 'A'..'Z'.<br /></p></dd></dl></div></div>
                         <!-- parameters -->
-                        <div class="return">
-                          <strong>Return Value</strong>
-                          <div class="returntable">
-                            <table
-                              summary="Layout table: the first cell contains the type of the return value, the second contains a short description"
-                              border="0">
-                              <tr>
-                                <td>
-                                  <p>
-                                    <a href="#events-Events-Event"><code>Event</code></a>
-                                  </p>
-                                </td>
-                                <td>
-                                  <p>The newly created event object.</p>
-                                </td>
-                              </tr>
-                            </table>
-                          </div>
-                        </div>
+                        <div class="return"><strong>Return Value</strong><div class="returntable"><table summary="Layout table: the first cell contains the type of the return value, the second contains a short description" border="0"><tr><td><p><a href="#events-Events-Event"><code>Event</code></a></p></td><td><p>The newly created event object.</p></td></tr></table></div></div>
                         <!-- return -->
-                        <div class="exceptions">
-                          <strong>Exceptions</strong>
-                          <div class="exceptiontable">
-                            <table
-                              summary="Layout table: the first cell contains the type of the exception, the second contains the specific error code and a short description"
-                              border="0">
-                              <tr>
-                                <td>
-                                  <p><code>DOMException</code>
-                                  </p>
-                                </td>
-                                <td>
-                                  <p>NOT_SUPPORTED_ERR: Raised if the implementation does not support the <a href="#events-Events-Event"><code>Event</code></a> interface requested.</p>
-                                </td>
-                              </tr>
-                            </table>
-                          </div>
-                        </div>
+                        <div class="exceptions"><strong>Exceptions</strong><div class="exceptiontable"><table summary="Layout table: the first cell contains the type of the exception, the second contains the specific error code and a short description" border="0"><tr><td><p><code>DOMException</code></p></td><td><p>NOT_SUPPORTED_ERR: Raised if the implementation does not support the <a href="#events-Events-Event"><code>Event</code></a> interface requested.</p></td></tr></table></div></div>
                         <!-- exceptions --></div>
-                      <!-- method -->
-                    </dd>
-                  </dl>
-                </dd>
-              </dl>
-            </dd>
-          </dl>
-        </div>
-        <!-- div3 Events-document -->
-      </div>
-      <!-- div2 Events-interface -->
-      
-
-
-      <!-- div2 Events-types -->
-      <div class="div2">
-        <h2 id="events-Events" class="div2">5. Events</h2>
-        <h3 id="events-Event-types" class="div2">5.1 Event Types</h3>
-        <p>Each event shall be associated with a type, called <em>event type</em> and available as the <a class="noxref" href="#events-Events-Event-type"><code class="interface-attribute">type</code></a> attribute on the event object. The event type shall be composed of a <a href="#glossary-dt-localname">local name</a> and a <a href="#glossary-dt-namespaceURI">namespace URI</a> as used in [<cite><a class="noxref normative" href="#references-DOMCore">DOM Level 3 Core</a></cite>]. All events defined in this specification are in the <code>null</code> namespace.</p>
-        <div class="div3">
-          <h4 id="events-Events-EventTypes-complete" class="div3">5.1.1 Complete List of Event Types</h4>
-          <p>Depending on the level of DOM support, or the devices used for display (e.g. screen) or interaction (e.g., mouse, keyboard, touch screen, or voice), these event types can be generated by the implementation. When used with an [<cite><a class="noxref informative" href="#references-XML">XML 1.0</a></cite>] or [<cite><a class="noxref informative" href="#references-HTML40">HTML 4.01</a></cite>] application, the specifications of those languages may restrict the semantics and scope (in particular the possible target nodes) associated with an event type. Refer to the specification defining the language used in order to find those restrictions or to find event types that are not defined in this document.</p>
-          <p>The following table provides a non-normative summary of the event types defined in this specification. All event types are in no namespace and this specification refers to them by their local name only. All events must accomplish the capture and target phases, but not all of them must accomplish the bubbling phase (see also <a href="#events-Events-flow">Event dispatch and DOM event flow</a>). Some events are not <a href="#events-dt-cancelable-event">cancelable</a> (see <a href="#events-Events-flow-cancelation">Default actions and cancelable events</a>). Some events must only be dispatched to a specific set of possible targets in the DOM event flow, specified using node types. Contextual information related to the event type must be accessible using DOM interfaces.</p>
-          <table border="1" cellpadding="2" cellspacing="0"
-            summary="This table contains the complete list of event types defined by DOM Level 3 Events. The first column contains the local name of the event type. The second column indicates if the event accomplish the bubbling phase or not (all events accomplish the capture and target phases). The third column indicates if the default action associated with the event can be canceled. The fourth column indicates the nodes that can be target of the event. the fifth (and last) column indicates the DOM interface implemented by the event object.">
-            <tr>
-              <th>type</th>
-              <th>Bubbling phase</th>
-              <th>Cancelable</th>
-              <th>Target node types</th>
-              <th>DOM interface</th>
-            </tr>
-            <tr>
-              <td><a href="#events-event-abort">abort</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 href="#events-event-blur">blur</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 href="#events-event-change">change</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 href="#events-event-click">click</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 href="#events-event-compositionstart">compositionstart</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 href="#events-event-compositionupdate">compositionupdate</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 href="#events-event-compositionend">compositionend</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 href="#events-event-dblclick">dblclick</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 href="#events-event-DOMActivate">DOMActivate</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 href="#events-event-DOMAttributeNameChanged">DOMAttributeNameChanged</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 href="#events-event-DOMAttrModified">DOMAttrModified</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 href="#events-event-DOMCharacterDataModified">DOMCharacterDataModified</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 href="#events-event-DOMElementNameChanged">DOMElementNameChanged</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 href="#events-event-DOMFocusIn">DOMFocusIn</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 href="#events-event-DOMFocusOut">DOMFocusOut</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 href="#events-event-DOMNodeInserted">DOMNodeInserted</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 href="#events-event-DOMNodeInsertedIntoDocument">DOMNodeInsertedIntoDocument</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 href="#events-event-DOMNodeRemoved">DOMNodeRemoved</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 href="#events-event-DOMNodeRemovedFromDocument">DOMNodeRemovedFromDocument</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 href="#events-event-DOMSubtreeModified">DOMSubtreeModified</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 href="#events-event-error">error</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 href="#events-event-focus">focus</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 href="#events-event-focusin">focusin</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 href="#events-event-focusout">focusout</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 href="#events-event-keydown">keydown</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 href="#events-event-keypress">keypress</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 href="#events-event-keyup">keyup</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 href="#events-event-load">load</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 href="#events-event-mousedown">mousedown</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 href="#events-event-mouseenter">mouseenter</a></td>
-              <td>No</td>
-              <td>Yes</td>
-              <td><code>Element</code></td>
-              <td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td>
-            </tr>
-            <tr>
-              <td><a href="#events-event-mouseleave">mouseleave</a></td>
-              <td>No</td>
-              <td>Yes</td>
-              <td><code>Element</code></td>
-              <td><a href="#events-Events-MouseEvent"><code>MouseEvent</code></a></td>
-            </tr>
-            <tr>
-              <td><a href="#events-event-mousemove">mousemove</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 href="#events-event-mouseout">mouseout</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 href="#events-event-mouseover">mouseover</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 href="#events-event-mouseup">mouseup</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 href="#events-event-mousewheel">mousewheel</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></a></td>
-            </tr>
-            <tr>
-              <td><a href="#events-event-reset">reset</a></td>
-              <td>Yes</td>
-              <td>Yes</td>
-              <td><code>Element</code></td>
-              <td><a href="#events-Events-Event"><code>Event</code></a></td>
-            </tr>
-            <tr>
-              <td><a href="#events-event-resize">resize</a></td>
-              <td>Yes</td>
-              <td>No</td>
-              <td><code>Document</code>, <code>Element</code></td>
-              <td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td>
-            </tr>
-            <tr>
-              <td><a href="#events-event-scroll">scroll</a></td>
-              <td>No</td>
-              <td>No</td>
-              <td><code>Document</code>, <code>Element</code></td>
-              <td><a href="#events-Events-UIEvent"><code>UIEvent</code></a></td>
-            </tr>
-            <tr>
-              <td><a href="#events-event-select">select</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 href="#events-event-submit">submit</a></td>
-              <td>Yes</td>
-              <td>Yes</td>
-              <td><code>Element</code></td>
-              <td><a href="#events-Events-Event"><code>Event</code></a></td>
-            </tr>
-            <tr>
-              <td><a href="#events-event-textInput">textInput</a></td>
-              <td>Yes</td>
-              <td>Yes</td>
-              <td><code>Element</code></td>
-              <td><a href="#events-Events-TextEvent"><code>TextEvent</code></a></td>
-            </tr>
-            <tr>
-              <td><a href="#events-event-unload">unload</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 href="#events-event-wheel">wheel</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>
-            </tr>
-          </table>
-
-          <p>As an example, the event <a href="#events-event-load">load</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 href="#events-event-load">load</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>
-
-          <p>The event objects associated with the event types described above may contain context information. Refer to the description of the DOM interfaces for further information.</p>
-        </div>
-        <!-- div3 Events-EventTypes-complete -->
-      </div>
-
-
-      <!-- div2 Events-definitions -->
-      <div class="div2">
-        <h2 id="events-Events-definitions" class="div2">5.2 Event Module Definitions</h2>
-        <p>The DOM Event Model allows a DOM implementation to support multiple modules of events. The model has been designed to allow addition of new event modules if required. This document does not attempt to define all possible events. For purposes of interoperability, the DOM defines a module of user interface events including lower level device dependent events and a module of document mutation events.</p>
-
-
-        <div class="div3">
-          <h3 id="events-Events-eventgroupings-uievents" class="div3">5.2.1 User Interface Event Types</h3>
-          <p>This module defines the feature UIEvents 3.0 and depends on the features Events 3.0 and Views 2.0.</p>
-          <p>The User Interface event module contains basic event types associated with user interfaces.</p>
-          <dl>
-            <dt><strong>Interface <em>
-                  <a id="events-Events-UIEvent">UIEvent</a>
-                </em></strong> (introduced in <strong class="since">DOM Level 2</strong>)</dt>
-            <dd>
-              <p>The <code>UIEvent</code> interface provides specific contextual information associated with User Interface events.</p>
-              <p>To create an instance of the <code>UIEvent</code> interface, use the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("UIEvent")</code></a> method call.</p>
-              <dl>
-                <dt>
-                  <br/>
-                  <strong>IDL Definition</strong>
-                </dt>
-                <dd>
-                  <div class="idl-code">
-                    <pre>
-// Introduced in DOM Level 2:
-interface <a class="noxref" href="#events-Events-UIEvent">UIEvent</a> : <a class="noxref" href="#events-Events-Event">Event</a> {
-  readonly attribute views::AbstractView <a class="noxref" href="#events-Events-UIEvent-view">view</a>;
-  readonly attribute long            <a class="noxref" href="#events-Events-UIEvent-detail">detail</a>;
-  void               <a class="noxref" href="#events-Events-Event-initUIEvent">initUIEvent</a>(in DOMString typeArg, 
-                                 in boolean canBubbleArg, 
-                                 in boolean cancelableArg, 
-                                 in views::AbstractView viewArg, 
-                                 in long detailArg);
-  // Introduced in DOM Level 3:
-  void               <a class="noxref" href="#events-Events-Event-initUIEventNS">initUIEventNS</a>(in DOMString namespaceURIArg, 
-                                   in DOMString typeArg, 
-                                   in boolean canBubbleArg, 
-                                   in boolean cancelableArg, 
-                                   in views::AbstractView viewArg, 
-                                   in long detailArg);
-};
-</pre>
-                  </div>
-                  <br/>
-                </dd>
-                <dt>
-                  <strong>Attributes</strong>
-                </dt>
-                <dd>
-                  <dl>
-                    <dt><code class="attribute-name">
-                        <a id="events-Events-UIEvent-detail">detail</a>
-                      </code> of type <code>long</code>, readonly</dt>
-                    <dd>Specifies some detail information about the <a href="#events-Events-Event"><code>Event</code></a>, depending on the type of event.<br/></dd>
-                    <dt><code class="attribute-name">
-                        <a id="events-Events-UIEvent-view">view</a>
-                      </code> of type <code>views::AbstractView</code>, readonly</dt>
-                    <dd>The <code>view</code> attribute identifies the <code>AbstractView</code> from which the event was generated.<br/></dd>
-                  </dl>
-                </dd>
-                <dt>
-                  <strong>Methods</strong>
-                </dt>
-                <dd>
-                  <dl>
-                    <dt><code class="method-name">
-                        <a id="events-Events-Event-initUIEvent">initUIEvent</a>
-                      </code>
-                    </dt>
-                    <dd>
-                      <div class="method">Initializes attributes of an <code>UIEvent</code> object. This method has the same behavior as <a href="#events-Events-Event-initEvent"><code>Event.initEvent()</code></a>.
-<div class="parameters">
-                          <strong>Parameters</strong>
-                          <div class="paramtable">
-                            <dl>
-                              <dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt>
-                              <dd>Refer to the <a href="#events-Events-Event-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br/></dd>
-                              <dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt>
-                              <dd>Refer to the <a href="#events-Events-Event-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br/></dd>
-                              <dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt>
-                              <dd>Refer to the <a href="#events-Events-Event-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br/></dd>
-                              <dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt>
-                              <dd>Specifies <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>. This value may be <code>null</code>.<br/></dd>
-                              <dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt>
-                              <dd>Specifies <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a>.<br/></dd>
-                            </dl>
-                          </div>
-                        </div>
-                        <!-- parameters -->
-                        <div>
-                          <strong>No Return Value</strong>
-                        </div>
-                        <div>
-                          <strong>No Exceptions</strong>
-                        </div>
-                      </div>
-                      <!-- method -->
-                    </dd>
-                    <dt><code class="method-name">
-                        <a id="events-Events-Event-initUIEventNS">initUIEventNS</a>
-                      </code> introduced in <strong class="since">DOM Level 3</strong></dt>
-                    <dd>
-                      <div class="method">Initializes attributes of an <code>UIEvent</code> object. This method has the same behavior as <a href="#events-Events-Event-initEventNS"><code>Event.initEventNS()</code></a>.
-<div class="parameters">
-                          <strong>Parameters</strong>
-                          <div class="paramtable">
-                            <dl>
-                              <dt><code class="parameter-name">namespaceURIArg</code> of type <code>DOMString</code></dt>
-                              <dd>Refer to the <a href="#events-Events-Event-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                              <dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt>
-                              <dd>Refer to the <a href="#events-Events-Event-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                              <dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt>
-                              <dd>Refer to the <a href="#events-Events-Event-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                              <dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt>
-                              <dd>Refer to the <a href="#events-Events-Event-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                              <dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt>
-                              <dd>Refer to the <a href="#events-Events-Event-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br/></dd>
-                              <dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt>
-                              <dd>Refer to the <a href="#events-Events-Event-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            </dl>
-                          </div>
-                        </div>
-                        <!-- parameters -->
-                        <div>
-                          <strong>No Return Value</strong>
-                        </div>
-                        <div>
-                          <strong>No Exceptions</strong>
-                        </div>
-                      </div>
-                      <!-- method -->
+<!-- method -->
                     </dd>
                   </dl>
                 </dd>
               </dl>
             </dd>
           </dl>
-          <p>The User Interface event types are listed below.</p>
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-DOMActivate">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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="#events-Events-flow-activation">Activation requests and behavior</a>.</dd>
-            </dl>
-          </div>
-          
-          <!-- DOMFocusIn -->
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-DOMFocusIn">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-An <a href="#glossary-dt-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 href="#events-event-focus">focus</a>.  This event type is deprecated in favor of the equivalent event type <a class="noxref" href="#events-event-focusin">focusin</a>.</dd>
-            </dl>
-          </div>
-          
-          <!-- DOMFocusOut -->
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-DOMFocusOut">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-An <a href="#glossary-dt-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 href="#events-event-blur">blur</a>.  This event type is deprecated in favor of the equivalent event type <a class="noxref" href="#events-event-focusout">focusout</a>.</dd>
-            </dl>
-          </div>
-          
-          <!-- focus -->
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-focus">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-An <a href="#glossary-dt-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="events-event-focusin">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-An <a href="#glossary-dt-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 href="#events-event-focus">focus</a>.  This event type is similar to <a href="#events-event-focus">focus</a>, but it must include the <a href="#glossary-dt-bubbling-phase">bubbling phase</a>.</dd>
-            </dl>
-          </div>
-
-          <!-- focusout -->
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-focusout">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-An <a href="#glossary-dt-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 href="#events-event-blur">blur</a>.  This event type is similar to <a href="#events-event-blur">blur</a>, but it must include the <a href="#glossary-dt-bubbling-phase">bubbling phase</a>.</dd>
-            </dl>
-          </div>
-
-          <!-- blur -->
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-blur">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-An <a href="#glossary-dt-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>
+          <h4 id="event-creation" class="div3">4.5.1 Event creation</h4>
+          <p>In most cases, the events dispatched by the DOM Events implementation are also created by the implementation. It is however possible to simulate events such as mouse events by creating the <a href="#events-Events-Event"><code>Event</code></a> objects and dispatch them using the DOM Events implementation.</p>
+          <p>Creating <a href="#events-Events-Event"><code>Event</code></a> objects that are known to the DOM Events implementation is done using <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent()</code></a>. The application must then initialize the object by calling the appropriate initialization method before invoking <a href="#events-Events-EventTarget-dispatchEvent"><code>EventTarget.dispatchEvent()</code></a>. The <a class="noxref" href="#events-Events-Event"><code>Event</code></a> objects created must be known by the DOM Events implementation; otherwise an event exception shall be thrown.</p>
         </div>
-        
-
-        <!-- div3 Events-eventgroupings-basicevents -->
-        <div class="div3">
-          <h3 class="div3" id="events-Events-eventgroupings-basicevents">5.2.2 Basic Event Types</h3>
-          <p>This event module contains basic event types associated with document manipulation. It defines the feature BasicEvents 3.0 and depends on the feature Events 3.0. The basic event types are listed below.</p>
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-load">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-  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.</dd>
-            </dl>
-          </div>
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-unload">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-  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>
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-abort">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-  Loading of a resource has been aborted.</dd>
-            </dl>
-          </div>
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-error">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-  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>
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-select">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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.</td>
-                  </tr>
-                </table>
-  A user selects some text. DOM Level 3 Events does not provide contextual information to access the selected text. The selection occurred before the dispatch of this event type.</dd>
-            </dl>
-          </div>
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-change">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-  A 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 href="#events-event-blur">blur</a>.</dd>
-            </dl>
-          </div>
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-submit">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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 form, such as a [<cite><a class="noxref informative" href="#references-HTML40">HTML 4.01</a></cite>] or [<cite><a class="noxref informative" href="#references-XHTML10">XHTML 1.0</a></cite>] form, is submitted.</dd>
-            </dl>
-          </div>
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-reset">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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 form, such as a [<cite><a class="noxref informative" href="#references-HTML40">HTML 4.01</a></cite>] or [<cite><a class="noxref informative" href="#references-XHTML10">XHTML 1.0</a></cite>] form, is reset.</dd>
-            </dl>
-          </div>
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-resize">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-  A document view or an element has been resized. The resize occurred before the dispatch of this event type.</dd>
-            </dl>
-          </div>
-          <div class="event-definition assert must">
-            <dl>
-              <dt id="events-event-scroll">
-                <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-  A document view or an element has been scrolled. The scroll occurred before the dispatch of this event type.</dd>
-            </dl>
-          </div>
-        </div>
-        <!-- div3 Events-eventgroupings-basicevents -->
+<!-- div3 Events-document -->
       </div>
-      <!-- div2 Events-eventgroupings -->
-        
-
-
-
-      <!-- div3 Events-KeyboardEvents-Interfaces -->
+<!-- div2 Events-interface -->
+    </div>
+<!-- div2 Events-types -->
+    <div class="div2">
+      <h2 id="events-module" class="div2">5. Events Module</h2>
+      <h3 id="event-types" class="div2">5.1 Event Types</h3>
+      <p>Each event shall be associated with a type, called <em>event type</em> and available as the <a class="noxref" href="#events-event-type-type"><code class="interface-attribute">type</code></a> attribute on the event object. The event type shall be composed of a <a href="#glossary-localname">local name</a> and a <a href="#glossary-namespaceURI">namespace URI</a> as used in [<cite><a class="noxref normative" href="#references-DOMCore">DOM Level 3 Core</a></cite>]. All events defined in this specification are in the <code>null</code> namespace.</p>
       <div class="div3">
-        <h3 id="events-Events-eventgroupings-mouseevents" class="div3">5.2.3 Mouse Event Types</h3>
-        <p>This module defines the feature MouseEvents 3.0 and depends on the feature UIEvents 3.0.</p>
-        <p>The Mouse event module originates from the [<cite><a class="noxref informative" href="#references-HTML40">HTML 4.01</a></cite>] <code>onclick</code>, <code>ondblclick</code>, <code>onmousedown</code>, <code>onmouseup</code>, <code>onmouseover</code>, <code>onmousemove</code>, and <code>onmouseout</code> attributes. This event module is specifically designed for use with pointing input devices, such as a mouse or a trackball.</p>
+        <h4 id="event-types-list" class="div3">5.1.1 List of DOM3 Event Types</h4>
+        <p>Depending on the level of DOM support, or the devices used for display (e.g. screen) or interaction (e.g., mouse, keyboard, touch screen, or voice), these event types can be generated by the implementation. When used with an [<cite><a class="noxref informative" href="#references-XML">XML 1.0</a></cite>] or [<cite><a class="noxref informative" href="#references-HTML40">HTML 4.01</a></cite>] application, the specifications of those languages may restrict the semantics and scope (in particular the possible target nodes) associated with an event type. Refer to the specification defining the language used in order to find those restrictions or to find event types that are not defined in this document.</p>
+        <p>The following table provides a non-normative summary of the event types defined in this specification. All event types are in no namespace and this specification refers to them by their local name only. All events must accomplish the capture and target phases, but not all of them must accomplish the bubbling phase (see also <a href="#event-flow">Event dispatch and DOM event flow</a>). Some events are not <a href="#events-dt-cancelable-event">cancelable</a> (see <a href="#event-flow-cancelation">Default actions and cancelable events</a>). Some events must only be dispatched to a specific set of possible targets in the DOM event flow, specified using node types. Contextual information related to the event type must be accessible using DOM interfaces.</p>
+        <table border="1" cellpadding="2" cellspacing="0" summary="This table contains the complete list of event types defined by DOM Level 3 Events. The first column contains the local name of the event type. The second column indicates if the event accomplish the bubbling phase or not (all events accomplish the capture and target phases). The third column indicates if the default action associated with the event can be canceled. The fourth column indicates the nodes that can be target of the event. the fifth (and last) column indicates the DOM interface implemented by the event object.">
+          <tr>
+            <th>type</th>
+            <th>Bubbling phase</th>
+            <th>Cancelable</th>
+            <th>Target node types</th>
+            <th>DOM interface</th>
+          </tr>
+          <tr>
+            <td>
+              <a href="#event-type-abort">abort</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 href="#event-type-blur">blur</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 href="#event-type-change">change</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 href="#event-type-click">click</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 href="#event-type-compositionstart">compositionstart</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 href="#event-type-compositionupdate">compositionupdate</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 href="#event-type-compositionend">compositionend</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 href="#event-type-dblclick">dblclick</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 href="#event-type-DOMActivate">DOMActivate</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 href="#event-type-DOMAttributeNameChanged">DOMAttributeNameChanged</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 href="#event-type-DOMAttrModified">DOMAttrModified</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 href="#event-type-DOMCharacterDataModified">DOMCharacterDataModified</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 href="#event-type-DOMElementNameChanged">DOMElementNameChanged</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 href="#event-type-DOMFocusIn">DOMFocusIn</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 href="#event-type-DOMFocusOut">DOMFocusOut</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 href="#event-type-DOMNodeInserted">DOMNodeInserted</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 href="#event-type-DOMNodeInsertedIntoDocument">DOMNodeInsertedIntoDocument</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 href="#event-type-DOMNodeRemoved">DOMNodeRemoved</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 href="#event-type-DOMNodeRemovedFromDocument">DOMNodeRemovedFromDocument</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 href="#event-type-DOMSubtreeModified">DOMSubtreeModified</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 href="#event-type-error">error</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 href="#event-type-focus">focus</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 href="#event-type-focusin">focusin</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 href="#event-type-focusout">focusout</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 href="#event-type-keydown">keydown</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 href="#event-type-keypress">keypress</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 href="#event-type-keyup">keyup</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 href="#event-type-load">load</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 href="#event-type-mousedown">mousedown</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 href="#event-type-mouseenter">mouseenter</a>
+            </td>
+            <td>No</td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-MouseEvent">
+                <code>MouseEvent</code>
+              </a>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <a href="#event-type-mouseleave">mouseleave</a>
+            </td>
+            <td>No</td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-MouseEvent">
+                <code>MouseEvent</code>
+              </a>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <a href="#event-type-mousemove">mousemove</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 href="#event-type-mouseout">mouseout</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 href="#event-type-mouseover">mouseover</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 href="#event-type-mouseup">mouseup</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 href="#event-type-mousewheel">mousewheel</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>
+              </a>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <a href="#event-type-reset">reset</a>
+            </td>
+            <td>Yes</td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-Event">
+                <code>Event</code>
+              </a>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <a href="#event-type-resize">resize</a>
+            </td>
+            <td>Yes</td>
+            <td>No</td>
+            <td><code>Document</code>, <code>Element</code></td>
+            <td>
+              <a href="#events-Events-UIEvent">
+                <code>UIEvent</code>
+              </a>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <a href="#event-type-scroll">scroll</a>
+            </td>
+            <td>No</td>
+            <td>No</td>
+            <td><code>Document</code>, <code>Element</code></td>
+            <td>
+              <a href="#events-Events-UIEvent">
+                <code>UIEvent</code>
+              </a>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <a href="#event-type-select">select</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 href="#event-type-submit">submit</a>
+            </td>
+            <td>Yes</td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-Event">
+                <code>Event</code>
+              </a>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <a href="#event-type-textInput">textInput</a>
+            </td>
+            <td>Yes</td>
+            <td>Yes</td>
+            <td>
+              <code>Element</code>
+            </td>
+            <td>
+              <a href="#events-Events-TextEvent">
+                <code>TextEvent</code>
+              </a>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <a href="#event-type-unload">unload</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 href="#event-type-wheel">wheel</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>
+          </tr>
+        </table>
+        <p>As an example, the event <a href="#event-type-load">load</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 href="#event-type-load">load</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>
+        <p>The event objects associated with the event types described above may contain context information. Refer to the description of the DOM interfaces for further information.</p>
+      </div>
+<!-- div3 Events-EventTypes-complete -->
+    </div>
+<!-- div2 Events-definitions -->
+    <div class="div2">
+      <h2 id="event-definitions" class="div2">5.2 Event Module Definitions</h2>
+      <p>The DOM Event Model allows a DOM implementation to support multiple modules of events. The model has been designed to allow addition of new event modules if required. This document does not attempt to define all possible events. For purposes of interoperability, the DOM defines a module of user interface events including lower level device dependent events and a module of document mutation events.</p>
+      <div class="div3">
+        <h3 id="events-uievents" class="div3">5.2.1 User Interface Event Types</h3>
+        <p>This module defines the feature UIEvents 3.0 and depends on the features Events 3.0 and Views 2.0.</p>
+        <p>The User Interface event module contains basic event types associated with user interfaces.</p>
         <dl>
-          <dt><strong>Interface <em>
-                <a id="events-Events-MouseEvent">MouseEvent</a>
-              </em></strong> (introduced in <strong class="since">DOM Level 2</strong>)</dt>
+          <dt><strong>Interface <em><a id="events-Events-UIEvent">UIEvent</a></em></strong> (introduced in <strong class="since">DOM Level 2</strong>)</dt>
           <dd>
-            <p>The <code>MouseEvent</code> interface provides specific contextual information associated with Mouse events.</p>
-            <p>In the case of nested elements mouse events are always targeted at the most deeply nested element. Ancestors of the targeted element may use bubbling to obtain notification of mouse events which occur within their descendent elements.</p>
-            <p>To create an instance of the <code>MouseEvent</code> interface, use the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("MouseEvent")</code></a> method call.</p>
-            <p class="note"><strong>Note:</strong> When initializing <code>MouseEvent</code> objects using <code>initMouseEvent</code> or <code>initMouseEventNS</code>, implementations should use the client coordinates <code>clientX</code> and <code>clientY</code> for calculation of other coordinates (such as target coordinates exposed by <a href="#glossary-dt-DOM-Level-0">DOM Level 0</a> implementations).</p>
+            <p>The <code>UIEvent</code> interface provides specific contextual information associated with User Interface events.</p>
+            <p>To create an instance of the <code>UIEvent</code> interface, use the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("UIEvent")</code></a> method call.</p>
             <dl>
               <dt>
-                <br/>
+                <br />
                 <strong>IDL Definition</strong>
               </dt>
               <dd>
                 <div class="idl-code">
                   <pre>
     // Introduced in DOM Level 2:
-    interface <a class="noxref" href="#events-Events-MouseEvent">MouseEvent</a> : <a class="noxref" href="#events-Events-UIEvent">UIEvent</a> {
-    readonly attribute long            <a class="noxref" href="#events-Events-MouseEvent-screenX">screenX</a>;
-    readonly attribute long            <a class="noxref" href="#events-Events-MouseEvent-screenY">screenY</a>;
-    readonly attribute long            <a class="noxref" href="#events-Events-MouseEvent-clientX">clientX</a>;
-    readonly attribute long            <a class="noxref" href="#events-Events-MouseEvent-clientY">clientY</a>;
-    readonly attribute boolean         <a class="noxref" href="#events-Events-MouseEvent-ctrlKey">ctrlKey</a>;
-    readonly attribute boolean         <a class="noxref" href="#events-Events-MouseEvent-shiftKey">shiftKey</a>;
-    readonly attribute boolean         <a class="noxref" href="#events-Events-MouseEvent-altKey">altKey</a>;
-    readonly attribute boolean         <a class="noxref" href="#events-Events-MouseEvent-metaKey">metaKey</a>;
-    readonly attribute unsigned short  <a class="noxref" href="#events-Events-MouseEvent-button">button</a>;
-    readonly attribute <a class="noxref" href="#events-Events-EventTarget">EventTarget</a>     <a class="noxref" href="#events-Events-MouseEvent-relatedTarget">relatedTarget</a>;
-    void               <a class="noxref" href="#events-Events-Event-initMouseEvent">initMouseEvent</a>(in DOMString typeArg, 
+    interface <a class="noxref" href="#events-Events-UIEvent">UIEvent</a> : <a class="noxref" href="#events-Events-Event">Event</a> {
+      readonly attribute views::AbstractView <a class="noxref" href="#events-Events-UIEvent-view">view</a>;
+      readonly attribute long            <a class="noxref" href="#events-Events-UIEvent-detail">detail</a>;
+      void               <a class="noxref" href="#events-event-type-initUIEvent">initUIEvent</a>(in DOMString typeArg, 
+                                     in boolean canBubbleArg, 
+                                     in boolean cancelableArg, 
+                                     in views::AbstractView viewArg, 
+                                     in long detailArg);
+      // Introduced in DOM Level 3:
+      void               <a class="noxref" href="#events-event-type-initUIEventNS">initUIEventNS</a>(in DOMString namespaceURIArg, 
+                                       in DOMString typeArg, 
+                                       in boolean canBubbleArg, 
+                                       in boolean cancelableArg, 
+                                       in views::AbstractView viewArg, 
+                                       in long detailArg);
+    };
+    </pre>
+                </div>
+                <br />
+              </dd>
+              <dt>
+                <strong>Attributes</strong>
+              </dt>
+              <dd>
+                <dl>
+                  <dt><code class="attribute-name"><a id="events-Events-UIEvent-detail">detail</a></code> of type <code>long</code>, readonly</dt>
+                  <dd>Specifies some detail information about the <a href="#events-Events-Event"><code>Event</code></a>, depending on the type of event.<br /></dd>
+                  <dt><code class="attribute-name"><a id="events-Events-UIEvent-view">view</a></code> of type <code>views::AbstractView</code>, readonly</dt>
+                  <dd>The <code>view</code> attribute identifies the <code>AbstractView</code> from which the event was generated.<br /></dd>
+                </dl>
+              </dd>
+              <dt>
+                <strong>Methods</strong>
+              </dt>
+              <dd>
+                <dl>
+                  <dt>
+                    <code class="method-name">
+                      <a id="events-event-type-initUIEvent">initUIEvent</a>
+                    </code>
+                  </dt>
+                  <dd>
+                    <div class="method">Initializes attributes of an <code>UIEvent</code> object. This method has the same behavior as <a href="#events-event-type-initEvent"><code>Event.initEvent()</code></a>.
+    <div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initEvent"><code>Event.initEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt><dd>Specifies <a href="#events-Events-UIEvent-view"><code>UIEvent.view</code></a>. This value may be <code>null</code>.<br /></dd><dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt><dd>Specifies <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a>.<br /></dd></dl></div></div>
+                            <!-- parameters -->
+                            <div><strong>No Return Value</strong></div>
+                            <div><strong>No Exceptions</strong></div>
+                          </div>
+<!-- method -->
+                  </dd>
+                  <dt><code class="method-name"><a id="events-event-type-initUIEventNS">initUIEventNS</a></code> introduced in <strong class="since">DOM Level 3</strong></dt>
+                  <dd>
+                    <div class="method">Initializes attributes of an <code>UIEvent</code> object. This method has the same behavior as <a href="#events-event-type-initEventNS"><code>Event.initEventNS()</code></a>.
+    <div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">namespaceURIArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initEventNS"><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt><dd>Refer to the <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd></dl></div></div>
+                            <!-- parameters -->
+                            <div><strong>No Return Value</strong></div>
+                            <div><strong>No Exceptions</strong></div>
+                          </div>
+<!-- method -->
+                  </dd>
+                </dl>
+              </dd>
+            </dl>
+          </dd>
+        </dl>
+        <p>The User Interface event types are listed below.</p>
+        <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 bgcolor="#CFCFCF"><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>
+          </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 bgcolor="#CFCFCF"><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>
+    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 href="#event-type-focus">focus</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 bgcolor="#CFCFCF"><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>
+    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 href="#event-type-blur">blur</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 bgcolor="#CFCFCF"><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>
+    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 bgcolor="#CFCFCF"><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>
+    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 href="#event-type-focus">focus</a>.  This event type is similar to <a href="#event-type-focus">focus</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 bgcolor="#CFCFCF"><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>
+    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 href="#event-type-blur">blur</a>.  This event type is similar to <a href="#event-type-blur">blur</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 bgcolor="#CFCFCF"><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>
+    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>
+      </div>
+<!-- div3 Events-eventgroupings-basicevents -->
+      <div class="div3">
+        <h3 class="div3" id="events-basicevents">5.2.2 Basic Event Types</h3>
+        <p>This event module contains basic event types associated with document manipulation. It defines the feature BasicEvents 3.0 and depends on the feature Events 3.0. The basic event types are listed below.</p>
+        <div class="event-definition assert must">
+          <dl>
+            <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 bgcolor="#CFCFCF"><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>
+      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.</dd>
+          </dl>
+        </div>
+        <div class="event-definition assert must">
+          <dl>
+            <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 bgcolor="#CFCFCF"><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>
+      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>
+        <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 bgcolor="#CFCFCF"><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>
+      Loading of a resource has been aborted.</dd>
+          </dl>
+        </div>
+        <div class="event-definition assert must">
+          <dl>
+            <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 bgcolor="#CFCFCF"><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>
+      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>
+        <div class="event-definition assert must">
+          <dl>
+            <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 bgcolor="#CFCFCF"><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.</td></tr></table>
+      A user selects some text. DOM Level 3 Events does not provide contextual information to access the selected text. The selection occurred before the dispatch of this event type.</dd>
+          </dl>
+        </div>
+        <div class="event-definition assert must">
+          <dl>
+            <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 bgcolor="#CFCFCF"><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>
+      A 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 href="#event-type-blur">blur</a>.</dd>
+          </dl>
+        </div>
+        <div class="event-definition assert must">
+          <dl>
+            <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 bgcolor="#CFCFCF"><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 form, such as a [<cite><a class="noxref informative" href="#references-HTML40">HTML 4.01</a></cite>] or [<cite><a class="noxref informative" href="#references-XHTML10">XHTML 1.0</a></cite>] form, is submitted.</dd>
+          </dl>
+        </div>
+        <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 bgcolor="#CFCFCF"><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 form, such as a [<cite><a class="noxref informative" href="#references-HTML40">HTML 4.01</a></cite>] or [<cite><a class="noxref informative" href="#references-XHTML10">XHTML 1.0</a></cite>] form, is reset.</dd>
+          </dl>
+        </div>
+        <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 bgcolor="#CFCFCF"><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>
+      A document view or an element has been resized. The resize occurred before the dispatch of this event type.</dd>
+          </dl>
+        </div>
+        <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 bgcolor="#CFCFCF"><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>
+      A document view or an element has been scrolled. The scroll occurred before the dispatch of this event type.</dd>
+          </dl>
+        </div>
+      </div>
+<!-- div3 Events-eventgroupings-basicevents -->
+    </div>
+<!-- div3 Events-KeyboardEvents-Interfaces -->
+    <div class="div3">
+      <h3 id="events-mouseevents" class="div3">5.2.3 Mouse Event Types</h3>
+      <p>This module defines the feature MouseEvents 3.0 and depends on the feature UIEvents 3.0.</p>
+      <p>The Mouse event module originates from the [<cite><a class="noxref informative" href="#references-HTML40">HTML 4.01</a></cite>] <code>onclick</code>, <code>ondblclick</code>, <code>onmousedown</code>, <code>onmouseup</code>, <code>onmouseover</code>, <code>onmousemove</code>, and <code>onmouseout</code> attributes. This event module is specifically designed for use with pointing input devices, such as a mouse or a trackball.</p>
+      <dl>
+        <dt><strong>Interface <em><a id="events-Events-MouseEvent">MouseEvent</a></em></strong> (introduced in <strong class="since">DOM Level 2</strong>)</dt>
+        <dd>
+          <p>The <code>MouseEvent</code> interface provides specific contextual information associated with Mouse events.</p>
+          <p>In the case of nested elements mouse events are always targeted at the most deeply nested element. Ancestors of the targeted element may use bubbling to obtain notification of mouse events which occur within their descendent elements.</p>
+          <p>To create an instance of the <code>MouseEvent</code> interface, use the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("MouseEvent")</code></a> method call.</p>
+          <p class="note"><strong>Note:</strong> When initializing <code>MouseEvent</code> objects using <code>initMouseEvent</code> or <code>initMouseEventNS</code>, implementations should use the client coordinates <code>clientX</code> and <code>clientY</code> for calculation of other coordinates (such as target coordinates exposed by <a href="#glossary-DOM-Level-0">DOM Level 0</a> implementations).</p>
+          <dl>
+            <dt>
+              <br />
+              <strong>IDL Definition</strong>
+            </dt>
+            <dd>
+              <div class="idl-code">
+                <pre>
+  // Introduced in DOM Level 2:
+  interface <a class="noxref" href="#events-Events-MouseEvent">MouseEvent</a> : <a class="noxref" href="#events-Events-UIEvent">UIEvent</a> {
+  readonly attribute long            <a class="noxref" href="#events-Events-MouseEvent-screenX">screenX</a>;
+  readonly attribute long            <a class="noxref" href="#events-Events-MouseEvent-screenY">screenY</a>;
+  readonly attribute long            <a class="noxref" href="#events-Events-MouseEvent-clientX">clientX</a>;
+  readonly attribute long            <a class="noxref" href="#events-Events-MouseEvent-clientY">clientY</a>;
+  readonly attribute boolean         <a class="noxref" href="#events-Events-MouseEvent-ctrlKey">ctrlKey</a>;
+  readonly attribute boolean         <a class="noxref" href="#events-Events-MouseEvent-shiftKey">shiftKey</a>;
+  readonly attribute boolean         <a class="noxref" href="#events-Events-MouseEvent-altKey">altKey</a>;
+  readonly attribute boolean         <a class="noxref" href="#events-Events-MouseEvent-metaKey">metaKey</a>;
+  readonly attribute unsigned short  <a class="noxref" href="#events-Events-MouseEvent-button">button</a>;
+  readonly attribute <a class="noxref" href="#events-Events-EventTarget">EventTarget</a>     <a class="noxref" href="#events-Events-MouseEvent-relatedTarget">relatedTarget</a>;
+  void               <a class="noxref" href="#events-event-type-initMouseEvent">initMouseEvent</a>(in DOMString typeArg, 
+                                in boolean canBubbleArg, 
+                                in boolean cancelableArg, 
+                                in views::AbstractView viewArg, 
+                                in long detailArg, 
+                                in long screenXArg, 
+                                in long screenYArg, 
+                                in long clientXArg, 
+                                in long clientYArg, 
+                                in boolean ctrlKeyArg, 
+                                in boolean altKeyArg, 
+                                in boolean shiftKeyArg, 
+                                in boolean metaKeyArg, 
+                                in unsigned short buttonArg, 
+                                in <a class="noxref" href="#events-Events-EventTarget">EventTarget</a> relatedTargetArg);
+  // Introduced in DOM Level 3:
+  boolean            <a class="noxref" href="#events-Events-MouseEvent-getModifierState">getModifierState</a>(in DOMString keyIdentifierArg);
+  // Introduced in DOM Level 3:
+  void               <a class="noxref" href="#events-event-type-initMouseEventNS">initMouseEventNS</a>(in DOMString namespaceURIArg, 
+                                  in DOMString typeArg, 
                                   in boolean canBubbleArg, 
                                   in boolean cancelableArg, 
                                   in views::AbstractView viewArg, 
@@ -2641,246 +2113,96 @@
                                   in long screenYArg, 
                                   in long clientXArg, 
                                   in long clientYArg, 
-                                  in boolean ctrlKeyArg, 
-                                  in boolean altKeyArg, 
-                                  in boolean shiftKeyArg, 
-                                  in boolean metaKeyArg, 
                                   in unsigned short buttonArg, 
-                                  in <a class="noxref" href="#events-Events-EventTarget">EventTarget</a> relatedTargetArg);
-    // Introduced in DOM Level 3:
-    boolean            <a class="noxref" href="#events-Events-MouseEvent-getModifierState">getModifierState</a>(in DOMString keyIdentifierArg);
-    // Introduced in DOM Level 3:
-    void               <a class="noxref" href="#events-Events-Event-initMouseEventNS">initMouseEventNS</a>(in DOMString namespaceURIArg, 
-                                    in DOMString typeArg, 
-                                    in boolean canBubbleArg, 
-                                    in boolean cancelableArg, 
-                                    in views::AbstractView viewArg, 
-                                    in long detailArg, 
-                                    in long screenXArg, 
-                                    in long screenYArg, 
-                                    in long clientXArg, 
-                                    in long clientYArg, 
-                                    in unsigned short buttonArg, 
-                                    in <a class="noxref" href="#events-Events-EventTarget">EventTarget</a> relatedTargetArg, 
-                                    in DOMString modifiersListArg);
-    };
-    </pre>
-                </div>
-                <br/>
-              </dd>
-              <dt>
-                <strong>Attributes</strong>
-              </dt>
-              <dd>
-                <dl>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-MouseEvent-altKey">altKey</a>
-                    </code> of type <code>boolean</code>, readonly</dt>
-                  <dd>Refer to the <a href="#events-Events-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a> attribute.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-MouseEvent-button">button</a>
-                    </code> of type <code>unsigned short</code>, readonly</dt>
-                  <dd>During mouse events caused by the depression or release of a mouse button, <code>button</code> shall be used to indicate which mouse button changed state. <code>0</code> indicates the normal button of the mouse (in general on the left or the one button on Macintosh mice, used to activate a button or select text). <code>2</code> indicates the contextual property (in general on the right, used to display a context menu) button of the mouse if present. <code>1</code> indicates the extra (in general in the middle and often combined with the mouse wheel) button. Some mice may provide or simulate more buttons, and values higher than <code>2</code> can be used to represent such buttons.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-MouseEvent-clientX">clientX</a>
-                    </code> of type <code>long</code>, readonly</dt>
-                  <dd>The horizontal coordinate at which the event occurred relative to the viewport associated with the event.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-MouseEvent-clientY">clientY</a>
-                    </code> of type <code>long</code>, readonly</dt>
-                  <dd>The vertical coordinate at which the event occurred relative to the viewport associated with the event.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-MouseEvent-ctrlKey">ctrlKey</a>
-                    </code> of type <code>boolean</code>, readonly</dt>
-                  <dd>Refer to the <a href="#events-Events-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a> attribute.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-MouseEvent-metaKey">metaKey</a>
-                    </code> of type <code>boolean</code>, readonly</dt>
-                  <dd>Refer to the <a href="#events-Events-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a> attribute.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-MouseEvent-relatedTarget">relatedTarget</a>
-                    </code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a>, readonly</dt>
-                  <dd>Used to identify a secondary <a href="#events-Events-EventTarget"><code>EventTarget</code></a> related to a UI event, depending on the type of event.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-MouseEvent-screenX">screenX</a>
-                    </code> of type <code>long</code>, readonly</dt>
-                  <dd>The horizontal coordinate at which the event occurred relative to the origin of the screen coordinate system.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-MouseEvent-screenY">screenY</a>
-                    </code> of type <code>long</code>, readonly</dt>
-                  <dd>The vertical coordinate at which the event occurred relative to the origin of the screen coordinate system.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-MouseEvent-shiftKey">shiftKey</a>
-                    </code> of type <code>boolean</code>, readonly</dt>
-                  <dd>Refer to the <a href="#events-Events-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a> attribute.<br/></dd>
-                </dl>
-              </dd>
-              <dt>
-                <strong>Methods</strong>
-              </dt>
-              <dd>
-                <dl>
-                  <dt><code class="method-name">
-                      <a id="events-Events-MouseEvent-getModifierState">getModifierState</a>
-                    </code> introduced in <strong class="since">DOM Level 3</strong></dt>
-                  <dd>
-                    <div class="method">Queries the state of a modifier using a key identifier. See also <a href="#keyset-Modifiers">Modifier keys</a>.
-    <div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">keyIdentifierArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-KeyboardEvent-getModifierState"><code>KeyboardEvent.getModifierState()</code></a> method for a description of this parameter.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
-                      <!-- parameters -->
-                      <div class="return">
-                        <strong>Return Value</strong>
-                        <div class="returntable">
-                          <table
-                            summary="Layout table: the first cell contains the type of the return value, the second contains a short description"
-                            border="0">
-                            <tr class="assert must">
-                              <td>
-                                <p><code>boolean</code>
-                                </p>
-                              </td>
-                              <td>
-                                <p><code>true</code> if it is a modifier key and the modifier is activated, <code>false</code> otherwise.</p>
-                              </td>
-                            </tr>
-                          </table>
-                        </div>
-                      </div>
-                      <!-- return -->
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
-                    </div>
-                    <!-- method -->
-                  </dd>
-                  <dt><code class="method-name">
-                      <a id="events-Events-Event-initMouseEvent">initMouseEvent</a>
-                    </code>
-                  </dt>
-                  <dd>
-                    <div class="method">Initializes attributes of a <code>MouseEvent</code> object. This method has the same behavior as <a href="#events-Events-Event-initUIEvent"><code>UIEvent.initUIEvent()</code></a>.
-    <div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">screenXArg</code> of type <code>long</code></dt>
-                            <dd>Specifies <a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>.<br/></dd>
-                            <dt><code class="parameter-name">screenYArg</code> of type <code>long</code></dt>
-                            <dd>Specifies <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>.<br/></dd>
-                            <dt><code class="parameter-name">clientXArg</code> of type <code>long</code></dt>
-                            <dd>Specifies <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>.<br/></dd>
-                            <dt><code class="parameter-name">clientYArg</code> of type <code>long</code></dt>
-                            <dd>Specifies <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>.<br/></dd>
-                            <dt><code class="parameter-name">ctrlKeyArg</code> of type <code>boolean</code></dt>
-                            <dd>Specifies <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>.<br/></dd>
-                            <dt><code class="parameter-name">altKeyArg</code> of type <code>boolean</code></dt>
-                            <dd>Specifies <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>.<br/></dd>
-                            <dt><code class="parameter-name">shiftKeyArg</code> of type <code>boolean</code></dt>
-                            <dd>Specifies <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>.<br/></dd>
-                            <dt><code class="parameter-name">metaKeyArg</code> of type <code>boolean</code></dt>
-                            <dd>Specifies <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>.<br/></dd>
-                            <dt><code class="parameter-name">buttonArg</code> of type <code>unsigned short</code></dt>
-                            <dd>Specifies <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a>.<br/></dd>
-                            <dt><code class="parameter-name">relatedTargetArg</code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a></dt>
-                            <dd>Specifies <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a>. This value may be <code>null</code>.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
-                      <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
-                    </div>
-                    <!-- method -->
-                  </dd>
-                  <dt><code class="method-name">
-                      <a id="events-Events-Event-initMouseEventNS">initMouseEventNS</a>
-                    </code> introduced in <strong class="since">DOM Level 3</strong></dt>
-                  <dd>
-                    <div class="method">Initializes attributes of a <code>MouseEvent</code> object. This method has the same behavior as <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a>.
-    <div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">namespaceURIArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">screenXArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEvent"><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">screenYArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEvent"><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">clientXArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEvent"><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">clientYArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEvent"><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">buttonArg</code> of type <code>unsigned short</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEvent"><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">relatedTargetArg</code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEvent"><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">modifiersListArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-KeyboardEvent-initKeyboardEventNS"><code>KeyboardEvent.initKeyboardEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
-                      <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
-                    </div>
-                    <!-- method -->
-                  </dd>
-                </dl>
-              </dd>
-            </dl>
-          </dd>
-        </dl>
-        <p>The Mouse event types are listed below. In the case of nested elements, mouse event types are always targeted at the most deeply nested element. Ancestors of the targeted element may use bubbling to obtain notification of mouse events which occur within its descendent elements.</p>
-        <p id="events-dt-current-click-count">Implementations must maintain the <em>current click count</em> when generating mouse events. This shall be a non-negative integer indicating the number of consecutive clicks of a pointing device button during a user action. The notion of consecutive clicks depends on the environment configuration. For example, a <code><a href="#events-event-dblclick">dblclick</a></code> event type might not happen if there is a long delay between the two clicks.
-        <span class="note"><strong>Note:</strong> The value of <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> for a number of clicks greater than 2 is platform-dependent.  For example, on the Windows OS, the click-count series seems to be <code>1, 2, 3, 2, 3</code>, while on MacOS, the click-count series seems to be <code>1, 2, 3, 4, 5, ...</code>.</span></p>
-        
-        
-        <!-- click -->
-        <div class="event-definition assert must">
-          <dl>
-            <dt id="events-event-click">
-              <a class="noxref" href="#events-event-click">click</a>
+                                  in <a class="noxref" href="#events-Events-EventTarget">EventTarget</a> relatedTargetArg, 
+                                  in DOMString modifiersListArg);
+  };
+  </pre>
+              </div>
+              <br />
+            </dd>
+            <dt>
+              <strong>Attributes</strong>
             </dt>
             <dd>
-              <p>
-                <!-- <a href="#glossary-dt-topmost-event-target">topmost event target</a> -->
-                <!-- || Are you asking for the spec to say something along the lines of, "The 
+              <dl>
+                <dt><code class="attribute-name"><a id="events-Events-MouseEvent-altKey">altKey</a></code> of type <code>boolean</code>, readonly</dt>
+                <dd>Refer to the <a href="#events-Events-KeyboardEvent-altKey"><code>KeyboardEvent.altKey</code></a> attribute.<br /></dd>
+                <dt><code class="attribute-name"><a id="events-Events-MouseEvent-button">button</a></code> of type <code>unsigned short</code>, readonly</dt>
+                <dd>During mouse events caused by the depression or release of a mouse button, <code>button</code> shall be used to indicate which mouse button changed state. <code>0</code> indicates the normal button of the mouse (in general on the left or the one button on Macintosh mice, used to activate a button or select text). <code>2</code> indicates the contextual property (in general on the right, used to display a context menu) button of the mouse if present. <code>1</code> indicates the extra (in general in the middle and often combined with the mouse wheel) button. Some mice may provide or simulate more buttons, and values higher than <code>2</code> can be used to represent such buttons.<br /></dd>
+                <dt><code class="attribute-name"><a id="events-Events-MouseEvent-clientX">clientX</a></code> of type <code>long</code>, readonly</dt>
+                <dd>The horizontal coordinate at which the event occurred relative to the viewport associated with the event.<br /></dd>
+                <dt><code class="attribute-name"><a id="events-Events-MouseEvent-clientY">clientY</a></code> of type <code>long</code>, readonly</dt>
+                <dd>The vertical coordinate at which the event occurred relative to the viewport associated with the event.<br /></dd>
+                <dt><code class="attribute-name"><a id="events-Events-MouseEvent-ctrlKey">ctrlKey</a></code> of type <code>boolean</code>, readonly</dt>
+                <dd>Refer to the <a href="#events-Events-KeyboardEvent-ctrlKey"><code>KeyboardEvent.ctrlKey</code></a> attribute.<br /></dd>
+                <dt><code class="attribute-name"><a id="events-Events-MouseEvent-metaKey">metaKey</a></code> of type <code>boolean</code>, readonly</dt>
+                <dd>Refer to the <a href="#events-Events-KeyboardEvent-metaKey"><code>KeyboardEvent.metaKey</code></a> attribute.<br /></dd>
+                <dt><code class="attribute-name"><a id="events-Events-MouseEvent-relatedTarget">relatedTarget</a></code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a>, readonly</dt>
+                <dd>Used to identify a secondary <a href="#events-Events-EventTarget"><code>EventTarget</code></a> related to a UI event, depending on the type of event.<br /></dd>
+                <dt><code class="attribute-name"><a id="events-Events-MouseEvent-screenX">screenX</a></code> of type <code>long</code>, readonly</dt>
+                <dd>The horizontal coordinate at which the event occurred relative to the origin of the screen coordinate system.<br /></dd>
+                <dt><code class="attribute-name"><a id="events-Events-MouseEvent-screenY">screenY</a></code> of type <code>long</code>, readonly</dt>
+                <dd>The vertical coordinate at which the event occurred relative to the origin of the screen coordinate system.<br /></dd>
+                <dt><code class="attribute-name"><a id="events-Events-MouseEvent-shiftKey">shiftKey</a></code> of type <code>boolean</code>, readonly</dt>
+                <dd>Refer to the <a href="#events-Events-KeyboardEvent-shiftKey"><code>KeyboardEvent.shiftKey</code></a> attribute.<br /></dd>
+              </dl>
+            </dd>
+            <dt>
+              <strong>Methods</strong>
+            </dt>
+            <dd>
+              <dl>
+                <dt><code class="method-name"><a id="events-Events-MouseEvent-getModifierState">getModifierState</a></code> introduced in <strong class="since">DOM Level 3</strong></dt>
+                <dd>
+                  <div class="method">Queries the state of a modifier using a key identifier. See also <a href="#keyset-Modifiers">Modifier keys</a>.
+  <div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">keyIdentifierArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-Events-KeyboardEvent-getModifierState"><code>KeyboardEvent.getModifierState()</code></a> method for a description of this parameter.<br /></dd></dl></div></div>
+                    <!-- parameters -->
+                    <div class="return"><strong>Return Value</strong><div class="returntable"><table summary="Layout table: the first cell contains the type of the return value, the second contains a short description" border="0"><tr class="assert must"><td><p><code>boolean</code></p></td><td><p><code>true</code> if it is a modifier key and the modifier is activated, <code>false</code> otherwise.</p></td></tr></table></div></div>
+                    <!-- return -->
+                    <div><strong>No Exceptions</strong></div>
+                  </div>
+<!-- method -->
+                </dd>
+                <dt>
+                  <code class="method-name">
+                    <a id="events-event-type-initMouseEvent">initMouseEvent</a>
+                  </code>
+                </dt>
+                <dd>
+                  <div class="method">Initializes attributes of a <code>MouseEvent</code> object. This method has the same behavior as <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a>.
+  <div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt><dd>Refer to the <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">screenXArg</code> of type <code>long</code></dt><dd>Specifies <a href="#events-Events-MouseEvent-screenX"><code>MouseEvent.screenX</code></a>.<br /></dd><dt><code class="parameter-name">screenYArg</code> of type <code>long</code></dt><dd>Specifies <a href="#events-Events-MouseEvent-screenY"><code>MouseEvent.screenY</code></a>.<br /></dd><dt><code class="parameter-name">clientXArg</code> of type <code>long</code></dt><dd>Specifies <a href="#events-Events-MouseEvent-clientX"><code>MouseEvent.clientX</code></a>.<br /></dd><dt><code class="parameter-name">clientYArg</code> of type <code>long</code></dt><dd>Specifies <a href="#events-Events-MouseEvent-clientY"><code>MouseEvent.clientY</code></a>.<br /></dd><dt><code class="parameter-name">ctrlKeyArg</code> of type <code>boolean</code></dt><dd>Specifies <a href="#events-Events-MouseEvent-ctrlKey"><code>MouseEvent.ctrlKey</code></a>.<br /></dd><dt><code class="parameter-name">altKeyArg</code> of type <code>boolean</code></dt><dd>Specifies <a href="#events-Events-MouseEvent-altKey"><code>MouseEvent.altKey</code></a>.<br /></dd><dt><code class="parameter-name">shiftKeyArg</code> of type <code>boolean</code></dt><dd>Specifies <a href="#events-Events-MouseEvent-shiftKey"><code>MouseEvent.shiftKey</code></a>.<br /></dd><dt><code class="parameter-name">metaKeyArg</code> of type <code>boolean</code></dt><dd>Specifies <a href="#events-Events-MouseEvent-metaKey"><code>MouseEvent.metaKey</code></a>.<br /></dd><dt><code class="parameter-name">buttonArg</code> of type <code>unsigned short</code></dt><dd>Specifies <a href="#events-Events-MouseEvent-button"><code>MouseEvent.button</code></a>.<br /></dd><dt><code class="parameter-name">relatedTargetArg</code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a></dt><dd>Specifies <a href="#events-Events-MouseEvent-relatedTarget"><code>MouseEvent.relatedTarget</code></a>. This value may be <code>null</code>.<br /></dd></dl></div></div>
+                    <!-- parameters -->
+                    <div><strong>No Return Value</strong></div>
+                    <div><strong>No Exceptions</strong></div>
+                  </div>
+<!-- method -->
+                </dd>
+                <dt><code class="method-name"><a id="events-event-type-initMouseEventNS">initMouseEventNS</a></code> introduced in <strong class="since">DOM Level 3</strong></dt>
+                <dd>
+                  <div class="method">Initializes attributes of a <code>MouseEvent</code> object. This method has the same behavior as <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a>.
+  <div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">namespaceURIArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">screenXArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEvent"><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">screenYArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEvent"><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">clientXArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEvent"><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">clientYArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEvent"><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">buttonArg</code> of type <code>unsigned short</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEvent"><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">relatedTargetArg</code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a></dt><dd>Refer to the <a href="#events-event-type-initMouseEvent"><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">modifiersListArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-Events-KeyboardEvent-initKeyboardEventNS"><code>KeyboardEvent.initKeyboardEventNS()</code></a> method for a description of this parameter.<br /></dd></dl></div></div>
+                    <!-- parameters -->
+                    <div><strong>No Return Value</strong></div>
+                    <div><strong>No Exceptions</strong></div>
+                  </div>
+<!-- method -->
+                </dd>
+              </dl>
+            </dd>
+          </dl>
+        </dd>
+      </dl>
+      <p>The Mouse event types are listed below. In the case of nested elements, mouse event types are always targeted at the most deeply nested element. Ancestors of the targeted element may use bubbling to obtain notification of mouse events which occur within its descendent elements.</p>
+      <p id="events-dt-current-click-count">Implementations must maintain the <em>current click count</em> when generating mouse events. This shall be a non-negative integer indicating the number of consecutive clicks of a pointing device button during a user action. The notion of consecutive clicks depends on the environment configuration. For example, a <code><a href="#event-type-dblclick">dblclick</a></code> event type might not happen if there is a long delay between the two clicks.
+      <span class="note"><strong>Note:</strong> The value of <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> for a number of clicks greater than 2 is platform-dependent.  For example, on the Windows OS, the click-count series seems to be <code>1, 2, 3, 2, 3</code>, while on MacOS, the click-count series seems to be <code>1, 2, 3, 4, 5, ...</code>.</span></p>
+<!-- click -->
+      <div class="event-definition assert must">
+        <dl>
+          <dt id="event-type-click">
+            <a class="noxref" href="#event-type-click">click</a>
+          </dt>
+          <dd><p><!-- <a href="#glossary-topmost-event-target">topmost event target</a> --><!-- || Are you asking for the spec to say something along the lines of, "The 
                 || 'click' event is fired when the user presses a button on the pointer 
                 || device, or otherwise activates the pointer in a manner that simulates 
                 || such an action." Or something more abstract (or more concrete)?
@@ -2891,745 +2213,499 @@
                 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 bgcolor="#CFCFCF"><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 href="#events-event-mousedown">mousedown</a>, <a href="#events-event-mouseup">mouseup</a>, and <a href="#events-event-click">click</a>. The sequence of these events is: <a href="#events-event-mousedown">mousedown</a>, <a href="#events-event-mouseup">mouseup</a>, and <a href="#events-event-click">click</a>. It depends on the environment configuration whether the event type <a href="#events-event-click">click</a> can occur if one or more of the event types <a href="#events-event-mouseover">mouseover</a>, <a href="#events-event-mousemove">mousemove</a>, and <a href="#events-event-mouseout">mouseout</a> occur between the press and release of the pointing device button. In addition, the event type is dispatched as described in <a href="#events-Events-flow-activation">Activation requests and behavior</a>. -->
-                The <a href="#events-event-click"><code>click</code></a> event must be dispatched on the <a href="#glossary-dt-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="#events-event-click"><code>click</code></a> event may be preceded by the <a href="#events-event-mousedown"><code>mousedown</code></a> and <a href="#events-event-mouseup"><code>mouseup</code></a> events on the same element.  Depending upon the environment configuration, the <a href="#events-event-click"><code>click</code></a> event may be dispatched if one or more of the event types <a href="#events-event-mouseover"><code>mouseover</code></a>, <a href="#events-event-mousemove"><code>mousemove</code></a>, and <a href="#events-event-mouseout"><code>mouseout</code></a> occur between the press and release of the pointing device button.  The <a href="#events-event-click"><code>click</code></a> event may also be followed by the <a href="#events-event-dblclick"><code>dblclick</code></a> event.  The <a href="#events-event-click"><code>click</code></a> event type must be dispatched as described in <a href="#events-Events-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 bgcolor="#CFCFCF"><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 href="#event-type-mousedown">mousedown</a>, <a href="#event-type-mouseup">mouseup</a>, and <a href="#event-type-click">click</a>. The sequence of these events is: <a href="#event-type-mousedown">mousedown</a>, <a href="#event-type-mouseup">mouseup</a>, and <a href="#event-type-click">click</a>. It depends on the environment configuration whether the event type <a href="#event-type-click">click</a> can occur if one or more of the event types <a href="#event-type-mouseover">mouseover</a>, <a href="#event-type-mousemove">mousemove</a>, and <a href="#event-type-mouseout">mouseout</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="events-event-dblclick">
-              <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-    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 href="#events-event-mousedown">mousedown</a>, <a href="#events-event-mouseup">mouseup</a>, and <a href="#events-event-dblclick">dblclick</a>. This event type must be dispatched after the event type <a href="#events-event-click">click</a> if a click and double click occur simultaneously, and after the event type <a href="#events-event-mouseup">mouseup</a> otherwise.
-              <p class="note"><strong>Note:</strong> Canceling the <a href="#events-event-click">click</a> event must not not affect the firing of a <a href="#events-event-dblclick">dblclick</a> event.</p>
-            </dd>
-          </dl>
-        </div>
-        
-        <!-- mousedown -->
-        <div class="event-definition assert must">
+        </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 bgcolor="#CFCFCF"><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>
+    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 href="#event-type-mousedown">mousedown</a>, <a href="#event-type-mouseup">mouseup</a>, and <a href="#event-type-dblclick">dblclick</a>. This event type must be dispatched after the event type <a href="#event-type-click">click</a> if a click and double click occur simultaneously, and after the event type <a href="#event-type-mouseup">mouseup</a> otherwise.
+              <p class="note"><strong>Note:</strong> Canceling the <a href="#event-type-click">click</a> event must not not affect the firing of a <a href="#event-type-dblclick">dblclick</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 bgcolor="#CFCFCF"><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>
+    A pointing device button must be pressed over an element.</dd>
+        </dl>
+      </div>
+<!-- mouseenter -->
+      <div class="event-definition assert must">
+        <dl>
+          <dt id="event-type-mouseover">
+            <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 bgcolor="#CFCFCF"><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>
+              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 bgcolor="#CFCFCF"><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>
+
+              A pointing device is moved away from 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 bgcolor="#CFCFCF"><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>
+
+            A pointing device is moved while it is over an element.</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 bgcolor="#CFCFCF"><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>
+
+            A pointing device button is released over an element.</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 bgcolor="#CFCFCF"><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>
+              A pointing device is moved away from 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>
+    </div>
+<!-- div2 Events-eventgroupings -->
+<!-- div3 Events-eventgroupings-wheelevents -->
+    <div class="div3">
+      <h3 id="events-mousewheelevents" class="div3">5.2.4 Mouse Wheel Event Types</h3>
+      <p>This module defines the feature MouseWheelEvents 3.0 and depends on the feature MouseEvents 3.0.</p>
+      <p>Mouse wheel events are included for specification of legacy support, but are deprecated.  Authors are encouraged to use <a href="#events-wheelevents">Wheel event types</a> instead.</p>
+<!--
+        <p>Mouse wheel events are a subset of mouse multi wheel events. See <a href='#events-wheelevents'>Wheel event types</a> for additional information.</p>
+        -->
+      <dl>
+        <dt><strong>Interface <em><a id="events-Events-MouseWheelEvent">MouseWheelEvent</a></em></strong> (introduced in <strong class="since">DOM Level 3</strong>)</dt>
+        <dd>
+          <p>The <code>MouseWheelEvent</code> interface provides specific contextual information associated with mouse wheel events.</p>
+          <p>To create an instance of the <code>MouseWheelEvent</code> interface, use the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("MouseWheelEvent")</code></a> method call.</p>
           <dl>
-            <dt id="events-event-mousedown">
-              <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-    A pointing device button must be pressed over an element.</dd>
-          </dl>
-        </div>
-
-        
-        
-        <!-- mouseenter -->
-        <div class="event-definition assert must">
-          <dl>
-            <dt id="events-event-mouseover">
-              <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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-dt-event-target">event target</a> a pointing device is exiting, if any.</td>
-                </tr>
-              </table>
-              A pointing device is moved onto an element.  This event type is similar to <a class="noxref" href="#events-event-mouseover">mouseover</a>, but for <a class="noxref" href="#events-event-mouseenter">mouseenter</a>, the <a href="#glossary-dt-propagation-path">propagation path</a> must end at the <a href="#glossary-dt-event-target">event target</a> element, and must not include the target element's child nodes as <a href="#glossary-dt-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="#events-event-mouseleave">mouseleave</a> event type in its <a href="#glossary-dt-propagation-path">propagation path</a> behavior.</p>
-            </dd>
-          </dl>
-        </div>
-
-
-        <!-- mouseleave -->
-        <div class="event-definition assert must">
-          <dl>
-            <dt id="events-event-mouseout">
-              <a class="noxref" href="#events-event-mouseleave">mouseleave</a>
+            <dt>
+              <br />
+              <strong>IDL Definition</strong>
             </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 bgcolor="#CFCFCF"><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-dt-event-target">event target</a> a pointing device is entering, if any.</td>
-                </tr>
-              </table>
-              A pointing device is moved away from an element.  This event type is similar to <a class="noxref" href="#events-event-mouseout">mouseout</a>, but for <a class="noxref" href="#events-event-mouseleave">mouseleave</a>, the <a href="#glossary-dt-propagation-path">propagation path</a> must end at the <a href="#glossary-dt-event-target">event target</a> element, and must not include the target element's child nodes as <a href="#glossary-dt-event-target">event targets</a>. 
-              <p class="note"><strong>Note:</strong> This matches the <a class="noxref" href="#events-event-mouseenter">mouseenter</a> event type in its <a href="#glossary-dt-propagation-path">propagation path</a> behavior.</p>
+              <div class="idl-code">
+                <pre>
+        // Introduced in DOM Level 3:
+        interface <a class="noxref" href="#events-Events-MouseWheelEvent">MouseWheelEvent</a> : <a class="noxref" href="#events-Events-MouseEvent">MouseEvent</a> {
+        readonly attribute long            <a class="noxref" href="#events-Events-MouseWheelEvent-wheelDelta">wheelDelta</a>;
+        void               <a class="noxref" href="#events-event-type-initMouseWheelEvent">initMouseWheelEvent</a>(in DOMString typeArg, 
+                                             in boolean canBubbleArg, 
+                                             in boolean cancelableArg, 
+                                             in views::AbstractView viewArg, 
+                                             in long detailArg, 
+                                             in long screenXArg, 
+                                             in long screenYArg, 
+                                             in long clientXArg, 
+                                             in long clientYArg, 
+                                             in unsigned short buttonArg, 
+                                             in <a class="noxref" href="#events-Events-EventTarget">EventTarget</a> relatedTargetArg, 
+                                             in DOMString modifiersListArg, 
+                                             in long wheelDeltaArg);
+        void               <a class="noxref" href="#events-event-type-initMouseWheelEventNS">initMouseWheelEventNS</a>(in DOMString namespaceURIArg, 
+                                             in DOMString typeArg, 
+                                             in boolean canBubbleArg, 
+                                             in boolean cancelableArg, 
+                                             in views::AbstractView viewArg, 
+                                             in long detailArg, 
+                                             in long screenXArg, 
+                                             in long screenYArg, 
+                                             in long clientXArg, 
+                                             in long clientYArg, 
+                                             in unsigned short buttonArg, 
+                                             in <a class="noxref" href="#events-Events-EventTarget">EventTarget</a> relatedTargetArg, 
+                                             in DOMString modifiersListArg, 
+                                             in long wheelDeltaArg);
+        };
+        </pre>
+              </div>
+              <br />
             </dd>
-          </dl>
-        </div>
-      </div>
-
-        
-        <!-- mousemove -->
-        <div class="event-definition assert must">
-          <dl>
-            <dt id="events-event-mousemove">
-              <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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>
-    A pointing device is moved while it is over an element.</dd>
-          </dl>
-        </div>
-
-
-        <!-- mouseout -->
-        <div class="event-definition assert must">
-          <dl>
-            <dt id="events-event-mouseout">
-              <a class="noxref" href="#events-event-mouseout">mouseout</a>
+            <dt>
+              <strong>Attributes</strong>
             </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 bgcolor="#CFCFCF"><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-dt-event-target">event target</a> a pointing device is entering, if any.</td>
-                </tr>
-              </table>
-                A pointing device is moved away from an element.
-                This event type is similar to <a class="noxref" href="#events-event-mouseleave">mouseleave</a>, but for <a class="noxref" href="#events-event-mouseout">mouseout</a>, the <a href="#glossary-dt-propagation-path">propagation path</a> must include the target element's child nodes as <a href="#glossary-dt-event-target">event targets</a>.  The <a class="noxref" href="#events-event-mouseout">mouseout</a> event type matches the <a class="noxref" href="#events-event-mouseover">mouseover</a> event type in its <a href="#glossary-dt-propagation-path">propagation path</a> behavior.</dd>
-    
+              <dl>
+                <dt><code class="attribute-name"><a id="events-Events-MouseWheelEvent-wheelDelta">wheelDelta</a></code> of type <code>long</code>, readonly</dt>
+                <dd>The distance the wheel has rotated around the y-axis.  Because this is a legacy event type, the units or number of these units in <code>wheelDelta</code> are implementation-specific.<br /></dd>
+              </dl>
             </dd>
-          </dl>
-        </div>
-      </div>
-        
-
-        <!-- mouseover -->
-        <div class="event-definition assert must">
-          <dl>
-            <dt id="events-event-mouseover">
-              <a class="noxref" href="#events-event-mouseover">mouseover</a>
+            <dt>
+              <strong>Methods</strong>
             </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 bgcolor="#CFCFCF"><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-dt-event-target">event target</a> a pointing device is exiting, if any.</td>
-                </tr>
-              </table>
-    A pointing device is moved onto an element.  This event type is similar to <a class="noxref" href="#events-event-mouseenter">mouseenter</a>, but for <a class="noxref" href="#events-event-mouseover">mouseover</a>, the <a href="#glossary-dt-propagation-path">propagation path</a> must include the target element's child nodes as <a href="#glossary-dt-event-target">event targets</a>.  The <a class="noxref" href="#events-event-mouseover">mouseover</a> event type matches the <a class="noxref" href="#events-event-mouseout">mouseout</a> event type in its <a href="#glossary-dt-propagation-path">propagation path</a> behavior.</dd>
+              <dl>
+                <dt><code class="method-name"><a id="events-event-type-initMouseWheelEvent">initMouseWheelEvent</a></code> introduced in <strong class="since">DOM Level 3</strong></dt>
+                <dd>
+                  <div class="method">Initializes attributes of a <code>MouseWheelEvent</code> object. This method has the same behavior as <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a>.
+                          <div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">screenXArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">screenYArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">clientXArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">clientYArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">buttonArg</code> of type <code>unsigned short</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">relatedTargetArg</code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">modifiersListArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">wheelDeltaArg</code> of type <code>long</code></dt><dd>Specifies <a href="#events-Events-MouseWheelEvent-wheelDelta"><code>MouseWheelEvent.wheelDelta</code></a>.<br /></dd></dl></div></div>
+                          <!-- parameters -->
+                          <div><strong>No Return Value</strong></div>
+                          <div><strong>No Exceptions</strong></div>
+                        </div>
+<!-- method -->
+                </dd>
+                <dt><code class="method-name"><a id="events-event-type-initMouseWheelEventNS">initMouseWheelEventNS</a></code> introduced in <strong class="since">DOM Level 3</strong></dt>
+                <dd>
+                  <div class="method">Initializes attributes of a <code>MouseWheelEvent</code> object. This method has the same behavior as <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a>.
+                          <div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">namespaceURIArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">screenXArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">screenYArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">clientXArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">clientYArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">buttonArg</code> of type <code>unsigned short</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">relatedTargetArg</code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">modifiersListArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">wheelDeltaArg</code> of type <code>long</code></dt><dd>Specifies <a href="#events-Events-MouseWheelEvent-wheelDelta"><code>MouseWheelEvent.wheelDelta</code></a>.<br /></dd></dl></div></div>
+                          <!-- parameters -->
+                          <div><strong>No Return Value</strong></div>
+                          <div><strong>No Exceptions</strong></div>
+                        </div>
+<!-- method -->
+                </dd>
+              </dl>
+            </dd>
           </dl>
-        </div>
-
-        
-        
-        <!-- mouseup -->
-        <div class="event-definition assert must">
+        </dd>
+      </dl>
+      <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 bgcolor="#CFCFCF"><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 mouse wheel has been rotated around the y-axis.</dd>
+        </dl>
+      </div>
+    </div>
+<!-- div3 Events-eventgroupings-mousewheelevents -->
+<!-- div3 Events-eventgroupings-mouseevents -->
+    <div class="div3">
+      <h3 id="events-wheelevents" class="div3">5.2.5 Wheel Event Types</h3>
+      <p>This module defines the feature WheelEvents 3.0 and depends on the feature MouseEvents 3.0.</p>
+      <p>Wheels are devices that can be rotated in one or more spatial dimensions, and which may or may not be associated with a pointer device. The coordinate system depends on the environment configuration. As an example, the environment may be configured to associate vertical scrolling with rotation along the y-axis, horizontal scrolling with rotation along the x-axis, and zooming with rotation along the z-axis.  The deltax, deltaY, and deltaX attributes of <a href="#events-Events-WheelEvent"><code>WheelEvent</code></a> objects indicate the distance of the rotation, as specified in the <a class="def-term" href="events-Events-WheelEvent-delta">delta</a> definition. <!--The delta attributes of <a href='#events-Events-WheelEvent'><code>WheelEvent</code></a> objects indicate the distance of the rotation. The measurement unit depends on the environment configuration. The sign of the delta value should indicate the direction of the rotation.--></p>
+      <dl>
+        <dt>
+          <code class="def-term" id="events-Events-WheelEvent-delta">delta</code>
+        </dt>
+        <dd>
+          <p>The distance the wheel has rotated around the its axis.</p>
+          <p>The value of a <a class="def-term" href="events-Events-WheelEvent-delta">delta</a> shall be a integer indicating a distance, measured as the number of <a class="def-term" href="events-Events-WheelEvent-roll">rolls</a> the wheel has been <a class="def-term" href="events-Events-WheelEvent-rotation">rotated</a>. A positive value shall indicate that the wheel has been <a class="def-term" href="events-Events-WheelEvent-rotation">rotated</a> away from the user on vertically-aligned devices or in a left-hand manner on horizontally aligned devices, and a negative value shall indicate that the wheel has been <a class="def-term" href="events-Events-WheelEvent-rotation">rotated</a> towards the user on vertically-aligned devices or in a right-hand manner on horizontally-aligned devices.  The default value of a delta attribute shall be 0.</p>
+        </dd>
+        <dt>
+          <code class="def-term" id="events-Events-WheelEvent-roll">roll</code>
+        </dt>
+        <dd>A unit of <a class="def-term" href="events-Events-WheelEvent-rotation">rotation</a> for a device using the <a href="events-wheelevents">WheelEvent</a> interface. On some devices this may be a finite physical step. On devices with smooth <a class="def-term" href="events-Events-WheelEvent-rotation">rotation</a>, a <a class="def-term" href="events-Events-WheelEvent-roll">roll</a> becomes the smallest reported amount of <a class="def-term" href="events-Events-WheelEvent-rotation">rotation</a>.</dd>
+        <dt>
+          <code class="def-term" id="events-Events-WheelEvent-rotation">rotation</code>
+        </dt>
+        <dd>An indication of incremental change. On some devices this may be a literal rotation of a wheel, while on others, it may be 
+        movement along a flat surface, or pressure on a particular button.</dd>
+      </dl>
+      <dl>
+        <dt><strong>Interface <em><a id="events-Events-WheelEvent">WheelEvent</a></em></strong> (introduced in <strong class="since">DOM Level 3</strong>)</dt>
+        <dd>
+          <p>The <code>WheelEvent</code> interface provides specific contextual information associated with omnidirectional mouse wheel events.</p>
+          <p>To create an instance of the <code>WheelEvent</code> interface, use the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("WheelEvent")</code></a> method call.</p>
           <dl>
-            <dt id="events-event-mouseup">
-              <a class="noxref" href="#events-event-mouseup">mouseup</a>
+            <dt>
+              <br />
+              <strong>IDL Definition</strong>
             </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 bgcolor="#CFCFCF"><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>A pointing device button is released over an element.</dd>
+              <div class="idl-code">
+                <pre>
+        // Introduced in DOM Level 3:
+        interface <a class="noxref" href="#events-Events-WheelEvent">WheelEvent</a> : <a class="noxref" href="#events-Events-MouseEvent">MouseEvent</a> {
+
+        // DeltaModeCode
+        const unsigned long       <a class="noxref" href="#events-DOM_DELTA_PIXEL">DOM_DELTA_PIXEL</a>       = 0x00;
+        const unsigned long       <a class="noxref" href="#events-DOM_DELTA_LINE">DOM_DELTA_LINE</a>        = 0x01;
+        const unsigned long       <a class="noxref" href="#events-DOM_DELTA_PAGE">DOM_DELTA_PAGE</a>        = 0x02;
+
+        readonly attribute long            <a class="noxref" href="#events-Events-WheelEvent-deltaX">deltaX</a>;
+        readonly attribute long            <a class="noxref" href="#events-Events-WheelEvent-deltaY">deltaY</a>;
+        readonly attribute long            <a class="noxref" href="#events-Events-WheelEvent-deltaZ">deltaZ</a>;
+        readonly attribute unsigned long   <a class="noxref" href="#events-Events-WheelEvent-deltaMode">deltaMode</a>;    
+        void               <a class="noxref" href="#events-event-type-initWheelEvent">initWheelEvent</a>(in DOMString typeArg, 
+                                                  in boolean canBubbleArg, 
+                                                  in boolean cancelableArg, 
+                                                  in views::AbstractView viewArg, 
+                                                  in long detailArg, 
+                                                  in long screenXArg, 
+                                                  in long screenYArg, 
+                                                  in long clientXArg, 
+                                                  in long clientYArg, 
+                                                  in unsigned short buttonArg, 
+                                                  in <a class="noxref" href="#events-Events-EventTarget">EventTarget</a> relatedTargetArg, 
+                                                  in DOMString modifiersListArg, 
+                                                  in long deltaXArg, 
+                                                  in long deltaYArg, 
+                                                  in long deltaZArg, 
+                                                  in unsigned long deltaMode);
+        void               <a class="noxref" href="#events-event-type-initWheelEventNS">initWheelEventNS</a>(in DOMString namespaceURIArg, 
+                                                  in DOMString typeArg, 
+                                                  in boolean canBubbleArg, 
+                                                  in boolean cancelableArg, 
+                                                  in views::AbstractView viewArg, 
+                                                  in long detailArg, 
+                                                  in long screenXArg, 
+                                                  in long screenYArg, 
+                                                  in long clientXArg, 
+                                                  in long clientYArg, 
+                                                  in unsigned short buttonArg, 
+                                                  in <a class="noxref" href="#events-Events-EventTarget">EventTarget</a> relatedTargetArg, 
+                                                  in DOMString modifiersListArg, 
+                                                  in long deltaXArg, 
+                                                  in long deltaYArg, 
+                                                  in long deltaZArg, 
+                                                  in unsigned long deltaMode);
+        };
+        </pre>
+              </div>
+              <br />
+            </dd>
+            <dt>
+              <strong>Definition group <em><a id="events-ID-WheelEvent-DeltaModeCode">DeltaModeCode</a></em></strong>
+            </dt>
+            <dd>
+              <p>This set of constants shall be used to indicate the units of measurement for the <a href="#events-Events-WheelEvent-delta"><code>delta</code></a> values.  The precise measurement is specific to device, operating system, and application configurations.</p>
+              <dl>
+                <dt>
+                  <strong>Defined Constants</strong>
+                </dt>
+                <dd>
+                  <dl>
+                    <dt>
+                      <a id="events-DOM_DELTA_PIXEL">
+                        <code class="constant-name">DOM_DELTA_PIXEL</code>
+                      </a>
+                    </dt>
+                    <dd>The units of measurement for the <a href="#events-Events-WheelEvent-delta"><code>delta</code></a> shall be pixels.  This is the most typical case in most operating system and implementation configurations.</dd>
+                    <dt>
+                      <a id="events-DOM_DELTA_LINE">
+                        <code class="constant-name">DOM_DELTA_LINE</code>
+                      </a>
+                    </dt>
+                    <dd>The units of measurement for the <a href="#events-Events-WheelEvent-delta"><code>delta</code></a> shall be individual lines of text.  This is the case for many form controls.</dd>
+                    <dt>
+                      <a id="events-DOM_DELTA_PAGE">
+                        <code class="constant-name">DOM_DELTA_PAGE</code>
+                      </a>
+                    </dt>
+                    <dd>The units of measurement for the <a href="#events-Events-WheelEvent-delta"><code>delta</code></a> shall be pages, either defined as a single screen or as a demarcated page.</dd>
+                  </dl>
+                </dd>
+              </dl>
+            </dd>
+            <dt>
+              <strong>Attributes</strong>
+            </dt>
+            <dd>
+              <dl>
+                <dt><code class="attribute-name"><a id="events-Events-WheelEvent-deltaX">deltaX</a></code> of type <code>long</code>, readonly</dt>
+                <dd>The distance the wheel has rotated around the x-axis.<br /></dd>
+                <dt><code class="attribute-name"><a id="events-Events-WheelEvent-deltaY">deltaY</a></code> of type <code>long</code>, readonly</dt>
+                <dd>The distance the wheel has rotated around the y-axis.<br /></dd>
+                <dt><code class="attribute-name"><a id="events-Events-WheelEvent-deltaZ">deltaZ</a></code> of type <code>long</code>, readonly</dt>
+                <dd>The distance the wheel has rotated around the z-axis.<br /></dd>
+                <dt><code class="attribute-name"><a id="events-Events-WheelEvent-deltaMode">deltaMode</a></code> of type <code>unsigned long</code>, readonly</dt>
+                <dd>The <code>deltaMode</code> attribute contains an indication of to indicate the units of measurement for the <a href="#events-Events-WheelEvent-delta"><code>delta</code></a> values.  The default value is <a href="#events-DOM_DELTA_PIXEL"><code class="constant-name">DOM_DELTA_PIXEL</code></a> (pixels).  The value of <code>deltaMode</code> may be different for each of <code class="attribute-name"><a href="#events-Events-WheelEvent-deltaX">deltaX</a></code>, <code class="attribute-name"><a href="#events-Events-WheelEvent-deltaY">deltaY</a></code>, and <code class="attribute-name"><a href="#events-Events-WheelEvent-deltaZ">deltaZ</a></code>, based on system configuration.<br />
+
+                        <p class="issue">@@ deltaMode is the proposed solution for <a href="http://www.w3.org/2008/webapps/track/issues/9" title="ISSUE-9 - Web Applications Working Group Tracker">ISSUE-9</a>.</p>
+
+                      </dd>
+              </dl>
+            </dd>
+            <dt>
+              <strong>Methods</strong>
+            </dt>
+            <dd>
+              <dl>
+                <dt><code class="method-name"><a id="events-event-type-initWheelEvent">initWheelEvent</a></code> introduced in <strong class="since">DOM Level 3</strong></dt>
+                <dd>
+                  <div class="method">Initializes attributes of a <code>WheelEvent</code> object. This method has the same behavior as <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a>.
+                          <div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">screenXArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">screenYArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">clientXArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">clientYArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">buttonArg</code> of type <code>unsigned short</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">relatedTargetArg</code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">modifiersListArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">deltaXArg</code> of type <code>long</code></dt><dd>Specifies <a href="#events-Events-WheelEvent-deltaX"><code>WheelEvent.deltaX</code></a>.<br /></dd><dt><code class="parameter-name">deltaYArg</code> of type <code>long</code></dt><dd>Specifies <a href="#events-Events-WheelEvent-deltaY"><code>WheelEvent.deltaY</code></a>.<br /></dd><dt><code class="parameter-name">deltaZArg</code> of type <code>long</code></dt><dd>Specifies <a href="#events-Events-WheelEvent-deltaZ"><code>WheelEvent.deltaZ</code></a>.<br /></dd><dt><code class="parameter-name">deltaModeArg</code> of type <code>unsigned long</code></dt><dd>Specifies <a href="#events-Events-WheelEvent-deltaMode"><code>WheelEvent.deltaMode</code></a>.<br /></dd></dl></div></div>
+                          <!-- parameters -->
+                          <div><strong>No Return Value</strong></div>
+                          <div><strong>No Exceptions</strong></div>
+                        </div>
+<!-- method -->
+                </dd>
+                <dt><code class="method-name"><a id="events-event-type-initWheelEventNS">initWheelEventNS</a></code> introduced in <strong class="since">DOM Level 3</strong></dt>
+                <dd>
+                  <div class="method">Initializes attributes of a <code>WheelEvent</code> object. This method has the same behavior as <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a>.
+                          <div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">namespaceURIArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">screenXArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">screenYArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">clientXArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">clientYArg</code> of type <code>long</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">buttonArg</code> of type <code>unsigned short</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">relatedTargetArg</code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">modifiersListArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">deltaXArg</code> of type <code>long</code></dt><dd>Specifies <a href="#events-Events-WheelEvent-deltaX"><code>WheelEvent.deltaX</code></a>.<br /></dd><dt><code class="parameter-name">deltaYArg</code> of type <code>long</code></dt><dd>Specifies <a href="#events-Events-WheelEvent-deltaY"><code>WheelEvent.deltaY</code></a>.<br /></dd><dt><code class="parameter-name">deltaZArg</code> of type <code>long</code></dt><dd>Specifies <a href="#events-Events-WheelEvent-deltaZ"><code>WheelEvent.deltaZ</code></a>.<br /></dd><dt><code class="parameter-name">deltaModeArg</code> of type <code>unsigned long</code></dt><dd>Specifies <a href="#events-Events-WheelEvent-deltaMode"><code>WheelEvent.deltaMode</code></a>.<br /></dd></dl></div></div>
+                          <!-- parameters -->
+                          <div><strong>No Return Value</strong></div>
+                          <div><strong>No Exceptions</strong></div>
+                        </div>
+<!-- method -->
+                </dd>
+              </dl>
+            </dd>
           </dl>
-        </div>
-
-      <!-- div3 Events-eventgroupings-wheelevents -->
+        </dd>
+      </dl>
+      <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 bgcolor="#CFCFCF"><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 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>
+        </dl>
+      </div>
+<!-- div3 Events-eventgroupings-uievents -->
       <div class="div3">
-        <h3 id="events-Events-eventgroupings-mousewheelevents" class="div3">5.2.4 Mouse Wheel Event Types</h3>
-        <p>This module defines the feature MouseWheelEvents 3.0 and depends on the feature MouseEvents 3.0.</p>
-        <p>Mouse wheel events are included for specification of legacy support, but are deprecated.  Authors are encouraged to use <a href="#events-Events-eventgroupings-wheelevents">Wheel event types</a> instead.</p>
-        <!--
-    <p>Mouse wheel events are a subset of mouse multi wheel events. See <a href='#events-Events-eventgroupings-wheelevents'>Wheel event types</a> for additional information.</p>
-    -->
+        <h3 class="div3" id="events-textevents">5.2.6 Text Events Types</h3>
+        <p>This module defines the feature TextEvents 3.0 and depends on the feature UIEvents 3.0.</p>
+        <p>The text event module originates from the [<cite><a class="noxref informative" href="#references-HTML40">HTML 4.01</a></cite>] <code>onkeypress</code> attribute. Unlike this attribute, the event type <a href="#event-type-textInput">textInput</a> applies only to characters and is designed for use with any text input devices, not just keyboards. Refer to <a href="#keyset">Keyboard events and key identifiers</a> for examples on how text events are used in combination with keyboard events.</p>
         <dl>
-          <dt><strong>Interface <em>
-                <a id="events-Events-MouseWheelEvent">MouseWheelEvent</a>
-              </em></strong> (introduced in <strong class="since">DOM Level 3</strong>)</dt>
+          <dt><strong>Interface <em><a id="events-Events-TextEvent">TextEvent</a></em></strong> (introduced in <strong class="since">DOM Level 3</strong>)</dt>
           <dd>
-            <p>The <code>MouseWheelEvent</code> interface provides specific contextual information associated with mouse wheel events.</p>
-            <p>To create an instance of the <code>MouseWheelEvent</code> interface, use the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("MouseWheelEvent")</code></a> method call.</p>
+            <p>The <code>TextEvent</code> interface provides specific contextual information associated with Text Events.</p>
+            <p>To create an instance of the <code>TextEvent</code> interface, use the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("TextEvent")</code></a> method call.</p>
             <dl>
               <dt>
-                <br/>
+                <br />
                 <strong>IDL Definition</strong>
               </dt>
               <dd>
                 <div class="idl-code">
                   <pre>
-    // Introduced in DOM Level 3:
-    interface <a class="noxref" href="#events-Events-MouseWheelEvent">MouseWheelEvent</a> : <a class="noxref" href="#events-Events-MouseEvent">MouseEvent</a> {
-    readonly attribute long            <a class="noxref" href="#events-Events-MouseWheelEvent-wheelDelta">wheelDelta</a>;
-    void               <a class="noxref" href="#events-Events-Event-initMouseWheelEvent">initMouseWheelEvent</a>(in DOMString typeArg, 
-                                         in boolean canBubbleArg, 
-                                         in boolean cancelableArg, 
-                                         in views::AbstractView viewArg, 
-                                         in long detailArg, 
-                                         in long screenXArg, 
-                                         in long screenYArg, 
-                                         in long clientXArg, 
-                                         in long clientYArg, 
-                                         in unsigned short buttonArg, 
-                                         in <a class="noxref" href="#events-Events-EventTarget">EventTarget</a> relatedTargetArg, 
-                                         in DOMString modifiersListArg, 
-                                         in long wheelDeltaArg);
-    void               <a class="noxref" href="#events-Events-Event-initMouseWheelEventNS">initMouseWheelEventNS</a>(in DOMString namespaceURIArg, 
-                                         in DOMString typeArg, 
-                                         in boolean canBubbleArg, 
-                                         in boolean cancelableArg, 
-                                         in views::AbstractView viewArg, 
-                                         in long detailArg, 
-                                         in long screenXArg, 
-                                         in long screenYArg, 
-                                         in long clientXArg, 
-                                         in long clientYArg, 
-                                         in unsigned short buttonArg, 
-                                         in <a class="noxref" href="#events-Events-EventTarget">EventTarget</a> relatedTargetArg, 
-                                         in DOMString modifiersListArg, 
-                                         in long wheelDeltaArg);
-    };
-    </pre>
+// Introduced in DOM Level 3:
+interface <a class="noxref" href="#events-Events-TextEvent">TextEvent</a> : <a class="noxref" href="#events-Events-UIEvent">UIEvent</a> {
+
+// InputModeCode
+const unsigned long       <a class="noxref" href="#events-DOM_INPUT_METHOD_UNKNOWN">DOM_INPUT_METHOD_UNKNOWN</a>       = 0x00;
+const unsigned long       <a class="noxref" href="#events-DOM_INPUT_METHOD_KEYBOARD">DOM_INPUT_METHOD_KEYBOARD</a>      = 0x01;
+const unsigned long       <a class="noxref" href="#events-DOM_INPUT_METHOD_PASTE">DOM_INPUT_METHOD_PASTE</a>         = 0x02;
+const unsigned long       <a class="noxref" href="#events-DOM_INPUT_METHOD_DROP">DOM_INPUT_METHOD_DROP</a>          = 0x03;
+const unsigned long       <a class="noxref" href="#events-DOM_INPUT_METHOD_IME">DOM_INPUT_METHOD_IME</a>           = 0x04;
+const unsigned long       <a class="noxref" href="#events-DOM_INPUT_METHOD_OPTION">DOM_INPUT_METHOD_OPTION</a>        = 0x05;
+const unsigned long       <a class="noxref" href="#events-DOM_INPUT_METHOD_HANDWRITING">DOM_INPUT_METHOD_HANDWRITING</a>   = 0x06;
+const unsigned long       <a class="noxref" href="#events-DOM_INPUT_METHOD_VOICE">DOM_INPUT_METHOD_VOICE</a>         = 0x07;
+const unsigned long       <a class="noxref" href="#events-DOM_INPUT_METHOD_MULTIMODAL">DOM_INPUT_METHOD_MULTIMODAL</a>    = 0x08;
+const unsigned long       <a class="noxref" href="#events-DOM_INPUT_METHOD_SCRIPT">DOM_INPUT_METHOD_SCRIPT</a>        = 0x09;
+
+readonly attribute DOMString       <a class="noxref" href="#events-Events-TextEvent-data">data</a>;
+readonly attribute unsigned long   <a class="noxref" href="#events-Events-TextEvent-inputMode">inputMode</a>;
+void               <a class="noxref" href="#events-event-type-initTextEvent">initTextEvent</a>(in DOMString typeArg, 
+                                 in boolean canBubbleArg, 
+                                 in boolean cancelableArg, 
+                                 in views::AbstractView viewArg, 
+                                 in DOMString dataArg, 
+                                 in unsigned long inputMode);
+void               <a class="noxref" href="#events-event-type-initTextEventNS">initTextEventNS</a>(in DOMString namespaceURIArg, 
+                                   in DOMString typeArg, 
+                                   in boolean canBubbleArg, 
+                                   in boolean cancelableArg, 
+                                   in views::AbstractView viewArg, 
+                                   in DOMString dataArg, 
+                                   in unsigned long inputMode);
+};
+</pre>
                 </div>
-                <br/>
+                <br />
               </dd>
               <dt>
-                <strong>Attributes</strong>
-              </dt>
-              <dd>
-                <dl>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-MouseWheelEvent-wheelDelta">wheelDelta</a>
-                    </code> of type <code>long</code>, readonly</dt>
-                  <dd>The distance the wheel has rotated around the y-axis.  Because this is a legacy event type, the units or number of these units in <code>wheelDelta</code> are implementation-specific.<br/></dd>
-                </dl>
-              </dd>
-              <dt>
-                <strong>Methods</strong>
+                <strong>Definition group <em><a id="events-ID-TextEvent-InputModeCode">InputModeCode</a></em></strong>
               </dt>
               <dd>
-                <dl>
-                  <dt><code class="method-name">
-                      <a id="events-Events-Event-initMouseWheelEvent">initMouseWheelEvent</a>
-                    </code> introduced in <strong class="since">DOM Level 3</strong>
-                  </dt>
-                  <dd>
-                    <div class="method">Initializes attributes of a <code>MouseWheelEvent</code> object. This method has the same behavior as <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a>.
-                      <div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">screenXArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">screenYArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">clientXArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">clientYArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">buttonArg</code> of type <code>unsigned short</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">relatedTargetArg</code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">modifiersListArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">wheelDeltaArg</code> of type <code>long</code></dt>
-                            <dd>Specifies <a href="#events-Events-MouseWheelEvent-wheelDelta"><code>MouseWheelEvent.wheelDelta</code></a>.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
-                      <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
-                    </div>
-                    <!-- method -->
-                  </dd>
-                  
-                  <dt><code class="method-name">
-                      <a id="events-Events-Event-initMouseWheelEventNS">initMouseWheelEventNS</a>
-                    </code> introduced in <strong class="since">DOM Level 3</strong>
-                  </dt>
-                  <dd>
-                    <div class="method">Initializes attributes of a <code>MouseWheelEvent</code> object. This method has the same behavior as <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a>.
-                      <div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">namespaceURIArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">screenXArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">screenYArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">clientXArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">clientYArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">buttonArg</code> of type <code>unsigned short</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">relatedTargetArg</code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">modifiersListArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">wheelDeltaArg</code> of type <code>long</code></dt>
-                            <dd>Specifies <a href="#events-Events-MouseWheelEvent-wheelDelta"><code>MouseWheelEvent.wheelDelta</code></a>.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
-                      <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
-                    </div>
-                    <!-- method -->
-                  </dd>
-                </dl>
-              </dd>
-            </dl>
-          </dd>
-        </dl>
-        <div class="event-definition assert must">
-          <dl>
-            <dt id="events-event-mousewheel">
-              <a class="noxref" href="#events-event-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 bgcolor="#CFCFCF"><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-dt-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 mouse wheel has been rotated around the y-axis.</dd>
-          </dl>
-        </div>
-      </div>
-      <!-- div3 Events-eventgroupings-mousewheelevents -->
-
-
-
-      <!-- div3 Events-eventgroupings-mouseevents -->
-      <div class="div3">
-        <h3 id="events-Events-eventgroupings-wheelevents" class="div3">5.2.5 Wheel Event Types</h3>
-        <p>This module defines the feature WheelEvents 3.0 and depends on the feature MouseEvents 3.0.</p>
-        <p>Wheels are devices that can be rotated in one or more spatial dimensions, and which may or may not be associated with a pointer device. The coordinate system depends on the environment configuration. As an example, the environment may be configured to associate vertical scrolling with rotation along the y-axis, horizontal scrolling with rotation along the x-axis, and zooming with rotation along the z-axis.  The deltax, deltaY, and deltaX attributes of <a href="#events-Events-WheelEvent"><code>WheelEvent</code></a> objects indicate the distance of the rotation, as specified in the <a class="def-term" href="events-Events-WheelEvent-delta">delta</a> definition. <!--The delta attributes of <a href='#events-Events-WheelEvent'><code>WheelEvent</code></a> objects indicate the distance of the rotation. The measurement unit depends on the environment configuration. The sign of the delta value should indicate the direction of the rotation.--></p>
-
-        <dl>
-          <dt><code class="def-term" id="events-Events-WheelEvent-delta">delta</code>
-          </dt>
-          <dd>
-            <p>The distance the wheel has rotated around the its axis.</p>
-            <p>The value of a <a class="def-term" href="events-Events-WheelEvent-delta">delta</a> shall be a integer indicating a distance, measured as the number of <a class="def-term" href="events-Events-WheelEvent-roll">rolls</a> the wheel has been <a class="def-term" href="events-Events-WheelEvent-rotation">rotated</a>. A positive value shall indicate that the wheel has been <a class="def-term" href="events-Events-WheelEvent-rotation">rotated</a> away from the user on vertically-aligned devices or in a left-hand manner on horizontally aligned devices, and a negative value shall indicate that the wheel has been <a class="def-term" href="events-Events-WheelEvent-rotation">rotated</a> towards the user on vertically-aligned devices or in a right-hand manner on horizontally-aligned devices.  The default value of a delta attribute shall be 0.</p>
-          </dd>
-          <dt><code class="def-term" id="events-Events-WheelEvent-roll">roll</code>
-          </dt>
-          <dd>A unit of <a class="def-term" href="events-Events-WheelEvent-rotation">rotation</a> for a device using the <a href="events-Events-eventgroupings-wheelevents">WheelEvent</a> interface. On some devices this may be a finite physical step. On devices with smooth <a class="def-term" href="events-Events-WheelEvent-rotation">rotation</a>, a <a class="def-term" href="events-Events-WheelEvent-roll">roll</a> becomes the smallest reported amount of <a class="def-term" href="events-Events-WheelEvent-rotation">rotation</a>.</dd>
-          <dt><code class="def-term" id="events-Events-WheelEvent-rotation">rotation</code>
-          </dt>
-          <dd>An indication of incremental change. On some devices this may be a literal rotation of a wheel, while on others, it may be 
-    movement along a flat surface, or pressure on a particular button.</dd>
-        </dl>
-
-        <dl>
-          <dt><strong>Interface <em>
-                <a id="events-Events-WheelEvent">WheelEvent</a>
-              </em></strong> (introduced in <strong class="since">DOM Level 3</strong>)</dt>
-          <dd>
-            <p>The <code>WheelEvent</code> interface provides specific contextual information associated with omnidirectional mouse wheel events.</p>
-            <p>To create an instance of the <code>WheelEvent</code> interface, use the <a href="#events-Events-DocumentEvent-createEvent"><code>DocumentEvent.createEvent("WheelEvent")</code></a> method call.</p>
-            <dl>
-              <dt>
-                <br/>
-                <strong>IDL Definition</strong>
-              </dt>
-              <dd>
-                <div class="idl-code">
-                  <pre>
-    // Introduced in DOM Level 3:
-    interface <a class="noxref" href="#events-Events-WheelEvent">WheelEvent</a> : <a class="noxref" href="#events-Events-MouseEvent">MouseEvent</a> {
-
-    // DeltaModeCode
-    const unsigned long       <a class="noxref" href="#events-DOM_DELTA_PIXEL">DOM_DELTA_PIXEL</a>       = 0x00;
-    const unsigned long       <a class="noxref" href="#events-DOM_DELTA_LINE">DOM_DELTA_LINE</a>        = 0x01;
-    const unsigned long       <a class="noxref" href="#events-DOM_DELTA_PAGE">DOM_DELTA_PAGE</a>        = 0x02;
-
-    readonly attribute long            <a class="noxref" href="#events-Events-WheelEvent-deltaX">deltaX</a>;
-    readonly attribute long            <a class="noxref" href="#events-Events-WheelEvent-deltaY">deltaY</a>;
-    readonly attribute long            <a class="noxref" href="#events-Events-WheelEvent-deltaZ">deltaZ</a>;
-    readonly attribute unsigned long   <a class="noxref" href="#events-Events-WheelEvent-deltaMode">deltaMode</a>;    
-    void               <a class="noxref" href="#events-Events-Event-initWheelEvent">initWheelEvent</a>(in DOMString typeArg, 
-                                              in boolean canBubbleArg, 
-                                              in boolean cancelableArg, 
-                                              in views::AbstractView viewArg, 
-                                              in long detailArg, 
-                                              in long screenXArg, 
-                                              in long screenYArg, 
-                                              in long clientXArg, 
-                                              in long clientYArg, 
-                                              in unsigned short buttonArg, 
-                                              in <a class="noxref" href="#events-Events-EventTarget">EventTarget</a> relatedTargetArg, 
-                                              in DOMString modifiersListArg, 
-                                              in long deltaXArg, 
-                                              in long deltaYArg, 
-                                              in long deltaZArg, 
-                                              in unsigned long deltaMode);
-    void               <a class="noxref" href="#events-Events-Event-initWheelEventNS">initWheelEventNS</a>(in DOMString namespaceURIArg, 
-                                              in DOMString typeArg, 
-                                              in boolean canBubbleArg, 
-                                              in boolean cancelableArg, 
-                                              in views::AbstractView viewArg, 
-                                              in long detailArg, 
-                                              in long screenXArg, 
-                                              in long screenYArg, 
-                                              in long clientXArg, 
-                                              in long clientYArg, 
-                                              in unsigned short buttonArg, 
-                                              in <a class="noxref" href="#events-Events-EventTarget">EventTarget</a> relatedTargetArg, 
-                                              in DOMString modifiersListArg, 
-                                              in long deltaXArg, 
-                                              in long deltaYArg, 
-                                              in long deltaZArg, 
-                                              in unsigned long deltaMode);
-    };
-    </pre>
-                </div>
-                <br/>
-              </dd>
-              <dt>
-                <strong>Definition group <em>
-                    <a id="events-ID-WheelEvent-DeltaModeCode">DeltaModeCode</a>
-                  </em></strong>
-              </dt>
-              <dd>
-                <p>This set of constants shall be used to indicate the units of measurement for the <a href="#events-Events-WheelEvent-delta"><code>delta</code></a> values.  The precise measurement is specific to device, operating system, and application configurations.</p>
+                <p>This set of constants shall be used to indicate the origin of the text input. In case a DOM implementation wishes to provide a new location information, a value different from the following constant values must be used.</p>
                 <dl>
                   <dt>
                     <strong>Defined Constants</strong>
                   </dt>
                   <dd>
                     <dl>
-                      <dt><a id="events-DOM_DELTA_PIXEL"><code class="constant-name">DOM_DELTA_PIXEL</code></a></dt>
-                      <dd>The units of measurement for the <a href="#events-Events-WheelEvent-delta"><code>delta</code></a> shall be pixels.  This is the most typical case in most operating system and implementation configurations.</dd>
-
-                      <dt><a id="events-DOM_DELTA_LINE"><code class="constant-name">DOM_DELTA_LINE</code></a></dt>
-                      <dd>The units of measurement for the <a href="#events-Events-WheelEvent-delta"><code>delta</code></a> shall be individual lines of text.  This is the case for many form controls.</dd>
-
-                      <dt><a id="events-DOM_DELTA_PAGE"><code class="constant-name">DOM_DELTA_PAGE</code></a></dt>
-                      <dd>The units of measurement for the <a href="#events-Events-WheelEvent-delta"><code>delta</code></a> shall be pages, either defined as a single screen or as a demarcated page.</dd>
+                      <dt>
+                        <a id="events-DOM_INPUT_METHOD_UNKNOWN">
+                          <code class="constant-name">DOM_INPUT_METHOD_UNKNOWN</code>
+                        </a>
+                      </dt>
+                      <dd>The text string was input by an unknown means.</dd>
+                      <dt>
+                        <a id="events-DOM_INPUT_METHOD_KEYBOARD">
+                          <code class="constant-name">DOM_INPUT_METHOD_KEYBOARD</code>
+                        </a>
+                      </dt>
+                      <dd>The text string was input through a keyboard.  This may be associated with one or more of <code>keypress</code>,  <code>keydown</code>, or <code>keyup</code> events.</dd>
+                      <dt>
+                        <a id="events-DOM_INPUT_METHOD_PASTE">
+                          <code class="constant-name">DOM_INPUT_METHOD_PASTE</code>
+                        </a>
+                      </dt>
+                      <dd>The text string was pasted in from a clipboard.  This may be associated with a <code>paste</code> event, specified elsewhere.</dd>
+                      <dt>
+                        <a id="events-DOM_INPUT_METHOD_DROP">
+                          <code class="constant-name">DOM_INPUT_METHOD_DROP</code>
+                        </a>
+                      </dt>
+                      <dd>The text string was inserted as part of a drag-and-drop operation.  This may be associated with a <code>drop</code> event, specified elsewhere.</dd>
+                      <dt>
+                        <a id="events-DOM_INPUT_METHOD_IME">
+                          <code class="constant-name">DOM_INPUT_METHOD_IME</code>
+                        </a>
+                      </dt>
+                      <dd>The text string was entered through an Input Method Editor.  This may be associated with a <code>compositionend</code> event.</dd>
+                      <dt>
+                        <a id="events-DOM_INPUT_METHOD_OPTION">
+                          <code class="constant-name">DOM_INPUT_METHOD_OPTION</code>
+                        </a>
+                      </dt>
+                      <dd>The text string was selected from a set of options presented, such as from a form.  This may be associated with various other events, specified elsewhere.</dd>
+                      <dt>
+                        <a id="events-DOM_INPUT_METHOD_HANDWRITING">
+                          <code class="constant-name">DOM_INPUT_METHOD_HANDWRITING</code>
+                        </a>
+                      </dt>
+                      <dd>The text string was input through a pen/tablet device and processed by handwriting recognition software.  This may be associated with a specific event defined elsewhere.</dd>
+                      <dt>
+                        <a id="events-DOM_INPUT_METHOD_VOICE">
+                          <code class="constant-name">DOM_INPUT_METHOD_VOICE</code>
+                        </a>
+                      </dt>
+                      <dd>The text string was input by a voice device and interpreted by speech recognition software.  This may be associated with a specific event defined elsewhere.</dd>
+                      <dt>
+                        <a id="events-DOM_INPUT_METHOD_MULTIMODAL">
+                          <code class="constant-name">DOM_INPUT_METHOD_MULTIMODAL</code>
+                        </a>
+                      </dt>
+                      <dd>The text string was inserted as part of an operation involving multiple input modalities in combination, such as pointer-enhanced speech.  This may be associated with various other events, specified elsewhere.</dd>
+                      <dt>
+                        <a id="events-DOM_INPUT_METHOD_SCRIPT">
+                          <code class="constant-name">DOM_INPUT_METHOD_SCRIPT</code>
+                        </a>
+                      </dt>
+                      <dd>The text string was inserted via a script operation on the DOM.  This may be associated with one or more  <code>mutation</code> events.</dd>
                     </dl>
                   </dd>
                 </dl>
@@ -3639,26 +2715,10 @@
               </dt>
               <dd>
                 <dl>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-WheelEvent-deltaX">deltaX</a>
-                    </code> of type <code>long</code>, readonly</dt>
-                  <dd>The distance the wheel has rotated around the x-axis.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-WheelEvent-deltaY">deltaY</a>
-                    </code> of type <code>long</code>, readonly</dt>
-                  <dd>The distance the wheel has rotated around the y-axis.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-WheelEvent-deltaZ">deltaZ</a>
-                    </code> of type <code>long</code>, readonly</dt>
-                  <dd>The distance the wheel has rotated around the z-axis.<br/></dd>
-                  <dt><code class="attribute-name">
-                      <a id="events-Events-WheelEvent-deltaMode">deltaMode</a>
-                    </code> of type <code>unsigned long</code>, readonly</dt>
-                  <dd>The <code>deltaMode</code> attribute contains an indication of to indicate the units of measurement for the <a href="#events-Events-WheelEvent-delta"><code>delta</code></a> values.  The default value is <a href="#events-DOM_DELTA_PIXEL"><code class="constant-name">DOM_DELTA_PIXEL</code></a> (pixels).  The value of <code>deltaMode</code> may be different for each of <code class="attribute-name"><a href="#events-Events-WheelEvent-deltaX">deltaX</a></code>, <code class="attribute-name"><a href="#events-Events-WheelEvent-deltaY">deltaY</a></code>, and <code class="attribute-name"><a href="#events-Events-WheelEvent-deltaZ">deltaZ</a></code>, based on system configuration.<br/>
-
-                    <p class="issue">@@ deltaMode is the proposed solution for <a href="http://www.w3.org/2008/webapps/track/issues/9" title="ISSUE-9 - Web Applications Working Group Tracker">ISSUE-9</a>.</p>
-
-                  </dd>
+                  <dt><code class="attribute-name"><a id="events-Events-TextEvent-data">data</a></code> of type <code>DOMString</code>, readonly</dt>
+                  <dd><code>data</code> holds the value of the characters generated by the character device. This may be a single Unicode character or a non-empty sequence of Unicode characters [<cite><a class="noxref normative" href="#references-Unicode">Unicode</a></cite>]. Characters should be normalized as defined by the Unicode normalization form <em>NFC</em>, defined in [<cite><a class="noxref normative" href="#references-UnicodeNormalization">UAX #15</a></cite>]. This attribute cannot be null or contain the empty string.<br /></dd>
+                  <dt><code class="attribute-name"><a id="events-Events-TextEvent-inputMode">inputMode</a></code> of type <code>unsigned long</code>, readonly</dt>
+                  <dd>The <code>inputMode</code> attribute contains an indication of the origin of the text input, as described in <a href="#events-ID-TextEvent-InputModeCode">InputModeCode</a>.<br /></dd>
                 </dl>
               </dd>
               <dt>
@@ -3666,453 +2726,71 @@
               </dt>
               <dd>
                 <dl>
-                  <dt><code class="method-name">
-                      <a id="events-Events-Event-initWheelEvent">initWheelEvent</a>
-                    </code> introduced in <strong class="since">DOM Level 3</strong>
+                  <dt>
+                    <code class="method-name">
+                      <a id="events-event-type-initTextEvent">initTextEvent</a>
+                    </code>
                   </dt>
                   <dd>
-                    <div class="method">Initializes attributes of a <code>WheelEvent</code> object. This method has the same behavior as <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a>.
-                      <div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">detailArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">screenXArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">screenYArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">clientXArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">clientYArg</code> of type <code>long</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">buttonArg</code> of type <code>unsigned short</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">relatedTargetArg</code> of type <a href="#events-Events-EventTarget"><code>EventTarget</code></a></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">modifiersListArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">deltaXArg</code> of type <code>long</code></dt>
-                            <dd>Specifies <a href="#events-Events-WheelEvent-deltaX"><code>WheelEvent.deltaX</code></a>.<br/></dd>
-                            <dt><code class="parameter-name">deltaYArg</code> of type <code>long</code></dt>
-                            <dd>Specifies <a href="#events-Events-WheelEvent-deltaY"><code>WheelEvent.deltaY</code></a>.<br/></dd>
-                            <dt><code class="parameter-name">deltaZArg</code> of type <code>long</code></dt>
-                            <dd>Specifies <a href="#events-Events-WheelEvent-deltaZ"><code>WheelEvent.deltaZ</code></a>.<br/></dd>
-                            <dt><code class="parameter-name">deltaModeArg</code> of type <code>unsigned long</code></dt>
-                            <dd>Specifies <a href="#events-Events-WheelEvent-deltaMode"><code>WheelEvent.deltaMode</code></a>.<br/></dd>
-                          </dl>
-                        </div>
-                      </div>
+                    <div class="method">Initializes attributes of a <code>TextEvent</code> object. This method has the same behavior as <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a>. The value of <a href="#events-Events-UIEvent-detail"><code>UIEvent.detail</code></a> remains undefined.
+<div class="parameters"><strong>Parameters</strong><div class="paramtable"><dl><dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt><dd>Refer to the <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">canBubbleArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">cancelableArg</code> of type <code>boolean</code></dt><dd>Refer to the <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">viewArg</code> of type <code>views::AbstractView</code></dt><dd>Refer to the <a href="#events-event-type-initUIEvent"><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd><dt><code class="parameter-name">dataArg</code> of type <code>DOMString</code></dt><dd>Specifies <a href="#events-Events-TextEvent-data"><code>TextEvent.data</code></a>.<br /></dd><dt><code class="parameter-name">inputModeArg</code> of type <code>unsigned long</code></dt><dd>Specifies <a href="#events-Events-TextEvent-inputMode"><code>TextEvent.inputMode</code></a>.<br /></dd></dl></div></div>
                       <!-- parameters -->
-                      <div>
-                        <strong>No Return Value</strong>
-                      </div>
-                      <div>
-                        <strong>No Exceptions</strong>
-                      </div>
+                      <div><strong>No Return Value</strong></div>
+                      <div><strong>No Exceptions</strong></div>
                     </div>
-                    <!-- method -->
+<!-- method -->
                   </dd>
-
-
-                  <dt><code class="method-name">
-                      <a id="events-Events-Event-initWheelEventNS">initWheelEventNS</a>
-                    </code> introduced in <strong class="since">DOM Level 3</strong>
+                  <dt>
+                    <code class="method-name">
+                      <a id="events-event-type-initTextEventNS">initTextEventNS</a>
+                    </code>
                   </dt>
                   <dd>
-                    <div class="method">Initializes attributes of a <code>WheelEvent</code> object. This method has the same behavior as <a href="#events-Events-Event-initMouseEventNS"><code>MouseEvent.initMouseEventNS()</code></a>.
-                      <div class="parameters">
-                        <strong>Parameters</strong>
-                        <div class="paramtable">
-                          <dl>
-                            <dt><code class="parameter-name">namespaceURIArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS"><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br/></dd>
-                            <dt><code class="parameter-name">typeArg</code> of type <code>DOMString</code></dt>
-                            <dd>Refer to the <a href="#events-Events-Event-initUIEventNS">&l