Updates from february 2007
authorbjoern
Thu, 08 Nov 2007 21:35:49 +0900
changeset 42 9a65cd32d563
parent 41 81358aacd6d3
child 43 19cf470833b8
Updates from february 2007
html/DOM3-Events.html
source/xml-source.xml
--- a/html/DOM3-Events.html	Tue Nov 06 01:44:13 2007 +0900
+++ b/html/DOM3-Events.html	Thu Nov 08 21:35:49 2007 +0900
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
- Generated: Fri Nov 17 17:52:43 CET 2006 hive
+ Generated: Thu Nov 08 13:33:06 CET 2007 hive
  -->
 <html lang='en-US' xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
 <head>
@@ -22,7 +22,7 @@
 <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 November 2006</h2>
+<h2 id='Overview-W3C-doctype'>Editor's Draft November 2007</h2>
 <dl>
 <dt>This version:</dt>
 <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>
@@ -37,7 +37,7 @@
 <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/'><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>
+<p class='copyright'><a href='http://www.w3.org/Consortium/Legal/ipr-notice#Copyright'>Copyright</a> &#169; 2007 <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>
@@ -59,17 +59,18 @@
 <ul class='toc'>
 <li class='tocline2'><a class='tocxref' href='#keyset'>Appendix A: Keyboard events and key identifiers</a></li>
 <li class='tocline2'><a class='tocxref' href='#changes'>Appendix B: Changes</a></li>
-<li class='tocline2'><a class='tocxref' href='#idl-definitions'>Appendix C: IDL Definitions</a></li>
-<li class='tocline2'><a class='tocxref' href='#java-binding'>Appendix D: Java Language Binding</a></li>
-<li class='tocline2'><a class='tocxref' href='#ecma-script-binding'>Appendix E: ECMAScript Language Binding</a></li>
-<li class='tocline2'><a class='tocxref' href='#acknowledgements'>Appendix F: Acknowledgements</a></li>
+<li class='tocline2'><a class='tocxref' href='#security-considerations'>Appendix C: Security Considerations</a></li>
+<li class='tocline2'><a class='tocxref' href='#idl-definitions'>Appendix D: IDL Definitions</a></li>
+<li class='tocline2'><a class='tocxref' href='#java-binding'>Appendix E: Java Language Binding</a></li>
+<li class='tocline2'><a class='tocxref' href='#ecma-script-binding'>Appendix F: ECMAScript Language Binding</a></li>
+<li class='tocline2'><a class='tocxref' href='#acknowledgements'>Appendix G: Acknowledgements</a></li>
 <li class='tocline2'><a class='tocxref' href='#glossary'>Glossary</a></li>
 <li class='tocline2'><a class='tocxref' href='#references'>References</a></li>
 <li class='tocline2'><a class='tocxref' href='#def-index'>Index</a></li>
 </ul>
 <a id='expanded-toc' name='expanded-toc'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>November 2006</p>
+<p style='font-family: monospace;font-size:small'>November 2007</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>
@@ -88,48 +89,33 @@
 <ul class='toc'>
 <li class='tocline3'><a class='tocxref' href='#events-Events-overview'>1.1 Introduction</a>
 <ul class='toc'>
-<li class='tocline4'><a class='tocxref' href='#events-Events-flows'>1.1.1 Event flows</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Conformance'>1.1.2 Conformance</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Conformance'>1.1.1 Conformance</a></li>
 </ul>
 </li>
-<li class='tocline3'><a class='tocxref' href='#events-Events-flow'>1.2 DOM event flow</a>
-<ul class='toc'>
-<li class='tocline4'><a class='tocxref' href='#events-Events-phases'>1.2.1 Phases</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-listeners'>1.2.2 Event listeners</a></li>
-</ul>
-</li>
+<li class='tocline3'><a class='tocxref' href='#events-Events-flow'>1.2 Event dispatch and DOM event flow</a></li>
 <li class='tocline3'><a class='tocxref' href='#events-Events-flow-cancelation'>1.3 Default actions and cancelable events</a></li>
 <li class='tocline3'><a class='tocxref' href='#events-Events-flow-activation'>1.4 Activation requests and behavior</a></li>
 <li class='tocline3'><a class='tocxref' href='#events-Event-types'>1.5 Event types</a>
 <ul class='toc'>
-<li class='tocline4'><a class='tocxref' href='#events-Events-EventTypes-category'>1.5.1 Event types and event categories</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-EventTypes-complete'>1.5.2 Complete list of event types</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-dom2-compatibility'>1.5.3 Compatibility with DOM Level 2 Events</a></li>
-</ul>
-</li>
-<li class='tocline3'><a class='tocxref' href='#events-Events-registration'>1.6 Event listener registration</a>
-<ul class='toc'>
-<li class='tocline4'><a class='tocxref' href='#events-Events-Registration-interfaces'>1.6.1 Using the EventTarget methods</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-registration-xmlevents'>1.6.2 Using XML Events</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-registration-voicexmlevents'>1.6.3 Using VoiceXML Events</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-registration-html40'>1.6.4 Using XML or HTML attributes</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-EventTypes-complete'>1.5.1 Complete list of event types</a></li>
 </ul>
 </li>
-<li class='tocline3'><a class='tocxref' href='#events-Events-interface'>1.7 Basic interfaces</a>
+<li class='tocline3'><a class='tocxref' href='#events-Events-interface'>1.6 Basic interfaces</a>
 <ul class='toc'>
-<li class='tocline4'><a class='tocxref' href='#events-Events-document'>1.7.1 Event creation</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-document'>1.6.1 Event creation</a></li>
 </ul>
 </li>
-<li class='tocline3'><a class='tocxref' href='#events-Events-eventgroupings'>1.8 Event module definitions</a>
+<li class='tocline3'><a class='tocxref' href='#events-Events-eventgroupings'>1.7 Event module definitions</a>
 <ul class='toc'>
-<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-uievents'>1.8.1 User Interface event types</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-TextEvents-Interfaces'>1.8.2 Text events types</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mouseevents'>1.8.3 Mouse event types</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mousewheelevents'>1.8.4 Mouse wheel event types</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mousemultiwheelevents'>1.8.5 Mouse multi wheel event types</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-KeyboardEvents-Interfaces'>1.8.6 Keyboard event types</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mutationevents'>1.8.7 Mutation and mutation name event types</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-basicevents'>1.8.8 Basic event types</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-uievents'>1.7.1 User Interface event types</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-TextEvents-Interfaces'>1.7.2 Text events types</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-KeyboardEvents-Interfaces'>1.7.3 Keyboard event types</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mouseevents'>1.7.4 Mouse event types</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mousemultiwheelevents'>1.7.5 Mouse multi wheel event types</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mousewheelevents'>1.7.6 Mouse wheel event types</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mutationevents'>1.7.7 Mutation event types</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mutationnameevents'>1.7.8 Mutation name event types</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-basicevents'>1.7.9 Basic event types</a></li>
 </ul>
 </li>
 </ul>
@@ -162,12 +148,13 @@
 </li>
 </ul>
 </li>
-<li class='tocline2'><a class='tocxref' href='#idl-definitions'>Appendix C: IDL Definitions</a></li>
-<li class='tocline2'><a class='tocxref' href='#java-binding'>Appendix D: Java Language Binding</a></li>
-<li class='tocline2'><a class='tocxref' href='#ecma-script-binding'>Appendix E: ECMAScript Language Binding</a></li>
-<li class='tocline2'><a class='tocxref' href='#acknowledgements'>Appendix F: Acknowledgements</a>
+<li class='tocline2'><a class='tocxref' href='#security-considerations'>Appendix C: Security Considerations</a></li>
+<li class='tocline2'><a class='tocxref' href='#idl-definitions'>Appendix D: IDL Definitions</a></li>
+<li class='tocline2'><a class='tocxref' href='#java-binding'>Appendix E: Java Language Binding</a></li>
+<li class='tocline2'><a class='tocxref' href='#ecma-script-binding'>Appendix F: ECMAScript Language Binding</a></li>
+<li class='tocline2'><a class='tocxref' href='#acknowledgements'>Appendix G: Acknowledgements</a>
 <ul class='toc'>
-<li class='tocline3'><a class='tocxref' href='#acknowledgements-Productions'>F.1 Production Systems</a></li>
+<li class='tocline3'><a class='tocxref' href='#acknowledgements-Productions'>G.1 Production Systems</a></li>
 </ul>
 </li>
 <li class='tocline2'><a class='tocxref' href='#glossary'>Glossary</a></li>
@@ -183,17 +170,17 @@
 <!-- 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'>November 2006</p>
+<p style='font-family: monospace;font-size:small'>November 2007</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><b>Copyright &#169; 2007 <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>
 <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>
-<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><b>Copyright &#169; 2007 <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><b>http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231</b></p>
 <p>Public documents on the W3C site are provided by the copyright holders under the following license. By using and/or copying this document, or the W3C document from which this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:</p>
 <p>Permission to copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on <em>ALL</em> copies of the document, or portions thereof, that you use:</p>
@@ -213,7 +200,7 @@
 <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>
-<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><b>Copyright &#169; 2007 <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><b>http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231</b></p>
 <p>This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.</p>
 <p>Permission to copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications:</p>
@@ -230,7 +217,7 @@
 <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>
+<p><b>Copyright &#169; 2007 <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>Copyright &#169; [$date-of-software] <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. This work is distributed under the W3C<sup>&#174;</sup> Software License [1] in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</p>
 <p>[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231</p>
 </div>
@@ -238,7 +225,7 @@
 <!-- div1 Copyright-Notice -->
 <a id='events' name='events'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>November 2006</p>
+<p style='font-family: monospace;font-size:small'>November 2007</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>
@@ -253,81 +240,70 @@
 <ul class='toc'>
 <li class='tocline3'><a class='tocxref' href='#events-Events-overview'>1.1 Introduction</a>
 <ul class='toc'>
-<li class='tocline4'><a class='tocxref' href='#events-Events-flows'>1.1.1 Event flows</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Conformance'>1.1.2 Conformance</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Conformance'>1.1.1 Conformance</a></li>
 </ul>
 </li>
-<li class='tocline3'><a class='tocxref' href='#events-Events-flow'>1.2 DOM event flow</a>
-<ul class='toc'>
-<li class='tocline4'><a class='tocxref' href='#events-Events-phases'>1.2.1 Phases</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-listeners'>1.2.2 Event listeners</a></li>
-</ul>
-</li>
+<li class='tocline3'><a class='tocxref' href='#events-Events-flow'>1.2 Event dispatch and DOM event flow</a></li>
 <li class='tocline3'><a class='tocxref' href='#events-Events-flow-cancelation'>1.3 Default actions and cancelable events</a></li>
 <li class='tocline3'><a class='tocxref' href='#events-Events-flow-activation'>1.4 Activation requests and behavior</a></li>
 <li class='tocline3'><a class='tocxref' href='#events-Event-types'>1.5 Event types</a>
 <ul class='toc'>
-<li class='tocline4'><a class='tocxref' href='#events-Events-EventTypes-category'>1.5.1 Event types and event categories</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-EventTypes-complete'>1.5.2 Complete list of event types</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-dom2-compatibility'>1.5.3 Compatibility with DOM Level 2 Events</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-EventTypes-complete'>1.5.1 Complete list of event types</a></li>
 </ul>
 </li>
-<li class='tocline3'><a class='tocxref' href='#events-Events-registration'>1.6 Event listener registration</a>
-<ul class='toc'>
-<li class='tocline4'><a class='tocxref' href='#events-Events-Registration-interfaces'>1.6.1 Using the EventTarget methods</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-registration-xmlevents'>1.6.2 Using XML Events</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-registration-voicexmlevents'>1.6.3 Using VoiceXML Events</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-registration-html40'>1.6.4 Using XML or HTML attributes</a></li>
-</ul>
-</li>
-<li class='tocline3'><a class='tocxref' href='#events-Events-interface'>1.7 Basic interfaces</a>
+<li class='tocline3'><a class='tocxref' href='#events-Events-interface'>1.6 Basic interfaces</a>
 <ul class='toc'>
 <li class='tocline4'><a href='#events-Events-Event'>Event</a>, <a href='#events-Events-CustomEvent'>CustomEvent</a>, <a href='#events-Events-EventTarget'>EventTarget</a>, <a href='#events-Events-EventListener'>EventListener</a>, <a href='#events-Events-EventException'>EventException</a>, <a href='#events-Events-EventException-EventExceptionCode'>EventExceptionCode</a></li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-document'>1.7.1 Event creation</a>
+<li class='tocline4'><a class='tocxref' href='#events-Events-document'>1.6.1 Event creation</a>
 <ul>
 <li class='tocline5'><a href='#events-Events-DocumentEvent'>DocumentEvent</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li class='tocline3'><a class='tocxref' href='#events-Events-eventgroupings'>1.8 Event module definitions</a>
+<li class='tocline3'><a class='tocxref' href='#events-Events-eventgroupings'>1.7 Event module definitions</a>
 <ul class='toc'>
-<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-uievents'>1.8.1 User Interface event types</a>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-uievents'>1.7.1 User Interface event types</a>
 <ul>
 <li class='tocline5'><a href='#events-Events-UIEvent'>UIEvent</a></li>
 </ul>
 </li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-TextEvents-Interfaces'>1.8.2 Text events types</a>
+<li class='tocline4'><a class='tocxref' href='#events-Events-TextEvents-Interfaces'>1.7.2 Text events types</a>
 <ul>
 <li class='tocline5'><a href='#events-Events-TextEvent'>TextEvent</a></li>
 </ul>
 </li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mouseevents'>1.8.3 Mouse event types</a>
+<li class='tocline4'><a class='tocxref' href='#events-Events-KeyboardEvents-Interfaces'>1.7.3 Keyboard event types</a>
+<ul>
+<li class='tocline5'><a href='#events-Events-KeyboardEvent'>KeyboardEvent</a></li>
+</ul>
+</li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mouseevents'>1.7.4 Mouse event types</a>
 <ul>
 <li class='tocline5'><a href='#events-Events-MouseEvent'>MouseEvent</a></li>
 </ul>
 </li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mousewheelevents'>1.8.4 Mouse wheel event types</a>
-<ul>
-<li class='tocline5'><a href='#events-Events-MouseWheelEvent'>MouseWheelEvent</a></li>
-</ul>
-</li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mousemultiwheelevents'>1.8.5 Mouse multi wheel event types</a>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mousemultiwheelevents'>1.7.5 Mouse multi wheel event types</a>
 <ul>
 <li class='tocline5'><a href='#events-Events-MouseMultiWheelEvent'>MouseMultiWheelEvent</a></li>
 </ul>
 </li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-KeyboardEvents-Interfaces'>1.8.6 Keyboard event types</a>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mousewheelevents'>1.7.6 Mouse wheel event types</a>
 <ul>
-<li class='tocline5'><a href='#events-Events-KeyboardEvent'>KeyboardEvent</a></li>
+<li class='tocline5'><a href='#events-Events-MouseWheelEvent'>MouseWheelEvent</a></li>
 </ul>
 </li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mutationevents'>1.8.7 Mutation and mutation name event types</a>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mutationevents'>1.7.7 Mutation event types</a>
 <ul>
-<li class='tocline5'><a href='#events-Events-MutationEvent'>MutationEvent</a>, <a href='#events-Events-MutationNameEvent'>MutationNameEvent</a></li>
+<li class='tocline5'><a href='#events-Events-MutationEvent'>MutationEvent</a></li>
 </ul>
 </li>
-<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-basicevents'>1.8.8 Basic event types</a></li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-mutationnameevents'>1.7.8 Mutation name event types</a>
+<ul>
+<li class='tocline5'><a href='#events-Events-MutationNameEvent'>MutationNameEvent</a></li>
+</ul>
+</li>
+<li class='tocline4'><a class='tocxref' href='#events-Events-eventgroupings-basicevents'>1.7.9 Basic event types</a></li>
 </ul>
 </li>
 </ul>
@@ -336,94 +312,48 @@
 <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 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>
-<p>The following sections of the specification define both the specification for the DOM Event Model and a number of conformant event modules designed for use within the model. The DOM Event Model consists of:</p>
-<ul>
-<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>
-<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>
-<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-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>
+<h3 id='events-Conformance-h3' class='div3'>1.1.1 Conformance</h3>
+<p>(This section is currently being rewritten.)</p>
+<p>An implementation is DOM Level 3 Events conformant if it supports the Core module defined in [<cite><a class='noxref normative' href='#references-DOM2Core'>DOM Level 2 Core</a></cite>], the <a href='#events-Events-flow'>Event dispatch and DOM event flow</a> 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>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'>Event dispatch and 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>
 <p><b>Note:</b> This specification is to be understood in the context of the DOM Level 3 Core specification [<cite><a class='noxref normative' href='#references-DOMCore'>DOM Level 3 Core</a></cite>] and the general considerations for DOM implementations apply. For example, handling of <a href='#glossary-dt-namespaceURI'>namespace URIs</a> is discussed in <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#Namespaces-Considerations'><em>XML Namespaces</em></a>, and behavior in exceptional circumstances (such as when a <code>null</code> argument is passed when <code>null</code> was not expected) is discussed under <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-17189187'><em>DOMException</em></a>.</p>
 </div>
 <!-- div3 Conformance --></div>
 <!-- div2 Events-overview -->
 <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>
-<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. Event propagation occurs in three phases in the following order:</p>
-<ol>
-<li>The <a href='#glossary-dt-capture-phase'>capture phase</a>: the event is dispatched to the target's ancestors from the root of the tree to the direct parent of the <a href='#glossary-dt-target-node'>target node</a>.</li>
-<li>The <a href='#glossary-dt-target-phase'>target phase</a>: the event is dispatched to the <a href='#glossary-dt-target-node'>target node</a>.</li>
-<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>
+<h2 id='events-Events-flow-h2' class='div2'>1.2 Event dispatch and DOM event flow</h2>
+<p>This section defines the event dispatch mechanism of the event model defined in this specification. Applications may dispatch event objects using the <a href='#events-Events-EventTarget-dispatchEvent'><code>EventTarget.dispatchEvent()</code></a> method, and implementations must dispatch event objects as if through this method. The behavior of this method depends on the <i>event flow</i> associated with the underlying object. An event flow describes how event objects <i>propagate</i> through a data structure. As an example, when an event object is dispatched to an element in an XML document, the object propagates through parts of the document, as determined by the DOM event flow which is defined at the end of this section.</p>
 <div class='figure' style='text-align: center'><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'>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 while the event is being dispatched, 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>
-<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>
-<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>), and phase.</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-listener-ordering' id='events-Event-listener-ordering'></a>
-<h4 id='events-Event-listener-ordering-h4' class='div4'>1.2.2.2 Event listener ordering</h4>
-<p>Event listeners are ordered according to their order of registration. If two event listeners {A1, A2} are registered one after the other (A1, then A2) for the same phase, the DOM event flow guarantees their triggering order (A1, then A2).</p>
-</div>
-<!-- div4 Event-listener-ordering -->
-<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>
+<p>Event objects are always dispatched to an event target called the <i>event's target</i>. At the beginning of the dispatch, implementations must first determine the event object's <i>propagation path</i>. This is an ordered list of event targets the object may propagate to. The last item in the list is the event's target; the preceding items in the list are referred to as the <i>target's ancestors</i> and the immediately preceding item as the <i>target's parent</i>. Once determined, the propagation path cannot be changed. As an example, in the DOM event flow event listeners might change the position of the target node in the document while the event object is being dispatched; such changes do not affect the propagation path.</p>
+<p>As the next step the event object <i>accomplishes</i> one or more <i>event phases</i>. This specification defines the following event phases. Event objects accomplish them in the specified order using the partial propagation paths as defined below. A phase is skipped if it is not supported, or if the event object's propagation has been stopped. For example, if the <a href='#events-Events-Event-canBubble'><code>Event.bubbles</code></a> attribute is set to false, the bubble phase is skipped, and if <a href='#events-Events-Event-stopPropagation'><code>Event.stopPropagation()</code></a> has been called prior to the dispatch, all phases will be skipped.</p>
 <ol>
-<li>they were registered for the same type of event, or the same category.</li>
-<li>they were registered for the same phase;</li>
-<li>the event propagation has not been stopped.</li>
+<li>The <i>capture phase</i>: the event object propagates through the target's ancestors to the target's parent. This phase is also known as the <i>capturing phase</i>. Event listeners registered for this phase can handle the event before it reaches its target.</li>
+<li>The <i>target phase</i>: the event object has reached the event's target. This phase is also known as the <i>at-target phase</i>. Event listeners registered for this phase can handle the event once it has reached its target.</li>
+<li>The <i>bubble phase</i>: the event object propagates through the target's ancestors in reverse order, starting with the target's parent. This phase is also known as the <i>bubbling phase</i>. Event listeners registered for this phase can handle the event after it has reached its target.</li>
 </ol>
-</div>
-<!-- div4 Events-listeners-activation -->
-<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>
-<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' id='events-Events-propagation'></a>
-<h4 id='events-Events-propagation-h4' class='div4'>1.2.2.6 Event propagation</h4>
-<p>An event listener may prevent other event listeners from being triggered. The effect can be:</p>
+<p>Implementations let event objects accomplish an event phase by applying the following steps while there are pending event targets in the partial propagation path for this phase and the event object's propagation has not been stopped through <a href='#events-Events-Event-stopPropagation'><code>Event.stopPropagation()</code></a>.</p>
+<p>Firstly, the implementation must determine the <i>current target</i>. This is the next pending event target in the partial propagation path, starting with the first. From the perspective of an event listener this is the event target the listener has been registered on.</p>
+<p>Secondly, the implementation must determine the current target's <i>candidate event listeners</i>. This is the list of all event listeners that have been registered on the current target in their order of registration. Once determined, the candidate event listeners cannot be changed, adding or removing listeners does not affect the current target's candidate event listeners.</p>
+<p>Finally, the implementation must process all candidate event listeners in order and trigger each listener if all the following conditions are met. A listener is triggered by invoking the <a href='#events-Events-EventListener-handleEvent'><code>EventListener.handleEvent()</code></a> method or an equivalent binding-specific mechanism.</p>
 <ul>
-<li>immediate: no more event listeners will be triggered by the event object (see <a href='#events-Events-Event-stopImmediatePropagation'><code>Event.stopImmediatePropagation()</code></a>);</li>
-<li>deferred: all event listeners on the current node will be triggered, but event listeners attached on other nodes will not be triggered (see <a href='#events-Events-Event-stopPropagation'><code>Event.stopPropagation()</code></a>).</li>
+<li>The event object's immediate propagation has not been stopped.</li>
+<li>The listener has been registered for this event phase.</li>
+<li>The listener has been registered for this event type.</li>
 </ul>
-</div>
-<!-- div4 Events-propagation --></div>
-<!-- div3 Events-listeners --></div>
+<p>As the final step of the event dispatch, for reasons of backwards compatibility, the implementation must reset the event object's internal propagation and default action prevention states. This ensures that an event object may be properly dispatched multiple times while also allowing to prevent the event objects propagation or default actions prior to the event dispatch.</p>
+<p>The model defined above applies regardless of the specific event flow associated with an event target. Each event flow defines how the propagation path is determined and which event phases are supported. The <i>DOM event flow</i> is an application of this model: the propagation path for a <code>Node</code> object is determined by its <code>Node.parentNode</code> chain, and all events accomplish the capture and target phases. Whether an event accomplishes the bubble phase is defined individually for each event type. An alternate application of this model can be found in [<cite><a class='noxref informative' href='#references-DOMLS'>DOM Level 3 Load and Save</a></cite>].</p>
+<p>The DOM event model is reentrant. Event listeners may perform actions that cause additional events to be dispatched. Such events are handled in a synchronous manner, the event propagation that causes the event listener to be triggered will resume only after the event dispatch of the new event is completed.</p>
+</div>
 <!-- div2 Events-flow -->
 <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>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'>Event dispatch and 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>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>
@@ -432,6 +362,7 @@
 <!-- div2 Events-flow-cancelation -->
 <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>(This section is currently being rewritten.)</p>
 <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>
 <p>Implementations dispatch the <code>DOMActivate</code> event as default action of a <a href='#events-event-click'>click</a> event. This click event is either part of the activation request (e.g., a user requests activiation using a mouse), or synthesized by the implementation to accomodate legacy applications. Context information of such a <code>click</code> event is implementation dependent.</p>
@@ -443,15 +374,10 @@
 <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>
-<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>
-<h3 id='events-Events-EventTypes-complete-h3' class='div3'>1.5.2 Complete list of event types</h3>
+<h3 id='events-Events-EventTypes-complete-h3' class='div3'>1.5.1 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, or voice), these event types can be generated by the implementation. When used with an [<cite><a class='noxref informative' href='#references-XML'>XML 1.0</a></cite>] or [<cite><a class='noxref informative' href='#references-HTML40'>HTML 4.01</a></cite>] application, the specifications of those languages may restrict the semantics and scope (in particular the possible target nodes) associated with an event type. Refer to the specification defining the language used in order to find those restrictions or to find event types that are not defined in this document.</p>
-<p>The following table provides a non-normative summary of the event types defined in this specification. All event types are in no namespace and this specification refers to them by their local name only. All events 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>
+<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'>Event dispatch and DOM event flow</a>). Some events are not <a href='#events-dt-cancelable-event'>cancelable</a> (see <a href='#events-Events-flow-cancelation'>Default actions and cancelable events</a>). Some events 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>
@@ -510,6 +436,13 @@
 <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-click'>dblclick</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>
@@ -559,6 +492,20 @@
 <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-mousemultiwheel'>mousemultiwheel</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>Document</code>, <code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseMultiWheelEvent'><code>MouseMultiWheelEvent</code></a></td>
+</tr>
+<tr>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-event-mousewheel'>mousewheel</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>Document</code>, <code>Element</code></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseWheelEvent'><code>MouseWheelEvent</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>
@@ -695,89 +642,11 @@
 <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>
-<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. 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>
-</div>
-<!-- div3 Events-dom2-compatibility --></div>
+<!-- div3 Events-EventTypes-complete --></div>
 <!-- div2 Event-types -->
-<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 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>
-<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, 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>
-<li>for only one of the <a href='#glossary-dt-target-phase'>target</a> and <a href='#glossary-dt-bubbling-phase'>bubbling</a> phases since those phases are coupled during the registration (but the listener itself could ignore events during one of these phases if desired).</li>
-<li>for a specific event category.</li>
-</ul>
-<p>To register an event listener, DOM applications use the methods <a href='#events-Events-EventTarget-addEventListener'><code>EventTarget.addEventListener()</code></a> and <a href='#events-Events-EventTargetGroup-addEventListenerNS'><code>EventTarget.addEventListenerNS()</code></a>.</p>
-<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>
-<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="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. 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>
-<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'>
-<pre>
-&lt;form&gt;
-  &lt;field&gt;
-    &lt;prompt&gt;Please say something&lt;/prompt&gt;
-    &lt;catch event="error.noauthorization"&gt;
-     &lt;prompt&gt;You don't have the authorization!&lt;/prompt&gt;
-    &lt;/catch&gt;
-    &lt;catch event="connection.disconnect.hangup"&gt;
-     &lt;prompt&gt;Connection error&lt;/prompt&gt;
-    &lt;/catch&gt;
-    &lt;catch event="connection.disconnect"&gt;
-     &lt;prompt&gt;Connection error&lt;/prompt&gt;
-    &lt;/catch&gt;
-  &lt;/field&gt;
-  &lt;catch event="error"&gt;
-    &lt;prompt&gt;Unknown error&lt;/prompt&gt;
-  &lt;/catch&gt;
-&lt;/form&gt;
-</pre></div>
-<p>Event listeners can only be registered on <code>Element</code> nodes, other <code>Node</code> types are not addressable. 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>
-<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'>
-<pre>
-&lt;circle id="aCircle" onactivate="aListener(evt)"
-        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.</p>
-</div>
-<!-- div3 Events-registration-html40 --></div>
-<!-- div2 Events-registration -->
 <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>
+<h2 id='events-Events-interface-h2' class='div2'>1.6 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. Together they define the feature Events 3.0.</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>
 <dd>
@@ -825,7 +694,7 @@
 <br /></dd>
 <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>
+<p>An integer indicating which phase of the event flow is being processed as defined in <a href='#events-Events-flow'>Event dispatch and DOM event flow</a>.</p>
 <dl>
 <dt><b>Defined Constants</b></dt>
 <dd>
@@ -848,7 +717,7 @@
 <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>
-<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>
+<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'>Event dispatch and 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>
 <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>
@@ -857,7 +726,7 @@
 <dd>The <a href='#glossary-dt-namespaceURI'>namespace URI</a> associated with this event at initialization time, or <code>null</code> if it is unspecified.<br />
 DOM Level 2 Events initialization methods, such as <a href='#events-Events-Event-initEvent'><code>Event.initEvent()</code></a>, set the value to null.<br /></dd>
 <dt><code class='attribute-name'><a 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>
+<dd>Used to indicate the <a href='#glossary-dt-event-target'>event target</a>. This attribute contains the <a href='#glossary-dt-target-node'>target node</a> when used with the <a href='#events-Events-flow'>Event dispatch and DOM event flow</a>.<br /></dd>
 <dt><code class='attribute-name'><a 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>
@@ -921,7 +790,7 @@
 <!-- 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>
 <dd>
-<div class='method'>Prevents other event listeners from being triggered and, unlike <a href='#events-Events-Event-stopPropagation'><code>Event.stopPropagation()</code></a> its effect is immediate (see <a href='#events-Events-propagation'>Event propagation</a>). Once it has been called, further calls to this method have no additional effect.
+<div class='method'>Prevents other event listeners from being triggered and, unlike <a href='#events-Events-Event-stopPropagation'><code>Event.stopPropagation()</code></a> its effect is immediate . Once it has been called, further calls to this 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>
 <div><b>No Parameters</b></div>
 <div><b>No Return Value</b></div>
@@ -930,7 +799,7 @@
 <!-- method --></dd>
 <dt><code class='method-name'><a name='events-Events-Event-stopPropagation' id='events-Events-Event-stopPropagation'>stopPropagation</a></code></dt>
 <dd>
-<div class='method'>Prevents other event listeners from being 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'>Event propagation</a>). Once it has been called, further calls to this method have no additional effect.
+<div class='method'>Prevents other event listeners from being 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 . Once it has been called, further calls to this 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>
 <div><b>No Parameters</b></div>
 <div><b>No Return Value</b></div>
@@ -954,7 +823,7 @@
 // Introduced in DOM Level 3:
 interface <a class='noxref' href='#events-Events-CustomEvent'>CustomEvent</a> : <a class='noxref' href='#events-Events-Event'>Event</a> {
   readonly attribute DOMObject       <a class='noxref' href='#events-Events-CustomEvent-detail'>detail</a>;
-  void               <a class='noxref' href='#events-Events-Event-initCustomEventNS'>initCustomEventNS</a>(in DOMString namespaceURI, 
+  void               <a class='noxref' href='#events-Events-Event-initCustomEventNS'>initCustomEventNS</a>(in DOMString namespaceURIArg, 
                                        in DOMString typeArg, 
                                        in boolean canBubbleArg, 
                                        in boolean cancelableArg, 
@@ -978,7 +847,7 @@
 <div class='parameters'><b>Parameters</b>
 <div class='paramtable'>
 <dl>
-<dt><code class='parameter-name'>namespaceURI</code> of type <code>DOMString</code></dt>
+<dt><code class='parameter-name'>namespaceURIArg</code> of type <code>DOMString</code></dt>
 <dd>Refer to the <a href='#events-Events-Event-initEventNS'><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd>
 <dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
 <dd>Refer to the <a href='#events-Events-Event-initEventNS'><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd>
@@ -1002,8 +871,8 @@
 </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>
 <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 an <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 the <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>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 an event flow. The interface allows registration and removal of event listeners, and dispatch of events to an event target.</p>
+<p>When used with the DOM event flow, this interface 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> repeatedly on the same <code>EventTarget</code> with the same values for the parameters <code>namespaceURI</code>, <code>type</code>, <code>listener</code>, and <code>useCapture</code> has no effect. Doing so does not cause the <a href='#events-Events-EventListener'><code>EventListener</code></a> to be called more than once and does not cause a change in the triggering order.</p>
 <dl>
 <dt><br />
@@ -1258,7 +1127,7 @@
 </dd>
 </dl>
 <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>
+<h3 id='events-Events-document-h3' class='div3'>1.6.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>
 <dl>
@@ -1323,9 +1192,10 @@
 <div class='paramtable'>
 <dl>
 <dt><code class='parameter-name'>eventType</code> of type <code>DOMString</code></dt>
-<dd>The <code>eventType</code> parameter specifies the name of the DOM Events interface to be supported by the created event object, e.g. <code>"Event"</code>, <code>"MouseEvent"</code>, <code>"MutationEvent"</code> and so on. If the <a href='#events-Events-Event'><code>Event</code></a> is to be dispatched via the <a href='#events-Events-EventTarget-dispatchEvent'><code>EventTarget.dispatchEvent()</code></a> method the appropriate event initialization method must be called after creation in order to initialize the <a class='noxref' href='#events-Events-Event'><code>Event</code></a>'s values.<br />
-As an example, a user wishing to synthesize some kind of <a href='#events-Events-UIEvent'><code>UIEvent</code></a> would invoke <a href='#events-Events-DocumentEvent-createEvent'><code>DocumentEvent.createEvent("UIEvent")</code></a>. The <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method could then be called on the newly created <a class='noxref' href='#events-Events-UIEvent'><code>UIEvent</code></a> object to set the specific type of user interface event to be dispatched, <a href='#events-event-DOMActivate'>DOMActivate</a> for example, and set its context information, e.g. <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> in this example.
-<p><b>Note:</b> For backward compatibility reason, "UIEvents", "MouseEvents", "MutationEvents", and "HTMLEvents" feature names are valid values for the parameter <code>eventType</code> and represent respectively the interfaces "UIEvent", "MouseEvent", "MutationEvent", and "Event".</p>
+<dd>
+<p>The <code>eventType</code> parameter specifies the name of the DOM Events interface to be supported by the created event object, e.g. <code>"Event"</code>, <code>"MouseEvent"</code>, <code>"MutationEvent"</code> and so on. If the <a href='#events-Events-Event'><code>Event</code></a> is to be dispatched via the <a href='#events-Events-EventTarget-dispatchEvent'><code>EventTarget.dispatchEvent()</code></a> method the appropriate event initialization method must be called after creation in order to initialize the <a class='noxref' href='#events-Events-Event'><code>Event</code></a>'s values.</p>
+<p>As an example, a user wishing to synthesize some kind of <a href='#events-Events-UIEvent'><code>UIEvent</code></a> would invoke <a href='#events-Events-DocumentEvent-createEvent'><code>DocumentEvent.createEvent("UIEvent")</code></a>. The <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method could then be called on the newly created <a class='noxref' href='#events-Events-UIEvent'><code>UIEvent</code></a> object to set the specific type of user interface event to be dispatched, <a href='#events-event-DOMActivate'>DOMActivate</a> for example, and set its context information, e.g. <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> in this example.</p>
+<p>For backward compatibility reason, "UIEvents", "MouseEvents", "MutationEvents", and "HTMLEvents" feature names are valid values for the parameter <code>eventType</code> and represent respectively the interfaces "UIEvent", "MouseEvent", "MutationEvent", and "Event", and the characters 'a'..'z' are considered equivalent to the characters 'A'..'Z'.<br /></p>
 </dd>
 </dl>
 </div>
@@ -1371,10 +1241,11 @@
 <!-- div3 Events-document --></div>
 <!-- div2 Events-interface -->
 <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>
+<h2 id='events-Events-eventgroupings-h2' class='div2'>1.7 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>
-<h3 id='events-Events-eventgroupings-uievents-h3' class='div3'>1.8.1 User Interface event types</h3>
+<h3 id='events-Events-eventgroupings-uievents-h3' class='div3'>1.7.1 User Interface event types</h3>
+<p>This module defines the feature UIEvents 3.0 and depends on the features Events 3.0 and Views 2.0.</p>
 <p>The User Interface event module contains basic event types associated with user interfaces.</p>
 <dl>
 <dt><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>
@@ -1397,7 +1268,7 @@
                                  in views::AbstractView viewArg, 
                                  in long detailArg);
   // Introduced in DOM Level 3:
-  void               <a class='noxref' href='#events-Events-Event-initUIEventNS'>initUIEventNS</a>(in DOMString namespaceURI, 
+  void               <a class='noxref' href='#events-Events-Event-initUIEventNS'>initUIEventNS</a>(in DOMString namespaceURIArg, 
                                    in DOMString typeArg, 
                                    in boolean canBubbleArg, 
                                    in boolean cancelableArg, 
@@ -1448,7 +1319,7 @@
 <div class='parameters'><b>Parameters</b>
 <div class='paramtable'>
 <dl>
-<dt><code class='parameter-name'>namespaceURI</code> of type <code>DOMString</code></dt>
+<dt><code class='parameter-name'>namespaceURIArg</code> of type <code>DOMString</code></dt>
 <dd>Refer to the <a href='#events-Events-Event-initEventNS'><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd>
 <dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
 <dd>Refer to the <a href='#events-Events-Event-initEventNS'><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd>
@@ -1473,7 +1344,7 @@
 </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 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 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>
+<p>The User Interface event types are listed below.</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>
@@ -1575,7 +1446,7 @@
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Target</th>
-<td valign='top' rowspan='1' colspan='1'>Element</td>
+<td valign='top' rowspan='1' colspan='1'><code>Element</code></td>
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Context info</th>
@@ -1662,7 +1533,8 @@
 </div>
 <!-- div3 Events-eventgroupings-uievents -->
 <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>
+<h3 id='events-Events-TextEvents-Interfaces-h3' class='div3'>1.7.2 Text events types</h3>
+<p>This module defines the feature TextEvents 3.0 and depends on the feature UIEvents 3.0.</p>
 <p>The text event module originates from the [<cite><a class='noxref informative' href='#references-HTML40'>HTML 4.01</a></cite>] <code>onkeypress</code> attribute. Unlike this attribute, the event type <a href='#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>
@@ -1683,8 +1555,8 @@
                                    in boolean cancelableArg, 
                                    in views::AbstractView viewArg, 
                                    in DOMString dataArg);
-  void               <a class='noxref' href='#events-Events-Event-initTextEventNS'>initTextEventNS</a>(in DOMString namespaceURI, 
-                                     in DOMString type, 
+  void               <a class='noxref' href='#events-Events-Event-initTextEventNS'>initTextEventNS</a>(in DOMString namespaceURIArg, 
+                                     in DOMString typeArg, 
                                      in boolean canBubbleArg, 
                                      in boolean cancelableArg, 
                                      in views::AbstractView viewArg, 
@@ -1732,9 +1604,9 @@
 <div class='parameters'><b>Parameters</b>
 <div class='paramtable'>
 <dl>
-<dt><code class='parameter-name'>namespaceURI</code> of type <code>DOMString</code></dt>
+<dt><code class='parameter-name'>namespaceURIArg</code> of type <code>DOMString</code></dt>
 <dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>type</code> of type <code>DOMString</code></dt>
+<dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
 <dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
 <dt><code class='parameter-name'>canBubbleArg</code> of type <code>boolean</code></dt>
 <dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
@@ -1757,7 +1629,7 @@
 </dl>
 </dd>
 </dl>
-<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>
+<p>The text event type is listed below.</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>
@@ -1797,767 +1669,10 @@
 </div>
 </div>
 <!-- div3 Events-TextEvents-Interfaces -->
-<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>
-<dd>
-<p>The <code>MouseEvent</code> interface provides specific contextual information associated with Mouse events.</p>
-<p>In the case of nested elements mouse events are always targeted at the most deeply nested element. Ancestors of the targeted element may use bubbling to obtain notification of mouse events which occur within their descendent elements.</p>
-<p>To create an instance of the <code>MouseEvent</code> interface, use the <a href='#events-Events-DocumentEvent-createEvent'><code>DocumentEvent.createEvent("MouseEvent")</code></a> method call.</p>
-<p><b>Note:</b> When initializing <code>MouseEvent</code> objects using <code>initMouseEvent</code> or <code>initMouseEventNS</code>, implementations should use the client coordinates <code>clientX</code> and <code>clientY</code> for calculation of other coordinates (such as target coordinates exposed by <a href='#glossary-dt-DOM-Level-0'>DOM Level 0</a> implementations).</p>
-<dl>
-<dt><br />
-<b>IDL Definition</b></dt>
-<dd>
-<div class='idl-code'>
-<pre>
-// Introduced in DOM Level 2:
-interface <a class='noxref' href='#events-Events-MouseEvent'>MouseEvent</a> : <a class='noxref' href='#events-Events-UIEvent'>UIEvent</a> {
-  readonly attribute long            <a class='noxref' href='#events-Events-MouseEvent-screenX'>screenX</a>;
-  readonly attribute long            <a class='noxref' href='#events-Events-MouseEvent-screenY'>screenY</a>;
-  readonly attribute long            <a class='noxref' href='#events-Events-MouseEvent-clientX'>clientX</a>;
-  readonly attribute long            <a class='noxref' href='#events-Events-MouseEvent-clientY'>clientY</a>;
-  readonly attribute boolean         <a class='noxref' href='#events-Events-MouseEvent-ctrlKey'>ctrlKey</a>;
-  readonly attribute boolean         <a class='noxref' href='#events-Events-MouseEvent-shiftKey'>shiftKey</a>;
-  readonly attribute boolean         <a class='noxref' href='#events-Events-MouseEvent-altKey'>altKey</a>;
-  readonly attribute boolean         <a class='noxref' href='#events-Events-MouseEvent-metaKey'>metaKey</a>;
-  readonly attribute unsigned short  <a class='noxref' href='#events-Events-MouseEvent-button'>button</a>;
-  readonly attribute <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a>     <a class='noxref' href='#events-Events-MouseEvent-relatedTarget'>relatedTarget</a>;
-  void               <a class='noxref' href='#events-Events-Event-initMouseEvent'>initMouseEvent</a>(in DOMString typeArg, 
-                                    in boolean canBubbleArg, 
-                                    in boolean cancelableArg, 
-                                    in views::AbstractView viewArg, 
-                                    in long detailArg, 
-                                    in long screenXArg, 
-                                    in long screenYArg, 
-                                    in long clientXArg, 
-                                    in long clientYArg, 
-                                    in boolean ctrlKeyArg, 
-                                    in boolean altKeyArg, 
-                                    in boolean shiftKeyArg, 
-                                    in boolean metaKeyArg, 
-                                    in unsigned short buttonArg, 
-                                    in <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a> relatedTargetArg);
-  // Introduced in DOM Level 3:
-  boolean            <a class='noxref' href='#events-Events-MouseEvent-getModifierState'>getModifierState</a>(in DOMString keyIdentifierArg);
-  // Introduced in DOM Level 3:
-  void               <a class='noxref' href='#events-Events-Event-initMouseEventNS'>initMouseEventNS</a>(in DOMString namespaceURI, 
-                                      in DOMString typeArg, 
-                                      in boolean canBubbleArg, 
-                                      in boolean cancelableArg, 
-                                      in views::AbstractView viewArg, 
-                                      in long detailArg, 
-                                      in long screenXArg, 
-                                      in long screenYArg, 
-                                      in long clientXArg, 
-                                      in long clientYArg, 
-                                      in unsigned short buttonArg, 
-                                      in <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a> relatedTargetArg, 
-                                      in DOMString modifiersList);
-};
-</pre></div>
-<br /></dd>
-<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>
-<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>
-<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>
-<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>
-<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>
-<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>
-<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>
-<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>
-<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>
-<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>
-<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>
-<dd>
-<div class='method'>This method 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>
-<div class='paramtable'>
-<dl>
-<dt><code class='parameter-name'>keyIdentifierArg</code> of type <code>DOMString</code></dt>
-<dd>A modifier key identifier, as defined by the <a href='#events-Events-KeyboardEvent-keyIdentifier'><code>KeyboardEvent.keyIdentifier</code></a> attribute. Common modifier keys are <code>"Alt"</code>, <code>"AltGraph"</code>, <code>"CapsLock"</code>, <code>"Control"</code>, <code>"Meta"</code>, <code>"NumLock"</code>, <code>"Scroll"</code>, or <code>"Shift"</code>.
-<p><b>Note:</b> If an application wishes to distinguish between right and left modifiers, this information could be deduced using keyboard events and <a href='#events-Events-KeyboardEvent-keylocation'><code>KeyboardEvent.keyLocation</code></a>.</p>
-</dd>
-</dl>
-</div>
-</div>
-<!-- parameters -->
-<div class='return'><b>Return Value</b>
-<div class='returntable'>
-<table summary='Layout table: the first cell contains the type of the return value, the second contains a short description' border='0'>
-<tr>
-<td valign='top'>
-<p><code>boolean</code></p>
-</td>
-<td>
-<p><code>true</code> if it is a modifier key and the modifier is activated, <code>false</code> otherwise.</p>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<!-- return -->
-<div><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>
-<dd>
-<div class='method'>Initializes attributes of a <code>MouseEvent</code> object. This method has the same behavior as <a href='#events-Events-Event-initUIEvent'><code>UIEvent.initUIEvent()</code></a>.
-<div class='parameters'><b>Parameters</b>
-<div class='paramtable'>
-<dl>
-<dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEvent'><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>canBubbleArg</code> of type <code>boolean</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEvent'><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>cancelableArg</code> of type <code>boolean</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEvent'><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>viewArg</code> of type <code>views::AbstractView</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEvent'><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>detailArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEvent'><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>screenXArg</code> of type <code>long</code></dt>
-<dd>Specifies <a href='#events-Events-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>.<br /></dd>
-<dt><code class='parameter-name'>screenYArg</code> of type <code>long</code></dt>
-<dd>Specifies <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>.<br /></dd>
-<dt><code class='parameter-name'>clientXArg</code> of type <code>long</code></dt>
-<dd>Specifies <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>.<br /></dd>
-<dt><code class='parameter-name'>clientYArg</code> of type <code>long</code></dt>
-<dd>Specifies <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>.<br /></dd>
-<dt><code class='parameter-name'>ctrlKeyArg</code> of type <code>boolean</code></dt>
-<dd>Specifies <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>.<br /></dd>
-<dt><code class='parameter-name'>altKeyArg</code> of type <code>boolean</code></dt>
-<dd>Specifies <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>.<br /></dd>
-<dt><code class='parameter-name'>shiftKeyArg</code> of type <code>boolean</code></dt>
-<dd>Specifies <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>.<br /></dd>
-<dt><code class='parameter-name'>metaKeyArg</code> of type <code>boolean</code></dt>
-<dd>Specifies <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>.<br /></dd>
-<dt><code class='parameter-name'>buttonArg</code> of type <code>unsigned short</code></dt>
-<dd>Specifies <a href='#events-Events-MouseEvent-button'><code>MouseEvent.button</code></a>.<br /></dd>
-<dt><code class='parameter-name'>relatedTargetArg</code> of type <a href='#events-Events-EventTarget'><code>EventTarget</code></a></dt>
-<dd>Specifies <a href='#events-Events-MouseEvent-relatedTarget'><code>MouseEvent.relatedTarget</code></a>. This value may be <code>null</code>.<br /></dd>
-</dl>
-</div>
-</div>
-<!-- parameters -->
-<div><b>No Return Value</b></div>
-<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>
-<dd>
-<div class='method'>Initializes attributes of a <code>MouseEvent</code> object. This method has the same behavior as <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a>.
-<div class='parameters'><b>Parameters</b>
-<div class='paramtable'>
-<dl>
-<dt><code class='parameter-name'>namespaceURI</code> of type <code>DOMString</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>canBubbleArg</code> of type <code>boolean</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>cancelableArg</code> of type <code>boolean</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>viewArg</code> of type <code>views::AbstractView</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>detailArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>screenXArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEvent'><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>screenYArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEvent'><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>clientXArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEvent'><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>clientYArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEvent'><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>buttonArg</code> of type <code>unsigned short</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEvent'><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>relatedTargetArg</code> of type <a href='#events-Events-EventTarget'><code>EventTarget</code></a></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEvent'><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>modifiersList</code> of type <code>DOMString</code></dt>
-<dd>A <a class='normative' href='http://www.w3.org/TR/2004/REC-xml-20040204/#NT-S'><em>white space</em></a> separated list of modifier key identifiers to be activated on this object. As an example, <code>"Control Alt"</code> will activated the control and alt modifiers.<br /></dd>
-</dl>
-</div>
-</div>
-<!-- parameters -->
-<div><b>No Return Value</b></div>
-<div><b>No Exceptions</b></div>
-</div>
-<!-- method --></dd>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
-<p>The Mouse event types are listed below. In the case of nested elements, mouse event types are always targeted at the most deeply nested element. Ancestors of the targeted element may use bubbling to obtain notification of mouse events which occur within its descendent elements.</p>
-<p>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>
-<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>click</code></b></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Namespace</th>
-<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Cancelable</th>
-<td valign='top' rowspan='1' colspan='1'>Yes</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-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, <a href='#events-Events-MouseEvent-button'><code>MouseEvent.button</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use. The <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> attribute indicates the number of consecutive clicks of a pointing device button during a user action. The attribute value is <code>1</code> when the user begins this action and increments by <code>1</code> for each click. The notion of consecutive clicks depends on the environment configuration. For example, a "double click" will not happen if there is a long delay between the two clicks, even if the pointing device did not move.</td>
-</tr>
-</table>
-A pointing device button is clicked over an element. The definition of a click depends on the environment configuration; i.e. it may depend on the screen location or the delay between the press and release of the pointing device button. In any case, the target node must be the same between the <a href='#events-event-mousedown'>mousedown</a>, <a href='#events-event-mouseup'>mouseup</a>, and <a href='#events-event-click'>click</a>. The sequence of these events is: <a href='#events-event-mousedown'>mousedown</a>, <a href='#events-event-mouseup'>mouseup</a>, and <a href='#events-event-click'>click</a>. It depends on the environment configuration whether the event type <a href='#events-event-click'>click</a> can occur if one or more of the event types <a href='#events-event-mouseover'>mouseover</a>, <a href='#events-event-mousemove'>mousemove</a>, and <a href='#events-event-mouseout'>mouseout</a> occur between the press and release of the pointing device button. In the case of nested elements, this event type is always targeted at the most deeply nested element. In addition, the event type is dispatched as described in <a href='#events-Events-flow-activation'>Activation requests and behavior</a>.</dd>
-</dl>
-</div>
-<div class='event-definition'>
-<dl>
-<dt><a name='events-event-dblclick' id='events-event-dblclick'></a><a class='noxref' href='#events-event-dblclick'>dblclick</a></dt>
-<dd>
-<table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
-<tr>
-<th rowspan='1' colspan='1'>Type</th>
-<td bgcolor='#CFCFCF' rowspan='1' colspan='1'><b><code>dblclick</code></b></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Namespace</th>
-<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Cancelable</th>
-<td valign='top' rowspan='1' colspan='1'>Yes</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'>...</td>
-</tr>
-</table>
-...</dd>
-</dl>
-</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>
-<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>mousedown</code></b></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Namespace</th>
-<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Cancelable</th>
-<td valign='top' rowspan='1' colspan='1'>Yes</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-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, <a href='#events-Events-MouseEvent-button'><code>MouseEvent.button</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use. The <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> attribute indicates the number of consecutive clicks, incremented by one, of a pointing device button during a user action. For example, if no click happened before the mousedown, <a class='noxref' href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> will contain the value <code>1</code>.</td>
-</tr>
-</table>
-A pointing device button is pressed over an element. In the case of nested elements, this event type is always targeted at the most deeply nested element.</dd>
-</dl>
-</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>
-<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>mouseup</code></b></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Namespace</th>
-<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Cancelable</th>
-<td valign='top' rowspan='1' colspan='1'>Yes</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-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, <a href='#events-Events-MouseEvent-button'><code>MouseEvent.button</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use. The <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> attribute indicates the number of consecutive clicks, incremented by one, of a pointing device button during a user action.</td>
-</tr>
-</table>
-A pointing device button is released over an element. In the case of nested elements, this event type is always targeted at the most deeply nested element.</dd>
-</dl>
-</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>
-<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>mouseover</code></b></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Namespace</th>
-<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Cancelable</th>
-<td valign='top' rowspan='1' colspan='1'>Yes</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-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use. <a href='#events-Events-MouseEvent-relatedTarget'><code>MouseEvent.relatedTarget</code></a> indicates the <a href='#glossary-dt-event-target'>event target</a> a pointing device is exiting, if any.</td>
-</tr>
-</table>
-A pointing device is moved onto an element. In the case of nested elements, this event type is always targeted at the most deeply nested element.</dd>
-</dl>
-</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>
-<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>mousemove</code></b></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Namespace</th>
-<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Cancelable</th>
-<td valign='top' rowspan='1' colspan='1'>Yes</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-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use.</td>
-</tr>
-</table>
-A pointing device is moved while it is over an element. In the case of nested elements, this event type is always targeted at the most deeply nested element.</dd>
-</dl>
-</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>
-<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>mouseout</code></b></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Namespace</th>
-<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Cancelable</th>
-<td valign='top' rowspan='1' colspan='1'>Yes</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-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use. <a href='#events-Events-MouseEvent-relatedTarget'><code>MouseEvent.relatedTarget</code></a> indicates the <a href='#glossary-dt-event-target'>event target</a> a pointing device is entering, if any.</td>
-</tr>
-</table>
-A pointing device is moved away from an element. In the case of nested elements, this event type is always targeted at the most deeply nested element.</dd>
-</dl>
-</div>
-<p>As an example, a "double click" on a mouse device will produce the following events (the value of <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> is indicated in parenthesis):</p>
-<ol>
-<li><code>"mousedown"</code> (<code>1</code>)</li>
-<li><code>"mouseup"</code> (<code>1</code>)</li>
-<li><code>"click"</code> (<code>1</code>)</li>
-<li><code>"mousedown"</code> (<code>2</code>)</li>
-<li><code>"mouseup"</code> (<code>2</code>)</li>
-<li><code>"click"</code> (<code>2</code>)</li>
-</ol>
-</div>
-<!-- div3 Events-eventgroupings-mouseevents -->
-<div class='div3'><a name='events-Events-eventgroupings-mousewheelevents' id='events-Events-eventgroupings-mousewheelevents'></a>
-<h3 id='events-Events-eventgroupings-mousewheelevents-h3' class='div3'>1.8.4 Mouse wheel event types</h3>
-<p>...</p>
-<dl>
-<dt><b>Interface <i><a name='events-Events-MouseWheelEvent' id='events-Events-MouseWheelEvent'>MouseWheelEvent</a></i></b> (introduced in <b class='since'>DOM Level 3</b>)</dt>
-<dd>
-<p>...</p>
-<dl>
-<dt><br />
-<b>IDL Definition</b></dt>
-<dd>
-<div class='idl-code'>
-<pre>
-// Introduced in DOM Level 3:
-interface <a class='noxref' href='#events-Events-MouseWheelEvent'>MouseWheelEvent</a> : <a class='noxref' href='#events-Events-MouseEvent'>MouseEvent</a> {
-  readonly attribute long            <a class='noxref' href='#events-Events-MouseWheelEvent-wheelDelta'>wheelDelta</a>;
-  // Introduced in DOM Level 3:
-  void               <a class='noxref' href='#events-Events-Event-initMouseWheelEventNS'>initMouseWheelEventNS</a>(in DOMString namespaceURI, 
-                                           in DOMString typeArg, 
-                                           in boolean canBubbleArg, 
-                                           in boolean cancelableArg, 
-                                           in views::AbstractView viewArg, 
-                                           in long detailArg, 
-                                           in long screenXArg, 
-                                           in long screenYArg, 
-                                           in long clientXArg, 
-                                           in long clientYArg, 
-                                           in unsigned short buttonArg, 
-                                           in <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a> relatedTargetArg, 
-                                           in DOMString modifiersList, 
-                                           in long wheelDelta);
-};
-</pre></div>
-<br /></dd>
-<dt><b>Attributes</b></dt>
-<dd>
-<dl>
-<dt><code class='attribute-name'><a name='events-Events-MouseWheelEvent-wheelDelta' id='events-Events-MouseWheelEvent-wheelDelta'>wheelDelta</a></code> of type <code>long</code>, readonly</dt>
-<dd>...<br /></dd>
-</dl>
-</dd>
-<dt><b>Methods</b></dt>
-<dd>
-<dl>
-<dt><code class='method-name'><a name='events-Events-Event-initMouseWheelEventNS' id='events-Events-Event-initMouseWheelEventNS'>initMouseWheelEventNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
-<dd>
-<div class='method'>Initializes attributes of a <code>MouseWheelEvent</code> object.
-<div class='parameters'><b>Parameters</b>
-<div class='paramtable'>
-<dl>
-<dt><code class='parameter-name'>namespaceURI</code> of type <code>DOMString</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>canBubbleArg</code> of type <code>boolean</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>cancelableArg</code> of type <code>boolean</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>viewArg</code> of type <code>views::AbstractView</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>detailArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>screenXArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>screenYArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>clientXArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>clientYArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>buttonArg</code> of type <code>unsigned short</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>relatedTargetArg</code> of type <a href='#events-Events-EventTarget'><code>EventTarget</code></a></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>modifiersList</code> of type <code>DOMString</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>wheelDelta</code> of type <code>long</code></dt>
-<dd>...<br /></dd>
-</dl>
-</div>
-</div>
-<!-- parameters -->
-<div><b>No Return Value</b></div>
-<div><b>No Exceptions</b></div>
-</div>
-<!-- method --></dd>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
-<div class='event-definition'>
-<dl>
-<dt><a name='events-event-mousewheel' id='events-event-mousewheel'></a><a class='noxref' href='#events-event-mousewheel'>mousewheel</a></dt>
-<dd>
-<table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
-<tr>
-<th rowspan='1' colspan='1'>Type</th>
-<td bgcolor='#CFCFCF' rowspan='1' colspan='1'><b><code>mousewheel</code></b></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Namespace</th>
-<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseWheelEvent'><code>MouseWheelEvent</code></a></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Cancelable</th>
-<td valign='top' rowspan='1' colspan='1'>Yes</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'>...</td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Context info</th>
-<td valign='top' rowspan='1' colspan='1'>...</td>
-</tr>
-</table>
-...</dd>
-</dl>
-</div>
-</div>
-<!-- div3 Events-eventgroupings-mousewheelevents -->
-<div class='div3'><a name='events-Events-eventgroupings-mousemultiwheelevents' id='events-Events-eventgroupings-mousemultiwheelevents'></a>
-<h3 id='events-Events-eventgroupings-mousemultiwheelevents-h3' class='div3'>1.8.5 Mouse multi wheel event types</h3>
-<p>...</p>
-<dl>
-<dt><b>Interface <i><a name='events-Events-MouseMultiWheelEvent' id='events-Events-MouseMultiWheelEvent'>MouseMultiWheelEvent</a></i></b> (introduced in <b class='since'>DOM Level 3</b>)</dt>
-<dd>
-<p>...</p>
-<dl>
-<dt><br />
-<b>IDL Definition</b></dt>
-<dd>
-<div class='idl-code'>
-<pre>
-// Introduced in DOM Level 3:
-interface <a class='noxref' href='#events-Events-MouseMultiWheelEvent'>MouseMultiWheelEvent</a> : <a class='noxref' href='#events-Events-MouseEvent'>MouseEvent</a> {
-  readonly attribute long            <a class='noxref' href='#events-Events-MouseMultiWheelEvent-wheelDeltaX'>wheelDeltaX</a>;
-  readonly attribute long            <a class='noxref' href='#events-Events-MouseMultiWheelEvent-wheelDeltaY'>wheelDeltaY</a>;
-  readonly attribute long            <a class='noxref' href='#events-Events-MouseMultiWheelEvent-wheelDeltaZ'>wheelDeltaZ</a>;
-  // Introduced in DOM Level 3:
-  void               <a class='noxref' href='#events-Events-Event-initMouseMultiWheelEventNS'>initMouseMultiWheelEventNS</a>(in DOMString namespaceURI, 
-                                                in DOMString typeArg, 
-                                                in boolean canBubbleArg, 
-                                                in boolean cancelableArg, 
-                                                in views::AbstractView viewArg, 
-                                                in long detailArg, 
-                                                in long screenXArg, 
-                                                in long screenYArg, 
-                                                in long clientXArg, 
-                                                in long clientYArg, 
-                                                in unsigned short buttonArg, 
-                                                in <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a> relatedTargetArg, 
-                                                in DOMString modifiersList, 
-                                                in long wheelDeltaX, 
-                                                in long wheelDeltaY, 
-                                                in long wheelDeltaZ);
-};
-</pre></div>
-<br /></dd>
-<dt><b>Attributes</b></dt>
-<dd>
-<dl>
-<dt><code class='attribute-name'><a name='events-Events-MouseMultiWheelEvent-wheelDeltaX' id='events-Events-MouseMultiWheelEvent-wheelDeltaX'>wheelDeltaX</a></code> of type <code>long</code>, readonly</dt>
-<dd>...<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-MouseMultiWheelEvent-wheelDeltaY' id='events-Events-MouseMultiWheelEvent-wheelDeltaY'>wheelDeltaY</a></code> of type <code>long</code>, readonly</dt>
-<dd>...<br /></dd>
-<dt><code class='attribute-name'><a name='events-Events-MouseMultiWheelEvent-wheelDeltaZ' id='events-Events-MouseMultiWheelEvent-wheelDeltaZ'>wheelDeltaZ</a></code> of type <code>long</code>, readonly</dt>
-<dd>...<br /></dd>
-</dl>
-</dd>
-<dt><b>Methods</b></dt>
-<dd>
-<dl>
-<dt><code class='method-name'><a name='events-Events-Event-initMouseMultiWheelEventNS' id='events-Events-Event-initMouseMultiWheelEventNS'>initMouseMultiWheelEventNS</a></code> introduced in <b class='since'>DOM Level 3</b></dt>
-<dd>
-<div class='method'>Initializes attributes of a <code>MouseMultiWheelEvent</code> object.
-<div class='parameters'><b>Parameters</b>
-<div class='paramtable'>
-<dl>
-<dt><code class='parameter-name'>namespaceURI</code> of type <code>DOMString</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>canBubbleArg</code> of type <code>boolean</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>cancelableArg</code> of type <code>boolean</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>viewArg</code> of type <code>views::AbstractView</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>detailArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>screenXArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>screenYArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>clientXArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>clientYArg</code> of type <code>long</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>buttonArg</code> of type <code>unsigned short</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>relatedTargetArg</code> of type <a href='#events-Events-EventTarget'><code>EventTarget</code></a></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>modifiersList</code> of type <code>DOMString</code></dt>
-<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>wheelDeltaX</code> of type <code>long</code></dt>
-<dd>...<br /></dd>
-<dt><code class='parameter-name'>wheelDeltaY</code> of type <code>long</code></dt>
-<dd>...<br /></dd>
-<dt><code class='parameter-name'>wheelDeltaZ</code> of type <code>long</code></dt>
-<dd>...<br /></dd>
-</dl>
-</div>
-</div>
-<!-- parameters -->
-<div><b>No Return Value</b></div>
-<div><b>No Exceptions</b></div>
-</div>
-<!-- method --></dd>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
-<div class='event-definition'>
-<dl>
-<dt><a name='events-event-mousemultiwheel' id='events-event-mousemultiwheel'></a><a class='noxref' href='#events-event-mousemultiwheel'>mousemultiwheel</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>mousemultiwheel</code></b></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Namespace</th>
-<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseMultiWheelEvent'><code>MouseMultiWheelEvent</code></a></td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Cancelable</th>
-<td valign='top' rowspan='1' colspan='1'>Yes</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'>...</td>
-</tr>
-<tr>
-<th rowspan='1' colspan='1'>Context info</th>
-<td valign='top' rowspan='1' colspan='1'>...</td>
-</tr>
-</table>
-...</dd>
-</dl>
-</div>
-</div>
-<!-- div3 Events-eventgroupings-mousemultiwheelevents -->
 <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.6 Keyboard event types</h3>
+<h3 id='events-Events-KeyboardEvents-Interfaces-h3' class='div3'>1.7.3 Keyboard event types</h3>
+<p>(This part of the specification is likely to be moved to a separate specification on keyboard events.)</p>
+<p>This module defines the feature KeyboardEvents 3.0 and depends on the feature UIEvents 3.0.</p>
 <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>
@@ -2593,15 +1708,15 @@
                                        in views::AbstractView viewArg, 
                                        in DOMString keyIdentifierArg, 
                                        in unsigned long keyLocationArg, 
-                                       in DOMString modifiersList);
-  void               <a class='noxref' href='#events-Events-KeyboardEvent-initKeyboardEventNS'>initKeyboardEventNS</a>(in DOMString namespaceURI, 
+                                       in DOMString modifiersListArg);
+  void               <a class='noxref' href='#events-Events-KeyboardEvent-initKeyboardEventNS'>initKeyboardEventNS</a>(in DOMString namespaceURIArg, 
                                          in DOMString typeArg, 
                                          in boolean canBubbleArg, 
                                          in boolean cancelableArg, 
                                          in views::AbstractView viewArg, 
                                          in DOMString keyIdentifierArg, 
                                          in unsigned long keyLocationArg, 
-                                         in DOMString modifiersList);
+                                         in DOMString modifiersListArg);
 };
 </pre></div>
 <br /></dd>
@@ -2650,7 +1765,7 @@
 <dl>
 <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 method queries the state of a modifier using a key identifier. See also <a href='#keyset-Modifiers'>Modifier keys</a>.
+<div class='method'>Queries the state of a modifier using a key identifier. See also <a href='#keyset-Modifiers'>Modifier keys</a>.
 <div class='parameters'><b>Parameters</b>
 <div class='paramtable'>
 <dl>
@@ -2698,8 +1813,8 @@
 <dd>Specifies <a href='#events-Events-KeyboardEvent-keyIdentifier'><code>KeyboardEvent.keyIdentifier</code></a>.<br /></dd>
 <dt><code class='parameter-name'>keyLocationArg</code> of type <code>unsigned long</code></dt>
 <dd>Specifies <a href='#events-Events-KeyboardEvent-keylocation'><code>KeyboardEvent.keyLocation</code></a>.<br /></dd>
-<dt><code class='parameter-name'>modifiersList</code> of type <code>DOMString</code></dt>
-<dd>A <a class='normative' href='http://www.w3.org/TR/2004/REC-xml-20040204/#NT-S'><em>white space</em></a> separated list of modifier key identifiers to be activated on this object.<br /></dd>
+<dt><code class='parameter-name'>modifiersListArg</code> of type <code>DOMString</code></dt>
+<dd>A <a class='normative' href='http://www.w3.org/TR/2004/REC-xml-20040204/#NT-S'><em>white space</em></a> separated list of modifier key identifiers to be activated on this object. As an example, <code>"Control Alt"</code> will mark the control and alt modifiers as activated.<br /></dd>
 </dl>
 </div>
 </div>
@@ -2714,7 +1829,7 @@
 <div class='parameters'><b>Parameters</b>
 <div class='paramtable'>
 <dl>
-<dt><code class='parameter-name'>namespaceURI</code> of type <code>DOMString</code></dt>
+<dt><code class='parameter-name'>namespaceURIArg</code> of type <code>DOMString</code></dt>
 <dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
 <dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
 <dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
@@ -2728,8 +1843,8 @@
 <dd>Refer to the <a href='#events-Events-KeyboardEvent-initKeyboardEvent'><code>KeyboardEvent.initKeyboardEvent()</code></a> method for a description of this parameter.<br /></dd>
 <dt><code class='parameter-name'>keyLocationArg</code> of type <code>unsigned long</code></dt>
 <dd>Refer to the <a href='#events-Events-KeyboardEvent-initKeyboardEvent'><code>KeyboardEvent.initKeyboardEvent()</code></a> method for a description of this parameter.<br /></dd>
-<dt><code class='parameter-name'>modifiersList</code> of type <code>DOMString</code></dt>
-<dd>A <a class='normative' href='http://www.w3.org/TR/2004/REC-xml-20040204/#NT-S'><em>white space</em></a> separated list of modifier key identifiers to be activated on this object. As an example, <code>"Control Alt"</code> will activated the control and alt modifiers.<br /></dd>
+<dt><code class='parameter-name'>modifiersListArg</code> of type <code>DOMString</code></dt>
+<dd>Refer to the <a href='#events-Events-KeyboardEvent-initKeyboardEvent'><code>KeyboardEvent.initKeyboardEvent()</code></a> method for a description of this parameter.<br /></dd>
 </dl>
 </div>
 </div>
@@ -2744,7 +1859,7 @@
 </dd>
 </dl>
 <p>Depending on the character generation device, keyboard events may or may not be generated.</p>
-<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>
+<p>The keyboard event types are listed below.</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>
@@ -2821,8 +1936,756 @@
 </div>
 </div>
 <!-- div3 Events-KeyboardEvents-Interfaces -->
+<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.7.4 Mouse event types</h3>
+<p>This module defines the feature MouseEvents 3.0 and depends on the feature UIEvents 3.0.</p>
+<p>The Mouse event module originates from the [<cite><a class='noxref informative' href='#references-HTML40'>HTML 4.01</a></cite>] <code>onclick</code>, <code>ondblclick</code>, <code>onmousedown</code>, <code>onmouseup</code>, <code>onmouseover</code>, <code>onmousemove</code>, and <code>onmouseout</code> attributes. This event module is specifically designed for use with pointing input devices, such as a mouse or a trackball.</p>
+<dl>
+<dt><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 their descendent elements.</p>
+<p>To create an instance of the <code>MouseEvent</code> interface, use the <a href='#events-Events-DocumentEvent-createEvent'><code>DocumentEvent.createEvent("MouseEvent")</code></a> method call.</p>
+<p><b>Note:</b> When initializing <code>MouseEvent</code> objects using <code>initMouseEvent</code> or <code>initMouseEventNS</code>, implementations should use the client coordinates <code>clientX</code> and <code>clientY</code> for calculation of other coordinates (such as target coordinates exposed by <a href='#glossary-dt-DOM-Level-0'>DOM Level 0</a> implementations).</p>
+<dl>
+<dt><br />
+<b>IDL Definition</b></dt>
+<dd>
+<div class='idl-code'>
+<pre>
+// Introduced in DOM Level 2:
+interface <a class='noxref' href='#events-Events-MouseEvent'>MouseEvent</a> : <a class='noxref' href='#events-Events-UIEvent'>UIEvent</a> {
+  readonly attribute long            <a class='noxref' href='#events-Events-MouseEvent-screenX'>screenX</a>;
+  readonly attribute long            <a class='noxref' href='#events-Events-MouseEvent-screenY'>screenY</a>;
+  readonly attribute long            <a class='noxref' href='#events-Events-MouseEvent-clientX'>clientX</a>;
+  readonly attribute long            <a class='noxref' href='#events-Events-MouseEvent-clientY'>clientY</a>;
+  readonly attribute boolean         <a class='noxref' href='#events-Events-MouseEvent-ctrlKey'>ctrlKey</a>;
+  readonly attribute boolean         <a class='noxref' href='#events-Events-MouseEvent-shiftKey'>shiftKey</a>;
+  readonly attribute boolean         <a class='noxref' href='#events-Events-MouseEvent-altKey'>altKey</a>;
+  readonly attribute boolean         <a class='noxref' href='#events-Events-MouseEvent-metaKey'>metaKey</a>;
+  readonly attribute unsigned short  <a class='noxref' href='#events-Events-MouseEvent-button'>button</a>;
+  readonly attribute <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a>     <a class='noxref' href='#events-Events-MouseEvent-relatedTarget'>relatedTarget</a>;
+  void               <a class='noxref' href='#events-Events-Event-initMouseEvent'>initMouseEvent</a>(in DOMString typeArg, 
+                                    in boolean canBubbleArg, 
+                                    in boolean cancelableArg, 
+                                    in views::AbstractView viewArg, 
+                                    in long detailArg, 
+                                    in long screenXArg, 
+                                    in long screenYArg, 
+                                    in long clientXArg, 
+                                    in long clientYArg, 
+                                    in boolean ctrlKeyArg, 
+                                    in boolean altKeyArg, 
+                                    in boolean shiftKeyArg, 
+                                    in boolean metaKeyArg, 
+                                    in unsigned short buttonArg, 
+                                    in <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a> relatedTargetArg);
+  // Introduced in DOM Level 3:
+  boolean            <a class='noxref' href='#events-Events-MouseEvent-getModifierState'>getModifierState</a>(in DOMString keyIdentifierArg);
+  // Introduced in DOM Level 3:
+  void               <a class='noxref' href='#events-Events-Event-initMouseEventNS'>initMouseEventNS</a>(in DOMString namespaceURIArg, 
+                                      in DOMString typeArg, 
+                                      in boolean canBubbleArg, 
+                                      in boolean cancelableArg, 
+                                      in views::AbstractView viewArg, 
+                                      in long detailArg, 
+                                      in long screenXArg, 
+                                      in long screenYArg, 
+                                      in long clientXArg, 
+                                      in long clientYArg, 
+                                      in unsigned short buttonArg, 
+                                      in <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a> relatedTargetArg, 
+                                      in DOMString modifiersListArg);
+};
+</pre></div>
+<br /></dd>
+<dt><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>
+<dd>Refer to the <a href='#events-Events-KeyboardEvent-altKey'><code>KeyboardEvent.altKey</code></a> attribute.<br /></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>
+<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>
+<dd>The horizontal coordinate at which the event occurred relative to the viewport associated with the event.<br /></dd>
+<dt><code class='attribute-name'><a 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 viewport associated with the event.<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>
+<dd>Refer to the <a href='#events-Events-KeyboardEvent-ctrlKey'><code>KeyboardEvent.ctrlKey</code></a> attribute.<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>
+<dd>Refer to the <a href='#events-Events-KeyboardEvent-metaKey'><code>KeyboardEvent.metaKey</code></a> attribute.<br /></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>
+<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>
+<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>
+<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>
+<dd>Refer to the <a href='#events-Events-KeyboardEvent-shiftKey'><code>KeyboardEvent.shiftKey</code></a> attribute.<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>
+<dd>
+<div class='method'>Queries the state of a modifier using a key identifier. See also <a href='#keyset-Modifiers'>Modifier keys</a>.
+<div class='parameters'><b>Parameters</b>
+<div class='paramtable'>
+<dl>
+<dt><code class='parameter-name'>keyIdentifierArg</code> of type <code>DOMString</code></dt>
+<dd>Refer to the <a href='#events-Events-KeyboardEvent-getModifierState'><code>KeyboardEvent.getModifierState()</code></a> method for a description of this parameter.<br /></dd>
+</dl>
+</div>
+</div>
+<!-- parameters -->
+<div class='return'><b>Return Value</b>
+<div class='returntable'>
+<table summary='Layout table: the first cell contains the type of the return value, the second contains a short description' border='0'>
+<tr>
+<td valign='top'>
+<p><code>boolean</code></p>
+</td>
+<td>
+<p><code>true</code> if it is a modifier key and the modifier is activated, <code>false</code> otherwise.</p>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<!-- return -->
+<div><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>
+<dd>
+<div class='method'>Initializes attributes of a <code>MouseEvent</code> object. This method has the same behavior as <a href='#events-Events-Event-initUIEvent'><code>UIEvent.initUIEvent()</code></a>.
+<div class='parameters'><b>Parameters</b>
+<div class='paramtable'>
+<dl>
+<dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEvent'><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>canBubbleArg</code> of type <code>boolean</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEvent'><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>cancelableArg</code> of type <code>boolean</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEvent'><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>viewArg</code> of type <code>views::AbstractView</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEvent'><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>detailArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEvent'><code>UIEvent.initUIEvent()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>screenXArg</code> of type <code>long</code></dt>
+<dd>Specifies <a href='#events-Events-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>.<br /></dd>
+<dt><code class='parameter-name'>screenYArg</code> of type <code>long</code></dt>
+<dd>Specifies <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>.<br /></dd>
+<dt><code class='parameter-name'>clientXArg</code> of type <code>long</code></dt>
+<dd>Specifies <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>.<br /></dd>
+<dt><code class='parameter-name'>clientYArg</code> of type <code>long</code></dt>
+<dd>Specifies <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>.<br /></dd>
+<dt><code class='parameter-name'>ctrlKeyArg</code> of type <code>boolean</code></dt>
+<dd>Specifies <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>.<br /></dd>
+<dt><code class='parameter-name'>altKeyArg</code> of type <code>boolean</code></dt>
+<dd>Specifies <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>.<br /></dd>
+<dt><code class='parameter-name'>shiftKeyArg</code> of type <code>boolean</code></dt>
+<dd>Specifies <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>.<br /></dd>
+<dt><code class='parameter-name'>metaKeyArg</code> of type <code>boolean</code></dt>
+<dd>Specifies <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>.<br /></dd>
+<dt><code class='parameter-name'>buttonArg</code> of type <code>unsigned short</code></dt>
+<dd>Specifies <a href='#events-Events-MouseEvent-button'><code>MouseEvent.button</code></a>.<br /></dd>
+<dt><code class='parameter-name'>relatedTargetArg</code> of type <a href='#events-Events-EventTarget'><code>EventTarget</code></a></dt>
+<dd>Specifies <a href='#events-Events-MouseEvent-relatedTarget'><code>MouseEvent.relatedTarget</code></a>. This value may be <code>null</code>.<br /></dd>
+</dl>
+</div>
+</div>
+<!-- parameters -->
+<div><b>No Return Value</b></div>
+<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>
+<dd>
+<div class='method'>Initializes attributes of a <code>MouseEvent</code> object. This method has the same behavior as <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a>.
+<div class='parameters'><b>Parameters</b>
+<div class='paramtable'>
+<dl>
+<dt><code class='parameter-name'>namespaceURIArg</code> of type <code>DOMString</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>canBubbleArg</code> of type <code>boolean</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>cancelableArg</code> of type <code>boolean</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>viewArg</code> of type <code>views::AbstractView</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>detailArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>screenXArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEvent'><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>screenYArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEvent'><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>clientXArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEvent'><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>clientYArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEvent'><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>buttonArg</code> of type <code>unsigned short</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEvent'><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>relatedTargetArg</code> of type <a href='#events-Events-EventTarget'><code>EventTarget</code></a></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEvent'><code>MouseEvent.initMouseEvent()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>modifiersListArg</code> of type <code>DOMString</code></dt>
+<dd>Refer to the <a href='#events-Events-KeyboardEvent-initKeyboardEventNS'><code>KeyboardEvent.initKeyboardEventNS()</code></a> method for a description of this parameter.<br /></dd>
+</dl>
+</div>
+</div>
+<!-- parameters -->
+<div><b>No Return Value</b></div>
+<div><b>No Exceptions</b></div>
+</div>
+<!-- method --></dd>
+</dl>
+</dd>
+</dl>
+</dd>
+</dl>
+<p>The Mouse event types are listed below. In the case of nested elements, mouse event types are always targeted at the most deeply nested element. Ancestors of the targeted element may use bubbling to obtain notification of mouse events which occur within its descendent elements.</p>
+<p><a name='events-dt-current-click-count' id='events-dt-current-click-count'></a> Implementations must maintain the <i>current click count</i> when generating mouse events. This is a non-negative integer indicating the number of consecutive clicks of a pointing device button during a user action. The notion of consecutive clicks depends on the environment configuration. For example, a "double click" might not happen if there is a long delay between the two clicks.</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>
+<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>click</code></b></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Namespace</th>
+<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Interface</th>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Cancelable</th>
+<td valign='top' rowspan='1' colspan='1'>Yes</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-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, <a href='#events-Events-MouseEvent-button'><code>MouseEvent.button</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use. The <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> attribute indicates the <a href='#events-dt-current-click-count'>current click count</a>. The attribute value is <code>1</code> when the user begins this action and increments by <code>1</code> for each click.</td>
+</tr>
+</table>
+A pointing device button is clicked over an element. The definition of a click depends on the environment configuration; i.e. it may depend on the screen location or the delay between the press and release of the pointing device button. In any case, the event target must be the same between the <a href='#events-event-mousedown'>mousedown</a>, <a href='#events-event-mouseup'>mouseup</a>, and <a href='#events-event-click'>click</a>. The sequence of these events is: <a href='#events-event-mousedown'>mousedown</a>, <a href='#events-event-mouseup'>mouseup</a>, and <a href='#events-event-click'>click</a>. It depends on the environment configuration whether the event type <a href='#events-event-click'>click</a> can occur if one or more of the event types <a href='#events-event-mouseover'>mouseover</a>, <a href='#events-event-mousemove'>mousemove</a>, and <a href='#events-event-mouseout'>mouseout</a> occur between the press and release of the pointing device button. In addition, the event type is dispatched as described in <a href='#events-Events-flow-activation'>Activation requests and behavior</a>.</dd>
+</dl>
+</div>
+<div class='event-definition'>
+<dl>
+<dt><a name='events-event-dblclick' id='events-event-dblclick'></a><a class='noxref' href='#events-event-dblclick'>dblclick</a></dt>
+<dd>
+<table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
+<tr>
+<th rowspan='1' colspan='1'>Type</th>
+<td bgcolor='#CFCFCF' rowspan='1' colspan='1'><b><code>dblclick</code></b></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Namespace</th>
+<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Interface</th>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Cancelable</th>
+<td valign='top' rowspan='1' colspan='1'>Yes</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-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, <a href='#events-Events-MouseEvent-button'><code>MouseEvent.button</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use. The <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> attribute indicates the <a href='#events-dt-current-click-count'>current click count</a>.</td>
+</tr>
+</table>
+A pointing device button is clicked twice over an element. The definition of a double click depends on the environment configuration, except that the event target must be the same between <a href='#events-event-mousedown'>mousedown</a>, <a href='#events-event-mouseup'>mouseup</a>, and <a href='#events-event-dblclick'>dblclick</a>. This event type is dispatched after the event type <a href='#events-event-click'>click</a> if a click and double click occur simultaneously, and after the event type <a href='#events-event-mouseup'>mouseup</a> otherwise.</dd>
+</dl>
+</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>
+<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>mousedown</code></b></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Namespace</th>
+<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Interface</th>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Cancelable</th>
+<td valign='top' rowspan='1' colspan='1'>Yes</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-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, <a href='#events-Events-MouseEvent-button'><code>MouseEvent.button</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use. The <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> attribute indicates the <a href='#events-dt-current-click-count'>current click count</a> incremented by one. For example, if no click happened before the mousedown, <a class='noxref' href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> will contain the value <code>1</code>.</td>
+</tr>
+</table>
+A pointing device button is pressed over an element.</dd>
+</dl>
+</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>
+<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>mouseup</code></b></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Namespace</th>
+<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Interface</th>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Cancelable</th>
+<td valign='top' rowspan='1' colspan='1'>Yes</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-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, <a href='#events-Events-MouseEvent-button'><code>MouseEvent.button</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use. The <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> attribute indicates the <a href='#events-dt-current-click-count'>current click count</a> incremented by one.</td>
+</tr>
+</table>
+A pointing device button is released over an element.</dd>
+</dl>
+</div>
+<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>
+<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>mouseover</code></b></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Namespace</th>
+<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Interface</th>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Cancelable</th>
+<td valign='top' rowspan='1' colspan='1'>Yes</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-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use. <a href='#events-Events-MouseEvent-relatedTarget'><code>MouseEvent.relatedTarget</code></a> indicates the <a href='#glossary-dt-event-target'>event target</a> a pointing device is exiting, if any.</td>
+</tr>
+</table>
+A pointing device is moved onto an element.</dd>
+</dl>
+</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>
+<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>mousemove</code></b></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Namespace</th>
+<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Interface</th>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Cancelable</th>
+<td valign='top' rowspan='1' colspan='1'>Yes</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-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use.</td>
+</tr>
+</table>
+A pointing device is moved while it is over an element.</dd>
+</dl>
+</div>
+<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>
+<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>mouseout</code></b></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Namespace</th>
+<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Interface</th>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseEvent'><code>MouseEvent</code></a></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Cancelable</th>
+<td valign='top' rowspan='1' colspan='1'>Yes</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-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use. <a href='#events-Events-MouseEvent-relatedTarget'><code>MouseEvent.relatedTarget</code></a> indicates the <a href='#glossary-dt-event-target'>event target</a> a pointing device is entering, if any.</td>
+</tr>
+</table>
+A pointing device is moved away from an element.</dd>
+</dl>
+</div>
+</div>
+<!-- div3 Events-eventgroupings-mouseevents -->
+<div class='div3'><a name='events-Events-eventgroupings-mousemultiwheelevents' id='events-Events-eventgroupings-mousemultiwheelevents'></a>
+<h3 id='events-Events-eventgroupings-mousemultiwheelevents-h3' class='div3'>1.7.5 Mouse multi wheel event types</h3>
+<p>This module defines the feature MouseMultiWheelEvents 3.0 and depends on the feature MouseEvents 3.0.</p>
+<p>Multi wheels are devices that can be rotated in one or more spatial dimensions. The coordinate system depends on the environment configuration. As an example, the environment may be configured to associate vertical scrolling with rotation along the y-axis, vertical scrolling with rotation along the x-axis, and zooming with rotation along the z-axis. The delta attributes of <a href='#events-Events-MouseMultiWheelEvent'><code>MouseMultiWheelEvent</code></a> objects indicate the distance of the rotation. The measurement unit depends on the environment configuration. The sign of the delta value should indicate the direction of the rotation.</p>
+<dl>
+<dt><b>Interface <i><a name='events-Events-MouseMultiWheelEvent' id='events-Events-MouseMultiWheelEvent'>MouseMultiWheelEvent</a></i></b> (introduced in <b class='since'>DOM Level 3</b>)</dt>
+<dd>
+<p>The <code>MouseMultiWheelEvent</code> interface provides specific contextual information associated with mouse multi wheel events.</p>
+<p>To create an instance of the <code>MouseMultiWheelEvent</code> interface, use the <a href='#events-Events-DocumentEvent-createEvent'><code>DocumentEvent.createEvent("MouseMultiWheelEvent")</code></a> method call.</p>
+<dl>
+<dt><br />
+<b>IDL Definition</b></dt>
+<dd>
+<div class='idl-code'>
+<pre>
+// Introduced in DOM Level 3:
+interface <a class='noxref' href='#events-Events-MouseMultiWheelEvent'>MouseMultiWheelEvent</a> : <a class='noxref' href='#events-Events-MouseEvent'>MouseEvent</a> {
+  readonly attribute long            <a class='noxref' href='#events-Events-MouseMultiWheelEvent-wheelDeltaX'>wheelDeltaX</a>;
+  readonly attribute long            <a class='noxref' href='#events-Events-MouseMultiWheelEvent-wheelDeltaY'>wheelDeltaY</a>;
+  readonly attribute long            <a class='noxref' href='#events-Events-MouseMultiWheelEvent-wheelDeltaZ'>wheelDeltaZ</a>;
+  void               <a class='noxref' href='#events-Events-Event-initMouseMultiWheelEventNS'>initMouseMultiWheelEventNS</a>(in DOMString namespaceURIArg, 
+                                                in DOMString typeArg, 
+                                                in boolean canBubbleArg, 
+                                                in boolean cancelableArg, 
+                                                in views::AbstractView viewArg, 
+                                                in long detailArg, 
+                                                in long screenXArg, 
+                                                in long screenYArg, 
+                                                in long clientXArg, 
+                                                in long clientYArg, 
+                                                in unsigned short buttonArg, 
+                                                in <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a> relatedTargetArg, 
+                                                in DOMString modifiersListArg, 
+                                                in long wheelDeltaXArg, 
+                                                in long wheelDeltaYArg, 
+                                                in long wheelDeltaZArg);
+};
+</pre></div>
+<br /></dd>
+<dt><b>Attributes</b></dt>
+<dd>
+<dl>
+<dt><code class='attribute-name'><a name='events-Events-MouseMultiWheelEvent-wheelDeltaX' id='events-Events-MouseMultiWheelEvent-wheelDeltaX'>wheelDeltaX</a></code> of type <code>long</code>, readonly</dt>
+<dd>The distance the wheel has rotated around the x-axis.<br /></dd>
+<dt><code class='attribute-name'><a name='events-Events-MouseMultiWheelEvent-wheelDeltaY' id='events-Events-MouseMultiWheelEvent-wheelDeltaY'>wheelDeltaY</a></code> of type <code>long</code>, readonly</dt>
+<dd>The distance the wheel has rotated around the y-axis.<br /></dd>
+<dt><code class='attribute-name'><a name='events-Events-MouseMultiWheelEvent-wheelDeltaZ' id='events-Events-MouseMultiWheelEvent-wheelDeltaZ'>wheelDeltaZ</a></code> of type <code>long</code>, readonly</dt>
+<dd>The distance the wheel has rotated around the z-axis.<br /></dd>
+</dl>
+</dd>
+<dt><b>Methods</b></dt>
+<dd>
+<dl>
+<dt><code class='method-name'><a name='events-Events-Event-initMouseMultiWheelEventNS' id='events-Events-Event-initMouseMultiWheelEventNS'>initMouseMultiWheelEventNS</a></code></dt>
+<dd>
+<div class='method'>Initializes attributes of a <code>MouseMultiWheelEvent</code> object. This method has the same behavior as <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a>.
+<div class='parameters'><b>Parameters</b>
+<div class='paramtable'>
+<dl>
+<dt><code class='parameter-name'>namespaceURIArg</code> of type <code>DOMString</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>canBubbleArg</code> of type <code>boolean</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>cancelableArg</code> of type <code>boolean</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>viewArg</code> of type <code>views::AbstractView</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>detailArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>screenXArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>screenYArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>clientXArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>clientYArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>buttonArg</code> of type <code>unsigned short</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>relatedTargetArg</code> of type <a href='#events-Events-EventTarget'><code>EventTarget</code></a></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>modifiersListArg</code> of type <code>DOMString</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>wheelDeltaXArg</code> of type <code>long</code></dt>
+<dd>Specifies <a href='#events-Events-MouseMultiWheelEvent-wheelDeltaX'><code>MouseMultiWheelEvent.wheelDeltaX</code></a>.<br /></dd>
+<dt><code class='parameter-name'>wheelDeltaYArg</code> of type <code>long</code></dt>
+<dd>Specifies <a href='#events-Events-MouseMultiWheelEvent-wheelDeltaY'><code>MouseMultiWheelEvent.wheelDeltaY</code></a>.<br /></dd>
+<dt><code class='parameter-name'>wheelDeltaZArg</code> of type <code>long</code></dt>
+<dd>Specifies <a href='#events-Events-MouseMultiWheelEvent-wheelDeltaZ'><code>MouseMultiWheelEvent.wheelDeltaZ</code></a>.<br /></dd>
+</dl>
+</div>
+</div>
+<!-- parameters -->
+<div><b>No Return Value</b></div>
+<div><b>No Exceptions</b></div>
+</div>
+<!-- method --></dd>
+</dl>
+</dd>
+</dl>
+</dd>
+</dl>
+<div class='event-definition'>
+<dl>
+<dt><a name='events-event-mousemultiwheel' id='events-event-mousemultiwheel'></a><a class='noxref' href='#events-event-mousemultiwheel'>mousemultiwheel</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>mousemultiwheel</code></b></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Namespace</th>
+<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Interface</th>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseMultiWheelEvent'><code>MouseMultiWheelEvent</code></a></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Cancelable</th>
+<td valign='top' rowspan='1' colspan='1'>Yes</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>Document</code>, <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-MouseMultiWheelEvent-wheelDeltaX'><code>MouseMultiWheelEvent.wheelDeltaX</code></a>, <a href='#events-Events-MouseMultiWheelEvent-wheelDeltaY'><code>MouseMultiWheelEvent.wheelDeltaY</code></a>, <a href='#events-Events-MouseMultiWheelEvent-wheelDeltaZ'><code>MouseMultiWheelEvent.wheelDeltaZ</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use. <a href='#events-Events-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, and <a href='#events-Events-MouseEvent-button'><code>MouseEvent.button</code></a> are in use if the wheel is associated to a pointing device. <a href='#events-Events-MouseEvent-relatedTarget'><code>MouseEvent.relatedTarget</code></a> indicates the <a href='#glossary-dt-event-target'>event target</a> the pointing device is pointing at, if any. <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> is not in use.</td>
+</tr>
+</table>
+A mouse wheel has been rotated. A default action of user agent generated event objects of this type causes implementations to dispatch a <code>mousewheel</code> event iff it supports that event type and <a href='#events-Events-MouseMultiWheelEvent-wheelDeltaY'><code>MouseMultiWheelEvent.wheelDeltaY</code></a> is non-zero.</dd>
+</dl>
+</div>
+</div>
+<!-- div3 Events-eventgroupings-mousemultiwheelevents -->
+<div class='div3'><a name='events-Events-eventgroupings-mousewheelevents' id='events-Events-eventgroupings-mousewheelevents'></a>
+<h3 id='events-Events-eventgroupings-mousewheelevents-h3' class='div3'>1.7.6 Mouse wheel event types</h3>
+<p>This module defines the feature MouseWheelEvents 3.0 and depends on the feature MouseEvents 3.0.</p>
+<p>Mouse wheel events are a subset of mouse multi wheel events. See <a href='#events-Events-eventgroupings-mousemultiwheelevents'>Mouse multi wheel event types</a> for additional information.</p>
+<dl>
+<dt><b>Interface <i><a name='events-Events-MouseWheelEvent' id='events-Events-MouseWheelEvent'>MouseWheelEvent</a></i></b> (introduced in <b class='since'>DOM Level 3</b>)</dt>
+<dd>
+<p>The <code>MouseWheelEvent</code> interface provides specific contextual information associated with mouse wheel events.</p>
+<p>To create an instance of the <code>MouseWheelEvent</code> interface, use the <a href='#events-Events-DocumentEvent-createEvent'><code>DocumentEvent.createEvent("MouseWheelEvent")</code></a> method call.</p>
+<dl>
+<dt><br />
+<b>IDL Definition</b></dt>
+<dd>
+<div class='idl-code'>
+<pre>
+// Introduced in DOM Level 3:
+interface <a class='noxref' href='#events-Events-MouseWheelEvent'>MouseWheelEvent</a> : <a class='noxref' href='#events-Events-MouseEvent'>MouseEvent</a> {
+  readonly attribute long            <a class='noxref' href='#events-Events-MouseWheelEvent-wheelDelta'>wheelDelta</a>;
+  void               <a class='noxref' href='#events-Events-Event-initMouseWheelEventNS'>initMouseWheelEventNS</a>(in DOMString namespaceURIArg, 
+                                           in DOMString typeArg, 
+                                           in boolean canBubbleArg, 
+                                           in boolean cancelableArg, 
+                                           in views::AbstractView viewArg, 
+                                           in long detailArg, 
+                                           in long screenXArg, 
+                                           in long screenYArg, 
+                                           in long clientXArg, 
+                                           in long clientYArg, 
+                                           in unsigned short buttonArg, 
+                                           in <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a> relatedTargetArg, 
+                                           in DOMString modifiersListArg, 
+                                           in long wheelDeltaArg);
+};
+</pre></div>
+<br /></dd>
+<dt><b>Attributes</b></dt>
+<dd>
+<dl>
+<dt><code class='attribute-name'><a name='events-Events-MouseWheelEvent-wheelDelta' id='events-Events-MouseWheelEvent-wheelDelta'>wheelDelta</a></code> of type <code>long</code>, readonly</dt>
+<dd>The distance the wheel has rotated around the y-axis.<br /></dd>
+</dl>
+</dd>
+<dt><b>Methods</b></dt>
+<dd>
+<dl>
+<dt><code class='method-name'><a name='events-Events-Event-initMouseWheelEventNS' id='events-Events-Event-initMouseWheelEventNS'>initMouseWheelEventNS</a></code></dt>
+<dd>
+<div class='method'>Initializes attributes of a <code>MouseWheelEvent</code> object. This method has the same behavior as <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a>.
+<div class='parameters'><b>Parameters</b>
+<div class='paramtable'>
+<dl>
+<dt><code class='parameter-name'>namespaceURIArg</code> of type <code>DOMString</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>canBubbleArg</code> of type <code>boolean</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>cancelableArg</code> of type <code>boolean</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>viewArg</code> of type <code>views::AbstractView</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>detailArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initUIEventNS'><code>UIEvent.initUIEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>screenXArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>screenYArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>clientXArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>clientYArg</code> of type <code>long</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>buttonArg</code> of type <code>unsigned short</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>relatedTargetArg</code> of type <a href='#events-Events-EventTarget'><code>EventTarget</code></a></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>modifiersListArg</code> of type <code>DOMString</code></dt>
+<dd>Refer to the <a href='#events-Events-Event-initMouseEventNS'><code>MouseEvent.initMouseEventNS()</code></a> method for a description of this parameter.<br /></dd>
+<dt><code class='parameter-name'>wheelDeltaArg</code> of type <code>long</code></dt>
+<dd>Specifies <a href='#events-Events-MouseWheelEvent-wheelDelta'><code>MouseWheelEvent.wheelDelta</code></a>.<br /></dd>
+</dl>
+</div>
+</div>
+<!-- parameters -->
+<div><b>No Return Value</b></div>
+<div><b>No Exceptions</b></div>
+</div>
+<!-- method --></dd>
+</dl>
+</dd>
+</dl>
+</dd>
+</dl>
+<div class='event-definition'>
+<dl>
+<dt><a name='events-event-mousewheel' id='events-event-mousewheel'></a><a class='noxref' href='#events-event-mousewheel'>mousewheel</a></dt>
+<dd>
+<table border='0' summary='This table contains information about the semantics of the given event type' cellpadding='2' cellspacing='0'>
+<tr>
+<th rowspan='1' colspan='1'>Type</th>
+<td bgcolor='#CFCFCF' rowspan='1' colspan='1'><b><code>mousewheel</code></b></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Namespace</th>
+<td valign='top' rowspan='1' colspan='1'><code>None</code></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Interface</th>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MouseWheelEvent'><code>MouseWheelEvent</code></a></td>
+</tr>
+<tr>
+<th rowspan='1' colspan='1'>Cancelable</th>
+<td valign='top' rowspan='1' colspan='1'>Yes</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>Document</code>, <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-MouseWheelEvent-wheelDelta'><code>MouseWheelEvent.wheelDelta</code></a>, <a href='#events-Events-MouseEvent-altKey'><code>MouseEvent.altKey</code></a>, <a href='#events-Events-MouseEvent-ctrlKey'><code>MouseEvent.ctrlKey</code></a>, <a href='#events-Events-MouseEvent-shiftKey'><code>MouseEvent.shiftKey</code></a>, <a href='#events-Events-MouseEvent-metaKey'><code>MouseEvent.metaKey</code></a>, and <a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> are in use. <a href='#events-Events-MouseEvent-screenX'><code>MouseEvent.screenX</code></a>, <a href='#events-Events-MouseEvent-screenY'><code>MouseEvent.screenY</code></a>, <a href='#events-Events-MouseEvent-clientX'><code>MouseEvent.clientX</code></a>, <a href='#events-Events-MouseEvent-clientY'><code>MouseEvent.clientY</code></a>, and <a href='#events-Events-MouseEvent-button'><code>MouseEvent.button</code></a> are in use if the wheel is associated to a pointing device. <a href='#events-Events-MouseEvent-relatedTarget'><code>MouseEvent.relatedTarget</code></a> indicates the <a href='#glossary-dt-event-target'>event target</a> the pointing device is pointing at, if any. <a href='#events-Events-UIEvent-detail'><code>UIEvent.detail</code></a> is not in use.</td>
+</tr>
+</table>
+A mouse wheel has been rotated around the y-axis.</dd>
+</dl>
+</div>
+</div>
+<!-- div3 Events-eventgroupings-mousewheelevents -->
 <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.7 Mutation and mutation name event types</h3>
+<h3 id='events-Events-eventgroupings-mutationevents-h3' class='div3'>1.7.7 Mutation event types</h3>
+<p>This module defines the feature MutationEvents 3.0 and depends on the feature Events 3.0.</p>
 <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>
@@ -2858,7 +2721,7 @@
                                        in DOMString attrNameArg, 
                                        in unsigned short attrChangeArg);
   // Introduced in DOM Level 3:
-  void               <a class='noxref' href='#events-Events-Event-initMutationEventNS'>initMutationEventNS</a>(in DOMString namespaceURI, 
+  void               <a class='noxref' href='#events-Events-Event-initMutationEventNS'>initMutationEventNS</a>(in DOMString namespaceURIArg, 
                                          in DOMString typeArg, 
                                          in boolean canBubbleArg, 
                                          in boolean cancelableArg, 
@@ -2941,7 +2804,7 @@
 <div class='parameters'><b>Parameters</b>
 <div class='paramtable'>
 <dl>
-<dt><code class='parameter-name'>namespaceURI</code> of type <code>DOMString</code></dt>
+<dt><code class='parameter-name'>namespaceURIArg</code> of type <code>DOMString</code></dt>
 <dd>Refer to the <a href='#events-Events-Event-initEventNS'><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd>
 <dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
 <dd>Refer to the <a href='#events-Events-Event-initEventNS'><code>Event.initEventNS()</code></a> method for a description of this parameter.<br /></dd>
@@ -2972,7 +2835,7 @@
 </dl>
 </dd>
 </dl>
-<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>
+<p>The mutation event types are listed below.</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>
@@ -3044,7 +2907,7 @@
 <td valign='top' rowspan='1' colspan='1'><a href='#events-Events-MutationEvent-relatedNode'><code>MutationEvent.relatedNode</code></a> holds the parent node of the node that has been inserted or, in case of <code>Attr</code> nodes, the <code>ownerElement</code> of the <code>Attr</code> node.</td>
 </tr>
 </table>
-A node has been added as a <a href='#glossary-dt-child'>child</a> of another node or, in case of <code>Attr</code> nodes, has been added to an <code>Element</code>. This event is dispatched after the insertion has taken place. The <a href='#glossary-dt-target-node'>target node</a> of this event is the node being inserted.</dd>
+A node has been added as a child of another node or, in case of <code>Attr</code> nodes, has been added to an <code>Element</code>. This event is dispatched after the insertion has taken place. The <a href='#glossary-dt-target-node'>target node</a> of this event is the node being inserted.</dd>
 </dl>
 </div>
 <div class='event-definition'>
@@ -3232,6 +3095,11 @@
 Occurs after <code>CharacterData.data</code> or <code>ProcessingInstruction.data</code> have been modified but the node itself has not been inserted or deleted. The <a href='#glossary-dt-target-node'>target node</a> of this event is the <code>CharacterData</code> node or the <code>ProcessingInstruction</code> node.</dd>
 </dl>
 </div>
+</div>
+<!-- div3 Events-eventgroupings-mutationevents -->
+<div class='div3'><a name='events-Events-eventgroupings-mutationnameevents' id='events-Events-eventgroupings-mutationnameevents'></a>
+<h3 id='events-Events-eventgroupings-mutationnameevents-h3' class='div3'>1.7.8 Mutation name event types</h3>
+<p>This module defines the feature MutationNameEvents 3.0 and depends on the features MutationEvents 3.0 and Core 3.0.</p>
 <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>
 <dd>
@@ -3255,7 +3123,7 @@
                                            in DOMString prevNamespaceURIArg, 
                                            in DOMString prevNodeNameArg);
   // Introduced in DOM Level 3:
-  void               <a class='noxref' href='#events-Events-Event-initMutationNameEventNS'>initMutationNameEventNS</a>(in DOMString namespaceURI, 
+  void               <a class='noxref' href='#events-Events-Event-initMutationNameEventNS'>initMutationNameEventNS</a>(in DOMString namespaceURIArg, 
                                              in DOMString typeArg, 
                                              in boolean canBubbleArg, 
                                              in boolean cancelableArg, 
@@ -3309,7 +3177,7 @@
 <div class='parameters'><b>Parameters</b>
 <div class='paramtable'>
 <dl>
-<dt><code class='parameter-name'>namespaceURI</code> of type <code>DOMString</code></dt>
+<dt><code class='parameter-name'>namespaceURIArg</code> of type <code>DOMString</code></dt>
 <dd>Refer to the <a href='#events-Events-Event-initMutationEventNS'><code>MutationEvent.initMutationEventNS()</code></a> method for a description of this parameter.<br /></dd>
 <dt><code class='parameter-name'>typeArg</code> of type <code>DOMString</code></dt>
 <dd>Refer to the <a href='#events-Events-Event-initMutationEventNS'><code>MutationEvent.initMutationEventNS()</code></a> method for a description of this parameter.<br /></dd>
@@ -3336,7 +3204,7 @@
 </dl>
 </dd>
 </dl>
-<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>
+<p>The mutation name event types are listed below.</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>
@@ -3412,13 +3280,10 @@
 </dl>
 </div>
 </div>
-<!-- div3 Events-eventgroupings-mutationevents -->
+<!-- div3 Events-eventgroupings-mutationnameevents -->
 <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.8 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>
-<p>The basic event types are listed below.</p>
-<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>
+<h3 id='events-Events-eventgroupings-basicevents-h3' class='div3'>1.7.9 Basic event types</h3>
+<p>This event module contains basic event types associated with document manipulation. It defines the feature BasicEvents 3.0 and depends on the feature Events 3.0. The basic event types are listed below.</p>
 <div class='event-definition'>
 <dl>
 <dt><a name='events-event-load' id='events-event-load'></a><a class='noxref' href='#events-event-load'>load</a></dt>
@@ -3434,7 +3299,7 @@
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a> if generated from a user interface, <a href='#events-Events-Event'><code>Event</code></a> otherwise.</td>
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Cancelable</th>
@@ -3471,7 +3336,7 @@
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a> if generated from a user interface, <a href='#events-Events-Event'><code>Event</code></a> otherwise.</td>
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Cancelable</th>
@@ -3508,7 +3373,7 @@
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a> if generated from a user interface, <a href='#events-Events-Event'><code>Event</code></a> otherwise.</td>
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Cancelable</th>
@@ -3527,7 +3392,7 @@
 <td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> may be in use.</td>
 </tr>
 </table>
-The loading of the document, or a resource linked from it, is stopped before being entirely loaded.</dd>
+Loading of a resource has been aborted.</dd>
 </dl>
 </div>
 <div class='event-definition'>
@@ -3545,7 +3410,7 @@
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a> if generated from a user interface, <a href='#events-Events-Event'><code>Event</code></a> otherwise.</td>
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Cancelable</th>
@@ -3582,7 +3447,7 @@
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a> if generated from a user interface, <a href='#events-Events-Event'><code>Event</code></a> otherwise.</td>
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Cancelable</th>
@@ -3619,7 +3484,7 @@
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a> if generated from a user interface, <a href='#events-Events-Event'><code>Event</code></a> otherwise.</td>
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Cancelable</th>
@@ -3656,7 +3521,7 @@
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a> if generated from a user interface, <a href='#events-Events-Event'><code>Event</code></a> otherwise.</td>
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Cancelable</th>
@@ -3675,7 +3540,7 @@
 <td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> may be in use.</td>
 </tr>
 </table>
-A form, 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-XForms10'>XForms 1.0</a></cite>] form, is submitted.</dd>
+A form, such as a [<cite><a class='noxref informative' href='#references-HTML40'>HTML 4.01</a></cite>] or [<cite><a class='noxref informative' href='#references-XHTML10'>XHTML 1.0</a></cite>] form, is submitted.</dd>
 </dl>
 </div>
 <div class='event-definition'>
@@ -3693,7 +3558,7 @@
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Interface</th>
-<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-Event'><code>Event</code></a></td>
+<td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent'><code>UIEvent</code></a> if generated from a user interface, <a href='#events-Events-Event'><code>Event</code></a> otherwise.</td>
 </tr>
 <tr>
 <th rowspan='1' colspan='1'>Cancelable</th>
@@ -3712,7 +3577,7 @@
 <td valign='top' rowspan='1' colspan='1'><a href='#events-Events-UIEvent-view'><code>UIEvent.view</code></a> may be in use.</td>
 </tr>
 </table>
-A form, 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-XForms10'>XForms 1.0</a></cite>] form, is reset.</dd>
+A form, such as a [<cite><a class='noxref informative' href='#references-HTML40'>HTML 4.01</a></cite>] or [<cite><a class='noxref informative' href='#references-XHTML10'>XHTML 1.0</a></cite>] form, is reset.</dd>
 </dl>
 </div>
 <div class='event-definition'>
@@ -3795,7 +3660,7 @@
 <!-- div1 Events -->
 <a id='keyset' name='keyset'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>November 2006</p>
+<p style='font-family: monospace;font-size:small'>November 2007</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>
@@ -3819,7 +3684,8 @@
 <li class='tocline3'><a class='tocxref' href='#keyset-KeySet-Set'>A.2 Key identifiers set</a></li>
 </ul>
 </div>
-<p class='first'>This section contains necessary information regarding keyboard events:</p>
+<p class='first'>(This part of the specification is likely to be moved to a separate specification on keyboard events.)</p>
+<p>This section contains necessary information regarding keyboard events:</p>
 <ul>
 <li>Relations between keys, such as dead keys or modifiers keys.</li>
 <li>Relations between keyboard events, their default actions, and text events.</li>
@@ -4351,7 +4217,7 @@
 <!-- div1 KeySet -->
 <a id='changes' name='changes'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>November 2006</p>
+<p style='font-family: monospace;font-size:small'>November 2007</p>
 </div>
 <div class='div1'><a name='changes-Changes' id='changes-Changes'></a>
 <h1 id='changes-Changes-h1' class='adiv1'>Appendix B: Changes</h1>
@@ -4363,7 +4229,7 @@
 <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>
 <p>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>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>
+<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 @@.</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>
@@ -4407,12 +4273,29 @@
 <!-- div3 DOMLevel3Addons --></div>
 <!-- div2 DOMEvents2to3Changes --></div>
 <!-- div1 Changes -->
+<a id='security-considerations' name='security-considerations'></a>
+<div class='noprint' style='text-align: right'>
+<p style='font-family: monospace;font-size:small'>November 2007</p>
+</div>
+<div class='div1'><a name='security-considerations-Security' id='security-considerations-Security'></a>
+<h1 id='security-considerations-Security-h1' class='adiv1'>Appendix C: Security Considerations</h1>
+<dl>
+<dt><i>Editor</i>:</dt>
+<dd><a href='http://bjoern.hoehrmann.de/'>Bj&#246;rn H&#246;hrmann</a></dd>
+</dl>
+<p class='first'>This appendix discusses security considerations for DOM Level 3 Events implementations. The discussion is limited to security issues that arise directly from implementation of the event model, APIs and events defined in this specification. Implementations typically support other features like scripting languages, other APIs and additional events not defined in this document; these features constitute an unknown factor and are out of scope of this document. Implementers should consult the specifications of such features for their respective security considerations.</p>
+<p>Many of the event types defined in this specification are dispatched in response to user actions. This allows malicious event listeners to gain access to information users would typically consider confidential, e.g., typos they might have made when filling out a form, if they reconsider their answer to a multiple choice question shortly before submitting a form, their typing rate or primary input mechanism. In the worst case, malicious event listeners are able to capture all user interactions and submit them to a third party through means, while not defined in DOM Level 3 Events, generally available in DOM implementations.</p>
+<p>In DOM implementations that support facilities to load external data, events like the <code>error</code> event can provide access to sensitive information about the environment of the computer system or network; an example would be a malicious HTML document that attempts to embed a resource on the local network or the localhost on different ports; an embedded DOM application could then listen for <code>error</code> and <code>load</code> events to determine which other computers in a network are accessible from the local system or which ports are open on the system to prepare further attacks.</p>
+<p>An implementation of DOM Level 3 Events alone is generally insufficient to perform attacks of this kind and the security considerations of the facilities that possibly support such attacks apply. For conformance with this specification, DOM implementations may take reasonable steps to ensure that DOM applications do not get access to confidential or sensitive information, for example, they may choose to dispatch no <code>load</code> events to nodes that attempt to embed resources on the local network.</p>
+<p>The <a href='#events-Events-DocumentEvent-canDispatch'><code>DocumentEvent.canDispatch()</code></a> method allows DOM applications to retrieve information about which event types the implementation supports, including event types not defined in this specification. Which event types a DOM Level 3 Events implementation supports can depend on configuration settings or on additional software modules available to the implementation.</p>
+</div>
+<!-- div1 Security -->
 <a id='idl-definitions' name='idl-definitions'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>November 2006</p>
+<p style='font-family: monospace;font-size:small'>November 2007</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>
+<h1 id='idl-definitions-idl-h1' class='adiv1'>Appendix D: 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/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>
@@ -4484,7 +4367,7 @@
   // Introduced in DOM Level 3:
   interface <a class='noxref' href='#events-Events-CustomEvent'>CustomEvent</a> : <a class='noxref' href='#events-Events-Event'>Event</a> {
     readonly attribute DOMObject       <a class='noxref' href='#events-Events-CustomEvent-detail'>detail</a>;
-    void               <a class='noxref' href='#events-Events-Event-initCustomEventNS'>initCustomEventNS</a>(in DOMString namespaceURI, 
+    void               <a class='noxref' href='#events-Events-Event-initCustomEventNS'>initCustomEventNS</a>(in DOMString namespaceURIArg, 
                                          in DOMString typeArg, 
                                          in boolean canBubbleArg, 
                                          in boolean cancelableArg, 
@@ -4539,7 +4422,7 @@
                                    in views::AbstractView viewArg, 
                                    in long detailArg);
     // Introduced in DOM Level 3:
-    void               <a class='noxref' href='#events-Events-Event-initUIEventNS'>initUIEventNS</a>(in DOMString namespaceURI, 
+    void               <a class='noxref' href='#events-Events-Event-initUIEventNS'>initUIEventNS</a>(in DOMString namespaceURIArg, 
                                      in DOMString typeArg, 
                                      in boolean canBubbleArg, 
                                      in boolean cancelableArg, 
@@ -4555,14 +4438,47 @@
                                      in boolean cancelableArg, 
                                      in views::AbstractView viewArg, 
                                      in DOMString dataArg);
-    void               <a class='noxref' href='#events-Events-Event-initTextEventNS'>initTextEventNS</a>(in DOMString namespaceURI, 
-                                       in DOMString type, 
+    void               <a class='noxref' href='#events-Events-Event-initTextEventNS'>initTextEventNS</a>(in DOMString namespaceURIArg, 
+                                       in DOMString typeArg, 
                                        in boolean canBubbleArg, 
                                        in boolean cancelableArg, 
                                        in views::AbstractView viewArg, 
                                        in DOMString dataArg);
   };
 
+  // Introduced in DOM Level 3:
+  interface <a class='noxref' href='#events-Events-KeyboardEvent'>KeyboardEvent</a> : <a class='noxref' href='#events-Events-UIEvent'>UIEvent</a> {
+
+    // KeyLocationCode
+    const unsigned long       <a class='noxref' href='#events-DOM_KEY_LOCATION_STANDARD'>DOM_KEY_LOCATION_STANDARD</a>      = 0x00;
+    const unsigned long       <a class='noxref' href='#events-DOM_KEY_LOCATION_LEFT'>DOM_KEY_LOCATION_LEFT</a>          = 0x01;
+    const unsigned long       <a class='noxref' href='#events-DOM_KEY_LOCATION_RIGHT'>DOM_KEY_LOCATION_RIGHT</a>         = 0x02;
+    const unsigned long       <a class='noxref' href='#events-DOM_KEY_LOCATION_NUMPAD'>DOM_KEY_LOCATION_NUMPAD</a>        = 0x03;
+
+    readonly attribute DOMString       <a class='noxref' href='#events-Events-KeyboardEvent-keyIdentifier'>keyIdentifier</a>;
+    readonly attribute unsigned long   <a class='noxref' href='#events-Events-KeyboardEvent-keylocation'>keyLocation</a>;
+    readonly attribute boolean         <a class='noxref' href='#events-Events-KeyboardEvent-ctrlKey'>ctrlKey</a>;
+    readonly attribute boolean         <a class='noxref' href='#events-Events-KeyboardEvent-shiftKey'>shiftKey</a>;
+    readonly attribute boolean         <a class='noxref' href='#events-Events-KeyboardEvent-altKey'>altKey</a>;
+    readonly attribute boolean         <a class='noxref' href='#events-Events-KeyboardEvent-metaKey'>metaKey</a>;
+    boolean            <a class='noxref' href='#events-Events-KeyboardEvent-getModifierState'>getModifierState</a>(in DOMString keyIdentifierArg);
+    void               <a class='noxref' href='#events-Events-KeyboardEvent-initKeyboardEvent'>initKeyboardEvent</a>(in DOMString typeArg, 
+                                         in boolean canBubbleArg, 
+                                         in boolean cancelableArg, 
+                                         in views::AbstractView viewArg, 
+                                         in DOMString keyIdentifierArg, 
+                                         in unsigned long keyLocationArg, 
+                                         in DOMString modifiersListArg);
+    void               <a class='noxref' href='#events-Events-KeyboardEvent-initKeyboardEventNS'>initKeyboardEventNS</a>(in DOMString namespaceURIArg, 
+                                           in DOMString typeArg, 
+                                           in boolean canBubbleArg, 
+                                           in boolean cancelableArg, 
+                                           in views::AbstractView viewArg, 
+                                           in DOMString keyIdentifierArg, 
+                                           in unsigned long keyLocationArg, 
+                                           in DOMString modifiersListArg);
+  };
+
   // Introduced in DOM Level 2:
   interface <a class='noxref' href='#events-Events-MouseEvent'>MouseEvent</a> : <a class='noxref' href='#events-Events-UIEvent'>UIEvent</a> {
     readonly attribute long            <a class='noxref' href='#events-Events-MouseEvent-screenX'>screenX</a>;
@@ -4593,7 +4509,7 @@
     // Introduced in DOM Level 3:
     boolean            <a class='noxref' href='#events-Events-MouseEvent-getModifierState'>getModifierState</a>(in DOMString keyIdentifierArg);
     // Introduced in DOM Level 3:
-    void               <a class='noxref' href='#events-Events-Event-initMouseEventNS'>initMouseEventNS</a>(in DOMString namespaceURI, 
+    void               <a class='noxref' href='#events-Events-Event-initMouseEventNS'>initMouseEventNS</a>(in DOMString namespaceURIArg, 
                                         in DOMString typeArg, 
                                         in boolean canBubbleArg, 
                                         in boolean cancelableArg, 
@@ -4605,14 +4521,36 @@
                                         in long clientYArg, 
                                         in unsigned short buttonArg, 
                                         in <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a> relatedTargetArg, 
-                                        in DOMString modifiersList);
+                                        in DOMString modifiersListArg);
+  };
+
+  // Introduced in DOM Level 3:
+  interface <a class='noxref' href='#events-Events-MouseMultiWheelEvent'>MouseMultiWheelEvent</a> : <a class='noxref' href='#events-Events-MouseEvent'>MouseEvent</a> {
+    readonly attribute long            <a class='noxref' href='#events-Events-MouseMultiWheelEvent-wheelDeltaX'>wheelDeltaX</a>;
+    readonly attribute long            <a class='noxref' href='#events-Events-MouseMultiWheelEvent-wheelDeltaY'>wheelDeltaY</a>;
+    readonly attribute long            <a class='noxref' href='#events-Events-MouseMultiWheelEvent-wheelDeltaZ'>wheelDeltaZ</a>;
+    void               <a class='noxref' href='#events-Events-Event-initMouseMultiWheelEventNS'>initMouseMultiWheelEventNS</a>(in DOMString namespaceURIArg, 
+                                                  in DOMString typeArg, 
+                                                  in boolean canBubbleArg, 
+                                                  in boolean cancelableArg, 
+                                                  in views::AbstractView viewArg, 
+                                                  in long detailArg, 
+                                                  in long screenXArg, 
+                                                  in long screenYArg, 
+                                                  in long clientXArg, 
+                                                  in long clientYArg, 
+                                                  in unsigned short buttonArg, 
+                                                  in <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a> relatedTargetArg, 
+                                                  in DOMString modifiersListArg, 
+                                                  in long wheelDeltaXArg, 
+                                                  in long wheelDeltaYArg, 
+                                                  in long wheelDeltaZArg);
   };
 
   // Introduced in DOM Level 3:
   interface <a class='noxref' href='#events-Events-MouseWheelEvent'>MouseWheelEvent</a> : <a class='noxref' href='#events-Events-MouseEvent'>MouseEvent</a> {
     readonly attribute long            <a class='noxref' href='#events-Events-MouseWheelEvent-wheelDelta'>wheelDelta</a>;
-    // Introduced in DOM Level 3:
-    void               <a class='noxref' href='#events-Events-Event-initMouseWheelEventNS'>initMouseWheelEventNS</a>(in DOMString namespaceURI, 
+    void               <a class='noxref' href='#events-Events-Event-initMouseWheelEventNS'>initMouseWheelEventNS</a>(in DOMString namespaceURIArg, 
                                              in DOMString typeArg, 
                                              in boolean canBubbleArg, 
                                              in boolean cancelableArg, 
@@ -4624,65 +4562,8 @@
                                              in long clientYArg, 
                                              in unsigned short buttonArg, 
                                              in <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a> relatedTargetArg, 
-                                             in DOMString modifiersList, 
-                                             in long wheelDelta);
-  };
-
-  // Introduced in DOM Level 3:
-  interface <a class='noxref' href='#events-Events-MouseMultiWheelEvent'>MouseMultiWheelEvent</a> : <a class='noxref' href='#events-Events-MouseEvent'>MouseEvent</a> {
-    readonly attribute long            <a class='noxref' href='#events-Events-MouseMultiWheelEvent-wheelDeltaX'>wheelDeltaX</a>;
-    readonly attribute long            <a class='noxref' href='#events-Events-MouseMultiWheelEvent-wheelDeltaY'>wheelDeltaY</a>;
-    readonly attribute long            <a class='noxref' href='#events-Events-MouseMultiWheelEvent-wheelDeltaZ'>wheelDeltaZ</a>;
-    // Introduced in DOM Level 3:
-    void               <a class='noxref' href='#events-Events-Event-initMouseMultiWheelEventNS'>initMouseMultiWheelEventNS</a>(in DOMString namespaceURI, 
-                                                  in DOMString typeArg, 
-                                                  in boolean canBubbleArg, 
-                                                  in boolean cancelableArg, 
-                                                  in views::AbstractView viewArg, 
-                                                  in long detailArg, 
-                                                  in long screenXArg, 
-                                                  in long screenYArg, 
-                                                  in long clientXArg, 
-                                                  in long clientYArg, 
-                                                  in unsigned short buttonArg, 
-                                                  in <a class='noxref' href='#events-Events-EventTarget'>EventTarget</a> relatedTargetArg, 
-                                                  in DOMString modifiersList, 
-                                                  in long wheelDeltaX, 
-                                                  in long wheelDeltaY, 
-                                                  in long wheelDeltaZ);
-  };
-
-  // Introduced in DOM Level 3:
-  interface <a class='noxref' href='#events-Events-KeyboardEvent'>KeyboardEvent</a> : <a class='noxref' href='#events-Events-UIEvent'>UIEvent</a> {
-
-    // KeyLocationCode
-    const unsigned long       <a class='noxref' href='#events-DOM_KEY_LOCATION_STANDARD'>DOM_KEY_LOCATION_STANDARD</a>      = 0x00;
-    const unsigned long       <a class='noxref' href='#events-DOM_KEY_LOCATION_LEFT'>DOM_KEY_LOCATION_LEFT</a>          = 0x01;
-    const unsigned long       <a class='noxref' href='#events-DOM_KEY_LOCATION_RIGHT'>DOM_KEY_LOCATION_RIGHT</a>         = 0x02;
-    const unsigned long       <a class='noxref' href='#events-DOM_KEY_LOCATION_NUMPAD'>DOM_KEY_LOCATION_NUMPAD</a>        = 0x03;
-
-    readonly attribute DOMString       <a class='noxref' href='#events-Events-KeyboardEvent-keyIdentifier'>keyIdentifier</a>;
-    readonly attribute unsigned long   <a class='noxref' href='#events-Events-KeyboardEvent-keylocation'>keyLocation</a>;
-    readonly attribute boolean         <a class='noxref' href='#events-Events-KeyboardEvent-ctrlKey'>ctrlKey</a>;
-    readonly attribute boolean         <a class='noxref' href='#events-Events-KeyboardEvent-shiftKey'>shiftKey</a>;
-    readonly attribute boolean         <a class='noxref' href='#events-Events-KeyboardEvent-altKey'>altKey</a>;
-    readonly attribute boolean         <a class='noxref' href='#events-Events-KeyboardEvent-metaKey'>metaKey</a>;
-    boolean            <a class='noxref' href='#events-Events-KeyboardEvent-getModifierState'>getModifierState</a>(in DOMString keyIdentifierArg);
-    void               <a class='noxref' href='#events-Events-KeyboardEvent-initKeyboardEvent'>initKeyboardEvent</a>(in DOMString typeArg, 
-                                         in boolean canBubbleArg, 
-                                         in boolean cancelableArg, 
-                                         in views::AbstractView viewArg, 
-                                         in DOMString keyIdentifierArg, 
-                                         in unsigned long keyLocationArg, 
-                                         in DOMString modifiersList);
-    void               <a class='noxref' href='#events-Events-KeyboardEvent-initKeyboardEventNS'>initKeyboardEventNS</a>(in DOMString namespaceURI, 
-                                           in DOMString typeArg, 
-                                           in boolean canBubbleArg, 
-                                           in boolean cancelableArg, 
-                                           in views::AbstractView viewArg, 
-                                           in DOMString keyIdentifierArg, 
-                                           in unsigned long keyLocationArg, 
-                                           in DOMString modifiersList);
+                                             in DOMString modifiersListArg, 
+                                             in long wheelDeltaArg);
   };
 
   // Introduced in DOM Level 2:
@@ -4707,7 +4588,7 @@
                                          in DOMString attrNameArg, 
                                          in unsigned short attrChangeArg);
     // Introduced in DOM Level 3:
-    void               <a class='noxref' href='#events-Events-Event-initMutationEventNS'>initMutationEventNS</a>(in DOMString namespaceURI, 
+    void               <a class='noxref' href='#events-Events-Event-initMutationEventNS'>initMutationEventNS</a>(in DOMString namespaceURIArg, 
                                            in DOMString typeArg, 
                                            in boolean canBubbleArg, 
                                            in boolean cancelableArg, 
@@ -4730,7 +4611,7 @@
                                              in DOMString prevNamespaceURIArg, 
                                              in DOMString prevNodeNameArg);
     // Introduced in DOM Level 3:
-    void               <a class='noxref' href='#events-Events-Event-initMutationNameEventNS'>initMutationNameEventNS</a>(in DOMString namespaceURI, 
+    void               <a class='noxref' href='#events-Events-Event-initMutationNameEventNS'>initMutationNameEventNS</a>(in DOMString namespaceURIArg, 
                                                in DOMString typeArg, 
                                                in boolean canBubbleArg, 
                                                in boolean cancelableArg, 
@@ -4747,10 +4628,10 @@
 <!-- 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'>November 2006</p>
+<p style='font-family: monospace;font-size:small'>November 2007</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>
+<h1 id='java-binding-java-binding-h1' class='adiv1'>Appendix E: Java Language Binding</h1>
 <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/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>
@@ -4824,7 +4705,7 @@
 public interface CustomEvent extends Event {
     public Object getDetail();
 
-    public void initCustomEventNS(String namespaceURI, 
+    public void initCustomEventNS(String namespaceURIArg, 
                                   String typeArg, 
                                   boolean canBubbleArg, 
                                   boolean cancelableArg, 
@@ -4907,7 +4788,7 @@
                             AbstractView viewArg, 
                             int detailArg);
 
-    public void initUIEventNS(String namespaceURI, 
+    public void initUIEventNS(String namespaceURIArg, 
                               String typeArg, 
                               boolean canBubbleArg, 
                               boolean cancelableArg, 
@@ -4932,8 +4813,8 @@
                               AbstractView viewArg, 
                               String dataArg);
 
-    public void initTextEventNS(String namespaceURI, 
-                                String type, 
+    public void initTextEventNS(String namespaceURIArg, 
+                                String typeArg, 
                                 boolean canBubbleArg, 
                                 boolean cancelableArg, 
                                 AbstractView viewArg, 
@@ -4941,6 +4822,53 @@
 
 }
 </pre></div>
+<h3 id='java-binding-org.w3c.dom.events.KeyboardEvent'>org\w3c\dom\events\KeyboardEvent.java:</h3>
+<div class='java-code'>
+<pre>
+package org.w3c.dom.events;
+
+import org.w3c.dom.views.AbstractView;
+
+public interface KeyboardEvent extends UIEvent {
+    // KeyLocationCode
+    public static final int DOM_KEY_LOCATION_STANDARD = 0x00;
+    public static final int DOM_KEY_LOCATION_LEFT     = 0x01;
+    public static final int DOM_KEY_LOCATION_RIGHT    = 0x02;
+    public static final int DOM_KEY_LOCATION_NUMPAD   = 0x03;
+
+    public String getKeyIdentifier();
+
+    public int getKeyLocation();
+
+    public boolean getCtrlKey();
+
+    public boolean getShiftKey();
+
+    public boolean getAltKey();
+
+    public boolean getMetaKey();
+
+    public boolean getModifierState(String keyIdentifierArg);
+
+    public void initKeyboardEvent(String typeArg, 
+                                  boolean canBubbleArg, 
+                                  boolean cancelableArg, 
+                                  AbstractView viewArg, 
+                                  String keyIdentifierArg, 
+                                  int keyLocationArg, 
+                                  String modifiersListArg);
+
+    public void initKeyboardEventNS(String namespaceURIArg, 
+                                    String typeArg, 
+                                    boolean canBubbleArg, 
+                                    boolean cancelableArg, 
+                                    AbstractView viewArg, 
+                                    String keyIdentifierArg, 
+                                    int keyLocationArg, 
+                                    String modifiersListArg);
+
+}
+</pre></div>
 <h3 id='java-binding-org.w3c.dom.events.MouseEvent'>org\w3c\dom\events\MouseEvent.java:</h3>
 <div class='java-code'>
 <pre>
@@ -4987,7 +4915,7 @@
 
     public boolean getModifierState(String keyIdentifierArg);
 
-    public void initMouseEventNS(String namespaceURI, 
+    public void initMouseEventNS(String namespaceURIArg, 
                                  String typeArg, 
                                  boolean canBubbleArg, 
                                  boolean cancelableArg, 
@@ -4999,34 +4927,7 @@
                                  int clientYArg, 
                                  short buttonArg, 
                                  EventTarget relatedTargetArg, 
-                                 String modifiersList);
-
-}
-</pre></div>
-<h3 id='java-binding-org.w3c.dom.events.MouseWheelEvent'>org\w3c\dom\events\MouseWheelEvent.java:</h3>
-<div class='java-code'>
-<pre>
-package org.w3c.dom.events;
-
-import org.w3c.dom.views.AbstractView;
-
-public interface MouseWheelEvent extends MouseEvent {
-    public int getWheelDelta();
-
-    public void initMouseWheelEventNS(String namespaceURI, 
-                                      String typeArg, 
-                                      boolean canBubbleArg, 
-                                      boolean cancelableArg, 
-                                      AbstractView viewArg, 
-                                      int detailArg, 
-                                      int screenXArg, 
-                                      int screenYArg, 
-                                      int clientXArg, 
-                                      int clientYArg, 
-                                      short buttonArg, 
-                                      EventTarget relatedTargetArg, 
-                                      String modifiersList, 
-                                      int wheelDelta);
+                                 String modifiersListArg);
 
 }
 </pre></div>
@@ -5044,7 +4945,7 @@
 
     public int getWheelDeltaZ();
 
-    public void initMouseMultiWheelEventNS(String namespaceURI, 
+    public void initMouseMultiWheelEventNS(String namespaceURIArg, 
                                            String typeArg, 
                                            boolean canBubbleArg, 
                                            boolean cancelableArg, 
@@ -5056,57 +4957,37 @@
                                            int clientYArg, 
                                            short buttonArg, 
                                            EventTarget relatedTargetArg, 
-                                           String modifiersList, 
-                                           int wheelDeltaX, 
-                                           int wheelDeltaY, 
-                                           int wheelDeltaZ);
+                                           String modifiersListArg, 
+                                           int wheelDeltaXArg, 
+                                           int wheelDeltaYArg, 
+                                           int wheelDeltaZArg);
 
 }
 </pre></div>
-<h3 id='java-binding-org.w3c.dom.events.KeyboardEvent'>org\w3c\dom\events\KeyboardEvent.java:</h3>
+<h3 id='java-binding-org.w3c.dom.events.MouseWheelEvent'>org\w3c\dom\events\MouseWheelEvent.java:</h3>
 <div class='java-code'>
 <pre>
 package org.w3c.dom.events;
 
 import org.w3c.dom.views.AbstractView;
 
-public interface KeyboardEvent extends UIEvent {
-    // KeyLocationCode
-    public static final int DOM_KEY_LOCATION_STANDARD = 0x00;
-    public static final int DOM_KEY_LOCATION_LEFT     = 0x01;
-    public static final int DOM_KEY_LOCATION_RIGHT    = 0x02;
-    public static final int DOM_KEY_LOCATION_NUMPAD   = 0x03;
-
-    public String getKeyIdentifier();
-
-    public int getKeyLocation();
-
-    public boolean getCtrlKey();
-
-    public boolean getShiftKey();
-
-    public boolean getAltKey();
+public interface MouseWheelEvent extends MouseEvent {
+    public int getWheelDelta();
 
-    public boolean getMetaKey();
-
-    public boolean getModifierState(String keyIdentifierArg);
-
-    public void initKeyboardEvent(String typeArg, 
-                                  boolean canBubbleArg, 
-                                  boolean cancelableArg, 
-                                  AbstractView viewArg, 
-                                  String keyIdentifierArg, 
-                                  int keyLocationArg, 
-                                  String modifiersList);
-
-    public void initKeyboardEventNS(String namespaceURI, 
-                                    String typeArg, 
-                                    boolean canBubbleArg, 
-                                    boolean cancelableArg, 
-                                    AbstractView viewArg, 
-                                    String keyIdentifierArg, 
-                                    int keyLocationArg, 
-                                    String modifiersList);
+    public void initMouseWheelEventNS(String namespaceURIArg, 
+                                      String typeArg, 
+                                      boolean canBubbleArg, 
+                                      boolean cancelableArg, 
+                                      AbstractView viewArg, 
+                                      int detailArg, 
+                                      int screenXArg, 
+                                      int screenYArg, 
+                                      int clientXArg, 
+                                      int clientYArg, 
+                                      short buttonArg, 
+                                      EventTarget relatedTargetArg, 
+                                      String modifiersListArg, 
+                                      int wheelDeltaArg);
 
 }
 </pre></div>
@@ -5142,7 +5023,7 @@
                                   String attrNameArg, 
                                   short attrChangeArg);
 
-    public void initMutationEventNS(String namespaceURI, 
+    public void initMutationEventNS(String namespaceURIArg, 
                                     String typeArg, 
                                     boolean canBubbleArg, 
                                     boolean cancelableArg, 
@@ -5173,7 +5054,7 @@
                                       String prevNamespaceURIArg, 
                                       String prevNodeNameArg);
 
-    public void initMutationNameEventNS(String namespaceURI, 
+    public void initMutationNameEventNS(String namespaceURIArg, 
                                         String typeArg, 
                                         boolean canBubbleArg, 
                                         boolean cancelableArg, 
@@ -5187,10 +5068,10 @@
 <!-- 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'>November 2006</p>
+<p style='font-family: monospace;font-size:small'>November 2007</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>
+<h1 id='ecma-script-binding-ecma-binding-h1' class='adiv1'>Appendix F: 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'>
 <dl>
@@ -5269,9 +5150,9 @@
 <dt>Functions of objects that implement the <b>CustomEvent</b> interface:</dt>
 <dd>
 <dl>
-<dt><b>initCustomEventNS(namespaceURI, typeArg, canBubbleArg, cancelableArg, detailArg)</b></dt>
+<dt><b>initCustomEventNS(namespaceURIArg, typeArg, canBubbleArg, cancelableArg, detailArg)</b></dt>
 <dd>This function has no return value.<br />
-The <b>namespaceURI</b> parameter is a <b>String</b>.<br />
+The <b>namespaceURIArg</b> parameter is a <b>String</b>.<br />
 The <b>typeArg</b> parameter is a <b>String</b>.<br />
 The <b>canBubbleArg</b> parameter is a <b>Boolean</b>.<br />
 The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
@@ -5380,9 +5261,9 @@
 The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
 The <b>viewArg</b> parameter is an object that implements the <b>AbstractView</b> interface.<br />
 The <b>detailArg</b> parameter is a <b>Number</b>.</dd>
-<dt><b>initUIEventNS(namespaceURI, typeArg, canBubbleArg, cancelableArg, viewArg, detailArg)</b></dt>
+<dt><b>initUIEventNS(namespaceURIArg, typeArg, canBubbleArg, cancelableArg, viewArg, detailArg)</b></dt>
 <dd>This function has no return value.<br />
-The <b>namespaceURI</b> parameter is a <b>String</b>.<br />
+The <b>namespaceURIArg</b> parameter is a <b>String</b>.<br />
 The <b>typeArg</b> parameter is a <b>String</b>.<br />
 The <b>canBubbleArg</b> parameter is a <b>Boolean</b>.<br />
 The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
@@ -5413,10 +5294,10 @@
 The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
 The <b>viewArg</b> parameter is an object that implements the <b>AbstractView</b> interface.<br />
 The <b>dataArg</b> parameter is a <b>String</b>.</dd>
-<dt><b>initTextEventNS(namespaceURI, type, canBubbleArg, cancelableArg, viewArg, dataArg)</b></dt>
+<dt><b>initTextEventNS(namespaceURIArg, typeArg, canBubbleArg, cancelableArg, viewArg, dataArg)</b></dt>
 <dd>This function has no return value.<br />
-The <b>namespaceURI</b> parameter is a <b>String</b>.<br />
-The <b>type</b> parameter is a <b>String</b>.<br />
+The <b>namespaceURIArg</b> parameter is a <b>String</b>.<br />
+The <b>typeArg</b> parameter is a <b>String</b>.<br />
 The <b>canBubbleArg</b> parameter is a <b>Boolean</b>.<br />
 The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
 The <b>viewArg</b> parameter is an object that implements the <b>AbstractView</b> interface.<br />
@@ -5425,6 +5306,69 @@
 </dd>
 </dl>
 </dd>
+<dt>Properties of the <b>KeyboardEvent</b> Constructor function:</dt>
+<dd>
+<dl>
+<dt><b>KeyboardEvent.DOM_KEY_LOCATION_STANDARD</b></dt>
+<dd>The value of the constant <b>KeyboardEvent.DOM_KEY_LOCATION_STANDARD</b> is <b>0x00</b>.</dd>
+<dt><b>KeyboardEvent.DOM_KEY_LOCATION_LEFT</b></dt>
+<dd>The value of the constant <b>KeyboardEvent.DOM_KEY_LOCATION_LEFT</b> is <b>0x01</b>.</dd>
+<dt><b>KeyboardEvent.DOM_KEY_LOCATION_RIGHT</b></dt>
+<dd>The value of the constant <b>KeyboardEvent.DOM_KEY_LOCATION_RIGHT</b> is <b>0x02</b>.</dd>
+<dt><b>KeyboardEvent.DOM_KEY_LOCATION_NUMPAD</b></dt>
+<dd>The value of the constant <b>KeyboardEvent.DOM_KEY_LOCATION_NUMPAD</b> is <b>0x03</b>.</dd>
+</dl>
+</dd>
+<dt>Objects that implement the <b>KeyboardEvent</b> interface:</dt>
+<dd>
+<dl>
+<dt>Objects that implement the <b>KeyboardEvent</b> interface have all properties and functions of the <b>UIEvent</b> interface as well as the properties and functions defined below.</dt>
+<dt>Properties of objects that implement the <b>KeyboardEvent</b> interface:</dt>
+<dd>
+<dl>
+<dt><b>keyIdentifier</b></dt>
+<dd>This read-only property is a <b>String</b>.</dd>
+<dt><b>keyLocation</b></dt>
+<dd>This read-only property is a <b>Number</b>.</dd>
+<dt><b>ctrlKey</b></dt>
+<dd>This read-only property is a <b>Boolean</b>.</dd>
+<dt><b>shiftKey</b></dt>
+<dd>This read-only property is a <b>Boolean</b>.</dd>
+<dt><b>altKey</b></dt>
+<dd>This read-only property is a <b>Boolean</b>.</dd>
+<dt><b>metaKey</b></dt>
+<dd>This read-only property is a <b>Boolean</b>.</dd>
+</dl>
+</dd>
+<dt>Functions of objects that implement the <b>KeyboardEvent</b> interface:</dt>
+<dd>
+<dl>
+<dt><b>getModifierState(keyIdentifierArg)</b></dt>
+<dd>This function returns a <b>Boolean</b>.<br />
+The <b>keyIdentifierArg</b> parameter is a <b>String</b>.</dd>
+<dt><b>initKeyboardEvent(typeArg, canBubbleArg, cancelableArg, viewArg, keyIdentifierArg, keyLocationArg, modifiersListArg)</b></dt>
+<dd>This function has no return value.<br />
+The <b>typeArg</b> parameter is a <b>String</b>.<br />
+The <b>canBubbleArg</b> parameter is a <b>Boolean</b>.<br />
+The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
+The <b>viewArg</b> parameter is an object that implements the <b>AbstractView</b> interface.<br />
+The <b>keyIdentifierArg</b> parameter is a <b>String</b>.<br />
+The <b>keyLocationArg</b> parameter is a <b>Number</b>.<br />
+The <b>modifiersListArg</b> parameter is a <b>String</b>.</dd>
+<dt><b>initKeyboardEventNS(namespaceURIArg, typeArg, canBubbleArg, cancelableArg, viewArg, keyIdentifierArg, keyLocationArg, modifiersListArg)</b></dt>
+<dd>This function has no return value.<br />
+The <b>namespaceURIArg</b> parameter is a <b>String</b>.<br />
+The <b>typeArg</b> parameter is a <b>String</b>.<br />
+The <b>canBubbleArg</b> parameter is a <b>Boolean</b>.<br />
+The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
+The <b>viewArg</b> parameter is an object that implements the <b>AbstractView</b> interface.<br />
+The <b>keyIdentifierArg</b> parameter is a <b>String</b>.<br />
+The <b>keyLocationArg</b> parameter is a <b>Number</b>.<br />
+The <b>modifiersListArg</b> parameter is a <b>String</b>.</dd>
+</dl>
+</dd>
+</dl>
+</dd>
 <dt>Objects that implement the <b>MouseEvent</b> interface:</dt>
 <dd>
 <dl>
@@ -5477,9 +5421,9 @@
 <dt><b>getModifierState(keyIdentifierArg)</b></dt>
 <dd>This function returns a <b>Boolean</b>.<br />
 The <b>keyIdentifierArg</b> parameter is a <b>String</b>.</dd>
-<dt><b>initMouseEventNS(namespaceURI, typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, buttonArg, relatedTargetArg, modifiersList)</b></dt>
+<dt><b>initMouseEventNS(namespaceURIArg, typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, buttonArg, relatedTargetArg, modifiersListArg)</b></dt>
 <dd>This function has no return value.<br />
-The <b>namespaceURI</b> parameter is a <b>String</b>.<br />
+The <b>namespaceURIArg</b> parameter is a <b>String</b>.<br />
 The <b>typeArg</b> parameter is a <b>String</b>.<br />
 The <b>canBubbleArg</b> parameter is a <b>Boolean</b>.<br />
 The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
@@ -5491,41 +5435,7 @@
 The <b>clientYArg</b> parameter is a <b>Number</b>.<br />
 The <b>buttonArg</b> parameter is a <b>Number</b>.<br />
 The <b>relatedTargetArg</b> parameter is an object that implements the <b>EventTarget</b> interface.<br />
-The <b>modifiersList</b> parameter is a <b>String</b>.</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-<dt>Objects that implement the <b>MouseWheelEvent</b> interface:</dt>
-<dd>
-<dl>
-<dt>Objects that implement the <b>MouseWheelEvent</b> interface have all properties and functions of the <b>MouseEvent</b> interface as well as the properties and functions defined below.</dt>
-<dt>Properties of objects that implement the <b>MouseWheelEvent</b> interface:</dt>
-<dd>
-<dl>
-<dt><b>wheelDelta</b></dt>
-<dd>This read-only property is a <b>Number</b>.</dd>
-</dl>
-</dd>
-<dt>Functions of objects that implement the <b>MouseWheelEvent</b> interface:</dt>
-<dd>
-<dl>
-<dt><b>initMouseWheelEventNS(namespaceURI, typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, buttonArg, relatedTargetArg, modifiersList, wheelDelta)</b></dt>
-<dd>This function has no return value.<br />
-The <b>namespaceURI</b> parameter is a <b>String</b>.<br />
-The <b>typeArg</b> parameter is a <b>String</b>.<br />
-The <b>canBubbleArg</b> parameter is a <b>Boolean</b>.<br />
-The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
-The <b>viewArg</b> parameter is an object that implements the <b>AbstractView</b> interface.<br />
-The <b>detailArg</b> parameter is a <b>Number</b>.<br />
-The <b>screenXArg</b> parameter is a <b>Number</b>.<br />
-The <b>screenYArg</b> parameter is a <b>Number</b>.<br />
-The <b>clientXArg</b> parameter is a <b>Number</b>.<br />
-The <b>clientYArg</b> parameter is a <b>Number</b>.<br />
-The <b>buttonArg</b> parameter is a <b>Number</b>.<br />
-The <b>relatedTargetArg</b> parameter is an object that implements the <b>EventTarget</b> interface.<br />
-The <b>modifiersList</b> parameter is a <b>String</b>.<br />
-The <b>wheelDelta</b> parameter is a <b>Number</b>.</dd>
+The <b>modifiersListArg</b> parameter is a <b>String</b>.</dd>
 </dl>
 </dd>
 </dl>
@@ -5548,9 +5458,9 @@
 <dt>Functions of objects that implement the <b>MouseMultiWheelEvent</b> interface:</dt>
 <dd>
 <dl>
-<dt><b>initMouseMultiWheelEventNS(namespaceURI, typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, buttonArg, relatedTargetArg, modifiersList, wheelDeltaX, wheelDeltaY, wheelDeltaZ)</b></dt>
+<dt><b>initMouseMultiWheelEventNS(namespaceURIArg, typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, buttonArg, relatedTargetArg, modifiersListArg, wheelDeltaXArg, wheelDeltaYArg, wheelDeltaZArg)</b></dt>
 <dd>This function has no return value.<br />
-The <b>namespaceURI</b> parameter is a <b>String</b>.<br />
+The <b>namespaceURIArg</b> parameter is a <b>String</b>.<br />
 The <b>typeArg</b> parameter is a <b>String</b>.<br />
 The <b>canBubbleArg</b> parameter is a <b>Boolean</b>.<br />
 The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
@@ -5562,73 +5472,44 @@
 The <b>clientYArg</b> parameter is a <b>Number</b>.<br />
 The <b>buttonArg</b> parameter is a <b>Number</b>.<br />
 The <b>relatedTargetArg</b> parameter is an object that implements the <b>EventTarget</b> interface.<br />
-The <b>modifiersList</b> parameter is a <b>String</b>.<br />
-The <b>wheelDeltaX</b> parameter is a <b>Number</b>.<br />
-The <b>wheelDeltaY</b> parameter is a <b>Number</b>.<br />
-The <b>wheelDeltaZ</b> parameter is a <b>Number</b>.</dd>
+The <b>modifiersListArg</b> parameter is a <b>String</b>.<br />
+The <b>wheelDeltaXArg</b> parameter is a <b>Number</b>.<br />
+The <b>wheelDeltaYArg</b> parameter is a <b>Number</b>.<br />
+The <b>wheelDeltaZArg</b> parameter is a <b>Number</b>.</dd>
 </dl>
 </dd>
 </dl>
 </dd>
-<dt>Properties of the <b>KeyboardEvent</b> Constructor function:</dt>
-<dd>
-<dl>
-<dt><b>KeyboardEvent.DOM_KEY_LOCATION_STANDARD</b></dt>
-<dd>The value of the constant <b>KeyboardEvent.DOM_KEY_LOCATION_STANDARD</b> is <b>0x00</b>.</dd>
-<dt><b>KeyboardEvent.DOM_KEY_LOCATION_LEFT</b></dt>
-<dd>The value of the constant <b>KeyboardEvent.DOM_KEY_LOCATION_LEFT</b> is <b>0x01</b>.</dd>
-<dt><b>KeyboardEvent.DOM_KEY_LOCATION_RIGHT</b></dt>
-<dd>The value of the constant <b>KeyboardEvent.DOM_KEY_LOCATION_RIGHT</b> is <b>0x02</b>.</dd>
-<dt><b>KeyboardEvent.DOM_KEY_LOCATION_NUMPAD</b></dt>
-<dd>The value of the constant <b>KeyboardEvent.DOM_KEY_LOCATION_NUMPAD</b> is <b>0x03</b>.</dd>
+<dt>Objects that implement the <b>MouseWheelEvent</b> interface:</dt>
+<dd>
+<dl>
+<dt>Objects that implement the <b>MouseWheelEvent</b> interface have all properties and functions of the <b>MouseEvent</b> interface as well as the properties and functions defined below.</dt>
+<dt>Properties of objects that implement the <b>MouseWheelEvent</b> interface:</dt>
+<dd>
+<dl>
+<dt><b>wheelDelta</b></dt>
+<dd>This read-only property is a <b>Number</b>.</dd>
 </dl>
 </dd>
-<dt>Objects that implement the <b>KeyboardEvent</b> interface:</dt>
-<dd>
-<dl>
-<dt>Objects that implement the <b>KeyboardEvent</b> interface have all properties and functions of the <b>UIEvent</b> interface as well as the properties and functions defined below.</dt>
-<dt>Properties of objects that implement the <b>KeyboardEvent</b> interface:</dt>
-<dd>
-<dl>
-<dt><b>keyIdentifier</b></dt>
-<dd>This read-only property is a <b>String</b>.</dd>
-<dt><b>keyLocation</b></dt>
-<dd>This read-only property is a <b>Number</b>.</dd>
-<dt><b>ctrlKey</b></dt>
-<dd>This read-only property is a <b>Boolean</b>.</dd>
-<dt><b>shiftKey</b></dt>
-<dd>This read-only property is a <b>Boolean</b>.</dd>
-<dt><b>altKey</b></dt>
-<dd>This read-only property is a <b>Boolean</b>.</dd>
-<dt><b>metaKey</b></dt>
-<dd>This read-only property is a <b>Boolean</b>.</dd>
-</dl>
-</dd>
-<dt>Functions of objects that implement the <b>KeyboardEvent</b> interface:</dt>
-<dd>
-<dl>
-<dt><b>getModifierState(keyIdentifierArg)</b></dt>
-<dd>This function returns a <b>Boolean</b>.<br />
-The <b>keyIdentifierArg</b> parameter is a <b>String</b>.</dd>
-<dt><b>initKeyboardEvent(typeArg, canBubbleArg, cancelableArg, viewArg, keyIdentifierArg, keyLocationArg, modifiersList)</b></dt>
+<dt>Functions of objects that implement the <b>MouseWheelEvent</b> interface:</dt>
+<dd>
+<dl>
+<dt><b>initMouseWheelEventNS(namespaceURIArg, typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, buttonArg, relatedTargetArg, modifiersListArg, wheelDeltaArg)</b></dt>
 <dd>This function has no return value.<br />
+The <b>namespaceURIArg</b> parameter is a <b>String</b>.<br />
 The <b>typeArg</b> parameter is a <b>String</b>.<br />
 The <b>canBubbleArg</b> parameter is a <b>Boolean</b>.<br />
 The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
 The <b>viewArg</b> parameter is an object that implements the <b>AbstractView</b> interface.<br />
-The <b>keyIdentifierArg</b> parameter is a <b>String</b>.<br />
-The <b>keyLocationArg</b> parameter is a <b>Number</b>.<br />
-The <b>modifiersList</b> parameter is a <b>String</b>.</dd>
-<dt><b>initKeyboardEventNS(namespaceURI, typeArg, canBubbleArg, cancelableArg, viewArg, keyIdentifierArg, keyLocationArg, modifiersList)</b></dt>
-<dd>This function has no return value.<br />
-The <b>namespaceURI</b> parameter is a <b>String</b>.<br />
-The <b>typeArg</b> parameter is a <b>String</b>.<br />
-The <b>canBubbleArg</b> parameter is a <b>Boolean</b>.<br />
-The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
-The <b>viewArg</b> parameter is an object that implements the <b>AbstractView</b> interface.<br />
-The <b>keyIdentifierArg</b> parameter is a <b>String</b>.<br />
-The <b>keyLocationArg</b> parameter is a <b>Number</b>.<br />
-The <b>modifiersList</b> parameter is a <b>String</b>.</dd>
+The <b>detailArg</b> parameter is a <b>Number</b>.<br />
+The <b>screenXArg</b> parameter is a <b>Number</b>.<br />
+The <b>screenYArg</b> parameter is a <b>Number</b>.<br />
+The <b>clientXArg</b> parameter is a <b>Number</b>.<br />
+The <b>clientYArg</b> parameter is a <b>Number</b>.<br />
+The <b>buttonArg</b> parameter is a <b>Number</b>.<br />
+The <b>relatedTargetArg</b> parameter is an object that implements the <b>EventTarget</b> interface.<br />
+The <b>modifiersListArg</b> parameter is a <b>String</b>.<br />
+The <b>wheelDeltaArg</b> parameter is a <b>Number</b>.</dd>
 </dl>
 </dd>
 </dl>
@@ -5676,9 +5557,9 @@
 The <b>newValueArg</b> parameter is a <b>String</b>.<br />
 The <b>attrNameArg</b> parameter is a <b>String</b>.<br />
 The <b>attrChangeArg</b> parameter is a <b>Number</b>.</dd>
-<dt><b>initMutationEventNS(namespaceURI, typeArg, canBubbleArg, cancelableArg, relatedNodeArg, prevValueArg, newValueArg, attrNameArg, attrChangeArg)</b></dt>
+<dt><b>initMutationEventNS(namespaceURIArg, typeArg, canBubbleArg, cancelableArg, relatedNodeArg, prevValueArg, newValueArg, attrNameArg, attrChangeArg)</b></dt>
 <dd>This function has no return value.<br />
-The <b>namespaceURI</b> parameter is a <b>String</b>.<br />
+The <b>namespaceURIArg</b> parameter is a <b>String</b>.<br />
 The <b>typeArg</b> parameter is a <b>String</b>.<br />
 The <b>canBubbleArg</b> parameter is a <b>Boolean</b>.<br />
 The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
@@ -5715,9 +5596,9 @@
 The <b>relatedNodeArg</b> parameter is an object that implements the <b>Node</b> interface.<br />
 The <b>prevNamespaceURIArg</b> parameter is a <b>String</b>.<br />
 The <b>prevNodeNameArg</b> parameter is a <b>String</b>.</dd>
-<dt><b>initMutationNameEventNS(namespaceURI, typeArg, canBubbleArg, cancelableArg, relatedNodeArg, prevNamespaceURIArg, prevNodeNameArg)</b></dt>
+<dt><b>initMutationNameEventNS(namespaceURIArg, typeArg, canBubbleArg, cancelableArg, relatedNodeArg, prevNamespaceURIArg, prevNodeNameArg)</b></dt>
 <dd>This function has no return value.<br />
-The <b>namespaceURI</b> parameter is a <b>String</b>.<br />
+The <b>namespaceURIArg</b> parameter is a <b>String</b>.<br />
 The <b>typeArg</b> parameter is a <b>String</b>.<br />
 The <b>canBubbleArg</b> parameter is a <b>Boolean</b>.<br />
 The <b>cancelableArg</b> parameter is a <b>Boolean</b>.<br />
@@ -5734,10 +5615,10 @@
 <!-- div1 ecma-binding -->
 <a id='acknowledgements' name='acknowledgements'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>November 2006</p>
+<p style='font-family: monospace;font-size:small'>November 2007</p>
 </div>
 <div class='div1'><a name='acknowledgements-contributors' id='acknowledgements-contributors'></a>
-<h1 id='acknowledgements-contributors-h1' class='adiv1'>Appendix F: Acknowledgements</h1>
+<h1 id='acknowledgements-contributors-h1' class='adiv1'>Appendix G: Acknowledgements</h1>
 <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>
@@ -5746,7 +5627,7 @@
 <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>
-<h2 id='acknowledgements-Productions-h2' class='adiv2'>F.1 Production Systems</h2>
+<h2 id='acknowledgements-Productions-h2' class='adiv2'>G.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>
 <p>After DOM Level 1, we used <a class='normative' href='http://xml.apache.org/xerces-j'>Xerces</a> as the basis DOM implementation and wish to thank the authors. Philippe Le H&#233;garet and Arnaud Le Hors wrote the <a class='normative' href='http://dev.w3.org/cvsweb/java/classes/org/w3c/tools/specgenerator/'>Java programs</a> which are the DOM application.</p>
@@ -5756,7 +5637,7 @@
 <!-- div1 contributors -->
 <a id='glossary' name='glossary'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>November 2006</p>
+<p style='font-family: monospace;font-size:small'>November 2007</p>
 </div>
 <div class='div1'><a name='glossary-glossary' id='glossary-glossary'></a>
 <h1 id='glossary-role-glossary' class='glossary'>Glossary</h1>
@@ -5771,8 +5652,6 @@
 <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>
 <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>
-<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>
 <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>
@@ -5792,13 +5671,13 @@
 <!-- div1 glossary -->
 <a id='references' name='references'></a>
 <div class='noprint' style='text-align: right'>
-<p style='font-family: monospace;font-size:small'>November 2006</p>
+<p style='font-family: monospace;font-size:small'>November 2007</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>
+<h2 id='references-References-Normative-h2' class='adiv2'>I.1 Normative References</h2>
 <dl>
 <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>
@@ -5806,8 +5685,6 @@
 <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>
 <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>
-<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>
 <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>
@@ -5815,16 +5692,16 @@
 <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, 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>
+<dd><cite>The Unicode Standard, Version 5.0</cite>, ISBN 0-321-48091-0, as updated from time to time by the publication of new versions. 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>
+<dd><cite><a href='http://www.unicode.org/reports/tr15/'>Unicode Normalization Forms</a></cite>, The Unicode Standard Annex #15. The Unicode Consortium, 2006. 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>
+<dd><cite><a href='http://www.w3.org/TR/2006/REC-xml-names11-20060816'>Namespaces in XML 1.1</a></cite>, T. Bray, D. Hollander, A. Layman, and R. Tobin, Editors. World Wide Web Consortium, August 2006. This version of the Namespaces in XML 1.1 Specification is http://www.w3.org/TR/2006/REC-xml-names11-20060816. 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>
+<h2 id='references-References-Informative-h2' class='adiv2'>I.2 Informative References</h2>
 <dl>
 <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>
@@ -5838,25 +5715,17 @@
 <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>
 <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>
-<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>
-<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>
-<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>
 <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>
-<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>
-<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>
+<dd><cite><a href='http://www.w3.org/TR/2006/REC-xml-20060816'>Extensible Markup Language (XML) 1.0</a></cite>, T. Bray, J. Paoli, C. M. Sperberg-McQueen, et. al, Editors. World Wide Web Consortium, August 2006. This version of the XML 1.0 Recommendation is http://www.w3.org/TR/2006/REC-xml-20060816. The <a class='normative' href='http://www.w3.org/TR/xml'>latest version of XML 1.0</a> is available at http://www.w3.org/TR/xml.</dd>
 </dl>
 </div>
 <!-- div2 References-Informative --></div>
 <!-- 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'>November 2006</p>
+<p style='font-family: monospace;font-size:small'>November 2007</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>
@@ -5868,7 +5737,7 @@
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-ADDITION'>ADDITION</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-MouseEvent-altKey'>altKey</a> <a class='index-inst' href='#events-Events-MouseEvent-altKey'>1</a>, <a class='index-inst' href='#events-Events-KeyboardEvent-altKey'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-KeyboardEvent-altKey'>altKey</a> <a class='index-inst' href='#events-Events-KeyboardEvent-altKey'>1</a>, <a class='index-inst' href='#events-Events-MouseEvent-altKey'>2</a></td>
 <td width='30%'><a class='noxref' href='#events-AT_TARGET'>AT_TARGET</a></td>
 </tr>
 <tr>
@@ -5881,7 +5750,7 @@
 <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-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>
+<td width='30%'><a class='noxref' href='#events-BUBBLING_PHASE'>bubbling phase</a> <a class='index-inst' href='#events-BUBBLING_PHASE'>1</a>, <a class='index-inst' href='#events-Events-EventTarget-addEventListener'>2</a>, <a class='index-inst' href='#glossary-dt-bubbling-phase'>3</a></td>
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-BUBBLING_PHASE'>BUBBLING_PHASE</a></td>
@@ -5896,19 +5765,19 @@
 <td width='30%'><a class='noxref' href='#events-Events-DocumentEvent-canDispatch'>canDispatch</a></td>
 </tr>
 <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'>capture phase</a> <a class='index-inst' href='#events-CAPTURING_PHASE'>1</a>, <a class='index-inst' href='#events-AT_TARGET'>2</a>, <a class='index-inst' href='#events-Events-EventTarget-addEventListener'>3</a>, <a class='index-inst' href='#glossary-dt-capture-phase'>4</a></td>
 <td width='30%'><a class='noxref' href='#events-CAPTURING_PHASE'>CAPTURING_PHASE</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-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>
 <td width='30%'><a class='noxref' href='#events-Events-MouseEvent-clientY'>clientY</a></td>
+</tr>
+<tr>
 <td width='30%'><a class='noxref' href='#events-Events-DocumentEvent-createEvent'>createEvent</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-MouseEvent-ctrlKey'>ctrlKey</a> <a class='index-inst' href='#events-Events-MouseEvent-ctrlKey'>1</a>, <a class='index-inst' href='#events-Events-KeyboardEvent-ctrlKey'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-KeyboardEvent-ctrlKey'>ctrlKey</a> <a class='index-inst' href='#events-Events-KeyboardEvent-ctrlKey'>1</a>, <a class='index-inst' href='#events-Events-MouseEvent-ctrlKey'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-dt-current-click-count'>current click count</a> <a class='index-inst' href='#events-dt-current-click-count'>1</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>2</a></td>
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-Event-currentTarget'>currentTarget</a></td>
@@ -5919,7 +5788,7 @@
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-UIEvent-data'>data</a></td>
-<td width='30%'><a class='noxref' href='#events-event-dblclick'>dblclick</a> <a class='index-inst' href='#events-event-dblclick'>1</a></td>
+<td width='30%'><a class='noxref' href='#events-event-dblclick'>dblclick</a> <a class='index-inst' href='#events-event-dblclick'>1</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>2</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-Event-defaultPrevented'>defaultPrevented</a></td>
 </tr>
 <tr>
@@ -5929,45 +5798,41 @@
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-DocumentEvent'>DocumentEvent</a></td>
-<td width='30%'><a class='noxref' href='#events-dt-event-flow'>DOM event flow</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-overview'>DOM Level 0</a> <a class='index-inst' href='#events-Events-overview'>1</a>, <a class='index-inst' href='#events-Events-MouseEvent'>2</a>, <a class='index-inst' href='#glossary-dt-DOM-Level-0'>3</a></td>
-</tr>
-<tr>
 <td width='30%'><a class='noxref' href='#events-Conformance'>DOM Level 2 Core</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#references-DOM2Core'>2</a></td>
-<td width='30%'><a class='noxref' href='#events-Conformance'>DOM Level 2 Events</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#events-Events-eventgroupings-uievents'>2</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>3</a>, <a class='index-inst' href='#events-Events-eventgroupings-mutationevents'>4</a>, <a class='index-inst' href='#references-DOM2Events'>5</a></td>
+</tr>
+<tr>
+<td width='30%'><a class='noxref' href='#events-Conformance'>DOM Level 2 Events</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#references-DOM2Events'>2</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-flow-cancelation'>DOM Level 2 HTML</a> <a class='index-inst' href='#events-Events-flow-cancelation'>1</a>, <a class='index-inst' href='#references-DOM2HTML'>2</a></td>
-</tr>
-<tr>
-<td width='30%'><a class='noxref' href='#events-Events-eventgroupings-uievents'>DOM Level 2 Views</a> <a class='index-inst' href='#events-Events-eventgroupings-uievents'>1</a>, <a class='index-inst' href='#references-DOM2Views'>2</a></td>
-<td width='30%'><a class='noxref' href='#events-Conformance'>DOM Level 3 Core</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#events-Event-types'>2</a>, <a class='index-inst' href='#events-Events-eventgroupings-uievents'>3</a>, <a class='index-inst' href='#events-Events-TextEvents-Interfaces'>4</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>5</a>, <a class='index-inst' href='#events-Events-KeyboardEvents-Interfaces'>6</a>, <a class='index-inst' href='#events-Events-eventgroupings-mutationevents'>7</a>, <a class='index-inst' href='#events-Events-eventgroupings-basicevents'>8</a>, <a class='index-inst' href='#references-DOMCore'>9</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-flows'>DOM Level 3 Load and Save</a> <a class='index-inst' href='#events-Events-flows'>1</a>, <a class='index-inst' href='#references-DOMLS'>2</a></td>
-</tr>
-<tr>
+<td width='30%'><a class='noxref' href='#events-Conformance'>DOM Level 3 Core</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#events-Event-types'>2</a>, <a class='index-inst' href='#references-DOMCore'>3</a></td>
+</tr>
+<tr>
+<td width='30%'><a class='noxref' href='#events-Events-flow'>DOM Level 3 Load and Save</a> <a class='index-inst' href='#events-Events-flow'>1</a>, <a class='index-inst' href='#references-DOMLS'>2</a></td>
 <td width='30%'><a class='noxref' href='#events-DOM_KEY_LOCATION_LEFT'>DOM_KEY_LOCATION_LEFT</a></td>
 <td width='30%'><a class='noxref' href='#events-DOM_KEY_LOCATION_NUMPAD'>DOM_KEY_LOCATION_NUMPAD</a></td>
+</tr>
+<tr>
 <td width='30%'><a class='noxref' href='#events-DOM_KEY_LOCATION_RIGHT'>DOM_KEY_LOCATION_RIGHT</a></td>
-</tr>
-<tr>
 <td width='30%'><a class='noxref' href='#events-DOM_KEY_LOCATION_STANDARD'>DOM_KEY_LOCATION_STANDARD</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>
+</tr>
+<tr>
 <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>
-</tr>
-<tr>
 <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>
 <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>
+</tr>
+<tr>
 <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>
-</tr>
-<tr>
 <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>
 <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>
+</tr>
+<tr>
 <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>
-</tr>
-<tr>
 <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>
 <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>
+</tr>
+<tr>
 <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>
-</tr>
-<tr>
 <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>
 <td width='30%'><a class='noxref' href='#references-DWW95'>DWW95</a></td>
 </tr>
@@ -5977,10 +5842,10 @@
 <tr>
 <td width='30%'><a class='noxref' href='#references-ECMAScript'>ECMAScript</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>
-<td width='30%'><a class='noxref' href='#events-Events-flow'>event target</a> <a class='index-inst' href='#events-Events-flow'>1</a>, <a class='index-inst' href='#events-AT_TARGET'>2</a>, <a class='index-inst' href='#events-Events-Event-target'>3</a>, <a class='index-inst' href='#events-Events-EventTarget'>4</a>, <a class='index-inst' href='#events-Events-EventTarget-dispatchEvent'>5</a>, <a class='index-inst' href='#events-Events-eventgroupings-uievents'>6</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>7</a>, <a class='index-inst' href='#glossary-dt-event-target'>8</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-Events-EventListener-handleEvent'>3</a>, <a class='index-inst' href='#glossary-dt-event'>4</a></td>
+</tr>
+<tr>
+<td width='30%'><a class='noxref' href='#events-AT_TARGET'>event target</a> <a class='index-inst' href='#events-AT_TARGET'>1</a>, <a class='index-inst' href='#events-Events-Event-target'>2</a>, <a class='index-inst' href='#events-Events-EventTarget'>3</a>, <a class='index-inst' href='#events-Events-EventTarget-dispatchEvent'>4</a>, <a class='index-inst' href='#events-Events-eventgroupings-uievents'>5</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>6</a>, <a class='index-inst' href='#events-Events-eventgroupings-mousemultiwheelevents'>7</a>, <a class='index-inst' href='#events-Events-eventgroupings-mousewheelevents'>8</a>, <a class='index-inst' href='#glossary-dt-event-target'>9</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-EventException'>EventException</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-EventListener'>EventListener</a></td>
 </tr>
@@ -5998,14 +5863,14 @@
 <td>&#160;</td>
 </tr>
 <tr>
-<td width='30%'><a class='noxref' href='#events-Events-MouseEvent-getModifierState'>getModifierState</a> <a class='index-inst' href='#events-Events-MouseEvent-getModifierState'>1</a>, <a class='index-inst' href='#events-Events-KeyboardEvent-getModifierState'>2</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-KeyboardEvent-getModifierState'>getModifierState</a> <a class='index-inst' href='#events-Events-KeyboardEvent-getModifierState'>1</a>, <a class='index-inst' href='#events-Events-MouseEvent-getModifierState'>2</a></td>
 </tr>
 <tr>
 <td>&#160;</td>
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-EventListener-handleEvent'>handleEvent</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-flow-cancelation'>HTML 4.01</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-Events-registration-html40'>3</a>, <a class='index-inst' href='#events-Events-TextEvents-Interfaces'>4</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>5</a>, <a class='index-inst' href='#events-Events-eventgroupings-basicevents'>6</a>, <a class='index-inst' href='#references-HTML40'>7</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-flow-cancelation'>HTML 4.01</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-Events-TextEvents-Interfaces'>3</a>, <a class='index-inst' href='#events-Events-eventgroupings-mouseevents'>4</a>, <a class='index-inst' href='#events-Events-eventgroupings-basicevents'>5</a>, <a class='index-inst' href='#references-HTML40'>6</a></td>
 </tr>
 <tr>
 <td>&#160;</td>
@@ -6067,20 +5932,20 @@
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>load</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-load'>2</a></td>
-<td width='30%'><a class='noxref' href='#events-Event-types'>local name</a> <a class='index-inst' href='#events-Event-types'>1</a>, <a class='index-inst' href='#events-Events-EventTypes-category'>2</a>, <a class='index-inst' href='#events-Events-Event-type'>3</a>, <a class='index-inst' href='#events-Events-Event-initEvent'>4</a>, <a class='index-inst' href='#glossary-dt-localname'>5</a></td>
+<td width='30%'><a class='noxref' href='#events-Event-types'>local name</a> <a class='index-inst' href='#events-Event-types'>1</a>, <a class='index-inst' href='#events-Events-Event-type'>2</a>, <a class='index-inst' href='#events-Events-Event-initEvent'>3</a>, <a class='index-inst' href='#glossary-dt-localname'>4</a></td>
 </tr>
 <tr>
 <td>&#160;</td>
 </tr>
 <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-Events-KeyboardEvent-metaKey'>metaKey</a> <a class='index-inst' href='#events-Events-KeyboardEvent-metaKey'>1</a>, <a class='index-inst' href='#events-Events-MouseEvent-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-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-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-event-mousemultiwheel'>mousemultiwheel</a> <a class='index-inst' href='#events-event-mousemultiwheel'>1</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>mousemultiwheel</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-mousemultiwheel'>2</a></td>
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-MouseMultiWheelEvent'>MouseMultiWheelEvent</a></td>
@@ -6089,7 +5954,7 @@
 </tr>
 <tr>
 <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-event-mousewheel'>mousewheel</a> <a class='index-inst' href='#events-event-mousewheel'>1</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>mousewheel</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#events-event-mousewheel'>2</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-MouseWheelEvent'>MouseWheelEvent</a></td>
 </tr>
 <tr>
@@ -6100,7 +5965,7 @@
 <td>&#160;</td>
 </tr>
 <tr>
-<td width='30%'><a class='noxref' href='#events-Conformance'>namespace URI</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#events-Event-types'>2</a>, <a class='index-inst' href='#events-Events-EventTypes-category'>3</a>, <a class='index-inst' href='#events-Events-dom2-compatibility'>4</a>, <a class='index-inst' href='#events-Events-Event-namespaceURI'>5</a>, <a class='index-inst' href='#events-Events-Event-initEventNS'>6</a>, <a class='index-inst' href='#glossary-dt-namespaceURI'>7</a></td>
+<td width='30%'><a class='noxref' href='#events-Conformance'>namespace URI</a> <a class='index-inst' href='#events-Conformance'>1</a>, <a class='index-inst' href='#events-Event-types'>2</a>, <a class='index-inst' href='#events-Events-Event-namespaceURI'>3</a>, <a class='index-inst' href='#events-Events-Event-initEventNS'>4</a>, <a class='index-inst' href='#glossary-dt-namespaceURI'>5</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-Event-namespaceURI'>namespaceURI</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-MutationEvent-newValue'>newValue</a></td>
 </tr>
@@ -6135,7 +6000,7 @@
 <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>
+<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-event-resize'>2</a></td>
 </tr>
 <tr>
 <td>&#160;</td>
@@ -6143,25 +6008,24 @@
 <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-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>
+<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-event-scroll'>2</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-KeyboardEvent-shiftKey'>shiftKey</a> <a class='index-inst' href='#events-Events-KeyboardEvent-shiftKey'>1</a>, <a class='index-inst' href='#events-Events-MouseEvent-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-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>
 <td>&#160;</td>
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-Event-target'>target</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-phases'>target node</a> <a class='index-inst' href='#events-Events-phases'>1</a>, <a class='index-inst' href='#events-Events-Event-target'>2</a>, <a class='index-inst' href='#events-Events-Event-currentTarget'>3</a>, <a class='index-inst' href='#events-Events-EventTarget'>4</a>, <a class='index-inst' href='#events-Events-eventgroupings-mutationevents'>5</a>, <a class='index-inst' href='#glossary-dt-target-node'>6</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-phases'>target phase</a> <a class='index-inst' href='#events-Events-phases'>1</a>, <a class='index-inst' href='#events-Events-Registration-interfaces'>2</a>, <a class='index-inst' href='#events-Events-registration-xmlevents'>3</a>, <a class='index-inst' href='#events-Events-registration-voicexmlevents'>4</a>, <a class='index-inst' href='#events-Events-registration-html40'>5</a>, <a class='index-inst' href='#events-Events-EventTarget-addEventListener'>6</a>, <a class='index-inst' href='#glossary-dt-target-phase'>7</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-Event-target'>target node</a> <a class='index-inst' href='#events-Events-Event-target'>1</a>, <a class='index-inst' href='#events-Events-Event-currentTarget'>2</a>, <a class='index-inst' href='#events-Events-EventTarget'>3</a>, <a class='index-inst' href='#events-Events-eventgroupings-mutationevents'>4</a>, <a class='index-inst' href='#events-Events-eventgroupings-mutationnameevents'>5</a>, <a class='index-inst' href='#glossary-dt-target-node'>6</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-EventTarget-addEventListener'>target phase</a> <a class='index-inst' href='#events-Events-EventTarget-addEventListener'>1</a>, <a class='index-inst' href='#glossary-dt-target-phase'>2</a></td>
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-TextEvent'>TextEvent</a></td>
@@ -6188,7 +6052,6 @@
 </tr>
 <tr>
 <td width='30%'><a class='noxref' href='#events-Events-UIEvent-view'>view</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-registration-voicexmlevents'>VoiceXML 2.0</a> <a class='index-inst' href='#events-Events-registration-voicexmlevents'>1</a>, <a class='index-inst' href='#references-VoiceXML20'>2</a></td>
 </tr>
 <tr>
 <td>&#160;</td>
@@ -6205,13 +6068,9 @@
 <td>&#160;</td>
 </tr>
 <tr>
-<td width='30%'><a class='noxref' href='#events-Events-eventgroupings-basicevents'>XForms 1.0</a> <a class='index-inst' href='#events-Events-eventgroupings-basicevents'>1</a>, <a class='index-inst' href='#references-XForms10'>2</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-registration'>XHTML 1.0</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='#events-Events-eventgroupings-basicevents'>3</a>, <a class='index-inst' href='#references-XHTML10'>4</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-eventgroupings-basicevents'>XHTML 1.0</a> <a class='index-inst' href='#events-Events-eventgroupings-basicevents'>1</a>, <a class='index-inst' href='#references-XHTML10'>2</a></td>
 <td width='30%'><a class='noxref' href='#events-Events-EventTypes-complete'>XML 1.0</a> <a class='index-inst' href='#events-Events-EventTypes-complete'>1</a>, <a class='index-inst' href='#references-XML'>2</a></td>
-</tr>
-<tr>
-<td width='30%'><a class='noxref' href='#events-Events-registration'>XML Events</a> <a class='index-inst' href='#events-Events-registration'>1</a>, <a class='index-inst' href='#events-Events-registration-xmlevents'>2</a>, <a class='index-inst' href='#references-XMLEvents'>3</a></td>
-<td width='30%'><a class='noxref' href='#events-Events-EventTypes-category'>XML Namespaces 1.1</a> <a class='index-inst' href='#events-Events-EventTypes-category'>1</a>, <a class='index-inst' href='#events-Events-Event-type'>2</a>, <a class='index-inst' href='#events-Events-EventTarget-dispatchEvent'>3</a>, <a class='index-inst' href='#glossary-dt-localname'>4</a>, <a class='index-inst' href='#glossary-dt-namespaceURI'>5</a>, <a class='index-inst' href='#references-Namespaces11'>6</a></td>
+<td width='30%'><a class='noxref' href='#events-Events-Event-type'>XML Namespaces 1.1</a> <a class='index-inst' href='#events-Events-Event-type'>1</a>, <a class='index-inst' href='#events-Events-EventTarget-dispatchEvent'>2</a>, <a class='index-inst' href='#glossary-dt-localname'>3</a>, <a class='index-inst' href='#glossary-dt-namespaceURI'>4</a>, <a class='index-inst' href='#references-Namespaces11'>5</a></td>
 </tr>
 </table>
 </div>
--- a/source/xml-source.xml	Tue Nov 06 01:44:13 2007 +0900
+++ b/source/xml-source.xml	Thu Nov 08 21:35:49 2007 +0900
@@ -93,7 +93,7 @@
 <!--<day>13</day>-->
    <month>November</month>
 
-   <year>2006</year>
+   <year>2007</year>
   </pubdate>
 
   <publoc>
@@ -270,7 +270,7 @@
    </head>
 
    <p role="important">
-    Copyright &#169; 2006 <loc href="http://www.w3.org/">World Wide Web
+    Copyright &#169; 2007 <loc href="http://www.w3.org/">World Wide Web
     Consortium</loc>, (<loc href="http://www.lcs.mit.edu/">Massachusetts
     Institute of Technology</loc>,
     <loc href="http://www.ercim.org/">European Research Consortium for
@@ -307,7 +307,7 @@
     </note>
 
     <p role="important">
-     Copyright &#169; 2006 <loc href="http://www.w3.org/">World Wide Web
+     Copyright &#169; 2007 <loc href="http://www.w3.org/">World Wide Web
      Consortium</loc>,
      (<loc href="http://www.lcs.mit.edu/">Massachusetts Institute of
      Technology</loc>, <loc href="http://www.ercim.org/">European
@@ -426,7 +426,7 @@
     </note>
 
     <p role="important">
-     Copyright &#169; 2006 <loc href="http://www.w3.org/">World Wide Web
+     Copyright &#169; 2007 <loc href="http://www.w3.org/">World Wide Web
      Consortium</loc>,
      (<loc href="http://www.lcs.mit.edu/">Massachusetts Institute of
      Technology</loc>, <loc href="http://www.ercim.org/">European
@@ -520,7 +520,7 @@
     </note>
 
     <p role="important">
-     Copyright &#169; 2006 <loc href="http://www.w3.org/">World Wide Web
+     Copyright &#169; 2007 <loc href="http://www.w3.org/">World Wide Web
      Consortium</loc>,
      (<loc href="http://www.lcs.mit.edu/">Massachusetts Institute of
      Technology</loc>, <loc href="http://www.ercim.org/">European
@@ -620,6 +620,10 @@
      </head>
 
      <p>
+      (This section is currently being rewritten.)
+     </p>
+
+     <p>
       An implementation is DOM Level 3 Events conformant if it supports
       the Core module defined in <bibref ref="DOM2Core"/>, the
       <specref ref="Events-flow"/> and the interfaces with their
@@ -934,6 +938,10 @@
     </head>
 
     <p>
+     (This section is currently being rewritten.)
+    </p>
+
+    <p>
      Event targets may have associated <term>activation behavior</term>
      that implementations perform in response to an <term>activation
      request</term>. As an example, the typical activiation behavior
@@ -1211,6 +1219,28 @@
 
        <tr>
         <td>
+         <termref def="event-click">dblclick</termref>
+        </td>
+
+        <td>
+         Yes
+        </td>
+
+        <td>
+         Yes
+        </td>
+
+        <td>
+         <code>Element</code>
+        </td>
+
+        <td>
+         <code>MouseEvent</code>
+        </td>
+       </tr>
+
+       <tr>
+        <td>
          <termref def="event-mousedown">mousedown</termref>
         </td>
 
@@ -1365,6 +1395,50 @@
 
        <tr>
         <td>
+         <termref def="event-mousemultiwheel">mousemultiwheel</termref>
+        </td>
+
+        <td>
+         Yes
+        </td>
+
+        <td>
+         Yes
+        </td>
+
+        <td>
+         <code>Document</code>, <code>Element</code>
+        </td>
+
+        <td>
+         <code>MouseMultiWheelEvent</code>
+        </td>
+       </tr>
+
+       <tr>
+        <td>
+         <termref def="event-mousewheel">mousewheel</termref>
+        </td>
+
+        <td>
+         Yes
+        </td>
+
+        <td>
+         Yes
+        </td>
+
+        <td>
+         <code>Document</code>, <code>Element</code>
+        </td>
+
+        <td>
+         <code>MouseWheelEvent</code>
+        </td>
+       </tr>
+
+       <tr>
+        <td>
          <termref def="event-DOMSubtreeModified">DOMSubtreeModified</termref>
         </td>
 
@@ -2258,7 +2332,7 @@
        </descr>
 
        <parameters>
-        <param name="namespaceURI" type="DOMString" attr="in">
+        <param name="namespaceURIArg" type="DOMString" attr="in">
          <descr>
           <p>
            Refer to the <code>Event.initEventNS()</code> method for a
@@ -2847,9 +2921,8 @@
             names are valid values for the parameter
             <code>eventType</code> and represent respectively the
             interfaces "UIEvent", "MouseEvent", "MutationEvent", and
-            "Event", and the characters U+0061 ('a') through U+007A
-            ('z') are considered equivalent to the characters U+0041
-            ('A') through U+005A ('Z').
+            "Event", and the characters 'a'..'z' are considered
+            equivalent to the characters 'A'..'Z'.
            </p>
           </descr>
          </param>
@@ -3060,7 +3133,7 @@
         </descr>
 
         <parameters>
-         <param name="namespaceURI" type="DOMString" attr="in">
+         <param name="namespaceURIArg" type="DOMString" attr="in">
           <descr>
            <p>
             Refer to the <code>Event.initEventNS()</code> method for a
@@ -3373,7 +3446,7 @@
            </th>
 
            <td>
-            Element
+            <code>Element</code>
            </td>
           </tr>
 
@@ -3703,7 +3776,7 @@
         </descr>
 
         <parameters>
-         <param name="namespaceURI" type="DOMString" attr="in">
+         <param name="namespaceURIArg" type="DOMString" attr="in">
           <descr>
            <p>
             Refer to the <code>UIEvent.initUIEventNS()</code> method for
@@ -3712,7 +3785,7 @@
           </descr>
          </param>
 
-         <param name="type" type="DOMString" attr="in">
+         <param name="typeArg" type="DOMString" attr="in">
           <descr>
            <p>
             Refer to the <code>UIEvent.initUIEventNS()</code> method for
@@ -3875,8 +3948,13 @@
      </head>
 
      <p>
+      (This part of the specification is likely to be moved to a
+      separate specification on keyboard events.)
+     </p>
+
+     <p>
       This module defines the feature KeyboardEvents 3.0 and depends on
-      the features UIEvents 3.0.
+      the feature UIEvents 3.0.
      </p>
 
      <p>
@@ -4149,7 +4227,7 @@
           </descr>
          </param>
 
-         <param name="modifiersList" type="DOMString" attr="in">
+         <param name="modifiersListArg" type="DOMString" attr="in">
           <descr>
            <p>
             A
@@ -4183,7 +4261,7 @@
         </descr>
 
         <parameters>
-         <param name="namespaceURI" type="DOMString" attr="in">
+         <param name="namespaceURIArg" type="DOMString" attr="in">
           <descr>
            <p>
             Refer to the <code>UIEvent.initUIEventNS()</code> method for
@@ -4246,7 +4324,7 @@
           </descr>
          </param>
 
-         <param name="modifiersList" type="DOMString" attr="in">
+         <param name="modifiersListArg" type="DOMString" attr="in">
           <descr>
            <p>
             Refer to the <code>KeyboardEvent.initKeyboardEvent()</code>
@@ -4557,7 +4635,7 @@
         <descr>
          <p>
           The horizontal coordinate at which the event occurred relative
-          to the DOM implementation's client area.
+          to the viewport associated with the event.
          </p>
         </descr>
        </attribute>
@@ -4566,7 +4644,7 @@
         <descr>
          <p>
           The vertical coordinate at which the event occurred relative
-          to the DOM implementation's client area.
+          to the viewport associated with the event.
          </p>
         </descr>
        </attribute>
@@ -4822,7 +4900,7 @@
         </descr>
 
         <parameters>
-         <param name="namespaceURI" type="DOMString" attr="in">
+         <param name="namespaceURIArg" type="DOMString" attr="in">
           <descr>
            <p>
             Refer to the <code>UIEvent.initUIEventNS()</code> method for
@@ -4930,7 +5008,7 @@
           </descr>
          </param>
 
-         <param name="modifiersList" type="DOMString" attr="in">
+         <param name="modifiersListArg" type="DOMString" attr="in">
           <descr>
            <p>
             Refer to the
@@ -5701,7 +5779,16 @@
      </p>
 
      <p>
-      ...
+      Multi wheels are devices that can be rotated in one or more
+      spatial dimensions. The coordinate system depends on the
+      environment configuration. As an example, the environment may be
+      configured to associate vertical scrolling with rotation along the
+      y-axis, vertical scrolling with rotation along the x-axis, and
+      zooming with rotation along the z-axis. The delta attributes of
+      <code>MouseMultiWheelEvent</code> objects indicate the distance of
+      the rotation. The measurement unit depends on the environment
+      configuration. The sign of the delta value should indicate the
+      direction of the rotation.
      </p>
 
      <definitions>
@@ -5709,7 +5796,16 @@
       <interface name="MouseMultiWheelEvent" inherits="MouseEvent" id="Events-MouseMultiWheelEvent" since="DOM Level 3">
        <descr>
         <p>
-         ...
+         The <code>MouseMultiWheelEvent</code> interface provides
+         specific contextual information associated with mouse multi
+         wheel events.
+        </p>
+
+        <p>
+         To create an instance of the <code>MouseMultiWheelEvent</code>
+         interface, use the
+         <code>DocumentEvent.createEvent("MouseMultiWheelEvent")</code>
+         method call.
         </p>
        </descr>
 
@@ -5741,12 +5837,13 @@
         <descr>
          <p>
           Initializes attributes of a <code>MouseMultiWheelEvent</code>
-          object.
+          object. This method has the same behavior as
+          <code>MouseEvent.initMouseEventNS()</code>.
          </p>
         </descr>
 
         <parameters>
-         <param name="namespaceURI" type="DOMString" attr="in">
+         <param name="namespaceURIArg" type="DOMString" attr="in">
           <descr>
            <p>
             Refer to the <code>UIEvent.initUIEventNS()</code> method for
@@ -5854,7 +5951,7 @@
           </descr>
          </param>
 
-         <param name="modifiersList" type="DOMString" attr="in">
+         <param name="modifiersListArg" type="DOMString" attr="in">
           <descr>
            <p>
             Refer to the <code>MouseEvent.initMouseEventNS()</code>
@@ -5863,7 +5960,7 @@
           </descr>
          </param>
 
-         <param name="wheelDeltaX" type="long" attr="in">
+         <param name="wheelDeltaXArg" type="long" attr="in">
           <descr>
            <p>
             Specifies <code>MouseMultiWheelEvent.wheelDeltaX</code>.
@@ -5871,7 +5968,7 @@
           </descr>
          </param>
 
-         <param name="wheelDeltaY" type="long" attr="in">
+         <param name="wheelDeltaYArg" type="long" attr="in">
           <descr>
            <p>
             Specifies <code>MouseMultiWheelEvent.wheelDeltaY</code>.
@@ -5879,7 +5976,7 @@
           </descr>
          </param>
 
-         <param name="wheelDeltaZ" type="long" attr="in">
+         <param name="wheelDeltaZArg" type="long" attr="in">
           <descr>
            <p>
             Specifies <code>MouseMultiWheelEvent.wheelDeltaZ</code>.
@@ -5993,13 +6090,18 @@
             <code>MouseEvent.relatedTarget</code> indicates the
             <termref def="dt-event-target">event target</termref> the
             pointing device is pointing at, if any.
+            <code>UIEvent.detail</code> is not in use.
            </td>
           </tr>
          </tbody>
         </table>
 
         <p>
-         ...
+         A mouse wheel has been rotated. A default action of user agent
+         generated event objects of this type causes implementations to
+         dispatch a <code>mousewheel</code> event iff it supports that
+         event type and <code>MouseMultiWheelEvent.wheelDeltaY</code> is
+         non-zero.
         </p>
        </def>
       </gitem>
@@ -6017,7 +6119,9 @@
      </p>
 
      <p>
-      ...
+      Mouse wheel events are a subset of mouse multi wheel events. See
+      <specref ref="Events-eventgroupings-mousemultiwheelevents"/> for
+      additional information.
      </p>
 
      <definitions>
@@ -6025,7 +6129,15 @@
       <interface name="MouseWheelEvent" inherits="MouseEvent" id="Events-MouseWheelEvent" since="DOM Level 3">
        <descr>
         <p>
-         ...
+         The <code>MouseWheelEvent</code> interface provides specific
+         contextual information associated with mouse wheel events.
+        </p>
+
+        <p>
+         To create an instance of the <code>MouseWheelEvent</code>
+         interface, use the
+         <code>DocumentEvent.createEvent("MouseWheelEvent")</code>
+         method call.
         </p>
        </descr>
 
@@ -6041,12 +6153,13 @@
         <descr>
          <p>
           Initializes attributes of a <code>MouseWheelEvent</code>
-          object.
+          object. This method has the same behavior as
+          <code>MouseEvent.initMouseEventNS()</code>.
          </p>
         </descr>
 
         <parameters>
-         <param name="namespaceURI" type="DOMString" attr="in">
+         <param name="namespaceURIArg" type="DOMString" attr="in">
           <descr>
            <p>
             Refer to the <code>UIEvent.initUIEventNS()</code> method for
@@ -6154,7 +6267,7 @@
           </descr>
          </param>
 
-         <param name="modifiersList" type="DOMString" attr="in">
+         <param name="modifiersListArg" type="DOMString" attr="in">
           <descr>
            <p>
             Refer to the <code>MouseEvent.initMouseEventNS()</code>
@@ -6163,7 +6276,7 @@
           </descr>
          </param>
 
-         <param name="wheelDelta" type="long" attr="in">
+         <param name="wheelDeltaArg" type="long" attr="in">
           <descr>
            <p>
             Specifies <code>MouseWheelEvent.wheelDelta</code>.
@@ -6275,13 +6388,14 @@
             <code>MouseEvent.relatedTarget</code> indicates the
             <termref def="dt-event-target">event target</termref> the
             pointing device is pointing at, if any.
+            <code>UIEvent.detail</code> is not in use.
            </td>
           </tr>
          </tbody>
         </table>
 
         <p>
-         ...
+         A mouse wheel has been rotated around the y-axis.
         </p>
        </def>
       </gitem>
@@ -6295,7 +6409,7 @@
 
      <p>
       This module defines the feature MutationEvents 3.0 and depends on
-      the features Events 3.0.
+      the feature Events 3.0.
      </p>
 
      <p>
@@ -6541,7 +6655,7 @@
         </descr>
 
         <parameters>
-         <param name="namespaceURI" type="DOMString" attr="in">
+         <param name="namespaceURIArg" type="DOMString" attr="in">
           <descr>
            <p>
             Refer to the <code>Event.initEventNS()</code> method for a
@@ -6825,9 +6939,8 @@
         </table>
 
         <p>
-         A node has been added as a
-         <termref def="dt-child">child</termref> of another node or, in
-         case of <code>Attr</code> nodes, has been added to an
+         A node has been added as a child of another node or, in case of
+         <code>Attr</code> nodes, has been added to an
          <code>Element</code>. This event is dispatched after the
          insertion has taken place. The
          <termref def="dt-target-node">target node</termref> of this
@@ -7461,7 +7574,7 @@
         </descr>
 
         <parameters>
-         <param name="namespaceURI" type="DOMString" attr="in">
+         <param name="namespaceURIArg" type="DOMString" attr="in">
           <descr>
            <p>
             Refer to the
@@ -7749,16 +7862,6 @@
       listed below.
      </p>
 
-     <p>
-      The event types <termref def="event-resize">resize</termref> and
-      <termref def="event-scroll">scroll</termref> implement the
-      <code>UIEvent</code> interface. All other basic event types
-      implement at least the basic <code>Event</code> interface.
-      However, they may be generated from a user interface; in that
-      case, the event objects also implements the <code>UIEvent</code>
-      interface and <code>UIEvent.view</code> is in use.
-     </p>
-
      <glist role="event-definition">
       <gitem>
        <label id="event-load"><termref def="event-load">load</termref></label>
@@ -7792,7 +7895,8 @@
            </th>
 
            <td>
-            <code>Event</code>
+            <code>UIEvent</code> if generated from a user interface,
+            <code>Event</code> otherwise.
            </td>
           </tr>
 
@@ -7884,7 +7988,8 @@
            </th>
 
            <td>
-            <code>Event</code>
+            <code>UIEvent</code> if generated from a user interface,
+            <code>Event</code> otherwise.
            </td>
           </tr>
 
@@ -7975,7 +8080,8 @@
            </th>
 
            <td>
-            <code>Event</code>
+            <code>UIEvent</code> if generated from a user interface,
+            <code>Event</code> otherwise.
            </td>
           </tr>
 
@@ -8022,8 +8128,7 @@
         </table>
 
         <p>
-         The loading of the document, or a resource linked from it, is
-         stopped before being entirely loaded.
+         Loading of a resource has been aborted.
         </p>
        </def>
       </gitem>
@@ -8062,7 +8167,8 @@
            </th>
 
            <td>
-            <code>Event</code>
+            <code>UIEvent</code> if generated from a user interface,
+            <code>Event</code> otherwise.
            </td>
           </tr>
 
@@ -8150,7 +8256,8 @@
            </th>
 
            <td>
-            <code>Event</code>
+            <code>UIEvent</code> if generated from a user interface,
+            <code>Event</code> otherwise.
            </td>
           </tr>
 
@@ -8238,7 +8345,8 @@
            </th>
 
            <td>
-            <code>Event</code>
+            <code>UIEvent</code> if generated from a user interface,
+            <code>Event</code> otherwise.
            </td>
           </tr>
 
@@ -8326,7 +8434,8 @@
            </th>
 
            <td>
-            <code>Event</code>
+            <code>UIEvent</code> if generated from a user interface,
+            <code>Event</code> otherwise.
            </td>
           </tr>
 
@@ -8373,9 +8482,8 @@
         </table>
 
         <p>
-         A form, such as <bibref role="informative" ref="HTML40"/>,
-         <bibref role="informative" ref="XHTML10"/>, or
-         <bibref role="informative" ref="XForms10"/> form, is submitted.
+         A form, such as a <bibref role="informative" ref="HTML40"/> or
+         <bibref role="informative" ref="XHTML10"/> form, is submitted.
         </p>
        </def>
       </gitem>
@@ -8414,7 +8522,8 @@
            </th>
 
            <td>
-            <code>Event</code>
+            <code>UIEvent</code> if generated from a user interface,
+            <code>Event</code> otherwise.
            </td>
           </tr>
 
@@ -8461,9 +8570,8 @@
         </table>
 
         <p>
-         A form, such as <bibref role="informative" ref="HTML40"/>,
-         <bibref role="informative" ref="XHTML10"/>, or
-         <bibref role="informative" ref="XForms10"/> form, is reset.
+         A form, such as a <bibref role="informative" ref="HTML40"/> or
+         <bibref role="informative" ref="XHTML10"/> form, is reset.
         </p>
        </def>
       </gitem>
@@ -8680,6 +8788,11 @@
    </orglist>
 <?GENERATE-MINI-TOC?>
    <p>
+    (This part of the specification is likely to be moved to a separate
+    specification on keyboard events.)
+   </p>
+
+   <p>
     This section contains necessary information regarding keyboard
     events:
    </p>
@@ -11730,6 +11843,80 @@
     </div3>
    </div2>
   </div1>
+<!--
+ *************************************************************************
+ * END OF CHANGES                                                        *
+ *************************************************************************
+-->
+  <div1 id='Security'>
+   <head>
+    Security Considerations
+   </head>
+
+   <orglist role="editors">
+    <member>
+     <name>Bj&#xf6;rn H&#xf6;hrmann</name>
+    </member>
+   </orglist>
+
+   <p>
+    This appendix discusses security considerations for DOM Level 3
+    Events implementations. The discussion is limited to security issues
+    that arise directly from implementation of the event model, APIs and
+    events defined in this specification. Implementations typically
+    support other features like scripting languages, other APIs and
+    additional events not defined in this document; these features
+    constitute an unknown factor and are out of scope of this document.
+    Implementers should consult the specifications of such features for
+    their respective security considerations.
+   </p>
+
+   <p>
+    Many of the event types defined in this specification are dispatched
+    in response to user actions. This allows malicious event listeners
+    to gain access to information users would typically consider
+    confidential, e.g., typos they might have made when filling out a
+    form, if they reconsider their answer to a multiple choice question
+    shortly before submitting a form, their typing rate or primary input
+    mechanism. In the worst case, malicious event listeners are able to
+    capture all user interactions and submit them to a third party
+    through means, while not defined in DOM Level 3 Events, generally
+    available in DOM implementations.
+   </p>
+
+   <p>
+    In DOM implementations that support facilities to load external
+    data, events like the <code>error</code> event can provide access to
+    sensitive information about the environment of the computer system
+    or network; an example would be a malicious HTML document that
+    attempts to embed a resource on the local network or the localhost
+    on different ports; an embedded DOM application could then listen
+    for <code>error</code> and <code>load</code> events to determine
+    which other computers in a network are accessible from the local
+    system or which ports are open on the system to prepare further
+    attacks.
+   </p>
+
+   <p>
+    An implementation of DOM Level 3 Events alone is generally
+    insufficient to perform attacks of this kind and the security
+    considerations of the facilities that possibly support such attacks
+    apply. For conformance with this specification, DOM implementations
+    may take reasonable steps to ensure that DOM applications do not get
+    access to confidential or sensitive information, for example, they
+    may choose to dispatch no <code>load</code> events to nodes that
+    attempt to embed resources on the local network.
+   </p>
+
+   <p>
+    The <code>DocumentEvent.canDispatch()</code> method allows DOM
+    applications to retrieve information about which event types the
+    implementation supports, including event types not defined in this
+    specification. Which event types a DOM Level 3 Events implementation
+    supports can depend on configuration settings or on additional
+    software modules available to the implementation.
+   </p>
+  </div1>
 
   <div1 role="idl" id="idl">
    <head>
@@ -12657,13 +12844,11 @@
      <loc href="http://www.w3.org/TR/SVG11/">latest version of SVG
      1.1</loc> is available at http://www.w3.org/TR/SVG11/.
     </bibl>
-<!--
-      @@@ http://lists.w3.org/Archives/Public/www-i18n-comments/2006Apr/0000
--->
+
     <bibl id="Unicode" key="Unicode">
-     <titleref>The Unicode Standard, Version 4</titleref>, ISBN
-     0-321-18578-1, as updated from time to time by the publication of
-     new versions. The Unicode Consortium, 2003. See also
+     <titleref>The Unicode Standard, Version 5.0</titleref>, ISBN
+     0-321-48091-0, as updated from time to time by the publication of
+     new versions. See also
      <loc href="http://www.unicode.org/unicode/standard/versions">Versions
      of the Unicode Standard</loc>, available at
      http://www.unicode.org/unicode/standard/versions, for latest
@@ -12678,15 +12863,6 @@
      http://www.unicode.org/reports/tr15/.
     </bibl>
 
-    <bibl id="XForms10" key="XForms 1.0" href="http://www.w3.org/TR/2006/REC-xforms-20060314/">
-     <titleref>XForms 1.0 (Second Edition)</titleref>, 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
-     <loc href="http://www.w3.org/TR/xforms/">latest version of XForms
-     1.0</loc> is available at http://www.w3.org/TR/xforms/.
-    </bibl>
-
     <bibl id="XHTML10" key="XHTML 1.0" href="http://www.w3.org/TR/2002/REC-xhtml1-20020801">
      <titleref>XHTML 1.0: The Extensible HyperText Markup Language
      (Second Edition)</titleref>, S. Pemberton, et al., Authors. World