merging changes from published version
authorbjoern
Fri, 14 Apr 2006 04:38:27 +0900
changeset 15 bf79803de1b7
parent 14 b2cd2e12c3e4
child 16 6ad2eae19282
merging changes from published version
html/DOM3-Events.html
source/xml-source.xml
--- a/html/DOM3-Events.html	Wed Apr 12 13:17:33 2006 +0900
+++ b/html/DOM3-Events.html	Fri Apr 14 04:38:27 2006 +0900
@@ -1,11 +1,10 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
- Generated: Mon Mar 27 17:08:07 CEST 2006 hive
+ Generated: Thu Apr 13 21:35:35 CEST 2006 hive
  -->
 <html lang='en-US' xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
 <head>
-<meta name="generator" content="HTML Tidy for Windows (vers 14 February 2006), see www.w3.org" />
 <title>Document Object Model (DOM) Level 3 Events Specification</title>
 <link rel='stylesheet' type='text/css' href='./spec.css' />
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
@@ -13,7 +12,7 @@
 <link rel='copyright' href='copyright-notice.html' />
 <link rel='glossary' href='glossary.html' />
 <link rel='Start' href='Overview.html' />
-<link rel='author' href='mailto:www-dom@w3.org' />
+<link rel='author' href='mailto:public-webapi@w3.org' />
 <link rel='help' href='http://www.w3.org/DOM/' />
 </head>
 <body>
@@ -23,22 +22,22 @@
 <h1 id='Overview-title'>Document Object Model (DOM) Level 3 Events Specification</h1>
 <h2 id='Overview-version'>Version 1.0</h2>
 <!-- @@@ -->
-<h2 id='Overview-W3C-doctype'>Editor's Draft March 2006</h2>
+<h2 id='Overview-W3C-doctype'>Editor's Draft April 2006</h2>
 <dl>
 <dt>This version:</dt>
-<dd><a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107 (outdated)</a></dd>
+<dd><a href='http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413'>http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413 (outdated)</a></dd>
 <dt>Latest version:</dt>
 <dd><a href='http://www.w3.org/TR/DOM-Level-3-Events'>http://www.w3.org/TR/DOM-Level-3-Events</a></dd>
 <dt>Previous version:</dt>
-<dd><a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/'>http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/</a></dd>
+<dd><a href='http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413'>http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413</a></dd>
 </dl>
 <dl>
 <dt>Editors:</dt>
-<dd>Bj&#246;rn H&#246;hrmann,</dd>
+<dd><a href='http://bjoern.hoehrmann.de/'>Bj&#246;rn H&#246;hrmann</a>,</dd>
 <dd>Philippe Le H&#233;garet, <i>W3C (until November 2003)</i></dd>
 <dd>Tom Pixley, <i>Netscape Communications Corporation (until July 2002)</i></dd>
 </dl>
-<p class='copyright'><a href='http://www.w3.org/Consortium/Legal/ipr-notice#Copyright'>Copyright</a> &#169;2006 <a href='http://www.w3.org/'><abbr title='World Wide Web Consortium'>W3C</abbr></a><sup>&#174;</sup> (<a href='http://www.csail.mit.edu/'><abbr title='Massachusetts Institute of Technology'>MIT</abbr></a>, <a href='http://www.ercim.org/'><abbr title='European Research Consortium for Informatics and Mathematics'>ERCIM</abbr></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>, <a href='http://www.w3.org/Consortium/Legal/copyright-documents'>document use</a> and <a href='http://www.w3.org/Consortium/Legal/copyright-software'>software licensing</a> rules apply.</p>
+<p class='copyright'><a href='http://www.w3.org/Consortium/Legal/ipr-notice#Copyright'>Copyright</a> &#169; 2006 <a href='http://www.w3.org/'><acronym title='World Wide Web Consortium'>W3C</acronym></a><sup>&#174;</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' />
 <h2 id='Overview-abstract'>Abstract</h2>
@@ -49,7 +48,7 @@
 <div class='status'>
 <p>This document is for review by the <a href='http://www.w3.org/2006/webapi/'>WebAPI Working Group</a> and is subject to change without notice. This document has no formal standing within W3C. Please consult the <a href='http://www.w3.org/2006/webapi/'>group's home page</a> and the <a href='http://www.w3.org/TR/'>W3C technical reports index</a> for information about the latest publications by this group.</p>
 </div>
-<h2 id='Overview-table-of-contents'><a name='Overview-contents' id="Overview-contents">Table of contents</a></h2>
+<h2 id='Overview-table-of-contents'><a name='Overview-contents' id='Overview-contents'>Table of Contents</a></h2>
 <ul class='toc'>
 <li class='tocline2'><a class='tocxref' href='#expanded-toc'>Expanded Table of Contents</a></li>
 <li class='tocline2'><a class='tocxref' href='#copyright-notice'>W3C Copyright Notices and Licenses</a></li>
@@ -70,9 +69,9 @@
 </ul>
 <a id='expanded-toc' name='expanded-toc'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>March 2006</p>
-</div>
-<div class='div1'><a name='expanded-toc-TOC' id="expanded-toc-TOC"></a>
+<p style='font-family: monospace;font-size:small'>April 2006</p>
+</div>
+<div class='div1'><a name='expanded-toc-TOC' id='expanded-toc-TOC'></a>
 <h1 id='expanded-toc-TOC-h1' class='div1'>Expanded Table of Contents</h1>
 <ul class='toc'>
 <li class='tocline2'><a class='tocxref' href='#expanded-toc'>Expanded Table of Contents</a></li>
@@ -151,12 +150,13 @@
 </li>
 <li class='tocline2'><a class='tocxref' href='#changes'>Appendix B: Changes</a>
 <ul class='toc'>
-<li class='tocline3'><a class='tocxref' href='#changes-DOMEvents2to3Changes'>B.1 Changes between DOM Level 2 Events and DOM Level 3 Events</a>
+<li class='tocline3'><a class='tocxref' href='#changes-DOMEvents3NoteChanges'>B.1 Changes since November 2003</a></li>
+<li class='tocline3'><a class='tocxref' href='#changes-DOMEvents2to3Changes'>B.2 Changes between DOM Level 2 Events and DOM Level 3 Events</a>
 <ul class='toc'>
-<li class='tocline4'><a class='tocxref' href='#changes-DOMEvents2to3Changes-flow'>B.1.1 Changes to DOM Level 2 event flow</a></li>
-<li class='tocline4'><a class='tocxref' href='#changes-DOMEvents2to3Changes-event-types'>B.1.2 Changes to DOM Level 2 event types</a></li>
-<li class='tocline4'><a class='tocxref' href='#changes-DOMLevel2to3Changes'>B.1.3 Changes to DOM Level 2 Events interfaces</a></li>
-<li class='tocline4'><a class='tocxref' href='#changes-DOMLevel3Addons'>B.1.4 New Interfaces</a></li>
+<li class='tocline4'><a class='tocxref' href='#changes-DOMEvents2to3Changes-flow'>B.2.1 Changes to DOM Level 2 event flow</a></li>
+<li class='tocline4'><a class='tocxref' href='#changes-DOMEvents2to3Changes-event-types'>B.2.2 Changes to DOM Level 2 event types</a></li>
+<li class='tocline4'><a class='tocxref' href='#changes-DOMLevel2to3Changes'>B.2.3 Changes to DOM Level 2 Events interfaces</a></li>
+<li class='tocline4'><a class='tocxref' href='#changes-DOMLevel3Addons'>B.2.4 New Interfaces</a></li>
 </ul>
 </li>
 </ul>
@@ -172,8 +172,8 @@
 <li class='tocline2'><a class='tocxref' href='#glossary'>Glossary</a></li>
 <li class='tocline2'><a class='tocxref' href='#references'>References</a>
 <ul class='toc'>
-<li class='tocline3'><a class='tocxref' href='#references-References-Normative'>1 Normative references</a></li>
-<li class='tocline3'><a class='tocxref' href='#references-References-Informative'>2 Informative references</a></li>
+<li class='tocline3'><a class='tocxref' href='#references-References-Normative'>1 Normative References</a></li>
+<li class='tocline3'><a class='tocxref' href='#references-References-Informative'>2 Informative References</a></li>
 </ul>
 </li>
 <li class='tocline2'><a class='tocxref' href='#def-index'>Index</a></li>
@@ -182,13 +182,13 @@
 <!-- div1 TOC -->
 <a id='copyright-notice' name='copyright-notice'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>March 2006</p>
-</div>
-<div class='div1'><a name='copyright-notice-Copyright-Notice' id="copyright-notice-Copyright-Notice"></a>
+<p style='font-family: monospace;font-size:small'>April 2006</p>
+</div>
+<div class='div1'><a name='copyright-notice-Copyright-Notice' id='copyright-notice-Copyright-Notice'></a>
 <h1 id='copyright-notice-Copyright-Notice-h1' class='div1'>W3C Copyright Notices and Licenses</h1>
 <p><b>Copyright &#169; 2006 <a class='normative' href='http://www.w3.org/'>World Wide Web Consortium</a>, (<a class='normative' href='http://www.lcs.mit.edu/'>Massachusetts Institute of Technology</a>, <a class='normative' href='http://www.ercim.org/'>European Research Consortium for Informatics and Mathematics</a>, <a class='normative' href='http://www.keio.ac.jp/'>Keio University</a>). All Rights Reserved.</b></p>
 <p>This document is published under the <a href='#copyright-notice-Copyright-notice-document'>W3C<sup>&#174;</sup> Document Copyright Notice and License</a>. The bindings within this document are published under the <a href='#copyright-notice-Copyright-notice-software'>W3C<sup>&#174;</sup> Software Copyright Notice and License</a>. The software license requires "Notice of any changes or modifications to the W3C files, including the date changes were made." Consequently, modified versions of the DOM bindings must document that they do not conform to the W3C standard; in the case of the IDL definitions, the pragma prefix can no longer be 'w3c.org'; in the case of the Java language binding, the package names can no longer be in the 'org.w3c' package.</p>
-<div class='div2'><a name='copyright-notice-Copyright-notice-document' id="copyright-notice-Copyright-notice-document"></a>
+<div class='div2'><a name='copyright-notice-Copyright-notice-document' id='copyright-notice-Copyright-notice-document'></a>
 <hr width='50' align='center' title='Area separator' />
 <h2 id='copyright-notice-Copyright-notice-document-h2' class='div2'>W3C<sup>&#174;</sup> Document Copyright Notice and License</h2>
 <p><b>Note:</b> This section is a copy of the W3C<sup>&#174;</sup> Document Notice and License and could be found at <a class='normative' href='http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231'>http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231</a>.</p>
@@ -208,7 +208,7 @@
 <p>The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to this document or its contents without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders.</p>
 </div>
 <!-- div2 Copyright-notice-document -->
-<div class='div2'><a name='copyright-notice-Copyright-notice-software' id="copyright-notice-Copyright-notice-software"></a>
+<div class='div2'><a name='copyright-notice-Copyright-notice-software' id='copyright-notice-Copyright-notice-software'></a>
 <hr width='50' align='center' title='Area separator' />
 <h2 id='copyright-notice-Copyright-notice-software-h2' class='div2'>W3C<sup>&#174;</sup> Software Copyright Notice and License</h2>
 <p><b>Note:</b> This section is a copy of the W3C<sup>&#174;</sup> Software Copyright Notice and License and could be found at <a class='normative' href='http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231'>http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231</a></p>
@@ -226,7 +226,7 @@
 <p>The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.</p>
 </div>
 <!-- div2 Copyright-notice-software -->
-<div class='div2'><a name='copyright-notice-Copyright-short-notice' id="copyright-notice-Copyright-short-notice"></a>
+<div class='div2'><a name='copyright-notice-Copyright-short-notice' id='copyright-notice-Copyright-short-notice'></a>
 <h2 id='copyright-notice-Copyright-short-notice-h2' class='div2'>W3C<sup>&#174;</sup> Short Software Notice</h2>
 <p><b>Note:</b> This section is a copy of the W3C<sup>&#174;</sup> Short Software Notice and could be found at <a class='normative' href='http://www.w3.org/Consortium/Legal/2002/copyright-software-short-notice-20021231'>http://www.w3.org/Consortium/Legal/2002/copyright-software-short-notice-20021231</a></p>
 <p><b>Copyright &#169; 2006 <a class='normative' href='http://www.w3.org/'>World Wide Web Consortium</a>, (<a class='normative' href='http://www.lcs.mit.edu/'>Massachusetts Institute of Technology</a>, <a class='normative' href='http://www.ercim.org/'>European Research Consortium for Informatics and Mathematics</a>, <a class='normative' href='http://www.keio.ac.jp/'>Keio University</a>). All Rights Reserved.</b></p>
@@ -237,18 +237,18 @@
 <!-- div1 Copyright-Notice -->
 <a id='events' name='events'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>March 2006</p>
-</div>
-<div class='div1'><a name='events-Events' id="events-Events"></a>
+<p style='font-family: monospace;font-size:small'>April 2006</p>
+</div>
+<div class='div1'><a name='events-Events' id='events-Events'></a>
 <h1 id='events-Events-h1' class='div1'>1. Document Object Model Events</h1>
 <dl>
 <dt><i>Editors</i>:</dt>
-<dd>Bj&#246;rn H&#246;hrmann</dd>
+<dd><a href='http://bjoern.hoehrmann.de/'>Bj&#246;rn H&#246;hrmann</a></dd>
 <dd>Philippe Le H&#233;garet, W3C (until November 2003)</dd>
 <dd>Tom Pixley, Netscape Communications Corporation (until July 2002)</dd>
 </dl>
 <div class='noprint'>
-<h2 id='events-table-of-contents'>Table of contents</h2>
+<h2 id='events-table-of-contents'>Table of Contents</h2>
 <ul class='toc'>
 <li class='tocline3'><a class='tocxref' href='#events-Events-overview'>1.1 Introduction</a>
 <ul class='toc'>
@@ -321,7 +321,7 @@
 </li>
 </ul>
 </div>
-<div class='div2'><a name='events-Events-overview' id="events-Events-overview"></a>
+<div class='div2'><a name='events-Events-overview' id='events-Events-overview'></a>
 <h2 id='events-Events-overview-h2' 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 the 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>
@@ -330,14 +330,14 @@
 <li>The <a href='#events-Events-flow'>DOM event flow</a>, which describe the flow of events in a tree-based structure.</li>
 <li>A set of interfaces to access contextual information on events and to register event listeners.</li>
 </ul>
-<div class='div3'><a name='events-Events-flows' id="events-Events-flows"></a>
+<div class='div3'><a name='events-Events-flows' id='events-Events-flows'></a>
 <h3 id='events-Events-flows-h3' class='div3'>1.1.1 Event flows</h3>
 <p>This document specifies an event flow for tree-based structures: <a href='#events-Events-flow'>DOM event flow</a>. While it is expected that HTML and XML applications will follow this event flow, applications might reuse the interfaces defined in this document for non tree-based structures. In that case, it is the responsibility of such applications to define their event flow and how it relates to the <a href='#events-Events-flow'>DOM event flow</a>. An example of such use can be found in [<cite><a class='noxref informative' href='#references-DOMLS'>DOM Level 3 Load and Save</a></cite>].</p>
 </div>
 <!-- div3 Events-flows -->
-<div class='div3'><a name='events-Conformance' id="events-Conformance"></a>
+<div class='div3'><a name='events-Conformance' id='events-Conformance'></a>
 <h3 id='events-Conformance-h3' class='div3'>1.1.2 Conformance</h3>
-<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'>DOM event flow</a> 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 and the event types defined in the module. An implementation conforms to an event type if it conforms to its associated semantics and DOM interfaces. For example, an implementation conforms to the DOM Level 3 User Interface Events module (see <a href='#events-Events-eventgroupings-uievents'>User Interface event types</a>) if it conforms to DOM Level 3 Events (i.e. implements all the basic interfaces), can generate the event types <a href='#events-event-DOMActivate'>DOMActivate</a>, <a href='#events-event-focus'>focus</a>, and <a href='#events-event-blur'>blur</a> accordingly to their semantics, supports the <a href='#events-Events-UIEvent'><code>UIEvent</code></a> interface, and conforms to the DOM Level 2 Core module.</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'>DOM event flow</a> 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 and the event types defined in the module. An implementation conforms to an event type if it conforms to its associated semantics and DOM interfaces. For example, an implementation conforms to the DOM Level 3 User Interface Events module (see <a href='#events-Events-eventgroupings-uievents'>User Interface event types</a>) if it conforms to DOM Level 3 Events (i.e. implements all the basic interfaces), can generate the event types <a href='#events-event-DOMActivate'>DOMActivate</a>, <a href='#events-event-DOMFocusIn'>DOMFocusIn</a>, <a href='#events-event-DOMFocusOut'>DOMFocusOut</a>, <a href='#events-event-focus'>focus</a>, and <a href='#events-event-blur'>blur</a> accordingly to their semantics, supports the <a href='#events-Events-UIEvent'><code>UIEvent</code></a> interface, and conforms to the DOM Level 2 Core module.</p>
 <p><b>Note:</b> 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 dispatch an event type associated with this interface using the <a href='#events-Events-EventTarget-dispatchEvent'><code>EventTarget.dispatchEvent()</code></a> method.</p>
 <p>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. In order to fully support DOM Level 3 Events, an implementation must also support the "Core" feature defined in the DOM Level 2 Core specification [<cite><a class='noxref normative' href='#references-DOM2Core'>DOM Level 2 Core</a></cite>] and use the <a href='#events-Events-flow'>DOM event flow</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>]. 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>], i.e. a DOM Level 3 Events implementation where <code>hasFeature("Events", "3.0")</code> returns <code>true</code> must also return <code>true</code> when the <code>version</code> number is <code>"2.0"</code>, <code>""</code> or, <code>null</code>.</p>
 <p>Each event module describes its own feature string in the event module listing.</p>
@@ -345,10 +345,10 @@
 </div>
 <!-- div3 Conformance --></div>
 <!-- div2 Events-overview -->
-<div class='div2'><a name='events-Events-flow' id="events-Events-flow"></a>
+<div class='div2'><a name='events-Events-flow' id='events-Events-flow'></a>
 <h2 id='events-Events-flow-h2' class='div2'>1.2 DOM event flow</h2>
-<p><a name='events-dt-event-flow' id="events-dt-event-flow"></a> The DOM event flow is the process through which the <a href='#glossary-dt-event'>event</a> originates from the DOM Events implementation and is dispatched into a tree. Each event has an <a href='#glossary-dt-event-target'>event target</a>, a targeted node in the case of the DOM Event flow, toward which the event is dispatched by the DOM Events implementation.</p>
-<div class='div3'><a name='events-Events-phases' id="events-Events-phases"></a>
+<p><a name='events-dt-event-flow' id='events-dt-event-flow'></a> The DOM event flow is the process through which the <a href='#glossary-dt-event'>event</a> originates from the DOM Events implementation and is dispatched into a tree. Each event has an <a href='#glossary-dt-event-target'>event target</a>, a targeted node in the case of the DOM Event flow, toward which the event is dispatched by the DOM Events implementation.</p>
+<div class='div3'><a name='events-Events-phases' id='events-Events-phases'></a>
 <h3 id='events-Events-phases-h3' class='div3'>1.2.1 Phases</h3>
 <p>The event is dispatched following a path from the root of the tree to this <a href='#glossary-dt-target-node'>target node</a>. It can then be handled locally at the target node level or from any target's ancestors higher in the tree. The event dispatching (also called event propagation) occurs in three phases and the following order:</p>
 <ol>
@@ -357,23 +357,22 @@
 <li>The <a href='#glossary-dt-bubbling-phase'>bubbling phase</a>: the event is dispatched to the target's ancestors from the direct parent of the <a href='#glossary-dt-target-node'>target node</a> to the root of the tree.</li>
 </ol>
 <div class='figure' style='text-align: center'><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' />
-<p style='text-align:left'><i>Figure: graphical representation of an event dispatched in a DOM tree using the DOM event flow</i> [<a href='images/eventflow'>SVG 1.0 version</a>]</p>
-</div>
-<p><b>Note:</b> An <a class='normative' href='images/eventflow.svg'>SVG 1.0 version of the representation above</a> is also available.</p>
+<p style='text-align:left'><i>Figure: graphical representation of an event dispatched in a DOM tree using the DOM event flow</i> [<a href='images/eventflow.svg'>SVG 1.0 version</a>]</p>
+</div>
 <p>The target's ancestors are determined before the initial dispatch of the event. If the target node is removed during the dispatching, or a target's ancestor is added or removed, the event propagation will always be based on the target node and the target's ancestors determined before the dispatch.</p>
 <p>Some events may not necessarily accomplish the three phases of the DOM event flow, e.g. the event could only be defined for one or two phases. As an example, events defined in this specification will always accomplish the capture and target phases but some will not accomplish the bubbling phase ("bubbling events" versus "non-bubbling events", see also the <a href='#events-Events-Event-canBubble'><code>Event.bubbles</code></a> attribute).</p>
 </div>
 <!-- div3 Events-phases -->
-<div class='div3'><a name='events-Events-listeners' id="events-Events-listeners"></a>
+<div class='div3'><a name='events-Events-listeners' id='events-Events-listeners'></a>
 <h3 id='events-Events-listeners-h3' class='div3'>1.2.2 Event listeners</h3>
 <p>Each node encountered during the dispatch of the event may contain event listeners.</p>
-<div class='div4'><a name='events-Events-listeners-registration' id="events-Events-listeners-registration"></a>
+<div class='div4'><a name='events-Events-listeners-registration' id='events-Events-listeners-registration'></a>
 <h4 id='events-Events-listeners-registration-h4' class='div4'>1.2.2.1 Registration of event listeners</h4>
 <p>Event listeners can be registered on all nodes in the tree for a specific type of event (<a href='#events-Event-types'>Event types</a>) or event category (<a href='#events-Events-EventTypes-category'>Event types and event categories</a>), phase, and group (<a href='#events-Event-groups'>Event groups</a>).</p>
 <p>If the event listener is being registered on a node while an event gets processed on this node, the event listener will not be triggered during the current phase but may be triggered during a later phase in the event flow, i.e. the <a href='#glossary-dt-bubbling-phase'>bubbling phase</a>.</p>
 </div>
 <!-- div4 Events-listeners-registration -->
-<div class='div4'><a name='events-Event-groups' id="events-Event-groups"></a>
+<div class='div4'><a name='events-Event-groups' id='events-Event-groups'></a>
 <h4 id='events-Event-groups-h4' class='div4'>1.2.2.2 Event groups</h4>
 <p>An event listener is always part of a group. It is either explicitly in a group if a group has been specified at the registration or implicitly in the default group if no group has been specified. Within a group, event listeners are ordered in their order of registration. If two event listeners {A1, A2}, which are part of the same group, are registered one after the other (A1, then A2) for the same phase, the DOM event flow guarantees their triggering order (A1, then A2). If the two listeners are not part of the same group, no specification is made as to the order in which they will be triggered.</p>
 <p>In general, a DOM application does not need to define and use a separate group unless other event listeners, external to the DOM application, may change the event propagation (e.g. from a concurrent DOM application, from imported functionalities that rely on the event system, etc.).</p>
@@ -389,7 +388,7 @@
 <br />
 DOM Events implementations may impose priorities on groups but DOM applications must not rely on it. Unlike this specification, [<cite><a class='noxref normative' href='#references-DOM2Events'>DOM Level 2 Events</a></cite>] did not specify any triggering order for event listeners.</div>
 <!-- div4 Event-groups -->
-<div class='div4'><a name='events-Events-listeners-activation' id="events-Events-listeners-activation"></a>
+<div class='div4'><a name='events-Events-listeners-activation' id='events-Events-listeners-activation'></a>
 <h4 id='events-Events-listeners-activation-h4' class='div4'>1.2.2.3 Triggering an event listener</h4>
 <p>When the event is dispatched through the tree, from node to node, event listeners registered on the node are triggered if the following three conditions are all met:</p>
 <ol>
@@ -399,18 +398,18 @@
 </ol>
 </div>
 <!-- div4 Events-listeners-activation -->
-<div class='div4'><a name='events-Events-listeners-removal' id="events-Events-listeners-removal"></a>
+<div class='div4'><a name='events-Events-listeners-removal' id='events-Events-listeners-removal'></a>
 <h4 id='events-Events-listeners-removal-h4' class='div4'>1.2.2.4 Removing an event listener</h4>
 <p>If an event listener is removed from a node while an event is being processed on the node, it will not be triggered by the current actions. Once removed, the event listener is never invoked again (unless registered again for future processing).</p>
 </div>
 <!-- div4 Events-listeners-removal -->
-<div class='div4'><a name='events-Events-listeners-reentrance' id="events-Events-listeners-reentrance"></a>
+<div class='div4'><a name='events-Events-listeners-reentrance' id='events-Events-listeners-reentrance'></a>
 <h4 id='events-Events-listeners-reentrance-h4' class='div4'>1.2.2.5 Reentrance</h4>
 <p>It is expected that actions taken by an event listener may cause additional events to be dispatched. Additional events should be handled in a synchronous manner and may cause reentrance into the event model. If an event listener fires a new event using <a href='#events-Events-EventTarget-dispatchEvent'><code>EventTarget.dispatchEvent()</code></a>, the event propagation that causes the event listener to be triggered will resume only after the event propagation of the new event is completed.</p>
 <p>Since implementations may have restrictions such as stack-usage or other memory requirements, applications should not depend on how many synchronous events may be triggered.</p>
 </div>
 <!-- div4 Events-listeners-reentrance -->
-<div class='div4'><a name='events-Events-propagation-and-groups' id="events-Events-propagation-and-groups"></a>
+<div class='div4'><a name='events-Events-propagation-and-groups' id='events-Events-propagation-and-groups'></a>
 <h4 id='events-Events-propagation-and-groups-h4' class='div4'>1.2.2.6 Event propagation and event groups</h4>
 <p>All event listeners are part of a group (see <a href='#events-Events-listeners-registration'>Registration of event listeners</a>). An event listener may prevent event listeners that are part of a same group from being triggered. The effect can be:</p>
 <ul>
@@ -422,17 +421,17 @@
 <!-- div4 Events-propagation-and-groups --></div>
 <!-- div3 Events-listeners --></div>
 <!-- div2 Events-flow -->
-<div class='div2'><a name='events-Events-flow-cancelation' id="events-Events-flow-cancelation"></a>
+<div class='div2'><a name='events-Events-flow-cancelation' id='events-Events-flow-cancelation'></a>
 <h2 id='events-Events-flow-cancelation-h2' class='div2'>1.3 Default actions and cancelable events</h2>
 <p>Implementations may have a default action associated with an event type. 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> is dispatched to the element and the default action for this event type is generally to send a request to a Web server with the parameters from the form.</p>
 <p>The default actions are not part of the DOM Event flow. Before invoking a default action, the implementation must first dispatch the event as described in the <a href='#events-Events-flow'>DOM event flow</a>.</p>
-<p><a name='events-dt-cancelable-event' id="events-dt-cancelable-event"></a> A <i>cancelable event</i> is an event associated with a default action which is allowed to be canceled during the DOM event flow. At any phase during the event flow, the triggered event listeners have the option of canceling the default action or allowing the default action to proceed. In the case of the hyperlink in the browser, canceling the action would have the result of not activating the hyperlink. Not all events defined in this specification are cancelable events. See also <a href='#keyset-cancelable_keys'>Default actions and cancelable keyboard events</a>.</p>
+<p><a name='events-dt-cancelable-event' id='events-dt-cancelable-event'></a> A <i>cancelable event</i> is an event associated with a default action which is allowed to be canceled during the DOM event flow. At any phase during the event flow, the triggered event listeners have the option of canceling the default action or allowing the default action to proceed. In the case of the hyperlink in the browser, canceling the action would have the result of not activating the hyperlink. Not all events defined in this specification are cancelable events. See also <a href='#keyset-cancelable_keys'>Default actions and cancelable keyboard events</a>.</p>
 <p>Different implementations will specify their own default actions, if any, associated with each event. The DOM Events specification does not attempt to specify these actions.</p>
 <p>This specification does not provide mechanisms for accessing default actions or adding new ones.</p>
-<p>Implementations could react to an event before dispatching it and do changes on the display and the DOM tree. In such case, if a DOM attribute is changed before the event is fired, cancelling the device event type will also reverse the change. A good example is the attribute <code>HTMLInputElement.checked</code>: As described in [<cite><a class='noxref informative' href='#references-DOM2HTML'>DOM Level 2 HTML</a></cite>], the value of this property may be changed before the dispatch of the event; the user clicks on the radio button, the radio button is being checked (or unchecked) on the display, the attribute <code>HTMLInputElement.checked</code> is changed as well, and then the device event type <a href='#events-event-click'>click</a> is being dispatched. If the default action of the device event type is prevented, or if the default action attached to the <a href='#events-event-DOMActivate'>DOMActivate</a> event type is prevented, the property <code>HTMLInputElement.checked</code> will need to be changed back to its original value.</p>
+<p>Implementations could react to an event before dispatching it and do changes on the display and the DOM tree. In such case, if a DOM attribute is changed before the event is fired, cancelling the device event type will also reverse the change. A good example is the attribute <code>HTMLInputElement.checked</code>: as described in [<cite><a class='noxref informative' href='#references-DOM2HTML'>DOM Level 2 HTML</a></cite>], the value of this property may be changed before the dispatch of the event; the user clicks on the radio button, the radio button is being checked (or unchecked) on the display, the attribute <code>HTMLInputElement.checked</code> is changed as well, and then the device event type <a href='#events-event-click'>click</a> is being dispatched. If the default action of the device event type is prevented, or if the default action attached to the <a href='#events-event-DOMActivate'>DOMActivate</a> event type is prevented, the property <code>HTMLInputElement.checked</code> will need to be changed back to its original value.</p>
 </div>
 <!-- div2 Events-flow-cancelation -->
-<div class='div2'><a name='events-Events-flow-activation' id="events-Events-flow-activation"></a>
+<div class='div2'><a name='events-Events-flow-activation' id='events-Events-flow-activation'></a>
 <h2 id='events-Events-flow-activation-h2' class='div2'>1.4 Activation requests and behavior</h2>
 <p>Event targets may have associated <i>activation behavior</i> that implementations perform in response to an <i>activation request</i>. As an example, the typical activiation 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 is the default action 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>
@@ -442,47 +441,283 @@
 <p><b>Note:</b> 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 -->
-<div class='div2'><a name='events-Event-types' id="events-Event-types"></a>
+<div class='div2'><a name='events-Event-types' id='events-Event-types'></a>
 <h2 id='events-Event-types-h2' class='div2'>1.5 Event types</h2>
 <p>Each event is associated with a type, called <i>event type</i>. The event type is 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 no namespace.</p>
-<div class='div3'><a name='events-Events-EventTypes-category' id="events-Events-EventTypes-category"></a>
+<div class='div3'><a name='events-Events-EventTypes-category' id='events-Events-EventTypes-category'></a>
 <h3 id='events-Events-EventTypes-category-h3' class='div3'>1.5.1 Event types and event categories</h3>
 <p>An event type could be part of one or more categories. A category is represented using a <a href='#glossary-dt-localname'>local name</a> and a <a href='#glossary-dt-namespaceURI'>namespace URI</a> as defined in [<cite><a class='noxref normative' href='#references-Namespaces11'>XML Namespaces 1.1</a></cite>]. The event types defined in this specification are not associated with one or more event categories and this specification does not provide methods to associate them. Other specifications may create and associate event categories with event listeners but in such case would need to inform the dispatch mechanism of those event categories. An example of the use of categories is given at <a href='#events-Events-registration-voicexmlevents'>Using VoiceXML Events</a>.</p>
 </div>
 <!-- div3 Events-EventTypes-category -->
-<div class='div3'><a name='events-Events-EventTypes-complete' id="events-Events-EventTypes-complete"></a>
+<div class='div3'><a name='events-Events-EventTypes-complete' id='events-Events-EventTypes-complete'></a>
 <h3 id='events-Events-EventTypes-complete-h3' class='div3'>1.5.2 Complete list of event types</h3>
 <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, and 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 list defines all event types provided in this specification. All event types defined in this specification are in no namespace and the following list only enumerates the local name of the event type.</p>
-<div style='color: red'>(<i><b>ED:</b></i> The events were defined here in the previous version of the document, this note serves as placeholder until all references to this section are updated (including the section itself). Also, the note about focus/blur above is outdated. )</div>
-<p>The following table provides additional information on the event types. All events will accomplish the capture and target phases, but not all of them will accomplish the bubbling phase (see also <a href='#events-Events-flow'>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 will only be dispatched to a specific set of possible targets, specified using node types. Contextual information related to the event type is accessible using DOM interfaces.</p>
-<div style='color: red'>(<i><b>ED:</b></i> This is a placeholder for the event summary table that was included in previous versions of the document. It will likely be re-introduced at some point. )</div>
+<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 will accomplish the capture and target phases, but not all of them will accomplish the bubbling phase (see also <a href='#events-Events-flow'>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 will only be dispatched to a specific set of possible targets, specified using node types. Contextual information related to the event type is accessible using DOM interfaces.</p>
+<table border='1' 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.' cellpadding='0' cellspacing='0'>
+<tr>
+<th rowspan='1' colspan='1'>type</th>
+<th rowspan='1' colspan='1'>Bubbling phase</th>
+<th rowspan='1' colspan='1'>Cancelable</th>
+<th rowspan='1' colspan='1'>Target node types</th>
+<th rowspan='1' colspan='1'>DOM interface</th>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-DOMActivate'>DOMActivate</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-DOMFocusIn'>DOMFocusIn</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-DOMFocusOut'>DOMFocusOut</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-focus'>focus</a></td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-blur'>blur</a></td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-textInput'>textInput</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-TextEvent'><code>TextEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-click'>click</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-mousedown'>mousedown</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-mouseup'>mouseup</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-mouseover'>mouseover</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-mousemove'>mousemove</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-mouseout'>mouseout</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-keydown'>keydown</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-KeyboardEvent'><code>KeyboardEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-keyup'>keyup</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-KeyboardEvent'><code>KeyboardEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-DOMSubtreeModified'>DOMSubtreeModified</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Document</code>, <code>DocumentFragment</code>, <code>Element</code>, <code>Attr</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MutationEvent'><code>MutationEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-DOMNodeInserted'>DOMNodeInserted</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><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 valign='top' rowspan='1' colspan='1'><a href='#events-Events-MutationEvent'><code>MutationEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-DOMNodeRemoved'>DOMNodeRemoved</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><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 valign='top' rowspan='1' colspan='1'><a href='#events-Events-MutationEvent'><code>MutationEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-DOMNodeRemovedFromDocument'>DOMNodeRemovedFromDocument</a></td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><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 valign='top' rowspan='1' colspan='1'><a href='#events-Events-MutationEvent'><code>MutationEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-DOMNodeInsertedIntoDocument'>DOMNodeInsertedIntoDocument</a></td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><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 valign='top' rowspan='1' colspan='1'><a href='#events-Events-MutationEvent'><code>MutationEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-DOMAttrModified'>DOMAttrModified</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MutationEvent'><code>MutationEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-DOMCharacterDataModified'>DOMCharacterDataModified</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Text</code>, <code>Comment</code>, <code>CDATASection</code>, <code>ProcessingInstruction</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MutationEvent'><code>MutationEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-DOMElementNameChanged'>DOMElementNameChanged</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MutationNameEvent'><code>MutationNameEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-DOMAttributeNameChanged'>DOMAttributeNameChanged</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MutationNameEvent'><code>MutationNameEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-load'>load</a></td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Document</code>, <code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-unload'>unload</a></td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Document</code>, <code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-abort'>abort</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-error'>error</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-select'>select</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-change'>change</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-submit'>submit</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-reset'>reset</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-resize'>resize</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Document</code>, <code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-scroll'>scroll</a></td>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+<td valign='top' rowspan='1' colspan='1'><code>Document</code>, <code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a></td>
+</tr>
+</table>
 <p>As an example, the event <a href='#events-event-load'>load</a> will 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 cannot 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 class='div3'><a name='events-Events-dom2-compatibility' id="events-Events-dom2-compatibility"></a>
+<div class='div3'><a name='events-Events-dom2-compatibility' id='events-Events-dom2-compatibility'></a>
 <h3 id='events-Events-dom2-compatibility-h3' class='div3'>1.5.3 Compatibility with DOM Level 2 Events</h3>
-<p><a href='#glossary-dt-namespaceURI'>Namespace URIs</a> were only introduced in DOM Level 3 Events and were not part of DOM Level 2 Events.</p>
-<div style='color: red'>(<i><b>ED:</b></i> This, like all other relevant sections, does not yet reflect the changes to namespaced events the group agreed to. )</div>
-<p>Finally, DOM Level 3 Events considers that the <a href='#events-Events-Event-type'><code>Event.type</code></a> attribute is case-sensitive, while DOM Level 2 Events considers <a class='noxref' href='#events-Events-Event-type'><code>Event.type</code></a> to be case-insensitive.</p>
+<p><a href='#glossary-dt-namespaceURI'>Namespace URIs</a> were only introduced in DOM Level 3 Events and were not part of DOM Level 2 Events. All event types in this specification are defined to be in no namespace, DOM Level 2 methods have been modified to refer to event types in no namespace when adding or removing event listeners and initializing event objects, and new methods have been added to provide equivalent functionality for event types in a namespace. A future draft of this document will provide guidelines on defining new event types.</p>
+<p>DOM Level 3 Events considers the <a href='#events-Events-Event-type'><code>Event.type</code></a> attribute to be case-sensitive, while DOM Level 2 Events considers <a class='noxref' href='#events-Events-Event-type'><code>Event.type</code></a> to be case-insensitive.</p>
 </div>
 <!-- div3 Events-dom2-compatibility --></div>
 <!-- div2 Event-types -->
-<div class='div2'><a name='events-Events-registration' id="events-Events-registration"></a>
+<div class='div2'><a name='events-Events-registration' id='events-Events-registration'></a>
 <h2 id='events-Events-registration-h2' class='div2'>1.6 Event listener registration</h2>
-<p><b>Note:</b> This section is informative.</p>
+<p><b>Note:</b> This section is non-normative.</p>
 <p>There are mainly two ways to associate an event listener to a node in the tree:</p>
 <ol>
 <li>at the programming level using the <a href='#events-Events-EventTarget'><code>EventTarget</code></a> methods.</li>
 <li>at the document level using [<cite><a class='noxref informative' href='#references-XMLEvents'>XML Events</a></cite>] or an ad-hoc syntax, as the ones provided in [<cite><a class='noxref informative' href='#references-XHTML10'>XHTML 1.0</a></cite>] or [<cite><a class='noxref informative' href='#references-SVG1'>SVG 1.1</a></cite>].</li>
 </ol>
-<div class='div3'><a name='events-Events-Registration-interfaces' id="events-Events-Registration-interfaces"></a>
+<div class='div3'><a name='events-Events-Registration-interfaces' id='events-Events-Registration-interfaces'></a>
 <h3 id='events-Events-Registration-interfaces-h3' class='div3'>1.6.1 Using the <a href='#events-Events-EventTarget'><code>EventTarget</code></a> methods</h3>
 <p>The user can attach an event listener using the methods on the <a href='#events-Events-EventTarget'><code>EventTarget</code></a> interface:</p>
 <div class='eg'>
 <pre>
-aCircle.addEventListener("DOMActivate", aListener, true);
+aCircle.addEventListener("DOMActivate", aListener, false);
 </pre></div>
 <p>The methods do not provide the ability to register the same event listener more than once for the same event type and the same phase. It is not possible to register an event listener:</p>
 <ul>
@@ -493,18 +728,18 @@
 <p>An <a href='#events-Events-EventListener'><code>EventListener</code></a> being registered on an <a href='#events-Events-EventTarget'><code>EventTarget</code></a> may choose to have that <a class='noxref' href='#events-Events-EventListener'><code>EventListener</code></a> triggered during the capture phase by specifying the <code>useCapture</code> parameter of the <a href='#events-Events-EventTarget-addEventListener'><code>EventTarget.addEventListener()</code></a> or <a href='#events-Events-EventTargetGroup-addEventListenerNS'><code>EventTarget.addEventListenerNS()</code></a> methods to be <code>true</code>. If <code>false</code>, the <a class='noxref' href='#events-Events-EventListener'><code>EventListener</code></a> will be triggered during the target and bubbling phases.</p>
 </div>
 <!-- div3 Events-Registration-interfaces -->
-<div class='div3'><a name='events-Events-registration-xmlevents' id="events-Events-registration-xmlevents"></a>
+<div class='div3'><a name='events-Events-registration-xmlevents' id='events-Events-registration-xmlevents'></a>
 <h3 id='events-Events-registration-xmlevents-h3' class='div3'>1.6.2 Using XML Events</h3>
 <p>In [<cite><a class='noxref informative' href='#references-XMLEvents'>XML Events</a></cite>], event listeners are attached using elements and attributes:</p>
 <div class='eg'>
 <pre>
 &lt;listener event="DOMActivate" observer="aCircle" handler="#aListener"
-          phase="capture" propagate="stop"/&gt;
+          phase="default" propagate="stop"/&gt;
 </pre></div>
 <p>Event listeners can only be registered on <code>Element</code> nodes, other <code>Node</code> types are not addressable, and cannot be registered for a specific group either, they are always attached to the default group. The <a href='#glossary-dt-target-phase'>target phase</a> and the <a href='#glossary-dt-bubbling-phase'>bubbling phase</a> are coupled during the registration. [<cite><a class='noxref informative' href='#references-XMLEvents'>XML Events</a></cite>] does not address namespaces in event types.</p>
 </div>
 <!-- div3 Events-registration-xmlevents -->
-<div class='div3'><a name='events-Events-registration-voicexmlevents' id="events-Events-registration-voicexmlevents"></a>
+<div class='div3'><a name='events-Events-registration-voicexmlevents' id='events-Events-registration-voicexmlevents'></a>
 <h3 id='events-Events-registration-voicexmlevents-h3' class='div3'>1.6.3 Using VoiceXML Events</h3>
 <p>In [<cite><a class='noxref informative' href='#references-VoiceXML20'>VoiceXML 2.0</a></cite>], event listeners are attached using elements:</p>
 <div class='eg'>
@@ -530,7 +765,7 @@
 <p>Event listeners can only be registered on <code>Element</code> nodes, other <code>Node</code> types are not addressable, and cannot be registered for a specific group either, they are always attached to the default group. The <a href='#glossary-dt-target-phase'>target phase</a> and the <a href='#glossary-dt-bubbling-phase'>bubbling phase</a> are coupled during the registration. [<cite><a class='noxref informative' href='#references-VoiceXML20'>VoiceXML 2.0</a></cite>] does not address namespaces in event types but uses the notion of event categories. The event type <code>"connection.disconnect.hangup"</code> could be associated to the event categories <code>{"http://www.example.org/2003/voicexml", "connection"}</code> and <code>{"http://www.example.org/2003/voicexml", "connection.disconnect"}</code>.</p>
 </div>
 <!-- div3 Events-registration-voicexmlevents -->
-<div class='div3'><a name='events-Events-registration-html40' id="events-Events-registration-html40"></a>
+<div class='div3'><a name='events-Events-registration-html40' id='events-Events-registration-html40'></a>
 <h3 id='events-Events-registration-html40-h3' class='div3'>1.6.4 Using XML or HTML attributes</h3>
 <p>In languages such as [<cite><a class='noxref informative' href='#references-HTML40'>HTML 4.01</a></cite>], [<cite><a class='noxref informative' href='#references-XHTML10'>XHTML 1.0</a></cite>], or [<cite><a class='noxref informative' href='#references-SVG1'>SVG 1.1</a></cite>], event listeners are specified as attributes:</p>
 <div class='eg'>
@@ -539,15 +774,14 @@
         cx="300" cy="225" r="100" fill="red"/&gt;
 </pre></div>
 <p>Since only one attribute with the same name can appear on an element, it is not possible to register more than one event listener on a single <a href='#events-Events-EventTarget'><code>EventTarget</code></a> for the event type. Also, event listeners can only be registered on <code>Element</code> nodes for the <a href='#glossary-dt-target-phase'>target phase</a> and <a href='#glossary-dt-bubbling-phase'>bubbling phase</a>, other <code>Node</code> types and the <a href='#glossary-dt-capture-phase'>capture phase</a> are not addressable with these languages. Event listeners cannot be registered for a specific group either, they are always attached to the default group.</p>
-<p>In order to achieve compatibility with those languages, implementors may view the setting of attributes which represent event handlers as the creation and registration of an <code>EventListener</code> on the <a href='#events-Events-EventTarget'><code>EventTarget</code></a>. The value of <code>useCapture</code> defaults to <code>false</code>. This <a href='#events-Events-EventListener'><code>EventListener</code></a> behaves in the same manner as any other <a class='noxref' href='#events-Events-EventListener'><code>EventListeners</code></a> which may be registered on the <a class='noxref' href='#events-Events-EventTarget'><code>EventTarget</code></a>. If the attribute representing the event listener is changed, this may be viewed as the removal of the previously registered <a class='noxref' href='#events-Events-EventListener'><code>EventListener</code></a> and the registration of a new one. Furthermore, no specification is made as to the order in which event attributes will receive the event with regards to the other <a class='noxref' href='#events-Events-EventListener'><code>EventListeners</code></a> on the <a class='noxref' href='#events-Events-EventTarget'><code>EventTarget</code></a>.</p>
 </div>
 <!-- div3 Events-registration-html40 --></div>
 <!-- div2 Events-registration -->
-<div class='div2'><a name='events-Events-interface' id="events-Events-interface"></a>
+<div class='div2'><a name='events-Events-interface' id='events-Events-interface'></a>
 <h2 id='events-Events-interface-h2' class='div2'>1.7 Basic interfaces</h2>
 <p>The interfaces described in this section are fundamental to DOM Level 3 Events and must always be supported by the implementation.</p>
 <dl>
-<dt><b>Interface <i><a name='events-Events-Event' id="events-Events-Event">Event</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</dt>
+<dt><b>Interface <i><a name='events-Events-Event' id='events-Events-Event'>Event</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</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 is passed as the parameter to an <a href='#events-Events-EventListener'><code>EventListener</code></a>. More specific context information is passed to event listeners by deriving additional interfaces from <code>Event</code> which contain information directly relating to the type of event they represent. These derived interfaces are also implemented by the object passed to the event listener.</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>
@@ -591,18 +825,18 @@
 };
 </pre></div>
 <br /></dd>
-<dt><b>Definition group <i><a name='events-Events-Event-eventPhaseType' id="events-Events-Event-eventPhaseType">PhaseType</a></i></b></dt>
+<dt><b>Definition group <i><a name='events-Events-Event-eventPhaseType' id='events-Events-Event-eventPhaseType'>PhaseType</a></i></b></dt>
 <dd>
 <p>An integer indicating which phase of the event flow is being processed as defined in <a href='#events-Events-flow'>DOM event flow</a>.</p>
 <dl>
 <dt><b>Defined Constants</b></dt>
 <dd>
 <dl>
-<dt><a name='events-AT_TARGET' id="events-AT_TARGET"><code class='constant-name'>AT_TARGET</code></a></dt>
+<dt><a name='events-AT_TARGET' id='events-AT_TARGET'><code class='constant-name'>AT_TARGET</code></a></dt>
 <dd>The current event is in the <a href='#glossary-dt-capture-phase'>target phase</a>, i.e. it is being evaluated at the <a href='#glossary-dt-event-target'>event target</a>.</dd>
-<dt><a name='events-BUBBLING_PHASE' id="events-BUBBLING_PHASE"><code class='constant-name'>BUBBLING_PHASE</code></a></dt>
+<dt><a name='events-BUBBLING_PHASE' 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>
-<dt><a name='events-CAPTURING_PHASE' id="events-CAPTURING_PHASE"><code class='constant-name'>CAPTURING_PHASE</code></a></dt>
+<dt><a name='events-CAPTURING_PHASE' 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>
 </dl>
 </dd>
@@ -611,31 +845,31 @@
 <dt><b>Attributes</b></dt>
 <dd>
 <dl>
-<dt><code class='attribute-name'><a name='events-Events-Event-canBubble' id="events-Events-Event-canBubble">bubbles</a></code> of type <code>boolean</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-Event-canBubble' 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 is <code>true</code>, otherwise the value is <code>false</code>.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-Event-canCancel' id="events-Events-Event-canCancel">cancelable</a></code> of type <code>boolean</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-Event-canCancel' 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 default action prevented (see also <a href='#events-Events-flow-cancelation'>Default actions and cancelable events</a>). If the default action can be prevented the value is <code>true</code>, otherwise the value is <code>false</code>.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-Event-currentTarget' id="events-Events-Event-currentTarget">currentTarget</a></code> of type <a href='#events-Events-EventTarget'><code>EventTarget</code></a>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-Event-currentTarget' 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. This attribute could contain the <a href='#glossary-dt-target-node'>target node</a> or a target ancestor when used with the <a href='#events-Events-flow'>DOM event flow</a>.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-Event-defaultPrevented' id="events-Events-Event-defaultPrevented">defaultPrevented</a></code> of type <code>boolean</code>, readonly, introduced in <b class='version'>DOM Level 3</b></dt>
+<dt><code class='attribute-name'><a name='events-Events-Event-defaultPrevented' id='events-Events-Event-defaultPrevented'>defaultPrevented</a></code> of type <code>boolean</code>, readonly, introduced in <b class='version'>DOM Level 3</b></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 name='events-Events-Event-eventPhase' id="events-Events-Event-eventPhase">eventPhase</a></code> of type <code>unsigned short</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-Event-eventPhase' 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 name='events-Events-Event-namespaceURI' id="events-Events-Event-namespaceURI">namespaceURI</a></code> of type <code>DOMString</code>, readonly, introduced in <b class='version'>DOM Level 3</b></dt>
+<dt><code class='attribute-name'><a name='events-Events-Event-namespaceURI' id='events-Events-Event-namespaceURI'>namespaceURI</a></code> of type <code>DOMString</code>, readonly, introduced in <b class='version'>DOM Level 3</b></dt>
 <dd>The <a href='#glossary-dt-namespaceURI'>namespace URI</a> associated with this event at creation time, or <code>null</code> if it is unspecified.<br />
 For events initialized with a DOM Level 2 Events method, such as <a href='#events-Events-Event-initEvent'><code>Event.initEvent()</code></a>, this is always <code>null</code>.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-Event-target' id="events-Events-Event-target">target</a></code> of type <a href='#events-Events-EventTarget'><code>EventTarget</code></a>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-Event-target' 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'>DOM event flow</a>.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-Event-timeStamp' id="events-Events-Event-timeStamp">timeStamp</a></code> of type <code>DOMTimeStamp</code>, readonly</dt>
-<dd>Used to specify the time (in milliseconds relative to the epoch) at which the event was created. 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, a value of <code>0</code> will be returned. Examples of epoch time are the time of the system start or 0:0:0 UTC 1st January 1970.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-Event-type' id="events-Events-Event-type">type</a></code> of type <code>DOMString</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-Event-timeStamp' 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 is <code>0</code>.<br /></dd>
+<dt><code class='attribute-name'><a name='events-Events-Event-type' 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 is case-sensitive.<br /></dd>
 </dl>
 </dd>
 <dt><b>Methods</b></dt>
 <dd>
 <dl>
-<dt><code class='method-name'><a name='events-Events-Event-initEvent' id="events-Events-Event-initEvent">initEvent</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-Event-initEvent' id='events-Events-Event-initEvent'>initEvent</a></code></dt>
 <dd>
 <div class='method'>The <code>initEvent</code> method is used to initialize the value 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.
@@ -656,7 +890,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-Event-initEventNS' id="events-Events-Event-initEventNS">initEventNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
+<dt><code class='method-name'><a name='events-Events-Event-initEventNS' id='events-Events-Event-initEventNS'>initEventNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
 <dd>
 <div class='method'>The <code>initEventNS</code> method is used to initialize the value of an <code>Event</code> object and has the same behavior as <a href='#events-Events-Event-initEvent'><code>Event.initEvent()</code></a>.
 <div class='parameters'><b>Parameters</b>
@@ -678,7 +912,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-Event-preventDefault' id="events-Events-Event-preventDefault">preventDefault</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-Event-preventDefault' id='events-Events-Event-preventDefault'>preventDefault</a></code></dt>
 <dd>
 <div class='method'>If an event is cancelable, the <code>preventDefault</code> method is used to signify that the event is to be canceled, meaning any default action normally taken by the implementation as a result of the event will not occur (see also <a href='#events-Events-flow-cancelation'>Default actions and cancelable events</a>), and thus independently of event groups. Calling this method for a non-cancelable event has no effect.
 <p><b>Note:</b> 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>
@@ -687,7 +921,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-Event-stopImmediatePropagation' id="events-Events-Event-stopImmediatePropagation">stopImmediatePropagation</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
+<dt><code class='method-name'><a name='events-Events-Event-stopImmediatePropagation' id='events-Events-Event-stopImmediatePropagation'>stopImmediatePropagation</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
 <dd>
 <div class='method'>This method is used to prevent event listeners of the same group to be triggered and, unlike <a href='#events-Events-Event-stopPropagation'><code>Event.stopPropagation()</code></a> its effect is immediate (see <a href='#events-Events-propagation-and-groups'>Event propagation and event groups</a>). Once it has been called, further calls to that method have no additional effect.
 <p><b>Note:</b> This method does not prevent the default action from being invoked; use <a href='#events-Events-Event-preventDefault'><code>Event.preventDefault()</code></a> for that effect.</p>
@@ -696,7 +930,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-Event-stopPropagation' id="events-Events-Event-stopPropagation">stopPropagation</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-Event-stopPropagation' id='events-Events-Event-stopPropagation'>stopPropagation</a></code></dt>
 <dd>
 <div class='method'>This method is used to prevent event listeners of the same group to be triggered but its effect is deferred until all event listeners attached on the <a href='#events-Events-Event-currentTarget'><code>Event.currentTarget</code></a> have been triggered (see <a href='#events-Events-propagation-and-groups'>Event propagation and event groups</a>). Once it has been called, further calls to that method have no additional effect.
 <p><b>Note:</b> This method does not prevent the default action from being invoked; use <a href='#events-Events-Event-preventDefault'><code>Event.preventDefault()</code></a> for that effect.</p>
@@ -709,9 +943,9 @@
 </dd>
 </dl>
 </dd>
-<dt><b>Interface <i><a name='events-Events-CustomEvent' id="events-Events-CustomEvent">CustomEvent</a></i></b> (introduced in <b class='since'>DOM Level 3</b>)</dt>
+<dt><b>Interface <i><a name='events-Events-CustomEvent' id='events-Events-CustomEvent'>CustomEvent</a></i></b> (introduced in <b class='since'>DOM Level 3</b>)</dt>
 <dd>
-<p>The CustomEvent interface is the recommended interface for application-specific event types. Unlike the Event interface it allows applications to provide contextual information about the event type.</p>
+<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 />
@@ -733,14 +967,14 @@
 <dt><b>Attributes</b></dt>
 <dd>
 <dl>
-<dt><code class='attribute-name'><a name='events-Events-CustomEvent-detail' id="events-Events-CustomEvent-detail">detail</a></code> of type <code>DOMObject</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-CustomEvent-detail' 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><b>Methods</b></dt>
 <dd>
 <dl>
-<dt><code class='method-name'><a name='events-Events-Event-initCustomEventNS' id="events-Events-Event-initCustomEventNS">initCustomEventNS</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-Event-initCustomEventNS' id='events-Events-Event-initCustomEventNS'>initCustomEventNS</a></code></dt>
 <dd>
 <div class='method'>The <code>initCustomEventNS</code> method is used to initialize the value of a <code>CustomEvent</code> object and has the same behavior as <a href='#events-Events-Event-initEventNS'><code>Event.initEventNS()</code></a>.
 <div class='parameters'><b>Parameters</b>
@@ -768,11 +1002,11 @@
 </dd>
 </dl>
 </dd>
-<dt><b>Interface <i><a name='events-Events-EventTarget' id="events-Events-EventTarget">EventTarget</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</dt>
+<dt><b>Interface <i><a name='events-Events-EventTarget' id='events-Events-EventTarget'>EventTarget</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</dt>
 <dd>
 <p>The <code>EventTarget</code> interface is implemented by all the objects which could be <a href='#glossary-dt-event-target'>event targets</a> in an implementation which supports the <a href='#events-Events-flows'>Event flows</a>. The interface allows registration and removal of event listeners, and dispatch of events to an event target.</p>
 <p>When used with <a href='#events-Events-flow'>DOM event flow</a>, this interface is 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>Invoking <code>addEventListener</code> or <code>addEventListenerNS</code> multiple times on the same <code>EventTarget</code> with the same parameters (<code>namespaceURI</code>, <code>type</code>, <code>listener</code>, and <code>useCapture</code>) is considered to be a no-op and thus independently of the event group. They do not cause the <a href='#events-Events-EventListener'><code>EventListener</code></a> to be called more than once and do not cause a change in the triggering order. In order to guarantee that an event listener will be added to the event target for the specified event group, one needs to invoke <code>removeEventListener</code> or <code>removeEventListenerNS</code> first.</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. In order to register a listener for a different event group (<a href='#events-Event-groups'>Event groups</a>) the previously registered listener has to be removed first.</p>
 <dl>
 <dt><br />
 <b>IDL Definition</b></dt>
@@ -808,9 +1042,9 @@
 <dt><b>Methods</b></dt>
 <dd>
 <dl>
-<dt><code class='method-name'><a name='events-Events-EventTarget-addEventListener' id="events-Events-EventTarget-addEventListener">addEventListener</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-EventTarget-addEventListener' id='events-Events-EventTarget-addEventListener'>addEventListener</a></code></dt>
 <dd>
-<div class='method'>This method allows the registration of an event listener in the default group and, depending on the <code>useCapture</code> parameter, on the capture phase of the DOM event flow or its target and bubbling phases.
+<div class='method'>This method allows the registration of an event listener in the default group and, 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 is 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 parameters <code>namespaceURI</code> and <code>evtGroup</code>.
 <div class='parameters'><b>Parameters</b>
 <div class='paramtable'>
 <dl>
@@ -828,7 +1062,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-EventTargetGroup-addEventListenerNS' id="events-Events-EventTargetGroup-addEventListenerNS">addEventListenerNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
+<dt><code class='method-name'><a name='events-Events-EventTargetGroup-addEventListenerNS' id='events-Events-EventTargetGroup-addEventListenerNS'>addEventListenerNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
 <dd>
 <div class='method'>This method allows the registration of an event listener in a specified group or the default group and, 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'><b>Parameters</b>
@@ -852,7 +1086,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-EventTarget-dispatchEvent' id="events-Events-EventTarget-dispatchEvent">dispatchEvent</a></code> modified in <b class='version'>DOM Level 3</b></dt>
+<dt><code class='method-name'><a name='events-Events-EventTarget-dispatchEvent' id='events-Events-EventTarget-dispatchEvent'>dispatchEvent</a></code> modified in <b class='version'>DOM Level 3</b></dt>
 <dd>
 <div class='method'>This method allows the dispatch of events into the implementation's event model. The <a href='#glossary-dt-event-target'>event target</a> of the event is the <code>EventTarget</code> object on which <code>dispatchEvent</code> is called.
 <div class='parameters'><b>Parameters</b>
@@ -905,10 +1139,10 @@
 </div>
 <!-- exceptions --></div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-EventTarget-removeEventListener' id="events-Events-EventTarget-removeEventListener">removeEventListener</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-EventTarget-removeEventListener' id='events-Events-EventTarget-removeEventListener'>removeEventListener</a></code></dt>
 <dd>
-<div class='method'>This method allows the removal of event listeners from the default group.<br />
-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.
+<div class='method'>This method allows the removal of event listeners from the default group. 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 is <code>null</code>.
+<p><b>Note:</b> Event listeners registered for other event groups than the default group cannot be removed using this method; see <a href='#events-Events-EventTargetGroup-removeEventListenerNS'><code>EventTarget.removeEventListenerNS()</code></a> for that effect.</p>
 <div class='parameters'><b>Parameters</b>
 <div class='paramtable'>
 <dl>
@@ -926,10 +1160,9 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-EventTargetGroup-removeEventListenerNS' id="events-Events-EventTargetGroup-removeEventListenerNS">removeEventListenerNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
+<dt><code class='method-name'><a name='events-Events-EventTargetGroup-removeEventListenerNS' id='events-Events-EventTargetGroup-removeEventListenerNS'>removeEventListenerNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
 <dd>
-<div class='method'>This method allows the removal of an event listener, independently of the associated event group.<br />
-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='method'>This method allows the removal of an event listener, independently of the associated event group. 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'><b>Parameters</b>
 <div class='paramtable'>
 <dl>
@@ -953,7 +1186,7 @@
 </dd>
 </dl>
 </dd>
-<dt><b>Interface <i><a name='events-Events-EventListener' id="events-Events-EventListener">EventListener</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</dt>
+<dt><b>Interface <i><a name='events-Events-EventListener' id='events-Events-EventListener'>EventListener</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</dt>
 <dd>
 <p>The <code>EventListener</code> interface is the primary way for handling events. Users 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>Copying a <code>Node</code>, with methods such as <code>Node.cloneNode</code> or <code>Range.cloneContents</code>, does not copy the event listeners attached to it. Event listeners must be attached to the newly created <code>Node</code> afterwards if so desired.</p>
@@ -973,7 +1206,7 @@
 <dt><b>Methods</b></dt>
 <dd>
 <dl>
-<dt><code class='method-name'><a name='events-Events-EventListener-handleEvent' id="events-Events-EventListener-handleEvent">handleEvent</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-EventListener-handleEvent' id='events-Events-EventListener-handleEvent'>handleEvent</a></code></dt>
 <dd>
 <div class='method'>This method is called whenever an event occurs of the event type for which the <code>EventListener</code> interface was registered.
 <div class='parameters'><b>Parameters</b>
@@ -993,7 +1226,7 @@
 </dd>
 </dl>
 </dd>
-<dt><b>Exception <i><a name='events-Events-EventException' id="events-Events-EventException">EventException</a></i></b> introduced in <b class='version'>DOM Level 2</b></dt>
+<dt><b>Exception <i><a name='events-Events-EventException' id='events-Events-EventException'>EventException</a></i></b> introduced in <b class='version'>DOM Level 2</b></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>
@@ -1012,16 +1245,16 @@
 const unsigned short      <a class='noxref' href='#events-DISPATCH_REQUEST_ERR'>DISPATCH_REQUEST_ERR</a>           = 1;
 </pre></div>
 <br /></dd>
-<dt><b>Definition group <i><a name='events-Events-EventException-EventExceptionCode' id="events-Events-EventException-EventExceptionCode">EventExceptionCode</a></i></b></dt>
+<dt><b>Definition group <i><a name='events-Events-EventException-EventExceptionCode' id='events-Events-EventException-EventExceptionCode'>EventExceptionCode</a></i></b></dt>
 <dd>
 <p>An integer indicating the type of error generated.</p>
 <dl>
 <dt><b>Defined Constants</b></dt>
 <dd>
 <dl>
-<dt><a name='events-DISPATCH_REQUEST_ERR' id="events-DISPATCH_REQUEST_ERR"><code class='constant-name'>DISPATCH_REQUEST_ERR</code></a>, introduced in <b class='version'>DOM Level 3</b>.</dt>
+<dt><a name='events-DISPATCH_REQUEST_ERR' id='events-DISPATCH_REQUEST_ERR'><code class='constant-name'>DISPATCH_REQUEST_ERR</code></a>, introduced in <b class='version'>DOM Level 3</b>.</dt>
 <dd>If the <a href='#events-Events-Event'><code>Event</code></a> object is already dispatched in the tree.</dd>
-<dt><a name='events-UNSPECIFIED_EVENT_TYPE_ERR' id="events-UNSPECIFIED_EVENT_TYPE_ERR"><code class='constant-name'>UNSPECIFIED_EVENT_TYPE_ERR</code></a></dt>
+<dt><a name='events-UNSPECIFIED_EVENT_TYPE_ERR' 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 will also trigger this exception.</dd>
 </dl>
 </dd>
@@ -1030,13 +1263,12 @@
 </dl>
 </dd>
 </dl>
-<div class='div3'><a name='events-Events-document' id="events-Events-document"></a>
+<div class='div3'><a name='events-Events-document' id='events-Events-document'></a>
 <h3 id='events-Events-document-h3' class='div3'>1.7.1 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 is thrown.</p>
-<div style='color: red'>(<i><b>ED:</b></i> Perhaps say something about custom events here; depends on what the upcoming text on event naming says... )</div>
 <dl>
-<dt><b>Interface <i><a name='events-Events-DocumentEvent' id="events-Events-DocumentEvent">DocumentEvent</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</dt>
+<dt><b>Interface <i><a name='events-Events-DocumentEvent' id='events-Events-DocumentEvent'>DocumentEvent</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</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>
@@ -1058,7 +1290,7 @@
 <dt><b>Methods</b></dt>
 <dd>
 <dl>
-<dt><code class='method-name'><a name='events-Events-DocumentEvent-canDispatch' id="events-Events-DocumentEvent-canDispatch">canDispatch</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
+<dt><code class='method-name'><a name='events-Events-DocumentEvent-canDispatch' id='events-Events-DocumentEvent-canDispatch'>canDispatch</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
 <dd>
 <div class='method'>Test if the implementation can generate events of a specified type.
 <div class='parameters'><b>Parameters</b>
@@ -1090,7 +1322,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-DocumentEvent-createEvent' id="events-Events-DocumentEvent-createEvent">createEvent</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-DocumentEvent-createEvent' id='events-Events-DocumentEvent-createEvent'>createEvent</a></code></dt>
 <dd>
 <div class='method'>
 <div class='parameters'><b>Parameters</b>
@@ -1144,14 +1376,14 @@
 </div>
 <!-- div3 Events-document --></div>
 <!-- div2 Events-interface -->
-<div class='div2'><a name='events-Events-eventgroupings' id="events-Events-eventgroupings"></a>
+<div class='div2'><a name='events-Events-eventgroupings' id='events-Events-eventgroupings'></a>
 <h2 id='events-Events-eventgroupings-h2' class='div2'>1.8 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. The DOM will 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'><a name='events-Events-eventgroupings-uievents' id="events-Events-eventgroupings-uievents"></a>
+<div class='div3'><a name='events-Events-eventgroupings-uievents' id='events-Events-eventgroupings-uievents'></a>
 <h3 id='events-Events-eventgroupings-uievents-h3' class='div3'>1.8.1 User Interface event types</h3>
 <p>The User Interface event module contains basic event types associated with user interfaces.</p>
 <dl>
-<dt><b>Interface <i><a name='events-Events-UIEvent' id="events-Events-UIEvent">UIEvent</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</dt>
+<dt><b>Interface <i><a name='events-Events-UIEvent' id='events-Events-UIEvent'>UIEvent</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</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>
@@ -1183,16 +1415,16 @@
 <dt><b>Attributes</b></dt>
 <dd>
 <dl>
-<dt><code class='attribute-name'><a name='events-Events-UIEvent-detail' id="events-Events-UIEvent-detail">detail</a></code> of type <code>long</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-UIEvent-detail' 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 name='events-Events-UIEvent-view' id="events-Events-UIEvent-view">view</a></code> of type <code>views::AbstractView</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-UIEvent-view' 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><b>Methods</b></dt>
 <dd>
 <dl>
-<dt><code class='method-name'><a name='events-Events-Event-initUIEvent' id="events-Events-Event-initUIEvent">initUIEvent</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-Event-initUIEvent' id='events-Events-Event-initUIEvent'>initUIEvent</a></code></dt>
 <dd>
 <div class='method'>The <code>initUIEvent</code> method is used to initialize the value of a <code>UIEvent</code> object and has the same behavior as <a href='#events-Events-Event-initEvent'><code>Event.initEvent()</code></a>.
 <div class='parameters'><b>Parameters</b>
@@ -1216,7 +1448,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-Event-initUIEventNS' id="events-Events-Event-initUIEventNS">initUIEventNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
+<dt><code class='method-name'><a name='events-Events-Event-initUIEventNS' id='events-Events-Event-initUIEventNS'>initUIEventNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
 <dd>
 <div class='method'>The <code>initUIEventNS</code> method is used to initialize the value of a <code>UIEvent</code> object and has the same behavior as <a href='#events-Events-Event-initEventNS'><code>Event.initEventNS()</code></a>.
 <div class='parameters'><b>Parameters</b>
@@ -1247,11 +1479,10 @@
 </dl>
 </dd>
 </dl>
-<p>The User Interface event types are listed below. A DOM application may use the <code>hasFeature(feature, version)</code> method of the <code>DOMImplementation</code> interface with parameter values <code>"UIEvents"</code> and <code>"3.0"</code> (respectively) to determine whether or not the DOM Level 3 User Interface event module are supported by the implementation. In order to fully support this module, an implementation must also support the <code>"Events"</code> feature defined in this specification and the <code>"Views"</code> feature defined in the DOM Level 2 Views specification [<cite><a class='noxref normative' href='#references-DOM2Views'>DOM Level 2 Views</a></cite>]. 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 informative' href='#references-DOMCore'>DOM Level 3 Core</a></cite>].</p>
-<p><b>Note:</b> The DOM Level 3 User Interface Events module does not include the event types <code>DOMFocusIn</code> and <code>DOMFocusOut</code> defined in [<cite><a class='noxref normative' href='#references-DOM2Events'>DOM Level 2 Events</a></cite>]. This implies that a DOM Level 3 User Interface Events implementation where <code>hasFeature("UIEvents", "3.0")</code> returns <code>true</code> does not necessarily return <code>true</code> when the <code>version</code> number is <code>"2.0"</code>.</p>
+<p>The User Interface event types are listed below. A DOM application may use the <code>hasFeature(feature, version)</code> method of the <code>DOMImplementation</code> interface with parameter values <code>"UIEvents"</code> and <code>"3.0"</code> (respectively) to determine whether or not the DOM Level 3 User Interface event module are supported by the implementation. In order to fully support this module, an implementation must also support the <code>"Events"</code> feature defined in this specification and the <code>"Views"</code> feature defined in the DOM Level 2 Views specification [<cite><a class='noxref normative' href='#references-DOM2Views'>DOM Level 2 Views</a></cite>]. 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 informative' href='#references-DOMCore'>DOM Level 3 Core</a></cite>]. The DOM Level 3 User Interface Events module is built on top of the DOM Level 2 User Interface Events [<cite><a class='noxref normative' href='#references-DOM2Events'>DOM Level 2 Events</a></cite>] module, i.e. a DOM Level 3 User Interface Events implementation where <code>hasFeature("UIEvents", "3.0")</code> returns <code>true</code> must also return <code>true</code> when the <code>version</code> number is <code>"2.0"</code>, <code>""</code> or, <code>null</code>.</p>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-DOMActivate' id="events-event-DOMActivate"></a><a class='noxref' href='#events-event-DOMActivate'>DOMActivate</a></dt>
+<dt><a name='events-event-DOMActivate' id='events-event-DOMActivate'></a><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>
@@ -1288,7 +1519,81 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-focus' id="events-event-focus"></a><a class='noxref' href='#events-event-focus'>focus</a></dt>
+<dt><a name='events-event-DOMFocusIn' id='events-event-DOMFocusIn'></a><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>
+<th rowspan='1' colspan='1'>Type</th>
+<td bgcolor='#CFCFCF' rowspan='1' colspan='1'><b><code>DOMFocusIn</code></b></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Namespace</th>
+<td valign='top' rowspan='1' colspan='1'><code>http://www.w3.org/2001/xml-events</code></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Interface</th>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Cancelable</th>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Bubbles</th>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Target</th>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Context info</th>
+<td valign='top' rowspan='1' colspan='1'><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 is given to the element before the dispatch of this event type. This event type is dispatched after the event type <a href='#events-event-focus'>focus</a>.</dd>
+</dl>
+</div>
+<div class='event-definition'>
+<dl>
+<dt><a name='events-event-DOMFocusOut' id='events-event-DOMFocusOut'></a><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>
+<th rowspan='1' colspan='1'>Type</th>
+<td bgcolor='#CFCFCF' rowspan='1' colspan='1'><b><code>DOMFocusOut</code></b></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Namespace</th>
+<td valign='top' rowspan='1' colspan='1'><code>http://www.w3.org/2001/xml-events</code></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Interface</th>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Cancelable</th>
+<td valign='top' rowspan='1' colspan='1'>No</td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Bubbles</th>
+<td valign='top' rowspan='1' colspan='1'>Yes</td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Target</th>
+<td valign='top' rowspan='1' colspan='1'>Element</td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Context info</th>
+<td valign='top' rowspan='1' colspan='1'><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 is taken from the element before the dispatch of this event type. This event type is dispatched after the event type <a href='#events-event-blur'>blur</a>.</dd>
+</dl>
+</div>
+<div class='event-definition'>
+<dl>
+<dt><a name='events-event-focus' id='events-event-focus'></a><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>
@@ -1325,7 +1630,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-blur' id="events-event-blur"></a><a class='noxref' href='#events-event-blur'>blur</a></dt>
+<dt><a name='events-event-blur' id='events-event-blur'></a><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>
@@ -1357,16 +1662,16 @@
 <td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> is in use.</td>
 </tr>
 </table>
-A <a href='#glossary-dt-event-target'>event target</a> loses focus. The focus is taken from the element before the dispatch of this event type.</dd>
+An <a href='#glossary-dt-event-target'>event target</a> loses focus. The focus is taken from the element before the dispatch of this event type.</dd>
 </dl>
 </div>
 </div>
 <!-- div3 Events-eventgroupings-uievents -->
-<div class='div3'><a name='events-Events-TextEvents-Interfaces' id="events-Events-TextEvents-Interfaces"></a>
+<div class='div3'><a name='events-Events-TextEvents-Interfaces' id='events-Events-TextEvents-Interfaces'></a>
 <h3 id='events-Events-TextEvents-Interfaces-h3' class='div3'>1.8.2 Text events types</h3>
 <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='#events-event-textInput'>textInput</a> applies only to characters and is designed for use with any text input devices, not just keyboards. Refer to Appendix A, "<a href='#keyset-KeySet'>Keyboard events and key identifiers</a>", for examples on how text events are used in combination with keyboard events.</p>
 <dl>
-<dt><b>Interface <i><a name='events-Events-TextEvent' id="events-Events-TextEvent">TextEvent</a></i></b> (introduced in <b class='since'>DOM Level 3</b>)</dt>
+<dt><b>Interface <i><a name='events-Events-TextEvent' id='events-Events-TextEvent'>TextEvent</a></i></b> (introduced in <b class='since'>DOM Level 3</b>)</dt>
 <dd>
 <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>
@@ -1396,14 +1701,14 @@
 <dt><b>Attributes</b></dt>
 <dd>
 <dl>
-<dt><code class='attribute-name'><a name='events-Events-UIEvent-data' id="events-Events-UIEvent-data">data</a></code> of type <code>DOMString</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-UIEvent-data' id='events-Events-UIEvent-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 <i>NFC</i>, 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>
 </dl>
 </dd>
 <dt><b>Methods</b></dt>
 <dd>
 <dl>
-<dt><code class='method-name'><a name='events-Events-Event-initTextEvent' id="events-Events-Event-initTextEvent">initTextEvent</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-Event-initTextEvent' id='events-Events-Event-initTextEvent'>initTextEvent</a></code></dt>
 <dd>
 <div class='method'>The <code>initTextEvent</code> method is used to initialize the value of a <code>TextEvent</code> object and has the same behavior as <a href='#events-Events-Event-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'><b>Parameters</b>
@@ -1427,7 +1732,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-Event-initTextEventNS' id="events-Events-Event-initTextEventNS">initTextEventNS</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-Event-initTextEventNS' id='events-Events-Event-initTextEventNS'>initTextEventNS</a></code></dt>
 <dd>
 <div class='method'>The <code>initTextEventNS</code> method is used to initialize the value of a <code>TextEvent</code> object and has the same behavior as <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a>. The value of <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> remains undefined.
 <div class='parameters'><b>Parameters</b>
@@ -1461,7 +1766,7 @@
 <p>The text event type is listed below. A DOM application may use the <code>hasFeature(feature, version)</code> method of the <code>DOMImplementation</code> interface with parameter values <code>"TextEvents"</code> and <code>"3.0"</code> (respectively) to determine whether or not the Text event module is supported by the implementation. In order to fully support this module, an implementation must also support the <code>"UIEvents"</code> feature defined in this specification. 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 informative' href='#references-DOMCore'>DOM Level 3 Core</a></cite>].</p>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-textInput' id="events-event-textInput"></a><a class='noxref' href='#events-event-textInput'>textInput</a></dt>
+<dt><a name='events-event-textInput' id='events-event-textInput'></a><a class='noxref' href='#events-event-textInput'>textInput</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -1498,11 +1803,11 @@
 </div>
 </div>
 <!-- div3 Events-TextEvents-Interfaces -->
-<div class='div3'><a name='events-Events-eventgroupings-mouseevents' id="events-Events-eventgroupings-mouseevents"></a>
+<div class='div3'><a name='events-Events-eventgroupings-mouseevents' id='events-Events-eventgroupings-mouseevents'></a>
 <h3 id='events-Events-eventgroupings-mouseevents-h3' class='div3'>1.8.3 Mouse event types</h3>
 <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><b>Interface <i><a name='events-Events-MouseEvent' id="events-Events-MouseEvent">MouseEvent</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</dt>
+<dt><b>Interface <i><a name='events-Events-MouseEvent' id='events-Events-MouseEvent'>MouseEvent</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</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 theirs descendent elements.</p>
@@ -1563,36 +1868,36 @@
 <dt><b>Attributes</b></dt>
 <dd>
 <dl>
-<dt><code class='attribute-name'><a name='events-Events-MouseEvent-altKey' id="events-Events-MouseEvent-altKey">altKey</a></code> of type <code>boolean</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MouseEvent-altKey' id='events-Events-MouseEvent-altKey'>altKey</a></code> of type <code>boolean</code>, readonly</dt>
 <dd><code>true</code> if the alt (alternative) key modifier is activated.
 <p><b>Note:</b> The Option key modifier on Macintosh systems must be represented using this key modifier.</p>
 </dd>
-<dt><code class='attribute-name'><a name='events-Events-MouseEvent-button' id="events-Events-MouseEvent-button">button</a></code> of type <code>unsigned short</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MouseEvent-button' 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> is 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 name='events-Events-MouseEvent-clientX' id="events-Events-MouseEvent-clientX">clientX</a></code> of type <code>long</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MouseEvent-clientX' 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 DOM implementation's client area.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-MouseEvent-clientY' id="events-Events-MouseEvent-clientY">clientY</a></code> of type <code>long</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MouseEvent-clientY' 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 DOM implementation's client area.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-MouseEvent-ctrlKey' id="events-Events-MouseEvent-ctrlKey">ctrlKey</a></code> of type <code>boolean</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MouseEvent-ctrlKey' id='events-Events-MouseEvent-ctrlKey'>ctrlKey</a></code> of type <code>boolean</code>, readonly</dt>
 <dd><code>true</code> if the control (Ctrl) key modifier is activated.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-MouseEvent-metaKey' id="events-Events-MouseEvent-metaKey">metaKey</a></code> of type <code>boolean</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MouseEvent-metaKey' id='events-Events-MouseEvent-metaKey'>metaKey</a></code> of type <code>boolean</code>, readonly</dt>
 <dd><code>true</code> if the meta (Meta) key modifier is activated.
 <p><b>Note:</b> The Command key modifier on Macintosh system must be represented using this meta key.</p>
 </dd>
-<dt><code class='attribute-name'><a name='events-Events-MouseEvent-relatedTarget' id="events-Events-MouseEvent-relatedTarget">relatedTarget</a></code> of type <a href='#events-Events-EventTarget'><code>EventTarget</code></a>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MouseEvent-relatedTarget' 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 name='events-Events-MouseEvent-screenX' id="events-Events-MouseEvent-screenX">screenX</a></code> of type <code>long</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MouseEvent-screenX' 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 name='events-Events-MouseEvent-screenY' id="events-Events-MouseEvent-screenY">screenY</a></code> of type <code>long</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MouseEvent-screenY' 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 name='events-Events-MouseEvent-shiftKey' id="events-Events-MouseEvent-shiftKey">shiftKey</a></code> of type <code>boolean</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MouseEvent-shiftKey' id='events-Events-MouseEvent-shiftKey'>shiftKey</a></code> of type <code>boolean</code>, readonly</dt>
 <dd><code>true</code> if the shift (Shift) key modifier is activated.<br /></dd>
 </dl>
 </dd>
 <dt><b>Methods</b></dt>
 <dd>
 <dl>
-<dt><code class='method-name'><a name='events-Events-MouseEvent-getModifierState' id="events-Events-MouseEvent-getModifierState">getModifierState</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
+<dt><code class='method-name'><a name='events-Events-MouseEvent-getModifierState' id='events-Events-MouseEvent-getModifierState'>getModifierState</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
 <dd>
 <div class='method'>This methods queries the state of a modifier using a key identifier. See also <a href='#keyset-Modifiers'>Modifier keys</a>.
 <div class='parameters'><b>Parameters</b>
@@ -1624,7 +1929,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-Event-initMouseEvent' id="events-Events-Event-initMouseEvent">initMouseEvent</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-Event-initMouseEvent' id='events-Events-Event-initMouseEvent'>initMouseEvent</a></code></dt>
 <dd>
 <div class='method'>The <code>initMouseEvent</code> method is used to initialize the value of a <code>MouseEvent</code> object and has the same behavior as <a href='#events-Events-Event-initUIEvent'><code>UIEvent.initUIEvent()</code></a>.
 <div class='parameters'><b>Parameters</b>
@@ -1668,7 +1973,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-Event-initMouseEventNS' id="events-Events-Event-initMouseEventNS">initMouseEventNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
+<dt><code class='method-name'><a name='events-Events-Event-initMouseEventNS' id='events-Events-Event-initMouseEventNS'>initMouseEventNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
 <dd>
 <div class='method'>The <code>initMouseEventNS</code> method is used to initialize the value of a <code>MouseEvent</code> object and has the same behavior as <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a>.
 <div class='parameters'><b>Parameters</b>
@@ -1717,7 +2022,7 @@
 <p>A DOM application may use the <code>hasFeature(feature, version)</code> method of the <code>DOMImplementation</code> interface with parameter values <code>"MouseEvents"</code> and <code>"3.0"</code> (respectively) to determine whether or not the Mouse event module is supported by the implementation. In order to fully support this module, an implementation must also support the "UIEvents" feature defined in this specification. 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 informative' href='#references-DOMCore'>DOM Level 3 Core</a></cite>]. The DOM Level 3 Mouse Events module is built on top of the DOM Level 2 Mouse Events [<cite><a class='noxref normative' href='#references-DOM2Events'>DOM Level 2 Events</a></cite>] module, i.e. a DOM Level 3 Mouse Events implementation where <code>hasFeature("MouseEvents", "3.0")</code> returns <code>true</code> must also return <code>true</code> when the <code>version</code> number is <code>"2.0"</code>, <code>""</code> or, <code>null</code>.</p>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-click' id="events-event-click"></a><a class='noxref' href='#events-event-click'>click</a></dt>
+<dt><a name='events-event-click' id='events-event-click'></a><a class='noxref' href='#events-event-click'>click</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -1754,7 +2059,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-mousedown' id="events-event-mousedown"></a><a class='noxref' href='#events-event-mousedown'>mousedown</a></dt>
+<dt><a name='events-event-mousedown' id='events-event-mousedown'></a><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>
@@ -1791,7 +2096,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-mouseup' id="events-event-mouseup"></a><a class='noxref' href='#events-event-mouseup'>mouseup</a></dt>
+<dt><a name='events-event-mouseup' id='events-event-mouseup'></a><a class='noxref' href='#events-event-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>
@@ -1828,7 +2133,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-mouseover' id="events-event-mouseover"></a><a class='noxref' href='#events-event-mouseover'>mouseover</a></dt>
+<dt><a name='events-event-mouseover' id='events-event-mouseover'></a><a class='noxref' href='#events-event-mouseover'>mouseover</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -1865,7 +2170,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-mousemove' id="events-event-mousemove"></a><a class='noxref' href='#events-event-mousemove'>mousemove</a></dt>
+<dt><a name='events-event-mousemove' id='events-event-mousemove'></a><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>
@@ -1902,7 +2207,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-mouseout' id="events-event-mouseout"></a><a class='noxref' href='#events-event-mouseout'>mouseout</a></dt>
+<dt><a name='events-event-mouseout' id='events-event-mouseout'></a><a class='noxref' href='#events-event-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>
@@ -1948,11 +2253,11 @@
 </ol>
 </div>
 <!-- div3 Events-eventgroupings-mouseevents -->
-<div class='div3'><a name='events-Events-KeyboardEvents-Interfaces' id="events-Events-KeyboardEvents-Interfaces"></a>
+<div class='div3'><a name='events-Events-KeyboardEvents-Interfaces' id='events-Events-KeyboardEvents-Interfaces'></a>
 <h3 id='events-Events-KeyboardEvents-Interfaces-h3' class='div3'>1.8.4 Keyboard event types</h3>
 <p>Keyboard events are device dependent, i.e. they rely on the capabilities of the input devices and how they are mapped in the operating systems. It is therefore highly recommended to rely on <a href='#events-Events-TextEvent'>Text events types</a> when dealing with character input.</p>
 <dl>
-<dt><b>Interface <i><a name='events-Events-KeyboardEvent' id="events-Events-KeyboardEvent">KeyboardEvent</a></i></b> (introduced in <b class='since'>DOM Level 3</b>)</dt>
+<dt><b>Interface <i><a name='events-Events-KeyboardEvent' id='events-Events-KeyboardEvent'>KeyboardEvent</a></i></b> (introduced in <b class='since'>DOM Level 3</b>)</dt>
 <dd>
 <p>The <code>KeyboardEvent</code> interface provides specific contextual information associated with keyboard devices. Each keyboard event references a key using an identifier. Keyboard events are commonly directed at the element that has the focus.</p>
 <p>The <code>KeyboardEvent</code> interface provides convenient attributes for some common modifiers keys: <a href='#events-Events-KeyboardEvent-ctrlKey'><code>KeyboardEvent.ctrlKey</code></a>, <a href='#events-Events-KeyboardEvent-shiftKey'><code>KeyboardEvent.shiftKey</code></a>, <a href='#events-Events-KeyboardEvent-altKey'><code>KeyboardEvent.altKey</code></a>, <a href='#events-Events-KeyboardEvent-metaKey'><code>KeyboardEvent.metaKey</code></a>. These attributes are equivalent to use the method <a href='#events-Events-KeyboardEvent-getModifierState'><code>KeyboardEvent.getModifierState(keyIdentifierArg)</code></a> with "Control", "Shift", "Alt", or "Meta" respectively.</p>
@@ -1997,20 +2302,20 @@
 };
 </pre></div>
 <br /></dd>
-<dt><b>Definition group <i><a name='events-ID-KeyboardEvent-KeyLocationCode' id="events-ID-KeyboardEvent-KeyLocationCode">KeyLocationCode</a></i></b></dt>
+<dt><b>Definition group <i><a name='events-ID-KeyboardEvent-KeyLocationCode' id='events-ID-KeyboardEvent-KeyLocationCode'>KeyLocationCode</a></i></b></dt>
 <dd>
 <p>This set of constants is used to indicate the location of a key on the device. 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><b>Defined Constants</b></dt>
 <dd>
 <dl>
-<dt><a name='events-DOM_KEY_LOCATION_LEFT' id="events-DOM_KEY_LOCATION_LEFT"><code class='constant-name'>DOM_KEY_LOCATION_LEFT</code></a></dt>
+<dt><a name='events-DOM_KEY_LOCATION_LEFT' id='events-DOM_KEY_LOCATION_LEFT'><code class='constant-name'>DOM_KEY_LOCATION_LEFT</code></a></dt>
 <dd>The key activated is in the left key location (there is more than one possible location for this key). Example: the left Shift key on a PC 101 Key US keyboard.</dd>
-<dt><a name='events-DOM_KEY_LOCATION_NUMPAD' id="events-DOM_KEY_LOCATION_NUMPAD"><code class='constant-name'>DOM_KEY_LOCATION_NUMPAD</code></a></dt>
+<dt><a name='events-DOM_KEY_LOCATION_NUMPAD' id='events-DOM_KEY_LOCATION_NUMPAD'><code class='constant-name'>DOM_KEY_LOCATION_NUMPAD</code></a></dt>
 <dd>The key activation originated on the numeric keypad or with a virtual key corresponding to the numeric keypad. Example: the '1' key on a PC 101 Key US keyboard located on the numeric pad.</dd>
-<dt><a name='events-DOM_KEY_LOCATION_RIGHT' id="events-DOM_KEY_LOCATION_RIGHT"><code class='constant-name'>DOM_KEY_LOCATION_RIGHT</code></a></dt>
+<dt><a name='events-DOM_KEY_LOCATION_RIGHT' id='events-DOM_KEY_LOCATION_RIGHT'><code class='constant-name'>DOM_KEY_LOCATION_RIGHT</code></a></dt>
 <dd>The key activation is in the right key location (there is more than one possible location for this key). Example: the right Shift key on a PC 101 Key US keyboard.</dd>
-<dt><a name='events-DOM_KEY_LOCATION_STANDARD' id="events-DOM_KEY_LOCATION_STANDARD"><code class='constant-name'>DOM_KEY_LOCATION_STANDARD</code></a></dt>
+<dt><a name='events-DOM_KEY_LOCATION_STANDARD' id='events-DOM_KEY_LOCATION_STANDARD'><code class='constant-name'>DOM_KEY_LOCATION_STANDARD</code></a></dt>
 <dd>The key activation is not distinguished as the left or right version of the key, and did not originate from the numeric keypad (or did not originate with a virtual key corresponding to the numeric keypad). Example: the 'Q' key on a PC 101 Key US keyboard.</dd>
 </dl>
 </dd>
@@ -2019,28 +2324,28 @@
 <dt><b>Attributes</b></dt>
 <dd>
 <dl>
-<dt><code class='attribute-name'><a name='events-Events-KeyboardEvent-altKey' id="events-Events-KeyboardEvent-altKey">altKey</a></code> of type <code>boolean</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-KeyboardEvent-altKey' id='events-Events-KeyboardEvent-altKey'>altKey</a></code> of type <code>boolean</code>, readonly</dt>
 <dd><code>true</code> if the alternative (Alt) key modifier is activated.
 <p><b>Note:</b> The Option key modifier on Macintosh systems must be represented using this key modifier.</p>
 </dd>
-<dt><code class='attribute-name'><a name='events-Events-KeyboardEvent-ctrlKey' id="events-Events-KeyboardEvent-ctrlKey">ctrlKey</a></code> of type <code>boolean</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-KeyboardEvent-ctrlKey' id='events-Events-KeyboardEvent-ctrlKey'>ctrlKey</a></code> of type <code>boolean</code>, readonly</dt>
 <dd><code>true</code> if the control (Ctrl) key modifier is activated.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-KeyboardEvent-keyIdentifier' id="events-Events-KeyboardEvent-keyIdentifier">keyIdentifier</a></code> of type <code>DOMString</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-KeyboardEvent-keyIdentifier' id='events-Events-KeyboardEvent-keyIdentifier'>keyIdentifier</a></code> of type <code>DOMString</code>, readonly</dt>
 <dd><code>keyIdentifier</code> holds the identifier of the key. The key identifiers are defined in Appendix A.2 "<a href='#keyset-KeySet-Set'>Key identifiers set</a>". Implementations that are unable to identify a key must use the key identifier <code>"Unidentified"</code>.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-KeyboardEvent-keylocation' id="events-Events-KeyboardEvent-keylocation">keyLocation</a></code> of type <code>unsigned long</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-KeyboardEvent-keylocation' id='events-Events-KeyboardEvent-keylocation'>keyLocation</a></code> of type <code>unsigned long</code>, readonly</dt>
 <dd>The <code>keyLocation</code> attribute contains an indication of the location of they key on the device, as described in <a href='#events-ID-KeyboardEvent-KeyLocationCode'>Keyboard event types</a>.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-KeyboardEvent-metaKey' id="events-Events-KeyboardEvent-metaKey">metaKey</a></code> of type <code>boolean</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-KeyboardEvent-metaKey' id='events-Events-KeyboardEvent-metaKey'>metaKey</a></code> of type <code>boolean</code>, readonly</dt>
 <dd><code>true</code> if the meta (Meta) key modifier is activated.
 <p><b>Note:</b> The Command key modifier on Macintosh systems must be represented using this key modifier.</p>
 </dd>
-<dt><code class='attribute-name'><a name='events-Events-KeyboardEvent-shiftKey' id="events-Events-KeyboardEvent-shiftKey">shiftKey</a></code> of type <code>boolean</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-KeyboardEvent-shiftKey' id='events-Events-KeyboardEvent-shiftKey'>shiftKey</a></code> of type <code>boolean</code>, readonly</dt>
 <dd><code>true</code> if the shift (Shift) key modifier is activated.<br /></dd>
 </dl>
 </dd>
 <dt><b>Methods</b></dt>
 <dd>
 <dl>
-<dt><code class='method-name'><a name='events-Events-KeyboardEvent-getModifierState' id="events-Events-KeyboardEvent-getModifierState">getModifierState</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-KeyboardEvent-getModifierState' id='events-Events-KeyboardEvent-getModifierState'>getModifierState</a></code></dt>
 <dd>
 <div class='method'>This methods queries the state of a modifier using a key identifier. See also <a href='#keyset-Modifiers'>Modifier keys</a>.
 <div class='parameters'><b>Parameters</b>
@@ -2072,7 +2377,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-KeyboardEvent-initKeyboardEvent' id="events-Events-KeyboardEvent-initKeyboardEvent">initKeyboardEvent</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-KeyboardEvent-initKeyboardEvent' id='events-Events-KeyboardEvent-initKeyboardEvent'>initKeyboardEvent</a></code></dt>
 <dd>
 <div class='method'>The <code>initKeyboardEvent</code> method is used to initialize the value of a <code>KeyboardEvent</code> object and has the same behavior as <a href='#events-Events-Event-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'><b>Parameters</b>
@@ -2100,7 +2405,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-KeyboardEvent-initKeyboardEventNS' id="events-Events-KeyboardEvent-initKeyboardEventNS">initKeyboardEventNS</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-KeyboardEvent-initKeyboardEventNS' id='events-Events-KeyboardEvent-initKeyboardEventNS'>initKeyboardEventNS</a></code></dt>
 <dd>
 <div class='method'>The <code>initKeyboardEventNS</code> method is used to initialize the value of a <code>KeyboardEvent</code> object and has the same behavior as <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a>. The value of <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> remains undefined.
 <div class='parameters'><b>Parameters</b>
@@ -2139,7 +2444,7 @@
 <p>The keyboard event types are listed below. A DOM application may use the <code>hasFeature(feature, version)</code> method of the <code>DOMImplementation</code> interface with parameter values <code>"KeyboardEvents"</code> and <code>"3.0"</code> (respectively) to determine whether or not the Keyboard event module is supported by the implementation. In order to fully support this module, an implementation must also support the <code>"UIEvents"</code> feature defined in this specification. 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 informative' href='#references-DOMCore'>DOM Level 3 Core</a></cite>].</p>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-keydown' id="events-event-keydown"></a><a class='noxref' href='#events-event-keydown'>keydown</a></dt>
+<dt><a name='events-event-keydown' id='events-event-keydown'></a><a class='noxref' href='#events-event-keydown'>keydown</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -2176,7 +2481,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-keyup' id="events-event-keyup"></a><a class='noxref' href='#events-event-keyup'>keyup</a></dt>
+<dt><a name='events-event-keyup' id='events-event-keyup'></a><a class='noxref' href='#events-event-keyup'>keyup</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -2213,12 +2518,12 @@
 </div>
 </div>
 <!-- div3 Events-KeyboardEvents-Interfaces -->
-<div class='div3'><a name='events-Events-eventgroupings-mutationevents' id="events-Events-eventgroupings-mutationevents"></a>
+<div class='div3'><a name='events-Events-eventgroupings-mutationevents' id='events-Events-eventgroupings-mutationevents'></a>
 <h3 id='events-Events-eventgroupings-mutationevents-h3' class='div3'>1.8.5 Mutation and mutation name event types</h3>
 <p>The mutation and mutation name event modules are designed to allow notification of any changes to the structure of a document, including attribute, text, or name modifications. It may be noted that none of the event types associated with the modules are designated as cancelable. This stems from the fact that it is very difficult to make use of existing DOM interfaces which cause document modifications if any change to the document might or might not take place due to cancelation of the resulting event. Although this is still a desired capability, it was decided that it would be better left until the addition of transactions into the DOM.</p>
 <p>Many single modifications of the tree can cause multiple mutation events to be dispatched. Rather than attempt to specify the ordering of mutation events due to every possible modification of the tree, the ordering of these events is left to the implementation.</p>
 <dl>
-<dt><b>Interface <i><a name='events-Events-MutationEvent' id="events-Events-MutationEvent">MutationEvent</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</dt>
+<dt><b>Interface <i><a name='events-Events-MutationEvent' id='events-Events-MutationEvent'>MutationEvent</a></i></b> (introduced in <b class='since'>DOM Level 2</b>)</dt>
 <dd>
 <p>The <code>MutationEvent</code> interface provides specific contextual information associated with Mutation events.</p>
 <p>To create an instance of the <code>MutationEvent</code> interface, use the <a href='#events-Events-DocumentEvent-createEvent'><code>DocumentEvent.createEvent("MutationEvent")</code></a> method call.</p>
@@ -2262,18 +2567,18 @@
 };
 </pre></div>
 <br /></dd>
-<dt><b>Definition group <i><a name='events-Events-MutationEvent-attrChangeType' id="events-Events-MutationEvent-attrChangeType">attrChangeType</a></i></b></dt>
+<dt><b>Definition group <i><a name='events-Events-MutationEvent-attrChangeType' id='events-Events-MutationEvent-attrChangeType'>attrChangeType</a></i></b></dt>
 <dd>
 <p>An integer indicating in which way the <code>Attr</code> was changed.</p>
 <dl>
 <dt><b>Defined Constants</b></dt>
 <dd>
 <dl>
-<dt><a name='events-ADDITION' id="events-ADDITION"><code class='constant-name'>ADDITION</code></a></dt>
+<dt><a name='events-ADDITION' id='events-ADDITION'><code class='constant-name'>ADDITION</code></a></dt>
 <dd>The <code>Attr</code> was just added.</dd>
-<dt><a name='events-MODIFICATION' id="events-MODIFICATION"><code class='constant-name'>MODIFICATION</code></a></dt>
+<dt><a name='events-MODIFICATION' id='events-MODIFICATION'><code class='constant-name'>MODIFICATION</code></a></dt>
 <dd>The <code>Attr</code> was modified in place.</dd>
-<dt><a name='events-REMOVAL' id="events-REMOVAL"><code class='constant-name'>REMOVAL</code></a></dt>
+<dt><a name='events-REMOVAL' id='events-REMOVAL'><code class='constant-name'>REMOVAL</code></a></dt>
 <dd>The <code>Attr</code> was just removed.</dd>
 </dl>
 </dd>
@@ -2282,22 +2587,22 @@
 <dt><b>Attributes</b></dt>
 <dd>
 <dl>
-<dt><code class='attribute-name'><a name='events-Events-MutationEvent-attrChange' id="events-Events-MutationEvent-attrChange">attrChange</a></code> of type <code>unsigned short</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MutationEvent-attrChange' id='events-Events-MutationEvent-attrChange'>attrChange</a></code> of type <code>unsigned short</code>, readonly</dt>
 <dd><code>attrChange</code> indicates the type of change which triggered the <a href='#events-event-DOMAttrModified'>DOMAttrModified</a> event. The values can be <code>MODIFICATION</code>, <code>ADDITION</code>, or <code>REMOVAL</code>.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-MutationEvent-attrName' id="events-Events-MutationEvent-attrName">attrName</a></code> of type <code>DOMString</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MutationEvent-attrName' id='events-Events-MutationEvent-attrName'>attrName</a></code> of type <code>DOMString</code>, readonly</dt>
 <dd><code>attrName</code> indicates the name of the changed <code>Attr</code> node in a <a href='#events-event-DOMAttrModified'>DOMAttrModified</a> event.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-MutationEvent-newValue' id="events-Events-MutationEvent-newValue">newValue</a></code> of type <code>DOMString</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MutationEvent-newValue' id='events-Events-MutationEvent-newValue'>newValue</a></code> of type <code>DOMString</code>, readonly</dt>
 <dd><code>newValue</code> indicates the new value of the <code>Attr</code> node in <a href='#events-event-DOMAttrModified'>DOMAttrModified</a> events, and of the <code>CharacterData</code> node in <a href='#events-event-DOMCharacterDataModified'>DOMCharacterDataModified</a> events.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-MutationEvent-prevValue' id="events-Events-MutationEvent-prevValue">prevValue</a></code> of type <code>DOMString</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MutationEvent-prevValue' id='events-Events-MutationEvent-prevValue'>prevValue</a></code> of type <code>DOMString</code>, readonly</dt>
 <dd><code>prevValue</code> indicates the previous value of the <code>Attr</code> node in <a href='#events-event-DOMAttrModified'>DOMAttrModified</a> events, and of the <code>CharacterData</code> node in <a href='#events-event-DOMCharacterDataModified'>DOMCharacterDataModified</a> events.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-MutationEvent-relatedNode' id="events-Events-MutationEvent-relatedNode">relatedNode</a></code> of type <code>Node</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MutationEvent-relatedNode' id='events-Events-MutationEvent-relatedNode'>relatedNode</a></code> of type <code>Node</code>, readonly</dt>
 <dd><code>relatedNode</code> is used to identify a secondary node related to a mutation event. For example, if a mutation event is dispatched to a node indicating that its parent has changed, the <code>relatedNode</code> is the changed parent. If an event is instead dispatched to a subtree indicating a node was changed within it, the <code>relatedNode</code> is the changed node. In the case of the <a href='#events-event-DOMAttrModified'>DOMAttrModified</a> event it indicates the <code>Attr</code> node which was modified, added, or removed.<br /></dd>
 </dl>
 </dd>
 <dt><b>Methods</b></dt>
 <dd>
 <dl>
-<dt><code class='method-name'><a name='events-Events-Event-initMutationEvent' id="events-Events-Event-initMutationEvent">initMutationEvent</a></code></dt>
+<dt><code class='method-name'><a name='events-Events-Event-initMutationEvent' id='events-Events-Event-initMutationEvent'>initMutationEvent</a></code></dt>
 <dd>
 <div class='method'>The <code>initMutationEvent</code> method is used to initialize the value of a <code>MutationEvent</code> object and has the same behavior as <a href='#events-Events-Event-initEvent'><code>Event.initEvent()</code></a>.
 <div class='parameters'><b>Parameters</b>
@@ -2327,7 +2632,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-Event-initMutationEventNS' id="events-Events-Event-initMutationEventNS">initMutationEventNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
+<dt><code class='method-name'><a name='events-Events-Event-initMutationEventNS' id='events-Events-Event-initMutationEventNS'>initMutationEventNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
 <dd>
 <div class='method'>The <code>initMutationEventNS</code> method is used to initialize the value of a <code>MutationEvent</code> object and has the same behavior as <a href='#events-Events-Event-initEventNS'><code>Event.initEventNS()</code></a>.
 <div class='parameters'><b>Parameters</b>
@@ -2367,7 +2672,7 @@
 <p>The mutation event types are listed below. A DOM application may use the <code>hasFeature(feature, version)</code> method of the <code>DOMImplementation</code> interface with parameter values <code>"MutationEvents"</code> and <code>"3.0"</code> (respectively) to determine whether or not the Mutation event module is supported by the implementation. In order to fully support this module, an implementation must also support the <code>"Events"</code> feature defined in this specification. 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 informative' href='#references-DOMCore'>DOM Level 3 Core</a></cite>]. This <a href='#events-Events-MutationEvent'><code>MutationEvent</code></a> interface is built on top of the DOM Level 2 Mutation Events [<cite><a class='noxref normative' href='#references-DOM2Events'>DOM Level 2 Events</a></cite>] module, i.e. a DOM Level 3 <a class='noxref' href='#events-Events-MutationEvent'><code>MutationEvent</code></a> interface implementation where <code>hasFeature("MutationEvents","3.0")</code> returns <code>true</code> must also return <code>true</code> when the <code>version</code> number is <code>"2.0"</code>, <code>""</code> or, <code>null</code>.</p>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-DOMSubtreeModified' id="events-event-DOMSubtreeModified"></a><a class='noxref' href='#events-event-DOMSubtreeModified'>DOMSubtreeModified</a></dt>
+<dt><a name='events-event-DOMSubtreeModified' id='events-event-DOMSubtreeModified'></a><a class='noxref' href='#events-event-DOMSubtreeModified'>DOMSubtreeModified</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -2404,7 +2709,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-DOMNodeInserted' id="events-event-DOMNodeInserted"></a><a class='noxref' href='#events-event-DOMNodeInserted'>DOMNodeInserted</a></dt>
+<dt><a name='events-event-DOMNodeInserted' id='events-event-DOMNodeInserted'></a><a class='noxref' href='#events-event-DOMNodeInserted'>DOMNodeInserted</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -2441,7 +2746,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-DOMNodeRemoved' id="events-event-DOMNodeRemoved"></a><a class='noxref' href='#events-event-DOMNodeRemoved'>DOMNodeRemoved</a></dt>
+<dt><a name='events-event-DOMNodeRemoved' id='events-event-DOMNodeRemoved'></a><a class='noxref' href='#events-event-DOMNodeRemoved'>DOMNodeRemoved</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -2478,7 +2783,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-DOMNodeRemovedFromDocument' id="events-event-DOMNodeRemovedFromDocument"></a><a class='noxref' href='#events-event-DOMNodeRemovedFromDocument'>DOMNodeRemovedFromDocument</a></dt>
+<dt><a name='events-event-DOMNodeRemovedFromDocument' id='events-event-DOMNodeRemovedFromDocument'></a><a class='noxref' href='#events-event-DOMNodeRemovedFromDocument'>DOMNodeRemovedFromDocument</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -2515,7 +2820,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-DOMNodeInsertedIntoDocument' id="events-event-DOMNodeInsertedIntoDocument"></a><a class='noxref' href='#events-event-DOMNodeInsertedIntoDocument'>DOMNodeInsertedIntoDocument</a></dt>
+<dt><a name='events-event-DOMNodeInsertedIntoDocument' id='events-event-DOMNodeInsertedIntoDocument'></a><a class='noxref' href='#events-event-DOMNodeInsertedIntoDocument'>DOMNodeInsertedIntoDocument</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -2552,7 +2857,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-DOMAttrModified' id="events-event-DOMAttrModified"></a><a class='noxref' href='#events-event-DOMAttrModified'>DOMAttrModified</a></dt>
+<dt><a name='events-event-DOMAttrModified' id='events-event-DOMAttrModified'></a><a class='noxref' href='#events-event-DOMAttrModified'>DOMAttrModified</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -2589,7 +2894,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-DOMCharacterDataModified' id="events-event-DOMCharacterDataModified"></a><a class='noxref' href='#events-event-DOMCharacterDataModified'>DOMCharacterDataModified</a></dt>
+<dt><a name='events-event-DOMCharacterDataModified' id='events-event-DOMCharacterDataModified'></a><a class='noxref' href='#events-event-DOMCharacterDataModified'>DOMCharacterDataModified</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -2625,7 +2930,7 @@
 </dl>
 </div>
 <dl>
-<dt><b>Interface <i><a name='events-Events-MutationNameEvent' id="events-Events-MutationNameEvent">MutationNameEvent</a></i></b> (introduced in <b class='since'>DOM Level 3</b>)</dt>
+<dt><b>Interface <i><a name='events-Events-MutationNameEvent' id='events-Events-MutationNameEvent'>MutationNameEvent</a></i></b> (introduced in <b class='since'>DOM Level 3</b>)</dt>
 <dd>
 <p>The <code>MutationNameEvent</code> interface provides specific contextual information associated with Mutation name event types.</p>
 <p>To create an instance of the <code>MutationNameEvent</code> interface, use the <code>Document.createEvent("MutationNameEvent")</code> method call.</p>
@@ -2660,16 +2965,16 @@
 <dt><b>Attributes</b></dt>
 <dd>
 <dl>
-<dt><code class='attribute-name'><a name='events-Events-MutationNameEvent-prevNamespaceURI' id="events-Events-MutationNameEvent-prevNamespaceURI">prevNamespaceURI</a></code> of type <code>DOMString</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MutationNameEvent-prevNamespaceURI' id='events-Events-MutationNameEvent-prevNamespaceURI'>prevNamespaceURI</a></code> of type <code>DOMString</code>, readonly</dt>
 <dd>The previous value of the <code>relatedNode</code>'s <code>namespaceURI</code>.<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-MutationNameEvent-prevNodeName' id="events-Events-MutationNameEvent-prevNodeName">prevNodeName</a></code> of type <code>DOMString</code>, readonly</dt>
+<dt><code class='attribute-name'><a name='events-Events-MutationNameEvent-prevNodeName' id='events-Events-MutationNameEvent-prevNodeName'>prevNodeName</a></code> of type <code>DOMString</code>, readonly</dt>
 <dd>The previous value of the <code>relatedNode</code>'s <code>nodeName</code>.<br /></dd>
 </dl>
 </dd>
 <dt><b>Methods</b></dt>
 <dd>
 <dl>
-<dt><code class='method-name'><a name='events-Events-Event-initMutationNameEvent' id="events-Events-Event-initMutationNameEvent">initMutationNameEvent</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
+<dt><code class='method-name'><a name='events-Events-Event-initMutationNameEvent' id='events-Events-Event-initMutationNameEvent'>initMutationNameEvent</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
 <dd>
 <div class='method'>The <code>initMutationNameEvent</code> method is used to initialize the value of a <code>MutationNameEvent</code> object and has the same behavior as <a href='#events-Events-Event-initMutationEvent'><code>MutationEvent.initMutationEvent()</code></a>.
 <div class='parameters'><b>Parameters</b>
@@ -2695,7 +3000,7 @@
 <div><b>No Exceptions</b></div>
 </div>
 <!-- method --></dd>
-<dt><code class='method-name'><a name='events-Events-Event-initMutationNameEventNS' id="events-Events-Event-initMutationNameEventNS">initMutationNameEventNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
+<dt><code class='method-name'><a name='events-Events-Event-initMutationNameEventNS' id='events-Events-Event-initMutationNameEventNS'>initMutationNameEventNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
 <dd>
 <div class='method'>The <code>initMutationNameEventNS</code> method is used to initialize the value of a <code>MutationNameEvent</code> object and has the same behavior as <a href='#events-Events-Event-initMutationEventNS'><code>MutationEvent.initMutationEventNS()</code></a>.
 <div class='parameters'><b>Parameters</b>
@@ -2731,7 +3036,7 @@
 <p>The mutation name event types are listed below. A DOM application may use the <code>hasFeature(feature, version)</code> method of the <code>DOMImplementation</code> interface with parameter values "MutationNameEvents" and "3.0" (respectively) to determine whether or not the Mutation Name event module is supported by the implementation. In order to fully support this module, an implementation must also support the <code>"MutationEvents"</code> feature defined in this specification and the <code>"Core"</code> feature defined in the DOM Level 3 Core specification [<cite><a class='noxref normative' href='#references-DOMCore'>DOM Level 3 Core</a></cite>]. 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 informative' href='#references-DOMCore'>DOM Level 3 Core</a></cite>].</p>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-DOMElementNameChanged' id="events-event-DOMElementNameChanged"></a><a class='noxref' href='#events-event-DOMElementNameChanged'>DOMElementNameChanged</a></dt>
+<dt><a name='events-event-DOMElementNameChanged' id='events-event-DOMElementNameChanged'></a><a class='noxref' href='#events-event-DOMElementNameChanged'>DOMElementNameChanged</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -2768,7 +3073,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-DOMAttributeNameChanged' id="events-event-DOMAttributeNameChanged"></a><a class='noxref' href='#events-event-DOMAttributeNameChanged'>DOMAttributeNameChanged</a></dt>
+<dt><a name='events-event-DOMAttributeNameChanged' id='events-event-DOMAttributeNameChanged'></a><a class='noxref' href='#events-event-DOMAttributeNameChanged'>DOMAttributeNameChanged</a></dt>
 <dd>
 <table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
 <tr>
@@ -2805,7 +3110,7 @@
 </div>
 </div>
 <!-- div3 Events-eventgroupings-mutationevents -->
-<div class='div3'><a name='events-Events-eventgroupings-basicevents' id="events-Events-eventgroupings-basicevents"></a>
+<div class='div3'><a name='events-Events-eventgroupings-basicevents' id='events-Events-eventgroupings-basicevents'></a>
 <h3 id='events-Events-eventgroupings-basicevents-h3' class='div3'>1.8.6 Basic event types</h3>
 <p>This event module contains basic event types associated with document manipulation.</p>
 <p>A DOM application may use the <code>hasFeature(feature, version)</code> method of the <code>DOMImplementation</code> interface with parameter values <code>"BasicEvents"</code> and <code>"3.0"</code> (respectively) to determine whether or not the basic event module is supported by the implementation. In order to fully support this module, an implementation must also support the <code>"Events"</code> feature defined in this specification. 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 informative' href='#references-DOMCore'>DOM Level 3 Core</a></cite>].</p>
@@ -2813,7 +3118,7 @@
 <p>The event types <a href='#events-event-resize'>resize</a> and <a href='#events-event-scroll'>scroll</a> implement the <a href='#events-Events-UIEvent'><code>UIEvent</code></a> interface. All other basic event types implement at least the basic <a href='#events-Events-Event'><code>Event</code></a> interface. However, they may be generated from a user interface; in that case, the event objects also implements the <a class='noxref' href='#events-Events-UIEvent'><code>UIEvent</code></a> interface and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> is in use.</p>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-load' id="events-event-load"></a><a class='noxref' href='#events-event-load'>load</a></dt>
+<dt><a name='events-event-load' id='events-event-load'></a><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>
@@ -2850,7 +3155,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-unload' id="events-event-unload"></a><a class='noxref' href='#events-event-unload'>unload</a></dt>
+<dt><a name='events-event-unload' id='events-event-unload'></a><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>
@@ -2887,7 +3192,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-abort' id="events-event-abort"></a><a class='noxref' href='#events-event-abort'>abort</a></dt>
+<dt><a name='events-event-abort' id='events-event-abort'></a><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>
@@ -2924,7 +3229,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-error' id="events-event-error"></a><a class='noxref' href='#events-event-error'>error</a></dt>
+<dt><a name='events-event-error' id='events-event-error'></a><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>
@@ -2961,7 +3266,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-select' id="events-event-select"></a><a class='noxref' href='#events-event-select'>select</a></dt>
+<dt><a name='events-event-select' id='events-event-select'></a><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>
@@ -2998,7 +3303,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-change' id="events-event-change"></a><a class='noxref' href='#events-event-change'>change</a></dt>
+<dt><a name='events-event-change' id='events-event-change'></a><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>
@@ -3035,7 +3340,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-submit' id="events-event-submit"></a><a class='noxref' href='#events-event-submit'>submit</a></dt>
+<dt><a name='events-event-submit' id='events-event-submit'></a><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>
@@ -3072,7 +3377,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-reset' id="events-event-reset"></a><a class='noxref' href='#events-event-reset'>reset</a></dt>
+<dt><a name='events-event-reset' id='events-event-reset'></a><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>
@@ -3109,7 +3414,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-resize' id="events-event-resize"></a><a class='noxref' href='#events-event-resize'>resize</a></dt>
+<dt><a name='events-event-resize' id='events-event-resize'></a><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>
@@ -3146,7 +3451,7 @@
 </div>
 <div class='event-definition'>
 <dl>
-<dt><a name='events-event-scroll' id="events-event-scroll"></a><a class='noxref' href='#events-event-scroll'>scroll</a></dt>
+<dt><a name='events-event-scroll' id='events-event-scroll'></a><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>
@@ -3187,17 +3492,17 @@
 <!-- div1 Events -->
 <a id='keyset' name='keyset'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>March 2006</p>
-</div>
-<div class='div1'><a name='keyset-KeySet' id="keyset-KeySet"></a>
+<p style='font-family: monospace;font-size:small'>April 2006</p>
+</div>
+<div class='div1'><a name='keyset-KeySet' id='keyset-KeySet'></a>
 <h1 id='keyset-KeySet-h1' class='adiv1'>Appendix A: Keyboard events and key identifiers</h1>
 <dl>
 <dt><i>Editors</i>:</dt>
-<dd>Bj&#246;rn H&#246;hrmann</dd>
+<dd><a href='http://bjoern.hoehrmann.de/'>Bj&#246;rn H&#246;hrmann</a></dd>
 <dd>Philippe Le H&#233;garet, W3C (until November 2003)</dd>
 </dl>
 <div class='noprint'>
-<h2 id='keyset-table-of-contents'>Table of contents</h2>
+<h2 id='keyset-table-of-contents'>Table of Contents</h2>
 <ul class='toc'>
 <li class='tocline3'><a class='tocxref' href='#keyset-KeySet-intro'>A.1 Introduction</a>
 <ul class='toc'>
@@ -3218,7 +3523,7 @@
 <li>The set of key identifiers, and guidelines on how to extend this set.</li>
 </ul>
 <p><b>Note:</b> This section uses serbian and kanji characters which are not always available (or are misrepresented) in the alternative versions or printed versions of this specification.</p>
-<div class='div2'><a name='keyset-KeySet-intro' id="keyset-KeySet-intro"></a>
+<div class='div2'><a name='keyset-KeySet-intro' id='keyset-KeySet-intro'></a>
 <h2 id='keyset-KeySet-intro-h2' class='adiv2'>A.1 Introduction</h2>
 <p>Each keyboard event references a key using a <code>DOMString</code> key identifier. The set contained in this appendix is based on the sets of keycodes from:</p>
 <ul>
@@ -3246,7 +3551,7 @@
 <li><code>"keyup"</code>: <code>"U+0409"</code></li>
 </ol>
 <p><b>Note:</b> The order between the text event and keyboard events may differ depending on the keyboard devices.</p>
-<div class='div3'><a name='keyset-Modifiers' id="keyset-Modifiers"></a>
+<div class='div3'><a name='keyset-Modifiers' id='keyset-Modifiers'></a>
 <h3 id='keyset-Modifiers-h3' class='adiv3'>A.1.1 Modifier keys</h3>
 <p>Keyboard input uses modifier keys to change the normal behavior of a key. Keys associated with modifiers generate, like other keys, <a href='#events-event-keydown'>keydown</a> and <a href='#events-event-keyup'>keyup</a> events as shown in the example below. Some modifiers are activated while the key is being pressed down or maintained pressed such as <code>"Alt"</code>, <code>"Control"</code>, <code>"Shift"</code>, <code>"AltGraph"</code>, or <code>"Meta"</code>. Others modifiers are activated depending on their state such as <code>"CapsLock"</code>, <code>"NumLock"</code>, or <code>"Scroll"</code>. Change in the state happens when the modifier key is being pressed down. The <a href='#events-Events-KeyboardEvent'><code>KeyboardEvent</code></a> interface provides convenient attributes for some common modifiers keys: <a href='#events-Events-KeyboardEvent-ctrlKey'><code>KeyboardEvent.ctrlKey</code></a>, <a href='#events-Events-KeyboardEvent-shiftKey'><code>KeyboardEvent.shiftKey</code></a>, <a href='#events-Events-KeyboardEvent-altKey'><code>KeyboardEvent.altKey</code></a>, <a href='#events-Events-KeyboardEvent-metaKey'><code>KeyboardEvent.metaKey</code></a>. Some operating systems simulate the <code>"AltGraph"</code> modifier key with the combination of the <code>"Alt</code> and <code>"Control"</code> modifier keys. Implementations are encouraged to use the <code>"AltGraph"</code> modifier key.</p>
 <p>The following example describes a possible sequence of keys to generate the Unicode character Q (Latin Capital Letter Q) on a PC/AT US keyboard using a US mapping:</p>
@@ -3266,7 +3571,7 @@
 </ol>
 </div>
 <!-- div3 Modifiers -->
-<div class='div3'><a name='keyset-DeadKeys' id="keyset-DeadKeys"></a>
+<div class='div3'><a name='keyset-DeadKeys' id='keyset-DeadKeys'></a>
 <h3 id='keyset-DeadKeys-h3' class='adiv3'>A.1.2 Dead keys</h3>
 <p>Keyboard input uses dead keys for the input of composed character sequences. Unlike the handwriting sequence, in which users enter the base character first, keyboard input requires to enter a special state when a dead key is pressed and emit the character(s) only when one of a limited number of "legal" base character is entered.</p>
 <p>The dead keys are represented in the key identifiers set using combining diacritical marks. The sequence of keystrokes "U+0302" (Combining Circumflex Accent key) and "U+0045" (Latin Capital Letter E key) will likely produce (on a PC/AT french keyboard using a french mapping and without any modifier activated) the Unicode character &#234; (Latin Small Letter E With Circumflex), as preferred by the Unicode Normalization Form <i>NFC</i>:</p>
@@ -3279,9 +3584,9 @@
 </ol>
 </div>
 <!-- div3 DeadKeys -->
-<div class='div3'><a name='keyset-IME' id="keyset-IME"></a>
+<div class='div3'><a name='keyset-IME' id='keyset-IME'></a>
 <h3 id='keyset-IME-h3' class='adiv3'>A.1.3 Input Method Editors</h3>
-<p><a name='keyset-dt-ime' id="keyset-dt-ime"></a> Also known as <i>front end processor</i>, an <i>input method editor</i> (IME) is an application that performs the conversion between keystrokes and ideographs or other characters, usually by user-guided dictionary lookup.</p>
+<p><a name='keyset-dt-ime' id='keyset-dt-ime'></a> Also known as <i>front end processor</i>, an <i>input method editor</i> (IME) is an application that performs the conversion between keystrokes and ideographs or other characters, usually by user-guided dictionary lookup.</p>
 <p>This specification does not provide a representation of the input method editor (IME) events, i.e. the IME's functions and the IME context are not represented in this set. As an example, receiving a <a href='#events-event-keydown'>keydown</a> for the "Accept" key identifier does not necessarily imply that the text currently selected in the IME is being accepted. It only indicates that a keystroke happened, disconnected from the IME Accept functionality. Depending on the device in use, the IME Accept functionality can be obtain using the Accept key or the Return key. Keyboard events cannot be used to determine the current state of the input method editor.</p>
 <p>Keyboard events correspond to the events generated by the input device after the keyboard layout mapping but before the processing of the input method editor.</p>
 <p>The following example describes a possible sequence of keys to generate the Unicode character &#24066; (Kanji character, part of CJK Unified Ideographs) using Japanese input methods. This example assumes that the input method editor is activated and in the Japanese-Romaji input mode. The keys <code>"Convert"</code> and <code>"Accept"</code> may be replaced by others depending on the input device in use and the configuration of the IME, e.g. it could be respectively "U+0020" (Space key) and "Enter".</p>
@@ -3298,7 +3603,7 @@
 </ol>
 </div>
 <!-- div3 IME -->
-<div class='div3'><a name='keyset-cancelable_keys' id="keyset-cancelable_keys"></a>
+<div class='div3'><a name='keyset-cancelable_keys' id='keyset-cancelable_keys'></a>
 <h3 id='keyset-cancelable_keys-h3' class='adiv3'>A.1.4 Default actions and cancelable keyboard events</h3>
 <p>Canceling the default action of a <a href='#events-event-keydown'>keydown</a> event does not affect its respective <a href='#events-event-keyup'>keyup</a> event; it will however prevent the respective <a href='#events-event-textInput'>textInput</a> event from being generated. The following example describes a possible sequence of keys to generate the Unicode character Q (Latin Capital Letter Q) on a PC/AT US keyboard using a US mapping:</p>
 <ol>
@@ -3327,9 +3632,9 @@
 </ol>
 </div>
 <!-- div3 cancelable_keys -->
-<div class='div3'><a name='keyset-Guide' id="keyset-Guide"></a>
+<div class='div3'><a name='keyset-Guide' id='keyset-Guide'></a>
 <h3 id='keyset-Guide-h3' class='adiv3'>A.1.5 Guidelines for defining key identifiers</h3>
-<p><b>Note:</b> This section is informative.</p>
+<p><b>Note:</b> This section is non-normative.</p>
 <p>The list of key identifiers contained in this appendix is not exhaustive and input devices may have to define their own key identifiers. Here is a algorithm to determine which key identifier to use:</p>
 <ol>
 <li>Determine a representation for the key by looking at the keyboard layout mapping in use (and not the keyboard device in use). This representation should be unique, as human friendly as possible, platform independent, and consistent. For example, on PC/AT US keyboards with a US mapping, the 'Q' key is mapped to the key identifier "U+0051" (Latin Capital Letter Q key), the '1/!' key is mapped to the key identifier "U+0031" (Digit One key), the key '`/~' is mapped to the key identifier "U+0060" (Grave Accent key), and the 'Enter' key is mapped to the key identifier "Enter".</li>
@@ -3339,403 +3644,403 @@
 </div>
 <!-- div3 Guide --></div>
 <!-- div2 KeySet-intro -->
-<div class='div2'><a name='keyset-KeySet-Set' id="keyset-KeySet-Set"></a>
+<div class='div2'><a name='keyset-KeySet-Set' id='keyset-KeySet-Set'></a>
 <h2 id='keyset-KeySet-Set-h2' class='adiv2'>A.2 Key identifiers set</h2>
 <p><b>Note:</b> The keycodes <code>Multiply</code>, <code>Add</code>, <code>Substract</code>, <code>Decimal</code>, <code>Separator</code>, <code>Divide</code>, <code>NumPad0</code>, <code>NumPad1</code>, <code>NumPad2</code>, <code>NumPad3</code>, <code>NumPad4</code>, <code>NumPad5</code>, <code>NumPad6</code>, <code>NumPad7</code>, <code>NumPad8</code>, and <code>NumPad9</code> are not part of this set. Use <a href='#events-Events-KeyboardEvent-keylocation'><code>KeyboardEvent.keyLocation</code></a> to know if a key originated from the numeric keypad.</p>
 <dl>
-<dt><a name='keyset-key-Accept' id="keyset-key-Accept">"Accept"</a></dt>
+<dt><a name='keyset-key-Accept' id='keyset-key-Accept'>"Accept"</a></dt>
 <dd>The Accept (Commit) key.</dd>
-<dt><a name='keyset-key-Again' id="keyset-key-Again">"Again"</a></dt>
+<dt><a name='keyset-key-Again' id='keyset-key-Again'>"Again"</a></dt>
 <dd>The Again key.</dd>
-<dt><a name='keyset-key-AllCandidates' id="keyset-key-AllCandidates">"AllCandidates"</a></dt>
+<dt><a name='keyset-key-AllCandidates' id='keyset-key-AllCandidates'>"AllCandidates"</a></dt>
 <dd>The All Candidates key.</dd>
-<dt><a name='keyset-key-Alphanumeric' id="keyset-key-Alphanumeric">"Alphanumeric"</a></dt>
+<dt><a name='keyset-key-Alphanumeric' id='keyset-key-Alphanumeric'>"Alphanumeric"</a></dt>
 <dd>The Alphanumeric key.</dd>
-<dt><a name='keyset-key-Alt' id="keyset-key-Alt">"Alt"</a></dt>
+<dt><a name='keyset-key-Alt' id='keyset-key-Alt'>"Alt"</a></dt>
 <dd>The Alt (Menu) key.</dd>
-<dt><a name='keyset-key-AltGraph' id="keyset-key-AltGraph">"AltGraph"</a></dt>
+<dt><a name='keyset-key-AltGraph' id='keyset-key-AltGraph'>"AltGraph"</a></dt>
 <dd>The Alt-Graph key.</dd>
-<dt><a name='keyset-key-Apps' id="keyset-key-Apps">"Apps"</a></dt>
+<dt><a name='keyset-key-Apps' id='keyset-key-Apps'>"Apps"</a></dt>
 <dd>The Application key.</dd>
-<dt><a name='keyset-key-Attn' id="keyset-key-Attn">"Attn"</a></dt>
+<dt><a name='keyset-key-Attn' id='keyset-key-Attn'>"Attn"</a></dt>
 <dd>The ATTN key.</dd>
-<dt><a name='keyset-key-BrowserBack' id="keyset-key-BrowserBack">"BrowserBack"</a></dt>
+<dt><a name='keyset-key-BrowserBack' id='keyset-key-BrowserBack'>"BrowserBack"</a></dt>
 <dd>The Browser Back key.</dd>
-<dt><a name='keyset-key-BrowserFavorites' id="keyset-key-BrowserFavorites">"BrowserFavorites"</a></dt>
+<dt><a name='keyset-key-BrowserFavorites' id='keyset-key-BrowserFavorites'>"BrowserFavorites"</a></dt>
 <dd>The Browser Favorites key.</dd>
-<dt><a name='keyset-key-BrowserForward' id="keyset-key-BrowserForward">"BrowserForward"</a></dt>
+<dt><a name='keyset-key-BrowserForward' id='keyset-key-BrowserForward'>"BrowserForward"</a></dt>
 <dd>The Browser Forward key.</dd>
-<dt><a name='keyset-key-BrowserHome' id="keyset-key-BrowserHome">"BrowserHome"</a></dt>
+<dt><a name='keyset-key-BrowserHome' id='keyset-key-BrowserHome'>"BrowserHome"</a></dt>
 <dd>The Browser Home key.</dd>
-<dt><a name='keyset-key-BrowserRefresh' id="keyset-key-BrowserRefresh">"BrowserRefresh"</a></dt>
+<dt><a name='keyset-key-BrowserRefresh' id='keyset-key-BrowserRefresh'>"BrowserRefresh"</a></dt>
 <dd>The Browser Refresh key.</dd>
-<dt><a name='keyset-key-BrowserSearch' id="keyset-key-BrowserSearch">"BrowserSearch"</a></dt>
+<dt><a name='keyset-key-BrowserSearch' id='keyset-key-BrowserSearch'>"BrowserSearch"</a></dt>
 <dd>The Browser Search key.</dd>
-<dt><a name='keyset-key-BrowserStop' id="keyset-key-BrowserStop">"BrowserStop"</a></dt>
+<dt><a name='keyset-key-BrowserStop' id='keyset-key-BrowserStop'>"BrowserStop"</a></dt>
 <dd>The Browser Stop key.</dd>
-<dt><a name='keyset-key-CapsLock' id="keyset-key-CapsLock">"CapsLock"</a></dt>
+<dt><a name='keyset-key-CapsLock' id='keyset-key-CapsLock'>"CapsLock"</a></dt>
 <dd>The Caps Lock (Capital) key.</dd>
-<dt><a name='keyset-key-Clear' id="keyset-key-Clear">"Clear"</a></dt>
+<dt><a name='keyset-key-Clear' id='keyset-key-Clear'>"Clear"</a></dt>
 <dd>The Clear key.</dd>
-<dt><a name='keyset-key-CodeInput' id="keyset-key-CodeInput">"CodeInput"</a></dt>
+<dt><a name='keyset-key-CodeInput' id='keyset-key-CodeInput'>"CodeInput"</a></dt>
 <dd>The Code Input key.</dd>
-<dt><a name='keyset-key-Compose' id="keyset-key-Compose">"Compose"</a></dt>
+<dt><a name='keyset-key-Compose' id='keyset-key-Compose'>"Compose"</a></dt>
 <dd>The Compose key.</dd>
-<dt><a name='keyset-key-Control' id="keyset-key-Control">"Control"</a></dt>
+<dt><a name='keyset-key-Control' id='keyset-key-Control'>"Control"</a></dt>
 <dd>The Control (Ctrl) key.</dd>
-<dt><a name='keyset-key-Crsel' id="keyset-key-Crsel">"Crsel"</a></dt>
+<dt><a name='keyset-key-Crsel' id='keyset-key-Crsel'>"Crsel"</a></dt>
 <dd>The Crsel key.</dd>
-<dt><a name='keyset-key-Convert' id="keyset-key-Convert">"Convert"</a></dt>
+<dt><a name='keyset-key-Convert' id='keyset-key-Convert'>"Convert"</a></dt>
 <dd>The Convert key.</dd>
-<dt><a name='keyset-key-Copy' id="keyset-key-Copy">"Copy"</a></dt>
+<dt><a name='keyset-key-Copy' id='keyset-key-Copy'>"Copy"</a></dt>
 <dd>The Copy key.</dd>
-<dt><a name='keyset-key-Cut' id="keyset-key-Cut">"Cut"</a></dt>
+<dt><a name='keyset-key-Cut' id='keyset-key-Cut'>"Cut"</a></dt>
 <dd>The Cut key.</dd>
-<dt><a name='keyset-key-Down' id="keyset-key-Down">"Down"</a></dt>
+<dt><a name='keyset-key-Down' id='keyset-key-Down'>"Down"</a></dt>
 <dd>The Down Arrow key.</dd>
-<dt><a name='keyset-key-End' id="keyset-key-End">"End"</a></dt>
+<dt><a name='keyset-key-End' id='keyset-key-End'>"End"</a></dt>
 <dd>The End key.</dd>
-<dt><a name='keyset-key-Enter' id="keyset-key-Enter">"Enter"</a></dt>
+<dt><a name='keyset-key-Enter' id='keyset-key-Enter'>"Enter"</a></dt>
 <dd>The Enter key.
 <p><b>Note:</b> This key identifier is also used for the Return (Macintosh numpad) key.</p>
 </dd>
-<dt><a name='keyset-key-EraseEof' id="keyset-key-EraseEof">"EraseEof"</a></dt>
+<dt><a name='keyset-key-EraseEof' id='keyset-key-EraseEof'>"EraseEof"</a></dt>
 <dd>The Erase EOF key.</dd>
-<dt><a name='keyset-key-Execute' id="keyset-key-Execute">"Execute"</a></dt>
+<dt><a name='keyset-key-Execute' id='keyset-key-Execute'>"Execute"</a></dt>
 <dd>The Execute key.</dd>
-<dt><a name='keyset-key-Exsel' id="keyset-key-Exsel">"Exsel"</a></dt>
+<dt><a name='keyset-key-Exsel' id='keyset-key-Exsel'>"Exsel"</a></dt>
 <dd>The Exsel key.</dd>
-<dt><a name='keyset-key-F1' id="keyset-key-F1">"F1"</a></dt>
+<dt><a name='keyset-key-F1' id='keyset-key-F1'>"F1"</a></dt>
 <dd>The F1 key.</dd>
-<dt><a name='keyset-key-F2' id="keyset-key-F2">"F2"</a></dt>
+<dt><a name='keyset-key-F2' id='keyset-key-F2'>"F2"</a></dt>
 <dd>The F2 key.</dd>
-<dt><a name='keyset-key-F3' id="keyset-key-F3">"F3"</a></dt>
+<dt><a name='keyset-key-F3' id='keyset-key-F3'>"F3"</a></dt>
 <dd>The F3 key.</dd>
-<dt><a name='keyset-key-F4' id="keyset-key-F4">"F4"</a></dt>
+<dt><a name='keyset-key-F4' id='keyset-key-F4'>"F4"</a></dt>
 <dd>The F4 key.</dd>
-<dt><a name='keyset-key-F5' id="keyset-key-F5">"F5"</a></dt>
+<dt><a name='keyset-key-F5' id='keyset-key-F5'>"F5"</a></dt>
 <dd>The F5 key.</dd>
-<dt><a name='keyset-key-F6' id="keyset-key-F6">"F6"</a></dt>
+<dt><a name='keyset-key-F6' id='keyset-key-F6'>"F6"</a></dt>
 <dd>The F6 key.</dd>
-<dt><a name='keyset-key-F7' id="keyset-key-F7">"F7"</a></dt>
+<dt><a name='keyset-key-F7' id='keyset-key-F7'>"F7"</a></dt>
 <dd>The F7 key.</dd>
-<dt><a name='keyset-key-F8' id="keyset-key-F8">"F8"</a></dt>
+<dt><a name='keyset-key-F8' id='keyset-key-F8'>"F8"</a></dt>
 <dd>The F8 key.</dd>
-<dt><a name='keyset-key-F9' id="keyset-key-F9">"F9"</a></dt>
+<dt><a name='keyset-key-F9' id='keyset-key-F9'>"F9"</a></dt>
 <dd>The F9 key.</dd>
-<dt><a name='keyset-key-F10' id="keyset-key-F10">"F10"</a></dt>
+<dt><a name='keyset-key-F10' id='keyset-key-F10'>"F10"</a></dt>
 <dd>The F10 key.</dd>
-<dt><a name='keyset-key-F11' id="keyset-key-F11">"F11"</a></dt>
+<dt><a name='keyset-key-F11' id='keyset-key-F11'>"F11"</a></dt>
 <dd>The F11 key.</dd>
-<dt><a name='keyset-key-F12' id="keyset-key-F12">"F12"</a></dt>
+<dt><a name='keyset-key-F12' id='keyset-key-F12'>"F12"</a></dt>
 <dd>The F12 key.</dd>
-<dt><a name='keyset-key-F13' id="keyset-key-F13">"F13"</a></dt>
+<dt><a name='keyset-key-F13' id='keyset-key-F13'>"F13"</a></dt>
 <dd>The F13 key.</dd>
-<dt><a name='keyset-key-F14' id="keyset-key-F14">"F14"</a></dt>
+<dt><a name='keyset-key-F14' id='keyset-key-F14'>"F14"</a></dt>
 <dd>The F14 key.</dd>
-<dt><a name='keyset-key-F15' id="keyset-key-F15">"F15"</a></dt>
+<dt><a name='keyset-key-F15' id='keyset-key-F15'>"F15"</a></dt>
 <dd>The F15 key.</dd>
-<dt><a name='keyset-key-F16' id="keyset-key-F16">"F16"</a></dt>
+<dt><a name='keyset-key-F16' id='keyset-key-F16'>"F16"</a></dt>
 <dd>The F16 key.</dd>
-<dt><a name='keyset-key-F17' id="keyset-key-F17">"F17"</a></dt>
+<dt><a name='keyset-key-F17' id='keyset-key-F17'>"F17"</a></dt>
 <dd>The F17 key.</dd>
-<dt><a name='keyset-key-F18' id="keyset-key-F18">"F18"</a></dt>
+<dt><a name='keyset-key-F18' id='keyset-key-F18'>"F18"</a></dt>
 <dd>The F18 key.</dd>
-<dt><a name='keyset-key-F19' id="keyset-key-F19">"F19"</a></dt>
+<dt><a name='keyset-key-F19' id='keyset-key-F19'>"F19"</a></dt>
 <dd>The F19 key.</dd>
-<dt><a name='keyset-key-F20' id="keyset-key-F20">"F20"</a></dt>
+<dt><a name='keyset-key-F20' id='keyset-key-F20'>"F20"</a></dt>
 <dd>The F20 key.</dd>
-<dt><a name='keyset-key-F21' id="keyset-key-F21">"F21"</a></dt>
+<dt><a name='keyset-key-F21' id='keyset-key-F21'>"F21"</a></dt>
 <dd>The F21 key.</dd>
-<dt><a name='keyset-key-F22' id="keyset-key-F22">"F22"</a></dt>
+<dt><a name='keyset-key-F22' id='keyset-key-F22'>"F22"</a></dt>
 <dd>The F22 key.</dd>
-<dt><a name='keyset-key-F23' id="keyset-key-F23">"F23"</a></dt>
+<dt><a name='keyset-key-F23' id='keyset-key-F23'>"F23"</a></dt>
 <dd>The F23 key.</dd>
-<dt><a name='keyset-key-F24' id="keyset-key-F24">"F24"</a></dt>
+<dt><a name='keyset-key-F24' id='keyset-key-F24'>"F24"</a></dt>
 <dd>The F24 key.</dd>
-<dt><a name='keyset-key-FinalMode' id="keyset-key-FinalMode">"FinalMode"</a></dt>
+<dt><a name='keyset-key-FinalMode' id='keyset-key-FinalMode'>"FinalMode"</a></dt>
 <dd>The Final Mode (Final) key used on some asian keyboards.</dd>
-<dt><a name='keyset-key-Find' id="keyset-key-Find">"Find"</a></dt>
+<dt><a name='keyset-key-Find' id='keyset-key-Find'>"Find"</a></dt>
 <dd>The Find key.</dd>
-<dt><a name='keyset-key-FullWidth' id="keyset-key-FullWidth">"FullWidth"</a></dt>
+<dt><a name='keyset-key-FullWidth' id='keyset-key-FullWidth'>"FullWidth"</a></dt>
 <dd>The Full-Width Characters key.</dd>
-<dt><a name='keyset-key-HalfWidth' id="keyset-key-HalfWidth">"HalfWidth"</a></dt>
+<dt><a name='keyset-key-HalfWidth' id='keyset-key-HalfWidth'>"HalfWidth"</a></dt>
 <dd>The Half-Width Characters key.</dd>
-<dt><a name='keyset-key-HangulMode' id="keyset-key-HangulMode">"HangulMode"</a></dt>
+<dt><a name='keyset-key-HangulMode' id='keyset-key-HangulMode'>"HangulMode"</a></dt>
 <dd>The Hangul (Korean characters) Mode key.</dd>
-<dt><a name='keyset-key-HanjaMode' id="keyset-key-HanjaMode">"HanjaMode"</a></dt>
+<dt><a name='keyset-key-HanjaMode' id='keyset-key-HanjaMode'>"HanjaMode"</a></dt>
 <dd>The Hanja (Korean characters) Mode key.</dd>
-<dt><a name='keyset-key-Help' id="keyset-key-Help">"Help"</a></dt>
+<dt><a name='keyset-key-Help' id='keyset-key-Help'>"Help"</a></dt>
 <dd>The Help key.</dd>
-<dt><a name='keyset-key-Hiragana' id="keyset-key-Hiragana">"Hiragana"</a></dt>
+<dt><a name='keyset-key-Hiragana' id='keyset-key-Hiragana'>"Hiragana"</a></dt>
 <dd>The Hiragana (Japanese Kana characters) key.</dd>
-<dt><a name='keyset-key-Home' id="keyset-key-Home">"Home"</a></dt>
+<dt><a name='keyset-key-Home' id='keyset-key-Home'>"Home"</a></dt>
 <dd>The Home key.</dd>
-<dt><a name='keyset-key-Insert' id="keyset-key-Insert">"Insert"</a></dt>
+<dt><a name='keyset-key-Insert' id='keyset-key-Insert'>"Insert"</a></dt>
 <dd>The Insert (Ins) key.</dd>
-<dt><a name='keyset-key-JapaneseHiragana' id="keyset-key-JapaneseHiragana">"JapaneseHiragana"</a></dt>
+<dt><a name='keyset-key-JapaneseHiragana' id='keyset-key-JapaneseHiragana'>"JapaneseHiragana"</a></dt>
 <dd>The Japanese-Hiragana key.</dd>
-<dt><a name='keyset-key-JapaneseKatakana' id="keyset-key-JapaneseKatakana">"JapaneseKatakana"</a></dt>
+<dt><a name='keyset-key-JapaneseKatakana' id='keyset-key-JapaneseKatakana'>"JapaneseKatakana"</a></dt>
 <dd>The Japanese-Katakana key.</dd>
-<dt><a name='keyset-key-JapaneseRomaji' id="keyset-key-JapaneseRomaji">"JapaneseRomaji"</a></dt>
+<dt><a name='keyset-key-JapaneseRomaji' id='keyset-key-JapaneseRomaji'>"JapaneseRomaji"</a></dt>
 <dd>The Japanese-Romaji key.</dd>
-<dt><a name='keyset-key-JunjaMode' id="keyset-key-JunjaMode">"JunjaMode"</a></dt>
+<dt><a name='keyset-key-JunjaMode' id='keyset-key-JunjaMode'>"JunjaMode"</a></dt>
 <dd>The Junja Mode key.</dd>
-<dt><a name='keyset-key-KanaMode' id="keyset-key-KanaMode">"KanaMode"</a></dt>
+<dt><a name='keyset-key-KanaMode' id='keyset-key-KanaMode'>"KanaMode"</a></dt>
 <dd>The Kana Mode (Kana Lock) key.</dd>
-<dt><a name='keyset-key-KanjiMode' id="keyset-key-KanjiMode">"KanjiMode"</a></dt>
+<dt><a name='keyset-key-KanjiMode' id='keyset-key-KanjiMode'>"KanjiMode"</a></dt>
 <dd>The Kanji (Japanese name for ideographic characters of Chinese origin) Mode key.</dd>
-<dt><a name='keyset-key-Katakana' id="keyset-key-Katakana">"Katakana"</a></dt>
+<dt><a name='keyset-key-Katakana' id='keyset-key-Katakana'>"Katakana"</a></dt>
 <dd>The Katakana (Japanese Kana characters) key.</dd>
-<dt><a name='keyset-key-LaunchApplication1' id="keyset-key-LaunchApplication1">"LaunchApplication1"</a></dt>
+<dt><a name='keyset-key-LaunchApplication1' id='keyset-key-LaunchApplication1'>"LaunchApplication1"</a></dt>
 <dd>The Start Application One key.</dd>
-<dt><a name='keyset-key-LaunchApplication2' id="keyset-key-LaunchApplication2">"LaunchApplication2"</a></dt>
+<dt><a name='keyset-key-LaunchApplication2' id='keyset-key-LaunchApplication2'>"LaunchApplication2"</a></dt>
 <dd>The Start Application Two key.</dd>
-<dt><a name='keyset-key-LaunchMail' id="keyset-key-LaunchMail">"LaunchMail"</a></dt>
+<dt><a name='keyset-key-LaunchMail' id='keyset-key-LaunchMail'>"LaunchMail"</a></dt>
 <dd>The Start Mail key.</dd>
-<dt><a name='keyset-key-Left' id="keyset-key-Left">"Left"</a></dt>
+<dt><a name='keyset-key-Left' id='keyset-key-Left'>"Left"</a></dt>
 <dd>The Left Arrow key.</dd>
-<dt><a name='keyset-key-Meta' id="keyset-key-Meta">"Meta"</a></dt>
+<dt><a name='keyset-key-Meta' id='keyset-key-Meta'>"Meta"</a></dt>
 <dd>The Meta key.</dd>
-<dt><a name='keyset-key-MediaNextTrack' id="keyset-key-MediaNextTrack">"MediaNextTrack"</a></dt>
+<dt><a name='keyset-key-MediaNextTrack' id='keyset-key-MediaNextTrack'>"MediaNextTrack"</a></dt>
 <dd>The Media Next Track key.</dd>
-<dt><a name='keyset-key-MediaPlayPause' id="keyset-key-MediaPlayPause">"MediaPlayPause"</a></dt>
+<dt><a name='keyset-key-MediaPlayPause' id='keyset-key-MediaPlayPause'>"MediaPlayPause"</a></dt>
 <dd>The Media Play Pause key.</dd>
-<dt><a name='keyset-key-MediaPreviousTrack' id="keyset-key-MediaPreviousTrack">"MediaPreviousTrack"</a></dt>
+<dt><a name='keyset-key-MediaPreviousTrack' id='keyset-key-MediaPreviousTrack'>"MediaPreviousTrack"</a></dt>
 <dd>The Media Previous Track key.</dd>
-<dt><a name='keyset-key-MediaStop' id="keyset-key-MediaStop">"MediaStop"</a></dt>
+<dt><a name='keyset-key-MediaStop' id='keyset-key-MediaStop'>"MediaStop"</a></dt>
 <dd>The Media Stok key.</dd>
-<dt><a name='keyset-key-ModeChange' id="keyset-key-ModeChange">"ModeChange"</a></dt>
+<dt><a name='keyset-key-ModeChange' id='keyset-key-ModeChange'>"ModeChange"</a></dt>
 <dd>The Mode Change key.</dd>
-<dt><a name='keyset-key-Nonconvert' id="keyset-key-Nonconvert">"Nonconvert"</a></dt>
+<dt><a name='keyset-key-Nonconvert' id='keyset-key-Nonconvert'>"Nonconvert"</a></dt>
 <dd>The Nonconvert (Don't Convert) key.</dd>
-<dt><a name='keyset-key-NumLock' id="keyset-key-NumLock">"NumLock"</a></dt>
+<dt><a name='keyset-key-NumLock' id='keyset-key-NumLock'>"NumLock"</a></dt>
 <dd>The Num Lock key.</dd>
-<dt><a name='keyset-key-PageDown' id="keyset-key-PageDown">"PageDown"</a></dt>
+<dt><a name='keyset-key-PageDown' id='keyset-key-PageDown'>"PageDown"</a></dt>
 <dd>The Page Down (Next) key.</dd>
-<dt><a name='keyset-key-PageUp' id="keyset-key-PageUp">"PageUp"</a></dt>
+<dt><a name='keyset-key-PageUp' id='keyset-key-PageUp'>"PageUp"</a></dt>
 <dd>The Page Up key.</dd>
-<dt><a name='keyset-key-Paste' id="keyset-key-Paste">"Paste"</a></dt>
+<dt><a name='keyset-key-Paste' id='keyset-key-Paste'>"Paste"</a></dt>
 <dd>The Paste key.</dd>
-<dt><a name='keyset-key-Pause' id="keyset-key-Pause">"Pause"</a></dt>
+<dt><a name='keyset-key-Pause' id='keyset-key-Pause'>"Pause"</a></dt>
 <dd>The Pause key.</dd>
-<dt><a name='keyset-key-Play' id="keyset-key-Play">"Play"</a></dt>
+<dt><a name='keyset-key-Play' id='keyset-key-Play'>"Play"</a></dt>
 <dd>The Play key.</dd>
-<dt><a name='keyset-key-PreviousCandidate' id="keyset-key-PreviousCandidate">"PreviousCandidate"</a></dt>
+<dt><a name='keyset-key-PreviousCandidate' id='keyset-key-PreviousCandidate'>"PreviousCandidate"</a></dt>
 <dd>The Previous Candidate function key.</dd>
-<dt><a name='keyset-key-PrintScreen' id="keyset-key-PrintScreen">"PrintScreen"</a></dt>
+<dt><a name='keyset-key-PrintScreen' id='keyset-key-PrintScreen'>"PrintScreen"</a></dt>
 <dd>The Print Screen (PrintScrn, SnapShot) key.</dd>
-<dt><a name='keyset-key-Process' id="keyset-key-Process">"Process"</a></dt>
+<dt><a name='keyset-key-Process' id='keyset-key-Process'>"Process"</a></dt>
 <dd>The Process key.</dd>
-<dt><a name='keyset-key-Props' id="keyset-key-Props">"Props"</a></dt>
+<dt><a name='keyset-key-Props' id='keyset-key-Props'>"Props"</a></dt>
 <dd>The Props key.</dd>
-<dt><a name='keyset-key-Right' id="keyset-key-Right">"Right"</a></dt>
+<dt><a name='keyset-key-Right' id='keyset-key-Right'>"Right"</a></dt>
 <dd>The Right Arrow key.</dd>
-<dt><a name='keyset-key-RomanCharacters' id="keyset-key-RomanCharacters">"RomanCharacters"</a></dt>
+<dt><a name='keyset-key-RomanCharacters' id='keyset-key-RomanCharacters'>"RomanCharacters"</a></dt>
 <dd>The Roman Characters function key.</dd>
-<dt><a name='keyset-key-Scroll' id="keyset-key-Scroll">"Scroll"</a></dt>
+<dt><a name='keyset-key-Scroll' id='keyset-key-Scroll'>"Scroll"</a></dt>
 <dd>The Scroll Lock key.</dd>
-<dt><a name='keyset-key-Select' id="keyset-key-Select">"Select"</a></dt>
+<dt><a name='keyset-key-Select' id='keyset-key-Select'>"Select"</a></dt>
 <dd>The Select key.</dd>
-<dt><a name='keyset-key-SelectMedia' id="keyset-key-SelectMedia">"SelectMedia"</a></dt>
+<dt><a name='keyset-key-SelectMedia' id='keyset-key-SelectMedia'>"SelectMedia"</a></dt>
 <dd>The Select Media key.</dd>
-<dt><a name='keyset-key-Shift' id="keyset-key-Shift">"Shift"</a></dt>
+<dt><a name='keyset-key-Shift' id='keyset-key-Shift'>"Shift"</a></dt>
 <dd>The Shift key.</dd>
-<dt><a name='keyset-key-Stop' id="keyset-key-Stop">"Stop"</a></dt>
+<dt><a name='keyset-key-Stop' id='keyset-key-Stop'>"Stop"</a></dt>
 <dd>The Stop key.</dd>
-<dt><a name='keyset-key-Up' id="keyset-key-Up">"Up"</a></dt>
+<dt><a name='keyset-key-Up' id='keyset-key-Up'>"Up"</a></dt>
 <dd>The Up Arrow key.</dd>
-<dt><a name='keyset-key-Undo' id="keyset-key-Undo">"Undo"</a></dt>
+<dt><a name='keyset-key-Undo' id='keyset-key-Undo'>"Undo"</a></dt>
 <dd>The Undo key.</dd>
-<dt><a name='keyset-key-VolumeDown' id="keyset-key-VolumeDown">"VolumeDown"</a></dt>
+<dt><a name='keyset-key-VolumeDown' id='keyset-key-VolumeDown'>"VolumeDown"</a></dt>
 <dd>The Volume Down key.</dd>
-<dt><a name='keyset-key-VolumeMute' id="keyset-key-VolumeMute">"VolumeMute"</a></dt>
+<dt><a name='keyset-key-VolumeMute' id='keyset-key-VolumeMute'>"VolumeMute"</a></dt>
 <dd>The Volume Mute key.</dd>
-<dt><a name='keyset-key-VolumeUp' id="keyset-key-VolumeUp">"VolumeUp"</a></dt>
+<dt><a name='keyset-key-VolumeUp' id='keyset-key-VolumeUp'>"VolumeUp"</a></dt>
 <dd>The Volume Up key.</dd>
-<dt><a name='keyset-key-Win' id="keyset-key-Win">"Win"</a></dt>
+<dt><a name='keyset-key-Win' id='keyset-key-Win'>"Win"</a></dt>
 <dd>The Windows Logo key.</dd>
-<dt><a name='keyset-key-Zoom' id="keyset-key-Zoom">"Zoom"</a></dt>
+<dt><a name='keyset-key-Zoom' id='keyset-key-Zoom'>"Zoom"</a></dt>
 <dd>The Zoom key.</dd>
-<dt><a name='keyset-key-U-0008' id="keyset-key-U-0008">"U+0008"</a></dt>
+<dt><a name='keyset-key-U-0008' id='keyset-key-U-0008'>"U+0008"</a></dt>
 <dd>The Backspace (Back) key.</dd>
-<dt><a name='keyset-key-U-0009' id="keyset-key-U-0009">"U+0009"</a></dt>
+<dt><a name='keyset-key-U-0009' id='keyset-key-U-0009'>"U+0009"</a></dt>
 <dd>The Horizontal Tabulation (Tab) key.</dd>
-<dt><a name='keyset-key-U-0018' id="keyset-key-U-0018">"U+0018"</a></dt>
+<dt><a name='keyset-key-U-0018' id='keyset-key-U-0018'>"U+0018"</a></dt>
 <dd>The Cancel key.</dd>
-<dt><a name='keyset-key-U-001B' id="keyset-key-U-001B">"U+001B"</a></dt>
+<dt><a name='keyset-key-U-001B' id='keyset-key-U-001B'>"U+001B"</a></dt>
 <dd>The Escape (Esc) key.</dd>
-<dt><a name='keyset-key-U-0020' id="keyset-key-U-0020">"U+0020"</a></dt>
+<dt><a name='keyset-key-U-0020' id='keyset-key-U-0020'>"U+0020"</a></dt>
 <dd>The Space (Spacebar) key.</dd>
-<dt><a name='keyset-key-U-0021' id="keyset-key-U-0021">"U+0021"</a></dt>
+<dt><a name='keyset-key-U-0021' id='keyset-key-U-0021'>"U+0021"</a></dt>
 <dd>The Exclamation Mark (Factorial, Bang) key (!).</dd>
-<dt><a name='keyset-key-U-0022' id="keyset-key-U-0022">"U+0022"</a></dt>
+<dt><a name='keyset-key-U-0022' id='keyset-key-U-0022'>"U+0022"</a></dt>
 <dd>The Quotation Mark (Quote Double) key (").</dd>
-<dt><a name='keyset-key-U-0023' id="keyset-key-U-0023">"U+0023"</a></dt>
+<dt><a name='keyset-key-U-0023' id='keyset-key-U-0023'>"U+0023"</a></dt>
 <dd>The Number Sign (Pound Sign, Hash, Crosshatch, Octothorpe) key (#).</dd>
-<dt><a name='keyset-key-U-0024' id="keyset-key-U-0024">"U+0024"</a></dt>
+<dt><a name='keyset-key-U-0024' id='keyset-key-U-0024'>"U+0024"</a></dt>
 <dd>The Dollar Sign (milreis, escudo) key ($).</dd>
-<dt><a name='keyset-key-U-0026' id="keyset-key-U-0026">"U+0026"</a></dt>
+<dt><a name='keyset-key-U-0026' id='keyset-key-U-0026'>"U+0026"</a></dt>
 <dd>The Ampersand key (&amp;).</dd>
-<dt><a name='keyset-key-U-0027' id="keyset-key-U-0027">"U+0027"</a></dt>
+<dt><a name='keyset-key-U-0027' id='keyset-key-U-0027'>"U+0027"</a></dt>
 <dd>The Apostrophe (Apostrophe-Quote, APL Quote) key (').</dd>
-<dt><a name='keyset-key-U-0028' id="keyset-key-U-0028">"U+0028"</a></dt>
+<dt><a name='keyset-key-U-0028' id='keyset-key-U-0028'>"U+0028"</a></dt>
 <dd>The Left Parenthesis (Opening Parenthesis) key (().</dd>
-<dt><a name='keyset-key-U-0029' id="keyset-key-U-0029">"U+0029"</a></dt>
+<dt><a name='keyset-key-U-0029' id='keyset-key-U-0029'>"U+0029"</a></dt>
 <dd>The Right Parenthesis (Closing Parenthesis) key ()).</dd>
-<dt><a name='keyset-key-U-002A' id="keyset-key-U-002A">"U+002A"</a></dt>
+<dt><a name='keyset-key-U-002A' id='keyset-key-U-002A'>"U+002A"</a></dt>
 <dd>The Asterix (Star) key (*).</dd>
-<dt><a name='keyset-key-U-002B' id="keyset-key-U-002B">"U+002B"</a></dt>
+<dt><a name='keyset-key-U-002B' id='keyset-key-U-002B'>"U+002B"</a></dt>
 <dd>The Plus Sign (Plus) key (+).</dd>
-<dt><a name='keyset-key-U-002C' id="keyset-key-U-002C">"U+002C"</a></dt>
+<dt><a name='keyset-key-U-002C' id='keyset-key-U-002C'>"U+002C"</a></dt>
 <dd>The Comma (decimal separator) sign key (,).</dd>
-<dt><a name='keyset-key-U-002D' id="keyset-key-U-002D">"U+002D"</a></dt>
+<dt><a name='keyset-key-U-002D' id='keyset-key-U-002D'>"U+002D"</a></dt>
 <dd>The Hyphen-minus (hyphen or minus sign) key (-).</dd>
-<dt><a name='keyset-key-U-002E' id="keyset-key-U-002E">"U+002E"</a></dt>
+<dt><a name='keyset-key-U-002E' id='keyset-key-U-002E'>"U+002E"</a></dt>
 <dd>The Full Stop (period, dot, decimal point) key (.).</dd>
-<dt><a name='keyset-key-U-002F' id="keyset-key-U-002F">"U+002F"</a></dt>
+<dt><a name='keyset-key-U-002F' id='keyset-key-U-002F'>"U+002F"</a></dt>
 <dd>The Solidus (slash, virgule, shilling) key (/).</dd>
-<dt><a name='keyset-key-U-0030' id="keyset-key-U-0030">"U+0030"</a></dt>
+<dt><a name='keyset-key-U-0030' id='keyset-key-U-0030'>"U+0030"</a></dt>
 <dd>The Digit Zero key (0).</dd>
-<dt><a name='keyset-key-U-0031' id="keyset-key-U-0031">"U+0031"</a></dt>
+<dt><a name='keyset-key-U-0031' id='keyset-key-U-0031'>"U+0031"</a></dt>
 <dd>The Digit One key (1).</dd>
-<dt><a name='keyset-key-U-0032' id="keyset-key-U-0032">"U+0032"</a></dt>
+<dt><a name='keyset-key-U-0032' id='keyset-key-U-0032'>"U+0032"</a></dt>
 <dd>The Digit Two key (2).</dd>
-<dt><a name='keyset-key-U-0033' id="keyset-key-U-0033">"U+0033"</a></dt>
+<dt><a name='keyset-key-U-0033' id='keyset-key-U-0033'>"U+0033"</a></dt>
 <dd>The Digit Three key (3).</dd>
-<dt><a name='keyset-key-U-0034' id="keyset-key-U-0034">"U+0034"</a></dt>
+<dt><a name='keyset-key-U-0034' id='keyset-key-U-0034'>"U+0034"</a></dt>
 <dd>The Digit Four key (4).</dd>
-<dt><a name='keyset-key-U-0035' id="keyset-key-U-0035">"U+0035"</a></dt>
+<dt><a name='keyset-key-U-0035' id='keyset-key-U-0035'>"U+0035"</a></dt>
 <dd>The Digit Five key (5).</dd>
-<dt><a name='keyset-key-U-0036' id="keyset-key-U-0036">"U+0036"</a></dt>
+<dt><a name='keyset-key-U-0036' id='keyset-key-U-0036'>"U+0036"</a></dt>
 <dd>The Digit Six key (6).</dd>
-<dt><a name='keyset-key-U-0037' id="keyset-key-U-0037">"U+0037"</a></dt>
+<dt><a name='keyset-key-U-0037' id='keyset-key-U-0037'>"U+0037"</a></dt>
 <dd>The Digit Seven key (7).</dd>
-<dt><a name='keyset-key-U-0038' id="keyset-key-U-0038">"U+0038"</a></dt>
+<dt><a name='keyset-key-U-0038' id='keyset-key-U-0038'>"U+0038"</a></dt>
 <dd>The Digit Eight key (8).</dd>
-<dt><a name='keyset-key-U-0039' id="keyset-key-U-0039">"U+0039"</a></dt>
+<dt><a name='keyset-key-U-0039' id='keyset-key-U-0039'>"U+0039"</a></dt>
 <dd>The Digit Nine key (9).</dd>
-<dt><a name='keyset-key-U-003A' id="keyset-key-U-003A">"U+003A"</a></dt>
+<dt><a name='keyset-key-U-003A' id='keyset-key-U-003A'>"U+003A"</a></dt>
 <dd>The Colon key (:).</dd>
-<dt><a name='keyset-key-U-003B' id="keyset-key-U-003B">"U+003B"</a></dt>
+<dt><a name='keyset-key-U-003B' id='keyset-key-U-003B'>"U+003B"</a></dt>
 <dd>The Semicolon key (;).</dd>
-<dt><a name='keyset-key-U-003C' id="keyset-key-U-003C">"U+003C"</a></dt>
+<dt><a name='keyset-key-U-003C' id='keyset-key-U-003C'>"U+003C"</a></dt>
 <dd>The Less-Than Sign key (&lt;).</dd>
-<dt><a name='keyset-key-U-003D' id="keyset-key-U-003D">"U+003D"</a></dt>
+<dt><a name='keyset-key-U-003D' id='keyset-key-U-003D'>"U+003D"</a></dt>
 <dd>The Equals Sign key (=).</dd>
-<dt><a name='keyset-key-U-003E' id="keyset-key-U-003E">"U+003E"</a></dt>
+<dt><a name='keyset-key-U-003E' id='keyset-key-U-003E'>"U+003E"</a></dt>
 <dd>The Greater-Than Sign key (&gt;).</dd>
-<dt><a name='keyset-key-U-003F' id="keyset-key-U-003F">"U+003F"</a></dt>
+<dt><a name='keyset-key-U-003F' id='keyset-key-U-003F'>"U+003F"</a></dt>
 <dd>The Question Mark key (?).</dd>
-<dt><a name='keyset-key-U-0040' id="keyset-key-U-0040">"U+0040"</a></dt>
+<dt><a name='keyset-key-U-0040' id='keyset-key-U-0040'>"U+0040"</a></dt>
 <dd>The Commercial At (@) key.</dd>
-<dt><a name='keyset-key-U-0041' id="keyset-key-U-0041">"U+0041"</a></dt>
+<dt><a name='keyset-key-U-0041' id='keyset-key-U-0041'>"U+0041"</a></dt>
 <dd>The Latin Capital Letter A key (A).</dd>
-<dt><a name='keyset-key-U-0042' id="keyset-key-U-0042">"U+0042"</a></dt>
+<dt><a name='keyset-key-U-0042' id='keyset-key-U-0042'>"U+0042"</a></dt>
 <dd>The Latin Capital Letter B key (B).</dd>
-<dt><a name='keyset-key-U-0043' id="keyset-key-U-0043">"U+0043"</a></dt>
+<dt><a name='keyset-key-U-0043' id='keyset-key-U-0043'>"U+0043"</a></dt>
 <dd>The Latin Capital Letter C key (C).</dd>
-<dt><a name='keyset-key-U-0044' id="keyset-key-U-0044">"U+0044"</a></dt>
+<dt><a name='keyset-key-U-0044' id='keyset-key-U-0044'>"U+0044"</a></dt>
 <dd>The Latin Capital Letter D key (D).</dd>
-<dt><a name='keyset-key-U-0045' id="keyset-key-U-0045">"U+0045"</a></dt>
+<dt><a name='keyset-key-U-0045' id='keyset-key-U-0045'>"U+0045"</a></dt>
 <dd>The Latin Capital Letter E key (E).</dd>
-<dt><a name='keyset-key-U-0046' id="keyset-key-U-0046">"U+0046"</a></dt>
+<dt><a name='keyset-key-U-0046' id='keyset-key-U-0046'>"U+0046"</a></dt>
 <dd>The Latin Capital Letter F key (F).</dd>
-<dt><a name='keyset-key-U-0047' id="keyset-key-U-0047">"U+0047"</a></dt>
+<dt><a name='keyset-key-U-0047' id='keyset-key-U-0047'>"U+0047"</a></dt>
 <dd>The Latin Capital Letter G key (G).</dd>
-<dt><a name='keyset-key-U-0048' id="keyset-key-U-0048">"U+0048"</a></dt>
+<dt><a name='keyset-key-U-0048' id='keyset-key-U-0048'>"U+0048"</a></dt>
 <dd>The Latin Capital Letter H key (H).</dd>
-<dt><a name='keyset-key-U-0049' id="keyset-key-U-0049">"U+0049"</a></dt>
+<dt><a name='keyset-key-U-0049' id='keyset-key-U-0049'>"U+0049"</a></dt>
 <dd>The Latin Capital Letter I key (I).</dd>
-<dt><a name='keyset-key-U-004A' id="keyset-key-U-004A">"U+004A"</a></dt>
+<dt><a name='keyset-key-U-004A' id='keyset-key-U-004A'>"U+004A"</a></dt>
 <dd>The Latin Capital Letter J key (J).</dd>
-<dt><a name='keyset-key-U-004B' id="keyset-key-U-004B">"U+004B"</a></dt>
+<dt><a name='keyset-key-U-004B' id='keyset-key-U-004B'>"U+004B"</a></dt>
 <dd>The Latin Capital Letter K key (K).</dd>
-<dt><a name='keyset-key-U-004C' id="keyset-key-U-004C">"U+004C"</a></dt>
+<dt><a name='keyset-key-U-004C' id='keyset-key-U-004C'>"U+004C"</a></dt>
 <dd>The Latin Capital Letter L key (L).</dd>
-<dt><a name='keyset-key-U-004D' id="keyset-key-U-004D">"U+004D"</a></dt>
+<dt><a name='keyset-key-U-004D' id='keyset-key-U-004D'>"U+004D"</a></dt>
 <dd>The Latin Capital Letter M key (M).</dd>
-<dt><a name='keyset-key-U-004E' id="keyset-key-U-004E">"U+004E"</a></dt>
+<dt><a name='keyset-key-U-004E' id='keyset-key-U-004E'>"U+004E"</a></dt>
 <dd>The Latin Capital Letter N key (N).</dd>
-<dt><a name='keyset-key-U-004F' id="keyset-key-U-004F">"U+004F"</a></dt>
+<dt><a name='keyset-key-U-004F' id='keyset-key-U-004F'>"U+004F"</a></dt>
 <dd>The Latin Capital Letter O key (O).</dd>
-<dt><a name='keyset-key-U-0050' id="keyset-key-U-0050">"U+0050"</a></dt>
+<dt><a name='keyset-key-U-0050' id='keyset-key-U-0050'>"U+0050"</a></dt>
 <dd>The Latin Capital Letter P key (P).</dd>
-<dt><a name='keyset-key-U-0051' id="keyset-key-U-0051">"U+0051"</a></dt>
+<dt><a name='keyset-key-U-0051' id='keyset-key-U-0051'>"U+0051"</a></dt>
 <dd>The Latin Capital Letter Q key (Q).</dd>
-<dt><a name='keyset-key-U-0052' id="keyset-key-U-0052">"U+0052"</a></dt>
+<dt><a name='keyset-key-U-0052' id='keyset-key-U-0052'>"U+0052"</a></dt>
 <dd>The Latin Capital Letter R key (R).</dd>
-<dt><a name='keyset-key-U-0053' id="keyset-key-U-0053">"U+0053"</a></dt>
+<dt><a name='keyset-key-U-0053' id='keyset-key-U-0053'>"U+0053"</a></dt>
 <dd>The Latin Capital Letter S key (S).</dd>
-<dt><a name='keyset-key-U-0054' id="keyset-key-U-0054">"U+0054"</a></dt>
+<dt><a name='keyset-key-U-0054' id='keyset-key-U-0054'>"U+0054"</a></dt>
 <dd>The Latin Capital Letter T key (T).</dd>
-<dt><a name='keyset-key-U-0055' id="keyset-key-U-0055">"U+0055"</a></dt>
+<dt><a name='keyset-key-U-0055' id='keyset-key-U-0055'>"U+0055"</a></dt>
 <dd>The Latin Capital Letter U key (U).</dd>
-<dt><a name='keyset-key-U-0056' id="keyset-key-U-0056">"U+0056"</a></dt>
+<dt><a name='keyset-key-U-0056' id='keyset-key-U-0056'>"U+0056"</a></dt>
 <dd>The Latin Capital Letter V key (V).</dd>
-<dt><a name='keyset-key-U-0057' id="keyset-key-U-0057">"U+0057"</a></dt>
+<dt><a name='keyset-key-U-0057' id='keyset-key-U-0057'>"U+0057"</a></dt>
 <dd>The Latin Capital Letter W key (W).</dd>
-<dt><a name='keyset-key-U-0058' id="keyset-key-U-0058">"U+0058"</a></dt>
+<dt><a name='keyset-key-U-0058' id='keyset-key-U-0058'>"U+0058"</a></dt>
 <dd>The Latin Capital Letter X key (X).</dd>
-<dt><a name='keyset-key-U-0059' id="keyset-key-U-0059">"U+0059"</a></dt>
+<dt><a name='keyset-key-U-0059' id='keyset-key-U-0059'>"U+0059"</a></dt>
 <dd>The Latin Capital Letter Y key (Y).</dd>
-<dt><a name='keyset-key-U-005A' id="keyset-key-U-005A">"U+005A"</a></dt>
+<dt><a name='keyset-key-U-005A' id='keyset-key-U-005A'>"U+005A"</a></dt>
 <dd>The Latin Capital Letter Z key (Z).</dd>
-<dt><a name='keyset-key-U-005B' id="keyset-key-U-005B">"U+005B"</a></dt>
+<dt><a name='keyset-key-U-005B' id='keyset-key-U-005B'>"U+005B"</a></dt>
 <dd>The Left Square Bracket (Opening Square Bracket) key ([).</dd>
-<dt><a name='keyset-key-U-005C' id="keyset-key-U-005C">"U+005C"</a></dt>
+<dt><a name='keyset-key-U-005C' id='keyset-key-U-005C'>"U+005C"</a></dt>
 <dd>The Reverse Solidus (Backslash) key (\).</dd>
-<dt><a name='keyset-key-U-005D' id="keyset-key-U-005D">"U+005D"</a></dt>
+<dt><a name='keyset-key-U-005D' id='keyset-key-U-005D'>"U+005D"</a></dt>
 <dd>The Right Square Bracket (Closing Square Bracket) key (]).</dd>
-<dt><a name='keyset-key-U-005E' id="keyset-key-U-005E">"U+005E"</a></dt>
+<dt><a name='keyset-key-U-005E' id='keyset-key-U-005E'>"U+005E"</a></dt>
 <dd>The Circumflex Accent key (^).</dd>
-<dt><a name='keyset-key-U-005F' id="keyset-key-U-005F">"U+005F"</a></dt>
+<dt><a name='keyset-key-U-005F' id='keyset-key-U-005F'>"U+005F"</a></dt>
 <dd>The Low Sign (Spacing Underscore, Underscore) key (_).</dd>
-<dt><a name='keyset-key-U-0060' id="keyset-key-U-0060">"U+0060"</a></dt>
+<dt><a name='keyset-key-U-0060' id='keyset-key-U-0060'>"U+0060"</a></dt>
 <dd>The Grave Accent (Back Quote) key (`).</dd>
-<dt><a name='keyset-key-U-007B' id="keyset-key-U-007B">"U+007B"</a></dt>
+<dt><a name='keyset-key-U-007B' id='keyset-key-U-007B'>"U+007B"</a></dt>
 <dd>The Left Curly Bracket (Opening Curly Bracket, Opening Brace, Brace Left) key ({).</dd>
-<dt><a name='keyset-key-U-007C' id="keyset-key-U-007C">"U+007C"</a></dt>
+<dt><a name='keyset-key-U-007C' id='keyset-key-U-007C'>"U+007C"</a></dt>
 <dd>The Vertical Line (Vertical Bar, Pipe) key (|).</dd>
-<dt><a name='keyset-key-U-007D' id="keyset-key-U-007D">"U+007D"</a></dt>
+<dt><a name='keyset-key-U-007D' id='keyset-key-U-007D'>"U+007D"</a></dt>
 <dd>The Right Curly Bracket (Closing Curly Bracket, Closing Brace, Brace Right) key (}).</dd>
-<dt><a name='keyset-key-U-007F' id="keyset-key-U-007F">"U+007F"</a></dt>
+<dt><a name='keyset-key-U-007F' id='keyset-key-U-007F'>"U+007F"</a></dt>
 <dd>The Delete (Del) Key.</dd>
-<dt><a name='keyset-key-U-00A1' id="keyset-key-U-00A1">"U+00A1"</a></dt>
+<dt><a name='keyset-key-U-00A1' id='keyset-key-U-00A1'>"U+00A1"</a></dt>
 <dd>The Inverted Exclamation Mark key (&#161;).</dd>
-<dt><a name='keyset-key-U-0300' id="keyset-key-U-0300">"U+0300"</a></dt>
+<dt><a name='keyset-key-U-0300' id='keyset-key-U-0300'>"U+0300"</a></dt>
 <dd>The Combining Grave Accent (Greek Varia, Dead Grave) key.</dd>
-<dt><a name='keyset-key-U-0301' id="keyset-key-U-0301">"U+0301"</a></dt>
+<dt><a name='keyset-key-U-0301' id='keyset-key-U-0301'>"U+0301"</a></dt>
 <dd>The Combining Acute Accent (Stress Mark, Greek Oxia, Tonos, Dead Eacute) key.</dd>
-<dt><a name='keyset-key-U-0302' id="keyset-key-U-0302">"U+0302"</a></dt>
+<dt><a name='keyset-key-U-0302' id='keyset-key-U-0302'>"U+0302"</a></dt>
 <dd>The Combining Circumflex Accent (Hat, Dead Circumflex) key.</dd>
-<dt><a name='keyset-key-U-0303' id="keyset-key-U-0303">"U+0303"</a></dt>
+<dt><a name='keyset-key-U-0303' id='keyset-key-U-0303'>"U+0303"</a></dt>
 <dd>The Combining Tilde (Dead Tilde) key.</dd>
-<dt><a name='keyset-key-U-0304' id="keyset-key-U-0304">"U+0304"</a></dt>
+<dt><a name='keyset-key-U-0304' id='keyset-key-U-0304'>"U+0304"</a></dt>
 <dd>The Combining Macron (Long, Dead Macron) key.</dd>
-<dt><a name='keyset-key-U-0306' id="keyset-key-U-0306">"U+0306"</a></dt>
+<dt><a name='keyset-key-U-0306' id='keyset-key-U-0306'>"U+0306"</a></dt>
 <dd>The Combining Breve (Short, Dead Breve) key.</dd>
-<dt><a name='keyset-key-U-0307' id="keyset-key-U-0307">"U+0307"</a></dt>
+<dt><a name='keyset-key-U-0307' id='keyset-key-U-0307'>"U+0307"</a></dt>
 <dd>The Combining Dot Above (Derivative, Dead Above Dot) key.</dd>
-<dt><a name='keyset-key-U-0308' id="keyset-key-U-0308">"U+0308"</a></dt>
+<dt><a name='keyset-key-U-0308' id='keyset-key-U-0308'>"U+0308"</a></dt>
 <dd>The Combining Diaeresis (Double Dot Abode, Umlaut, Greek Dialytika, Double Derivative, Dead Diaeresis) key.</dd>
-<dt><a name='keyset-key-U-030A' id="keyset-key-U-030A">"U+030A"</a></dt>
+<dt><a name='keyset-key-U-030A' id='keyset-key-U-030A'>"U+030A"</a></dt>
 <dd>The Combining Ring Above (Dead Above Ring) key.</dd>
-<dt><a name='keyset-key-U-030B' id="keyset-key-U-030B">"U+030B"</a></dt>
+<dt><a name='keyset-key-U-030B' id='keyset-key-U-030B'>"U+030B"</a></dt>
 <dd>The Combining Double Acute Accent (Dead Doubleacute) key.</dd>
-<dt><a name='keyset-key-U-030C' id="keyset-key-U-030C">"U+030C"</a></dt>
+<dt><a name='keyset-key-U-030C' id='keyset-key-U-030C'>"U+030C"</a></dt>
 <dd>The Combining Caron (Hacek, V Above, Dead Caron) key.</dd>
-<dt><a name='keyset-key-U-0327' id="keyset-key-U-0327">"U+0327"</a></dt>
+<dt><a name='keyset-key-U-0327' id='keyset-key-U-0327'>"U+0327"</a></dt>
 <dd>The Combining Cedilla (Dead Cedilla) key.</dd>
-<dt><a name='keyset-key-U-0328' id="keyset-key-U-0328">"U+0328"</a></dt>
+<dt><a name='keyset-key-U-0328' id='keyset-key-U-0328'>"U+0328"</a></dt>
 <dd>The Combining Ogonek (Nasal Hook, Dead Ogonek) key.</dd>
-<dt><a name='keyset-key-U-0345' id="keyset-key-U-0345">"U+0345"</a></dt>
+<dt><a name='keyset-key-U-0345' id='keyset-key-U-0345'>"U+0345"</a></dt>
 <dd>The Combining Greek Ypogegrammeni (Greek Non-Spacing Iota Below, Iota Subscript, Dead Iota) key.</dd>
-<dt><a name='keyset-key-U-20AC' id="keyset-key-U-20AC">"U+20AC"</a></dt>
+<dt><a name='keyset-key-U-20AC' id='keyset-key-U-20AC'>"U+20AC"</a></dt>
 <dd>The Euro Currency Sign key (&#8364;).</dd>
-<dt><a name='keyset-key-U-3099' id="keyset-key-U-3099">"U+3099"</a></dt>
+<dt><a name='keyset-key-U-3099' id='keyset-key-U-3099'>"U+3099"</a></dt>
 <dd>The Combining Katakana-Hiragana Voiced Sound Mark (Dead Voiced Sound) key.</dd>
-<dt><a name='keyset-key-U-309A' id="keyset-key-U-309A">"U+309A"</a></dt>
+<dt><a name='keyset-key-U-309A' id='keyset-key-U-309A'>"U+309A"</a></dt>
 <dd>The Combining Katakana-Hiragana Semi-Voiced Sound Mark (Dead Semivoiced Sound) key.</dd>
 </dl>
 </div>
@@ -3743,21 +4048,37 @@
 <!-- div1 KeySet -->
 <a id='changes' name='changes'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>March 2006</p>
-</div>
-<div class='div1'><a name='changes-Changes' id="changes-Changes"></a>
+<p style='font-family: monospace;font-size:small'>April 2006</p>
+</div>
+<div class='div1'><a name='changes-Changes' id='changes-Changes'></a>
 <h1 id='changes-Changes-h1' class='adiv1'>Appendix B: Changes</h1>
 <dl>
 <dt><i>Editors</i>:</dt>
-<dd>Bj&#246;rn H&#246;hrmann</dd>
+<dd><a href='http://bjoern.hoehrmann.de/'>Bj&#246;rn H&#246;hrmann</a></dd>
 <dd>Philippe Le H&#233;garet, W3C (until November 2003)</dd>
 </dl>
-<div class='div2'><a name='changes-DOMEvents2to3Changes' id="changes-DOMEvents2to3Changes"></a>
-<h2 id='changes-DOMEvents2to3Changes-h2' class='adiv2'>B.1 Changes between DOM Level 2 Events and DOM Level 3 Events</h2>
-<div style='color: red'>(<i><b>ED:</b></i> This section is a bit out of date. )</div>
+<div class='div2'><a name='changes-DOMEvents3NoteChanges' id='changes-DOMEvents3NoteChanges'></a>
+<h2 id='changes-DOMEvents3NoteChanges-h2' class='adiv2'>B.1 Changes since November 2003</h2>
+<p>Numerous clarifications to the interfaces and event types have been made. The <code>HTMLEvents</code> module is no longer defined in this document. The event types <code>focus</code> and <code>blur</code> have been added to the <a href='#events-Events-UIEvent'><code>UIEvents</code></a> module. For changes to the introduction of namespaces see <a href='#events-Events-dom2-compatibility'>Compatibility with DOM Level 2 Events</a>.</p>
+<dl>
+<dt>Interface <a href='#events-Events-CustomEvent'><code>CustomEvent</code></a></dt>
+<dd>Objects that implement the CustomEvent interface are now created by the implementation through <a href='#events-Events-DocumentEvent-createEvent'><code>DocumentEvent.createEvent()</code></a>. Applications can no longer create their own Event objects and have them dispatched by the DOM implementation. The interface members associated with this functionality have been removed and the <a href='#events-Events-Event-initCustomEventNS'><code>CustomEvent.initCustomEventNS()</code></a> method has been added.</dd>
+<dt>Interface <a href='#events-Events-EventTarget'><code>EventTarget</code></a></dt>
+<dd>The methods <code>EventTarget.hasEventListenerNS()</code> and <code>EventTarget.willTriggerNS()</code> have been removed.<br />
+<a href='#events-Events-EventTarget-dispatchEvent'><code>EventTarget.dispatchEvent()</code></a> now raises an exception if the <a href='#events-Events-Event-type'><code>Event.type</code></a> attribute is syntactically invalid.</dd>
+<dt>Interface <a href='#events-Events-Event'><code>Event</code></a></dt>
+<dd>The method <code>Event.isCustom()</code> has been removed; it is not longer necessary due to the changes made to the <a href='#events-Events-CustomEvent'><code>CustomEvent</code></a> interface.<br />
+The method <code>Event.isDefaultPrevented()</code> has been turned into an attribute named <a href='#events-Events-Event-defaultPrevented'><code>Event.defaultPrevented</code></a>.<br />
+<a href='#events-Events-Event-timeStamp'><code>Event.timeStamp</code></a> is now a <code>Number</code> in the ECMAScript binding; a proposed correction to make the same change in [<cite><a class='noxref normative' href='#references-DOMCore'>DOM Level 3 Core</a></cite>] is forthcoming.</dd>
+</dl>
+</div>
+<!-- div2 DOMEvents3NoteChanges -->
+<div class='div2'><a name='changes-DOMEvents2to3Changes' id='changes-DOMEvents2to3Changes'></a>
+<h2 id='changes-DOMEvents2to3Changes-h2' class='adiv2'>B.2 Changes between DOM Level 2 Events and DOM Level 3 Events</h2>
+<p><b>Note:</b> This section lists changes between DOM Level 2 Events and the DOM Level 3 Events Working Group Note published November 2003. This section will be merged with the preceding section (and list only changes between DOM Level 2 Events and this specification) in a future draft of this document.</p>
 <p>This new specification provides a better separation between the DOM event flow, the event types, and the DOM interfaces.</p>
-<div class='div3'><a name='changes-DOMEvents2to3Changes-flow' id="changes-DOMEvents2to3Changes-flow"></a>
-<h3 id='changes-DOMEvents2to3Changes-flow-h3' class='adiv3'>B.1.1 Changes to DOM Level 2 event flow</h3>
+<div class='div3'><a name='changes-DOMEvents2to3Changes-flow' id='changes-DOMEvents2to3Changes-flow'></a>
+<h3 id='changes-DOMEvents2to3Changes-flow-h3' class='adiv3'>B.2.1 Changes to DOM Level 2 event flow</h3>
 <p>This new specification introduced two new concepts in the event flow:</p>
 <ul>
 <li>event groups: unlike DOM Level 2 Events, <a href='#events-Events-Event-stopPropagation'><code>Event.stopPropagation()</code></a> does no longer stop the event propagation entirely. It only stops it for a given event group.</li>
@@ -3765,14 +4086,14 @@
 </ul>
 </div>
 <!-- div3 DOMEvents2to3Changes-flow -->
-<div class='div3'><a name='changes-DOMEvents2to3Changes-event-types' id="changes-DOMEvents2to3Changes-event-types"></a>
-<h3 id='changes-DOMEvents2to3Changes-event-types-h3' class='adiv3'>B.1.2 Changes to DOM Level 2 event types</h3>
+<div class='div3'><a name='changes-DOMEvents2to3Changes-event-types' id='changes-DOMEvents2to3Changes-event-types'></a>
+<h3 id='changes-DOMEvents2to3Changes-event-types-h3' class='adiv3'>B.2.2 Changes to DOM Level 2 event types</h3>
 <p>Lots of clarifications have been made on the event types. The conformance is now explicitly defined against the event types, and not only in terms of interfaces required by the event types. Support for namespaces and the features <code>"BasicEvents"</code>, <code>"TextEvents"</code>, <code>"KeyboardEvents"</code>, and <code>"MutationNameEvents"</code> have been introduced.</p>
 <p>The DOM Level 2 Event <a href='#events-event-load'>load</a> event type can now be dispatched to more [<cite><a class='noxref informative' href='#references-HTML40'>HTML 4.01</a></cite>] elements. <a href='#events-event-blur'>blur</a> and <a href='#events-event-focus'>focus</a> have been clarified and restricted to [<cite><a class='noxref informative' href='#references-HTML40'>HTML 4.01</a></cite>] applications only.</p>
 </div>
 <!-- div3 DOMEvents2to3Changes-event-types -->
-<div class='div3'><a name='changes-DOMLevel2to3Changes' id="changes-DOMLevel2to3Changes"></a>
-<h3 id='changes-DOMLevel2to3Changes-h3' class='adiv3'>B.1.3 Changes to DOM Level 2 Events interfaces</h3>
+<div class='div3'><a name='changes-DOMLevel2to3Changes' id='changes-DOMLevel2to3Changes'></a>
+<h3 id='changes-DOMLevel2to3Changes-h3' class='adiv3'>B.2.3 Changes to DOM Level 2 Events interfaces</h3>
 <dl>
 <dt>Interface <a href='#events-Events-Event'><code>Event</code></a></dt>
 <dd>The <a href='#events-Events-Event'><code>Event</code></a> interface has a new attribute <a href='#events-Events-Event-namespaceURI'><code>Event.namespaceURI</code></a>, and a four new methods: <code>Event.isCustom()</code>, <a href='#events-Events-Event-stopImmediatePropagation'><code>Event.stopImmediatePropagation()</code></a>, <code>Event.isDefaultPrevented()</code>, and <a href='#events-Events-Event-initEventNS'><code>Event.initEventNS</code></a>.</dd>
@@ -3791,8 +4112,8 @@
 </dl>
 </div>
 <!-- div3 DOMLevel2to3Changes -->
-<div class='div3'><a name='changes-DOMLevel3Addons' id="changes-DOMLevel3Addons"></a>
-<h3 id='changes-DOMLevel3Addons-h3' class='adiv3'>B.1.4 New Interfaces</h3>
+<div class='div3'><a name='changes-DOMLevel3Addons' id='changes-DOMLevel3Addons'></a>
+<h3 id='changes-DOMLevel3Addons-h3' class='adiv3'>B.2.4 New Interfaces</h3>
 <p>The interfaces <a href='#events-Events-CustomEvent'><code>CustomEvent</code></a>, <a href='#events-Events-TextEvent'><code>TextEvent</code></a>, <a href='#events-Events-KeyboardEvent'><code>KeyboardEvent</code></a>, and <a href='#events-Events-MutationNameEvent'><code>MutationNameEvent</code></a> were added to the Events module.</p>
 </div>
 <!-- div3 DOMLevel3Addons --></div>
@@ -3800,12 +4121,12 @@
 <!-- div1 Changes -->
 <a id='idl-definitions' name='idl-definitions'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>March 2006</p>
-</div>
-<div class='div1'><a name='idl-definitions-idl' id="idl-definitions-idl"></a>
+<p style='font-family: monospace;font-size:small'>April 2006</p>
+</div>
+<div class='div1'><a name='idl-definitions-idl' id='idl-definitions-idl'></a>
 <h1 id='idl-definitions-idl-h1' class='adiv1'>Appendix C: IDL Definitions</h1>
 <p class='first'>This appendix contains the complete OMG IDL [<cite><a class='noxref normative' href='#references-OMGIDL'>OMG IDL</a></cite>] for the Level 3 Document Object Model Events definitions.</p>
-<p>The IDL files are also available as: <a class='normative' href='idl.zip'>http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/idl.zip</a></p>
+<p>The IDL files are also available as: <a class='normative' href='idl.zip'>http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413/idl.zip</a></p>
 <h3 id='idl-definitions-idl-events.idl'><a href='idl/events.idl'>events.idl</a>:</h3>
 <div class='idl-code'>
 <pre>
@@ -4095,13 +4416,12 @@
 <!-- div1 idl -->
 <a id='java-binding' name='java-binding'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>March 2006</p>
-</div>
-<div class='div1'><a name='java-binding-java-binding' id="java-binding-java-binding"></a>
+<p style='font-family: monospace;font-size:small'>April 2006</p>
+</div>
+<div class='div1'><a name='java-binding-java-binding' id='java-binding-java-binding'></a>
 <h1 id='java-binding-java-binding-h1' class='adiv1'>Appendix D: Java Language Binding</h1>
-<div style='color: red'>(<i><b>ED:</b></i> Paths should use <code>/</code> rather than <code>\</code>. )</div>
 <p class='first'>This appendix contains the complete Java [<cite><a class='noxref normative' href='#references-Java'>Java</a></cite>] bindings for the Level 3 Document Object Model Events.</p>
-<p>The Java files are also available as <a class='normative' href='java-binding.zip'>http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/java-binding.zip</a></p>
+<p>The Java files are also available as <a class='normative' href='java-binding.zip'>http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413/java-binding.zip</a></p>
 <h3 id='java-binding-org.w3c.dom.events.EventException'>org\w3c\dom\events\EventException.java:</h3>
 <div class='java-code'>
 <pre>
@@ -4477,9 +4797,9 @@
 <!-- div1 java-binding -->
 <a id='ecma-script-binding' name='ecma-script-binding'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>March 2006</p>
-</div>
-<div class='div1'><a name='ecma-script-binding-ecma-binding' id="ecma-script-binding-ecma-binding"></a>
+<p style='font-family: monospace;font-size:small'>April 2006</p>
+</div>
+<div class='div1'><a name='ecma-script-binding-ecma-binding' id='ecma-script-binding-ecma-binding'></a>
 <h1 id='ecma-script-binding-ecma-binding-h1' class='adiv1'>Appendix E: ECMAScript Language Binding</h1>
 <p class='first'>This appendix contains the complete ECMAScript [<cite><a class='noxref normative' href='#references-ECMAScript'>ECMAScript</a></cite>] binding for the Level 3 Document Object Model Events definitions.</p>
 <div class='ecma-block'>
@@ -4514,7 +4834,7 @@
 <dt><b>cancelable</b></dt>
 <dd>This read-only property is a <b>Boolean</b>.</dd>
 <dt><b>timeStamp</b></dt>
-<dd>This read-only property is an object that implements the <b>Date</b> interface.</dd>
+<dd>This read-only property is a <b>Number</b>.</dd>
 <dt><b>namespaceURI</b></dt>
 <dd>This read-only property is a <b>String</b>.</dd>
 <dt><b>defaultPrevented</b></dt>
@@ -4951,17 +5271,18 @@
 <!-- div1 ecma-binding -->
 <a id='acknowledgements' name='acknowledgements'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>March 2006</p>
-</div>
-<div class='div1'><a name='acknowledgements-contributors' id="acknowledgements-contributors"></a>
+<p style='font-family: monospace;font-size:small'>April 2006</p>
+</div>
+<div class='div1'><a name='acknowledgements-contributors' id='acknowledgements-contributors'></a>
 <h1 id='acknowledgements-contributors-h1' class='adiv1'>Appendix F: Acknowledgements</h1>
-<div style='color: red'>(<i><b>ED:</b></i> This section should be updated to reflect the change in ownership. )</div>
 <p class='first'>Many people contributed to the DOM specifications (Level 1, 2 or 3), including participants of the DOM Working Group and the DOM Interest Group. We especially thank the following:</p>
 <p>Andrew Watson (Object Management Group), Andy Heninger (IBM), Angel Diaz (IBM), Arnaud Le Hors (W3C and IBM), Ashok Malhotra (IBM and Microsoft), Ben Chang (Oracle), Bill Smith (Sun), Bill Shea (Merrill Lynch), Bob Sutor (IBM), Chris Lovett (Microsoft), Chris Wilson (Microsoft), David Brownell (Sun), David Ezell (Hewlett-Packard Company), David Singer (IBM), Dimitris Dimitriadis (Improve AB and invited expert), Don Park (invited), Elena Litani (IBM), Eric Vasilik (Microsoft), Gavin Nicol (INSO), Ian Jacobs (W3C), James Clark (invited), James Davidson (Sun), Jared Sorensen (Novell), Jeroen van Rotterdam (X-Hive Corporation), Joe Kesselman (IBM), Joe Lapp (webMethods), Joe Marini (Macromedia), Johnny Stenback (Netscape/AOL), Jon Ferraiolo (Adobe), Jonathan Marsh (Microsoft), Jonathan Robie (Texcel Research and Software AG), Kim Adamson-Sharpe (SoftQuad Software Inc.), Lauren Wood (SoftQuad Software Inc., <em>former Chair</em>), Laurence Cable (Sun), Mark Davis (IBM), Mark Scardina (Oracle), Martin D&#252;rst (W3C), Mary Brady (NIST), Mick Goulish (Software AG), Mike Champion (Arbortext and Software AG), Miles Sabin (Cromwell Media), Patti Lutsky (Arbortext), Paul Grosso (Arbortext), Peter Sharpe (SoftQuad Software Inc.), Phil Karlton (Netscape), Philippe Le H&#233;garet (W3C, <em>W3C Team Contact and former Chair</em>), Ramesh Lekshmynarayanan (Merrill Lynch), Ray Whitmer (iMall, Excite@Home, and Netscape/AOL, <em>Chair</em>), Rezaur Rahman (Intel), Rich Rollman (Microsoft), Rick Gessner (Netscape), Rick Jelliffe (invited), Rob Relyea (Microsoft), Scott Isaacs (Microsoft), Sharon Adler (INSO), Steve Byrne (JavaSoft), Tim Bray (invited), Tim Yu (Oracle), Tom Pixley (Netscape/AOL), Vidur Apparao (Netscape), Vinod Anupam (Lucent).</p>
+<p>After publication of this document as Working Group Note in November 2003, the participants of the WebAPI Working Group resumed development of this document:</p>
+<p>Anne van Kesteren (Opera Software), Arun Ranganathan (AOL), Bj&#246;rn H&#246;hrmann, Charles McCathieNevile (Opera Software, <em>Co-Chair</em>), Christophe Jolif (ILOG), Dean Jackson (W3C, <em>W3C Team Contact</em>), Doug Schepers (Vectoreal), Gorm Haug Eriksen (Opera Software), Ian Davis (Talis Information Limited), Ian Hickson (Google), John Robinson (AOL), Jonas Sicking (Mozilla Foundation), Luca Mascaro (HTML Writers Guild), Maciej Stachowiak (Apple Computer), Marc Hadley (Sun Microsystems), Michael Shenfield (Research In Motion), Robin Berjon, (Expway, <em>Co-Chair</em>) , Scott Hayman (Research In Motion), St&#233;phane Sire (IntuiLab), T.V. Raman (Google),</p>
 <p>Thanks to all those who have helped to improve this specification by sending suggestions and corrections (Please, keep bugging us with your issues!).</p>
-<p>Many thanks to Brad Pettit, Dylan Schiemann, David Flanagan, Steven Pemberton, Curt Arnold, Al Gilman, Misha Wolf, Sigurd Lerstad, Michael B. Allen, Alexander J. Vincent, Martin D&#252;rst, and Ken Rehor for their review and comments of this document.</p>
+<p>Many thanks to Brad Pettit, Dylan Schiemann, David Flanagan, Steven Pemberton, Curt Arnold, Al Gilman, Misha Wolf, Sigurd Lerstad, Michael B. Allen, Alexander J. Vincent, Martin D&#252;rst, Ken Rehor, and, Cameron McCormack, for their review and comments of this document.</p>
 <p>Special thanks to the <a class='normative' href='http://www.w3.org/DOM/Test'>DOM Conformance Test Suites</a> contributors: Fred Drake, Mary Brady (NIST), Rick Rivello (NIST), Robert Clary (Netscape), Neil Delima (IBM), with a special mention to Curt Arnold.</p>
-<div class='div2'><a name='acknowledgements-Productions' id="acknowledgements-Productions"></a>
+<div class='div2'><a name='acknowledgements-Productions' id='acknowledgements-Productions'></a>
 <h2 id='acknowledgements-Productions-h2' class='adiv2'>F.1 Production Systems</h2>
 <p>This specification was written in XML. The HTML, OMG IDL, Java and ECMAScript bindings were all produced automatically.</p>
 <p>Thanks to Joe English, author of <a class='normative' href='http://www.flightlab.com/cost'>cost</a>, which was used as the basis for producing DOM Level 1. Thanks also to Gavin Nicol, who wrote the scripts which run on top of cost. Arnaud Le Hors and Philippe Le H&#233;garet maintained the scripts.</p>
@@ -4972,9 +5293,9 @@
 <!-- div1 contributors -->
 <a id='glossary' name='glossary'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>March 2006</p>
-</div>
-<div class='div1'><a name='glossary-glossary' id="glossary-glossary"></a>
+<p style='font-family: monospace;font-size:small'>April 2006</p>
+</div>
+<div class='div1'><a name='glossary-glossary' id='glossary-glossary'></a>
 <h1 id='glossary-role-glossary' class='glossary'>Glossary</h1>
 <dl>
 <dt><i>Editors</i>:</dt>
@@ -4983,88 +5304,88 @@
 </dl>
 <p class='first'>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>
-<dt><b><a name='glossary-dt-bubbling-phase' id="glossary-dt-bubbling-phase">bubbling phase</a></b></dt>
+<dt><b><a name='glossary-dt-bubbling-phase' id='glossary-dt-bubbling-phase'>bubbling phase</a></b></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><b><a name='glossary-dt-capture-phase' id="glossary-dt-capture-phase">capture phase</a></b></dt>
+<dt><b><a name='glossary-dt-capture-phase' id='glossary-dt-capture-phase'>capture phase</a></b></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><b><a name='glossary-dt-child' id="glossary-dt-child">child</a></b></dt>
+<dt><b><a name='glossary-dt-child' id='glossary-dt-child'>child</a></b></dt>
 <dd>A <i>child</i> is an immediate descendant node of a node.</dd>
-<dt><b><a name='glossary-dt-DOM-Level-0' id="glossary-dt-DOM-Level-0">DOM Level 0</a></b></dt>
+<dt><b><a name='glossary-dt-DOM-Level-0' id='glossary-dt-DOM-Level-0'>DOM Level 0</a></b></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><b><a name='glossary-dt-event' id="glossary-dt-event">event</a></b></dt>
+<dt><b><a name='glossary-dt-event' id='glossary-dt-event'>event</a></b></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><b><a name='glossary-dt-event-target' id="glossary-dt-event-target">event target</a></b></dt>
+<dt><b><a name='glossary-dt-event-target' id='glossary-dt-event-target'>event target</a></b></dt>
 <dd>The object to which an <a href='#glossary-dt-event'>event</a> is targeted.</dd>
-<dt><b><a name='glossary-dt-localname' id="glossary-dt-localname">local name</a></b></dt>
+<dt><b><a name='glossary-dt-localname' id='glossary-dt-localname'>local name</a></b></dt>
 <dd>See local name in [<cite><a class='noxref informative' href='#references-Namespaces11'>XML Namespaces 1.1</a></cite>].</dd>
-<dt><b><a name='glossary-dt-namespaceURI' id="glossary-dt-namespaceURI">namespace URI</a></b></dt>
+<dt><b><a name='glossary-dt-namespaceURI' id='glossary-dt-namespaceURI'>namespace URI</a></b></dt>
 <dd>A <i>namespace URI</i> 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><b><a name='glossary-dt-target-node' id="glossary-dt-target-node">target node</a></b></dt>
+<dt><b><a name='glossary-dt-target-node' id='glossary-dt-target-node'>target node</a></b></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><b><a name='glossary-dt-target-phase' id="glossary-dt-target-phase">target phase</a></b></dt>
+<dt><b><a name='glossary-dt-target-phase' id='glossary-dt-target-phase'>target phase</a></b></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>
 </dl>
 </div>
 <!-- div1 glossary -->
 <a id='references' name='references'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>March 2006</p>
-</div>
-<div class='div1'><a name='references-References' id="references-References"></a>
+<p style='font-family: monospace;font-size:small'>April 2006</p>
+</div>
+<div class='div1'><a name='references-References' id='references-References'></a>
 <h1 id='references-role-references' class='references'>References</h1>
 <p class='first'>For the latest version of any W3C specification please consult the list of <a class='normative' href='http://www.w3.org/TR'>W3C Technical Reports</a> available at http://www.w3.org/TR.</p>
-<div class='div2'><a name='references-References-Normative' id="references-References-Normative"></a>
-<h2 id='references-References-Normative-h2' class='adiv2'>H.1 Normative references</h2>
+<div class='div2'><a name='references-References-Normative' id='references-References-Normative'></a>
+<h2 id='references-References-Normative-h2' class='adiv2'>H.1 Normative References</h2>
 <dl>
-<dt><b>[<a name='references-DOM2Core' id="references-DOM2Core">DOM Level 2 Core</a>]</b></dt>
+<dt><b>[<a name='references-DOM2Core' id='references-DOM2Core'>DOM Level 2 Core</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model Level 2 Core Specification</a></cite>, A. Le Hors, et al., Editors. World Wide Web Consortium, November 2000. This version of the DOM Level 2 Core Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113. The <a class='normative' href='http://www.w3.org/TR/DOM-Level-2-Core'>latest version of DOM Level 2 Core</a> is available at http://www.w3.org/TR/DOM-Level-2-Core.</dd>
-<dt><b>[<a name='references-DOMCore' id="references-DOMCore">DOM Level 3 Core</a>]</b></dt>
+<dt><b>[<a name='references-DOMCore' id='references-DOMCore'>DOM Level 3 Core</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model Level 3 Core Specification</a></cite>, A. Le Hors, et al., Editors. World Wide Web Consortium, April 2004. This version of the Document Object Model Level 3 Core Specification is http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407. The <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Core'>latest version of DOM Level 3 Core</a> is available at http://www.w3.org/TR/DOM-Level-3-Core.</dd>
-<dt><b>[<a name='references-DOM2Events' id="references-DOM2Events">DOM Level 2 Events</a>]</b></dt>
+<dt><b>[<a name='references-DOM2Events' id='references-DOM2Events'>DOM Level 2 Events</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model Level 2 Events Specification</a></cite>, T. Pixley, Editor. World Wide Web Consortium, November 2000. This version of the Document Object Model Level 2 Events Specification is http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113. The <a class='normative' href='http://www.w3.org/TR/DOM-Level-2-Events'>latest version of Document Object Model Level 2 Events</a> is available at http://www.w3.org/TR/DOM-Level-2-Events.</dd>
-<dt><b>[<a name='references-DOM2Views' id="references-DOM2Views">DOM Level 2 Views</a>]</b></dt>
+<dt><b>[<a name='references-DOM2Views' id='references-DOM2Views'>DOM Level 2 Views</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113'>Document Object Model Level 2 Views Specification</a></cite>, A. Le Hors, L. Cable, Editors. World Wide Web Consortium, November 2000. This version of the Document Object Model Level 2 Views Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113. The <a class='normative' href='http://www.w3.org/TR/DOM-Level-2-Views'>latest version of Document Object Model Level 2 Views</a> is available at http://www.w3.org/TR/DOM-Level-2-Views.</dd>
-<dt><b>[<a name='references-ECMAScript' id="references-ECMAScript">ECMAScript</a>]</b></dt>
+<dt><b>[<a name='references-ECMAScript' id='references-ECMAScript'>ECMAScript</a>]</b></dt>
 <dd><cite>ECMAScript Language Specification</cite>, Third Edition. European Computer Manufacturers Association, Standard ECMA-262, December 1999. This version of the ECMAScript Language is available from http://www.ecma-international.org/.</dd>
-<dt><b>[<a name='references-Java' id="references-Java">Java</a>]</b></dt>
+<dt><b>[<a name='references-Java' id='references-Java'>Java</a>]</b></dt>
 <dd><cite><a href='http://java.sun.com/docs/books/jls'>The Java Language Specification</a></cite>, J. Gosling, B. Joy, and G. Steele, Authors. Addison-Wesley, September 1996. Available at http://java.sun.com/docs/books/jls</dd>
-<dt><b>[<a name='references-OMGIDL' id="references-OMGIDL">OMG IDL</a>]</b></dt>
+<dt><b>[<a name='references-OMGIDL' id='references-OMGIDL'>OMG IDL</a>]</b></dt>
 <dd><cite>"OMG IDL Syntax and Semantics"</cite> defined in <cite><a href='http://www.omg.org/technology/documents/formal/corba_2.htm'>The Common Object Request Broker: Architecture and Specification, version 2</a></cite>, Object Management Group. The latest version of CORBA version 2.0 is available at http://www.omg.org/technology/documents/formal/corba_2.htm.</dd>
-<dt><b>[<a name='references-Unicode' id="references-Unicode">Unicode</a>]</b></dt>
-<dd><cite>The Unicode Standard, Version 4</cite>, ISBN 0-321-18578-1, as updated from time to time by the publication of new versions. The Unicode Consortium, 2000. See also <a class='normative' href='http://www.unicode.org/unicode/standard/versions'>Versions of the Unicode Standard</a>, available at http://www.unicode.org/unicode/standard/versions, for latest version and additional information on versions of the standard and of the Unicode Character Database.</dd>
-<dt><b>[<a name='references-UnicodeNormalization' id="references-UnicodeNormalization">UAX #15</a>]</b></dt>
-<dd><cite><a href='http://www.unicode.org/unicode/reports/tr15/'>Unicode Normalization Forms</a></cite>, The Unicode Standard Annex #15. The Unicode Consortium, 2005. The latest version of this annex is available at http://www.unicode.org/unicode/reports/tr15/.</dd>
-<dt><b>[<a name='references-Namespaces11' id="references-Namespaces11">XML Namespaces 1.1</a>]</b></dt>
+<dt><b>[<a name='references-Unicode' id='references-Unicode'>Unicode</a>]</b></dt>
+<dd><cite>The Unicode Standard, Version 4</cite>, ISBN 0-321-18578-1, as updated from time to time by the publication of new versions. The Unicode Consortium, 2003. See also <a class='normative' href='http://www.unicode.org/unicode/standard/versions'>Versions of the Unicode Standard</a>, available at http://www.unicode.org/unicode/standard/versions, for latest version and additional information on versions of the standard and of the Unicode Character Database.</dd>
+<dt><b>[<a name='references-UnicodeNormalization' id='references-UnicodeNormalization'>UAX #15</a>]</b></dt>
+<dd><cite><a href='http://www.unicode.org/reports/tr15/'>Unicode Normalization Forms</a></cite>, The Unicode Standard Annex #15. The Unicode Consortium, 2005. The latest version of this annex is available at http://www.unicode.org/reports/tr15/.</dd>
+<dt><b>[<a name='references-Namespaces11' id='references-Namespaces11'>XML Namespaces 1.1</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/2004/REC-xml-names11-20040204/'>Namespaces in XML 1.1</a></cite>, T. Bray, D. Hollander, A. Layman, and R. Tobin, Editors. World Wide Web Consortium, February 2004. This version of the Namespaces in XML 1.1 Specification is http://www.w3.org/TR/2004/REC-xml-names11-20040204/. The <a class='normative' href='http://www.w3.org/TR/xml-names11/'>latest version of Namespaces in XML 1.1</a> is available at http://www.w3.org/TR/xml-names11/.</dd>
 </dl>
 </div>
 <!-- div2 References-Normative -->
-<div class='div2'><a name='references-References-Informative' id="references-References-Informative"></a>
-<h2 id='references-References-Informative-h2' class='adiv2'>H.2 Informative references</h2>
+<div class='div2'><a name='references-References-Informative' id='references-References-Informative'></a>
+<h2 id='references-References-Informative-h2' class='adiv2'>H.2 Informative References</h2>
 <dl>
-<dt><b>[<a name='references-DOMLS' id="references-DOMLS">DOM Level 3 Load and Save</a>]</b></dt>
+<dt><b>[<a name='references-DOMLS' id='references-DOMLS'>DOM Level 3 Load and Save</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model Level 3 Load and Save Specification</a></cite>, J. Stenback, A. Heninger, Editors. World Wide Web Consortium, April 2004. This version of the DOM Level 3 Load and Save Specification is http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407. The <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-LS'>latest version of DOM Level 3 Load and Save</a> is available at http://www.w3.org/TR/DOM-Level-3-LS.</dd>
-<dt><b>[<a name='references-DOM2HTML' id="references-DOM2HTML">DOM Level 2 HTML</a>]</b></dt>
+<dt><b>[<a name='references-DOM2HTML' id='references-DOM2HTML'>DOM Level 2 HTML</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109'>Document Object Model Level 2 HTML Specification</a></cite>, J. Stenback, et al., Editors. World Wide Web Consortium, January 2003. This version of the Document Object Model Level 2 HTML Recommendation is http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109. The <a class='normative' href='http://www.w3.org/TR/DOM-Level-2-HTML'>latest version of Document Object Model Level 2 HTML</a> is available at http://www.w3.org/TR/DOM-Level-2-HTML.</dd>
-<dt><b>[<a name='references-DWW95' id="references-DWW95">DWW95</a>]</b></dt>
+<dt><b>[<a name='references-DWW95' id='references-DWW95'>DWW95</a>]</b></dt>
 <dd><cite>Developing International Software for Windows 95 and Windows NT: A Handbook for International Software Design</cite>, N. Kano, Author. Microsoft Press, 1995. ISBN 1-55615-840-8.</dd>
-<dt><b>[<a name='references-HTML40' id="references-HTML40">HTML 4.01</a>]</b></dt>
+<dt><b>[<a name='references-HTML40' id='references-HTML40'>HTML 4.01</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01 Specification</a></cite>, D. Raggett, A. Le Hors, and I. Jacobs, Editors. World Wide Web Consortium, December 1999. This version of the HTML 4.01 Recommendation is http://www.w3.org/TR/1999/REC-html401-19991224. The <a class='normative' href='http://www.w3.org/TR/html4'>latest version of HTML 4</a> is available at http://www.w3.org/TR/html4.</dd>
-<dt><b>[<a name='references-KeyEvent' id="references-KeyEvent">KeyEvent for Java</a>]</b></dt>
+<dt><b>[<a name='references-KeyEvent' id='references-KeyEvent'>KeyEvent for Java</a>]</b></dt>
 <dd><cite><a href='http://java.sun.com/j2se/1.4.2/docs/api/java/awt/event/KeyEvent.html'>Java 2 SDK, Standard Edition Documentation, Version 1.4.2, Class java.awt.events.KeyEvent</a></cite>. Sun Microsystems. Available at http://java.sun.com/j2se/1.4.2/docs/api/java/awt/event/KeyEvent.html.</dd>
-<dt><b>[<a name='references-Keys' id="references-Keys">Keys enumeration for .Net</a>]</b></dt>
+<dt><b>[<a name='references-Keys' id='references-Keys'>Keys enumeration for .Net</a>]</b></dt>
 <dd><cite><a href='http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWindowsFormsKeysClassTopic.asp'>.NET Framework Class Library, Keys Enumeration</a></cite>. Microsoft. Available at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWindowsFormsKeysClassTopic.asp.</dd>
-<dt><b>[<a name='references-SVG1' id="references-SVG1">SVG 1.1</a>]</b></dt>
+<dt><b>[<a name='references-SVG1' id='references-SVG1'>SVG 1.1</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/2003/REC-SVG11-20030114/'>Scalable Vector Graphics (SVG) 1.1 Specification</a></cite>, J. Ferraiolo, &#34276;&#27810; &#28147; (FUJISAWA Jun), and D. Jackson, Editors. World Wide Web Consortium, January 2003. This version of the SVG 1.1 Recommendation is http://www.w3.org/TR/2003/REC-SVG11-20030114/. The <a class='normative' href='http://www.w3.org/TR/SVG11/'>latest version of SVG 1.1</a> is available at http://www.w3.org/TR/SVG11/.</dd>
-<dt><b>[<a name='references-VoiceXML20' id="references-VoiceXML20">VoiceXML 2.0</a>]</b></dt>
+<dt><b>[<a name='references-VoiceXML20' id='references-VoiceXML20'>VoiceXML 2.0</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/2004/REC-voicexml20-20040316/'>Voice Extensible Markup Language (VoiceXML) Version 2.0</a></cite>, S. McGlashan, et al., Editors. World Wide Web Consortium, March 2004. This version of the Voice Extensible Markup Language Version 2.0 Recommendation is http://www.w3.org/TR/2004/REC-voicexml20-20040316/. The <a class='normative' href='http://www.w3.org/TR/voicexml20/'>latest version of Voice Extensible Markup Language Version 2.0</a> is available at http://www.w3.org/TR/voicexml20/.</dd>
-<dt><b>[<a name='references-XForms10' id="references-XForms10">XForms 1.0</a>]</b></dt>
+<dt><b>[<a name='references-XForms10' id='references-XForms10'>XForms 1.0</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/2006/REC-xforms-20060314/'>XForms 1.0 (Second Edition)</a></cite>, M. Dubinko, et al., Editors. World Wide Web Consortium, March 2006. This version of the XForms 1.0 Recommendation is http://www.w3.org/TR/2006/REC-xforms-20060314/. The <a class='normative' href='http://www.w3.org/TR/xforms/'>latest version of XForms 1.0</a> is available at http://www.w3.org/TR/xforms/.</dd>
-<dt><b>[<a name='references-XHTML10' id="references-XHTML10">XHTML 1.0</a>]</b></dt>
+<dt><b>[<a name='references-XHTML10' id='references-XHTML10'>XHTML 1.0</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/2002/REC-xhtml1-20020801'>XHTML 1.0: The Extensible HyperText Markup Language (Second Edition)</a></cite>, S. Pemberton, et al., Authors. World Wide Web Consortium, August 2002. This version of the XHTML 1.0 Recommendation is http://www.w3.org/TR/2002/REC-xhtml1-20020801. The <a class='normative' href='http://www.w3.org/TR/xhtml1'>latest version of XHTML 1.0</a> is available at http://www.w3.org/TR/xhtml1.</dd>
-<dt><b>[<a name='references-XML' id="references-XML">XML 1.0</a>]</b></dt>
+<dt><b>[<a name='references-XML' id='references-XML'>XML 1.0</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/2004/REC-xml-20040204'>Extensible Markup Language (XML) 1.0 (Third Edition)</a></cite>, T. Bray, J. Paoli, C. M. Sperberg-McQueen, et. al, Editors. World Wide Web Consortium, February 2004. This version of the XML 1.0 Recommendation is http://www.w3.org/TR/2004/REC-xml-20040204. The <a class='normative' href='http://www.w3.org/TR/REC-xml'>latest version of XML 1.0</a> is available at http://www.w3.org/TR/REC-xml.</dd>
-<dt><b>[<a name='references-XMLEvents' id="references-XMLEvents">XML Events</a>]</b></dt>
+<dt><b>[<a name='references-XMLEvents' id='references-XMLEvents'>XML Events</a>]</b></dt>
 <dd><cite><a href='http://www.w3.org/TR/2003/REC-xml-events-20031014'>XML Events</a></cite>, S. McCarron, S. Pemberton, and T.V. Raman, Editors. World Wide Web Consortium, October 2003. This version of the XML Events Recommendation is http://www.w3.org/TR/2003/REC-xml-events-20031014. The <a class='normative' href='http://www.w3.org/TR/xml-events/'>latest version of XML Events</a> is available at http://www.w3.org/TR/xml-events.</dd>
 </dl>
 </div>
@@ -5072,13 +5393,13 @@
 <!-- div1 References -->
 <a id='def-index' name='def-index'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>March 2006</p>
-</div>
-<div class='div1'><a name='def-index-Index' id="def-index-Index"></a>
+<p style='font-family: monospace;font-size:small'>April 2006</p>
+</div>
+<div class='div1'><a name='def-index-Index' id='def-index-Index'></a>
 <h1 id='def-index-role-index' class='index'>Index</h1>
 <table summary='the table contains all keywords used in this document'>
 <tr>
-<td width='30%'><a class='noxref' href='#events-event-abort'>abort</a> <a class='index-inst' href='#events-event-abort'>1</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>abort</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-abort'>2</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-EventTarget-addEventListener'>addEventListener</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-EventTargetGroup-addEventListenerNS'>addEventListenerNS</a></td>
 </tr>
@@ -5095,7 +5416,7 @@
 <td>&#160;</td>
 </tr>
 <tr>
-<td width='30%'><a class='noxref' href='#events-Conformance'>blur</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#events-event-blur'>2</a>, <a class='index-inst' href='#events-Events-eventgroupings-basicevents'>3</a></td>
+<td width='30%'><a class='noxref' href='#events-Conformance'>blur</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#events-Events-EventTypes-complete'>2</a>, <a class='index-inst' href='#events-Events-eventgroupings-uievents'>3</a>, <a class='index-inst' href='#events-event-blur'>4</a>, <a class='index-inst' href='#events-Events-eventgroupings-basicevents'>5</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-Event-canBubble'>bubbles</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-phases'>bubbling phase</a> <a class='index-inst' href='#events-Events-phases'>1</a>, <a class='index-inst' href='#events-Events-listeners-registration'>2</a>, <a class='index-inst' href='#events-Events-Registration-interfaces'>3</a>, <a class='index-inst' href='#events-Events-registration-xmlevents'>4</a>, <a class='index-inst' href='#events-Events-registration-voicexmlevents'>5</a>, <a class='index-inst' href='#events-Events-registration-html40'>6</a>, <a class='index-inst' href='#events-BUBBLING_PHASE'>7</a>, <a class='index-inst' href='#events-Events-EventTarget-addEventListener'>8</a>, <a class='index-inst' href='#glossary-dt-bubbling-phase'>9</a></td>
 </tr>
@@ -5114,11 +5435,11 @@
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-phases'>capture phase</a> <a class='index-inst' href='#events-Events-phases'>1</a>, <a class='index-inst' href='#events-Events-registration-html40'>2</a>, <a class='index-inst' href='#events-CAPTURING_PHASE'>3</a>, <a class='index-inst' href='#events-AT_TARGET'>4</a>, <a class='index-inst' href='#events-Events-EventTarget-addEventListener'>5</a>, <a class='index-inst' href='#glossary-dt-capture-phase'>6</a></td>
 <td width='30%'><a class='noxref' href='#events-CAPTURING_PHASE'>CAPTURING_PHASE</a></td>
-<td width='30%'><a class='noxref' href='#events-event-change'>change</a> <a class='index-inst' href='#events-event-change'>1</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>change</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-change'>2</a></td>
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-eventgroupings-mutationevents'>child</a> <a class='index-inst' href='#events-Events-eventgroupings-mutationevents'>1</a>, <a class='index-inst' href='#glossary-dt-child'>2</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-flow-cancelation'>click</a> <a class='index-inst' href='#events-Events-flow-cancelation'>1</a>, <a class='index-inst' href='#events-Events-flow-activation'>2</a>, <a class='index-inst' href='#events-event-click'>3</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>4</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-flow-cancelation'>click</a> <a class='index-inst' href='#events-Events-flow-cancelation'>1</a>, <a class='index-inst' href='#events-Events-flow-activation'>2</a>, <a class='index-inst' href='#events-Events-EventTypes-complete'>3</a>, <a class='index-inst' href='#events-event-click'>4</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>5</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-MouseEvent-clientX'>clientX</a></td>
 </tr>
 <tr>
@@ -5164,22 +5485,26 @@
 <td width='30%'><a class='noxref' href='#events-DOM_KEY_LOCATION_STANDARD'>DOM_KEY_LOCATION_STANDARD</a></td>
 </tr>
 <tr>
-<td width='30%'><a class='noxref' href='#events-Conformance'>DOMActivate</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#events-Events-flow-cancelation'>2</a>, <a class='index-inst' href='#events-Events-flow-activation'>3</a>, <a class='index-inst' href='#events-Events-DocumentEvent-createEvent'>4</a>, <a class='index-inst' href='#events-event-DOMActivate'>5</a></td>
-<td width='30%'><a class='noxref' href='#events-event-DOMAttributeNameChanged'>DOMAttributeNameChanged</a> <a class='index-inst' href='#events-event-DOMAttributeNameChanged'>1</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-MutationEvent-relatedNode'>DOMAttrModified</a> <a class='index-inst' href='#events-Events-MutationEvent-relatedNode'>1</a>, <a class='index-inst' href='#events-Events-MutationEvent-prevValue'>2</a>, <a class='index-inst' href='#events-Events-MutationEvent-newValue'>3</a>, <a class='index-inst' href='#events-Events-MutationEvent-attrName'>4</a>, <a class='index-inst' href='#events-Events-MutationEvent-attrChange'>5</a>, <a class='index-inst' href='#events-event-DOMAttrModified'>6</a></td>
-</tr>
-<tr>
-<td width='30%'><a class='noxref' href='#events-Events-MutationEvent-prevValue'>DOMCharacterDataModified</a> <a class='index-inst' href='#events-Events-MutationEvent-prevValue'>1</a>, <a class='index-inst' href='#events-Events-MutationEvent-newValue'>2</a>, <a class='index-inst' href='#events-event-DOMCharacterDataModified'>3</a></td>
-<td width='30%'><a class='noxref' href='#events-event-DOMElementNameChanged'>DOMElementNameChanged</a> <a class='index-inst' href='#events-event-DOMElementNameChanged'>1</a></td>
-<td width='30%'><a class='noxref' href='#events-event-DOMNodeInserted'>DOMNodeInserted</a> <a class='index-inst' href='#events-event-DOMNodeInserted'>1</a>, <a class='index-inst' href='#events-Events-eventgroupings-mutationevents'>2</a></td>
-</tr>
-<tr>
-<td width='30%'><a class='noxref' href='#events-event-DOMNodeInsertedIntoDocument'>DOMNodeInsertedIntoDocument</a> <a class='index-inst' href='#events-event-DOMNodeInsertedIntoDocument'>1</a></td>
-<td width='30%'><a class='noxref' href='#events-event-DOMNodeRemoved'>DOMNodeRemoved</a> <a class='index-inst' href='#events-event-DOMNodeRemoved'>1</a>, <a class='index-inst' href='#events-Events-eventgroupings-mutationevents'>2</a></td>
-<td width='30%'><a class='noxref' href='#events-event-DOMNodeRemovedFromDocument'>DOMNodeRemovedFromDocument</a> <a class='index-inst' href='#events-event-DOMNodeRemovedFromDocument'>1</a></td>
-</tr>
-<tr>
-<td width='30%'><a class='noxref' href='#events-event-DOMSubtreeModified'>DOMSubtreeModified</a> <a class='index-inst' href='#events-event-DOMSubtreeModified'>1</a></td>
+<td width='30%'><a class='noxref' href='#events-Conformance'>DOMActivate</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#events-Events-flow-cancelation'>2</a>, <a class='index-inst' href='#events-Events-flow-activation'>3</a>, <a class='index-inst' href='#events-Events-EventTypes-complete'>4</a>, <a class='index-inst' href='#events-Events-DocumentEvent-createEvent'>5</a>, <a class='index-inst' href='#events-event-DOMActivate'>6</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>DOMAttributeNameChanged</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-DOMAttributeNameChanged'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>DOMAttrModified</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-Events-MutationEvent-relatedNode'>2</a>, <a class='index-inst' href='#events-Events-MutationEvent-prevValue'>3</a>, <a class='index-inst' href='#events-Events-MutationEvent-newValue'>4</a>, <a class='index-inst' href='#events-Events-MutationEvent-attrName'>5</a>, <a class='index-inst' href='#events-Events-MutationEvent-attrChange'>6</a>, <a class='index-inst' href='#events-event-DOMAttrModified'>7</a></td>
+</tr>
+<tr>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>DOMCharacterDataModified</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-Events-MutationEvent-prevValue'>2</a>, <a class='index-inst' href='#events-Events-MutationEvent-newValue'>3</a>, <a class='index-inst' href='#events-event-DOMCharacterDataModified'>4</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>DOMElementNameChanged</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-DOMElementNameChanged'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Conformance'>DOMFocusIn</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#events-Events-EventTypes-complete'>2</a>, <a class='index-inst' href='#events-event-DOMFocusIn'>3</a></td>
+</tr>
+<tr>
+<td width='30%'><a class='noxref' href='#events-Conformance'>DOMFocusOut</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#events-Events-EventTypes-complete'>2</a>, <a class='index-inst' href='#events-event-DOMFocusOut'>3</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>DOMNodeInserted</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-DOMNodeInserted'>2</a>, <a class='index-inst' href='#events-Events-eventgroupings-mutationevents'>3</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>DOMNodeInsertedIntoDocument</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-DOMNodeInsertedIntoDocument'>2</a></td>
+</tr>
+<tr>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>DOMNodeRemoved</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-DOMNodeRemoved'>2</a>, <a class='index-inst' href='#events-Events-eventgroupings-mutationevents'>3</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>DOMNodeRemovedFromDocument</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-DOMNodeRemovedFromDocument'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>DOMSubtreeModified</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-DOMSubtreeModified'>2</a></td>
+</tr>
+<tr>
 <td width='30%'><a class='noxref' href='#references-DWW95'>DWW95</a></td>
 </tr>
 <tr>
@@ -5187,7 +5512,7 @@
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#references-ECMAScript'>ECMAScript</a></td>
-<td width='30%'><a class='noxref' href='#events-event-error'>error</a> <a class='index-inst' href='#events-event-error'>1</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>error</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-error'>2</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-Event'>Event</a> <a class='index-inst' href='#events-Events-Event'>1</a>, <a class='index-inst' href='#events-Events-overview'>2</a>, <a class='index-inst' href='#events-dt-event-flow'>3</a>, <a class='index-inst' href='#events-Events-EventListener-handleEvent'>4</a>, <a class='index-inst' href='#glossary-dt-event'>5</a></td>
 </tr>
 <tr>
@@ -5203,7 +5528,7 @@
 <td>&#160;</td>
 </tr>
 <tr>
-<td width='30%'><a class='noxref' href='#events-Conformance'>focus</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#events-event-focus'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Conformance'>focus</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#events-Events-EventTypes-complete'>2</a>, <a class='index-inst' href='#events-Events-eventgroupings-uievents'>3</a>, <a class='index-inst' href='#events-event-focus'>4</a></td>
 </tr>
 <tr>
 <td>&#160;</td>
@@ -5260,7 +5585,7 @@
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-KeyboardEvent'>KeyboardEvent</a></td>
-<td width='30%'><a class='noxref' href='#events-event-keydown'>keydown</a> <a class='index-inst' href='#events-event-keydown'>1</a>, <a class='index-inst' href='#events-Events-KeyboardEvents-Interfaces'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>keydown</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-keydown'>2</a>, <a class='index-inst' href='#events-Events-KeyboardEvents-Interfaces'>3</a></td>
 <td width='30%'><a class='noxref' href='#references-KeyEvent'>KeyEvent for Java</a></td>
 </tr>
 <tr>
@@ -5269,7 +5594,7 @@
 <td width='30%'><a class='noxref' href='#references-Keys'>Keys enumeration for .Net</a></td>
 </tr>
 <tr>
-<td width='30%'><a class='noxref' href='#events-Events-KeyboardEvents-Interfaces'>keyup</a> <a class='index-inst' href='#events-Events-KeyboardEvents-Interfaces'>1</a>, <a class='index-inst' href='#events-event-keyup'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>keyup</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-Events-KeyboardEvents-Interfaces'>2</a>, <a class='index-inst' href='#events-event-keyup'>3</a></td>
 </tr>
 <tr>
 <td>&#160;</td>
@@ -5284,16 +5609,16 @@
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-MouseEvent-metaKey'>metaKey</a> <a class='index-inst' href='#events-Events-MouseEvent-metaKey'>1</a>, <a class='index-inst' href='#events-Events-KeyboardEvent-metaKey'>2</a></td>
 <td width='30%'><a class='noxref' href='#events-MODIFICATION'>MODIFICATION</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-eventgroupings-mouseevents'>mousedown</a> <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>1</a>, <a class='index-inst' href='#events-event-mousedown'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>mousedown</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>2</a>, <a class='index-inst' href='#events-event-mousedown'>3</a></td>
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-MouseEvent'>MouseEvent</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-eventgroupings-mouseevents'>mousemove</a> <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>1</a>, <a class='index-inst' href='#events-event-mousemove'>2</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-eventgroupings-mouseevents'>mouseout</a> <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>1</a>, <a class='index-inst' href='#events-event-mouseout'>2</a></td>
-</tr>
-<tr>
-<td width='30%'><a class='noxref' href='#events-Events-eventgroupings-mouseevents'>mouseover</a> <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>1</a>, <a class='index-inst' href='#events-event-mouseover'>2</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-eventgroupings-mouseevents'>mouseup</a> <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>1</a>, <a class='index-inst' href='#events-event-mouseup'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>mousemove</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>2</a>, <a class='index-inst' href='#events-event-mousemove'>3</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>mouseout</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>2</a>, <a class='index-inst' href='#events-event-mouseout'>3</a></td>
+</tr>
+<tr>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>mouseover</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>2</a>, <a class='index-inst' href='#events-event-mouseover'>3</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>mouseup</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>2</a>, <a class='index-inst' href='#events-event-mouseup'>3</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-MutationEvent'>MutationEvent</a></td>
 </tr>
 <tr>
@@ -5335,10 +5660,10 @@
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-EventTarget-removeEventListener'>removeEventListener</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-EventTargetGroup-removeEventListenerNS'>removeEventListenerNS</a></td>
-<td width='30%'><a class='noxref' href='#events-event-reset'>reset</a> <a class='index-inst' href='#events-event-reset'>1</a></td>
-</tr>
-<tr>
-<td width='30%'><a class='noxref' href='#events-Events-eventgroupings-basicevents'>resize</a> <a class='index-inst' href='#events-Events-eventgroupings-basicevents'>1</a>, <a class='index-inst' href='#events-event-resize'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>reset</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-reset'>2</a></td>
+</tr>
+<tr>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>resize</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-Events-eventgroupings-basicevents'>2</a>, <a class='index-inst' href='#events-event-resize'>3</a></td>
 </tr>
 <tr>
 <td>&#160;</td>
@@ -5346,16 +5671,16 @@
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-MouseEvent-screenX'>screenX</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-MouseEvent-screenY'>screenY</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-eventgroupings-basicevents'>scroll</a> <a class='index-inst' href='#events-Events-eventgroupings-basicevents'>1</a>, <a class='index-inst' href='#events-event-scroll'>2</a></td>
-</tr>
-<tr>
-<td width='30%'><a class='noxref' href='#events-event-select'>select</a> <a class='index-inst' href='#events-event-select'>1</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>scroll</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-Events-eventgroupings-basicevents'>2</a>, <a class='index-inst' href='#events-event-scroll'>3</a></td>
+</tr>
+<tr>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>select</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-select'>2</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-MouseEvent-shiftKey'>shiftKey</a> <a class='index-inst' href='#events-Events-MouseEvent-shiftKey'>1</a>, <a class='index-inst' href='#events-Events-KeyboardEvent-shiftKey'>2</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-Event-stopImmediatePropagation'>stopImmediatePropagation</a></td>
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-Event-stopPropagation'>stopPropagation</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-flow-cancelation'>submit</a> <a class='index-inst' href='#events-Events-flow-cancelation'>1</a>, <a class='index-inst' href='#events-event-submit'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-flow-cancelation'>submit</a> <a class='index-inst' href='#events-Events-flow-cancelation'>1</a>, <a class='index-inst' href='#events-Events-EventTypes-complete'>2</a>, <a class='index-inst' href='#events-event-submit'>3</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-registration'>SVG 1.1</a> <a class='index-inst' href='#events-Events-registration'>1</a>, <a class='index-inst' href='#events-Events-registration-html40'>2</a>, <a class='index-inst' href='#references-SVG1'>3</a></td>
 </tr>
 <tr>
@@ -5368,7 +5693,7 @@
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-TextEvent'>TextEvent</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-TextEvents-Interfaces'>textInput</a> <a class='index-inst' href='#events-Events-TextEvents-Interfaces'>1</a>, <a class='index-inst' href='#events-event-textInput'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>textInput</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-Events-TextEvents-Interfaces'>2</a>, <a class='index-inst' href='#events-event-textInput'>3</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-Event-timeStamp'>timeStamp</a></td>
 </tr>
 <tr>
@@ -5383,7 +5708,7 @@
 <td width='30%'><a class='noxref' href='#events-Events-UIEvent-data'>Unicode</a> <a class='index-inst' href='#events-Events-UIEvent-data'>1</a>, <a class='index-inst' href='#references-Unicode'>2</a></td>
 </tr>
 <tr>
-<td width='30%'><a class='noxref' href='#events-event-unload'>unload</a> <a class='index-inst' href='#events-event-unload'>1</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>unload</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-unload'>2</a></td>
 <td width='30%'><a class='noxref' href='#events-UNSPECIFIED_EVENT_TYPE_ERR'>UNSPECIFIED_EVENT_TYPE_ERR</a></td>
 </tr>
 <tr>
--- a/source/xml-source.xml	Wed Apr 12 13:17:33 2006 +0900
+++ b/source/xml-source.xml	Fri Apr 14 04:38:27 2006 +0900
@@ -84,40 +84,33 @@
   <version>
    1.0
   </version>
-<!--
- <w3c-designation>WD-DOM-Level-3-Events-20060413</w3c-designation>
- <w3c-doctype>W3C Working Draft</w3c-doctype>
--->
+
   <w3c-designation>@@@</w3c-designation>
 
   <w3c-doctype>Editor's Draft</w3c-doctype>
 
   <pubdate>
-<!--
-   <day>13</day>
--->
+<!--<day>13</day>-->
    <month>April</month>
 
    <year>2006</year>
   </pubdate>
 
   <publoc>
-   <loc href="http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107">http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107
+   <loc href="http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413">http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413
    (outdated)</loc>
   </publoc>
 <!--
   <altlocs>
-   <loc role="html" href="http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/xml-source.xml">XML
+   <loc role="html" href="http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413/xml-source.xml">XML
    file</loc>
-   <loc role="plain" href="http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/DOM3-Events.txt">plain
-   text</loc>
-   <loc role="postscript" href="http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/DOM3-Events.ps">PostScript
+   <loc role="postscript" href="http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413/DOM3-Events.ps">PostScript
    file</loc>
-   <loc role="pdf" href="http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/DOM3-Events.pdf">PDF
+   <loc role="pdf" href="http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413/DOM3-Events.pdf">PDF
    file</loc>
-   <loc role="html" href="http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/DOM3-Events.html">single
+   <loc role="html" href="http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413/DOM3-Events.html">single
    HTML file</loc>
-   <loc role="zip" href="http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/DOM3-Events.zip">ZIP
+   <loc role="zip" href="http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413/DOM3-Events.zip">ZIP
    file</loc>
   </altlocs>
 -->
@@ -126,7 +119,7 @@
   </latestloc>
 
   <prevlocs>
-   <loc href="http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/">http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/</loc>
+   <loc href="http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413">http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413</loc>
   </prevlocs>
 
   <authlist>
@@ -166,6 +159,69 @@
   </abstract>
 
   <status id="Level-3-status">
+<!--
+   <p>
+    <emph>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
+    <loc href="http://www.w3.org/TR/">W3C technical reports index</loc>
+    at http://www.w3.org/TR/. </emph>
+   </p>
+
+   <p>
+    This document is the 13 April 2006
+    <loc href='http://www.w3.org/2005/10/Process-20051014/tr.html#RecsWD'>Working
+    Draft</loc> of the DOM Level 3 Events specification. This document
+    has been produced by the
+    <loc href="http://www.w3.org/2006/webapi/">Web API Working
+    Group</loc>, part of the
+    <loc href="http://www.w3.org/2006/rwc/Activity">Rich Web Clients
+    Activity</loc> in the
+    <loc href="http://www.w3.org/Interaction/">Interaction Domain</loc>.
+    The previous version of this document was a
+    <loc href='http://www.w3.org/2005/10/Process-20051014/tr.html#WGNote'>Working
+    Group Note</loc> published by the
+    <loc href='http://www.w3.org/DOM/'>DOM Working Group</loc> in
+    November 2003. This version moves the specification back onto the
+    W3C Recommendation Track.
+   </p>
+
+   <p>
+    Feedback on this document is welcome and comments should be sent to the
+    <loc href="http://lists.w3.org/Archives/Public/public-webapi/">publicly
+    archived</loc> mailing list
+    <loc href="mailto:public-webapi@w3.org">public-webapi@w3.org</loc>
+    (see <loc href='http://www.w3.org/Mail/Request'>instructions</loc>).
+    Please send a separate mail for each issue and use the prefix 'DOM3EV:'
+    in the subject. For more information refer to the <loc
+    href='http://www.w3.org/2006/webapi/track/products/2'>list of open
+    issues</loc> under consideration by the Working Group and
+    <loc href='changes.html#Changes'>Appendix B: Changes</loc>.
+   </p>
+
+   <p>
+    Publication as a Working Draft does not imply endorsement by the 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>
+    This document was produced by a group operating under the
+    <loc href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
+    February 2004 W3C Patent Policy</loc>. W3C maintains a
+    <loc role="disclosure" href="http://www.w3.org/2004/01/pp-impl/38482/status">public
+    list of any patent disclosures</loc> made in connection with the
+    deliverables of the group; that page also includes instructions for
+    disclosing a patent. An individual who has actual knowledge of a
+    patent which the individual believes contains
+    <loc href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
+    Claim(s)</loc> must disclose the information in accordance with
+    <loc href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+    6 of the W3C Patent Policy</loc>.
+   </p>
+-->
    <p>
     This document is for review by the
     <loc href='http://www.w3.org/2006/webapi/'>WebAPI Working
@@ -736,16 +792,9 @@
        </p>
       </item>
      </olist>
-<!-- @@@ refer to local versions -->
+
      <graphic source="images/eventflow.png" alt="graphical representation of an event dispatched in a DOM tree using the DOM event flow"/>
 
-     <note>
-      <p>
-       An <loc href="images/eventflow.svg">SVG 1.0 version of the
-       representation above</loc> is also available.
-      </p>
-     </note>
-
      <p>
       The target's ancestors are determined before the initial dispatch
       of the event. If the target node is removed during the
@@ -1278,7 +1327,7 @@
         </td>
 
         <td>
-         Yes
+         No
         </td>
 
         <td>
@@ -1300,7 +1349,7 @@
         </td>
 
         <td>
-         Yes
+         No
         </td>
 
         <td>
@@ -11408,7 +11457,12 @@
     </head>
 
     <p>
-     ...
+     Numerous clarifications to the interfaces and event types have been
+     made. The <code>HTMLEvents</code> module is no longer defined in
+     this document. The event types <code>focus</code> and
+     <code>blur</code> have been added to the <code>UIEvents</code>
+     module. For changes to the introduction of namespaces see
+     <specref ref='Events-dom2-compatibility'/>.
     </p>
 
     <glist>
@@ -11437,6 +11491,12 @@
         The methods <code>EventTarget.hasEventListenerNS()</code> and
         <code>EventTarget.willTriggerNS()</code> have been removed.
        </p>
+
+       <p>
+        <code>EventTarget.dispatchEvent()</code> now raises an exception
+        if the <code>Event.type</code> attribute is syntactically
+        invalid.
+       </p>
       </def>
      </gitem>
 
@@ -11463,7 +11523,7 @@
        </p>
       </def>
      </gitem>
-
+<!--
      <gitem>
       <label></label>
 
@@ -11473,6 +11533,7 @@
        </p>
       </def>
      </gitem>
+-->
     </glist>
    </div2>
 
@@ -11674,7 +11735,7 @@
 
    <p>
     The IDL files are also available as:
-    <loc href="idl.zip">http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/idl.zip</loc>
+    <loc href="idl.zip">http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413/idl.zip</loc>
    </p>
 <!--
     ******************************************************
@@ -11698,7 +11759,7 @@
 
    <p>
     The Java files are also available as
-    <loc href="java-binding.zip">http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/java-binding.zip</loc>
+    <loc href="java-binding.zip">http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413/java-binding.zip</loc>
    </p>
 <!--
     ******************************************************
@@ -12460,17 +12521,6 @@
      http://www.w3.org/TR/DOM-Level-2-Events.
     </bibl>
 
-    <bibl id="DOMEvents" key="DOM Level 3 Events" href="http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107">
-     <titleref>Document Object Model Level 3 Events
-     Specification</titleref>, P. Le H&#233;garet, T. Pixley, Editors.
-     World Wide Web Consortium, October 2003. This version of the
-     Document Object Model Level 3 Events Specification is
-     http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107. The
-     <loc href="http://www.w3.org/TR/DOM-Level-3-Events">latest version
-     of Document Object Model Level 3 Events</loc> is available at
-     http://www.w3.org/TR/DOM-Level-3-Events.
-    </bibl>
-
     <bibl id="DOMLS" key="DOM Level 3 Load and Save" href="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407">
      <titleref>Document Object Model Level 3 Load and Save
      Specification</titleref>, J. Stenback, A. Heninger, Editors. World
@@ -12625,11 +12675,11 @@
      of the Unicode Character Database.
     </bibl>
 
-    <bibl id="UnicodeNormalization" key="UAX #15" href="http://www.unicode.org/unicode/reports/tr15/">
+    <bibl id="UnicodeNormalization" key="UAX #15" href="http://www.unicode.org/reports/tr15/">
      <titleref>Unicode Normalization Forms</titleref>, The Unicode
      Standard Annex #15. The Unicode Consortium, 2005. The latest
      version of this annex is available at
-     http://www.unicode.org/unicode/reports/tr15/.
+     http://www.unicode.org/reports/tr15/.
     </bibl>
 
     <bibl id="VoiceXML20" key="VoiceXML 2.0" href="http://www.w3.org/TR/2004/REC-voicexml20-20040316/">