[html5] r2939 - [] (0) Tighten up the definitions of event handler attributes. (bug 6490)

whatwg at whatwg.org whatwg at whatwg.org
Tue Mar 31 16:44:32 PDT 2009


Author: ianh
Date: 2009-03-31 16:44:31 -0700 (Tue, 31 Mar 2009)
New Revision: 2939

Modified:
   index
   source
Log:
[] (0) Tighten up the definitions of event handler attributes. (bug 6490)

Modified: index
===================================================================
--- index	2009-03-31 21:59:25 UTC (rev 2938)
+++ index	2009-03-31 23:44:31 UTC (rev 2939)
@@ -7734,8 +7734,8 @@
    <li><code title=handler-onsubmit><a href=#handler-onsubmit>onsubmit</a></code></li>
   </ul><p class=note>The attributes marked with an asterisk cannot be
   specified on <code><a href=#the-body-element>body</a></code> elements as those elements expose
-  <a href=#event-handler-attributes-0>event handler attributes</a> of the <code><a href=#window>Window</a></code>
-  object with the same names.</p>
+  <a href=#event-handler-attributes-0>event handler attributes</a> of the <code><a href=#window>Window</a></code> object with the same
+  names.</p>
 
   <hr><p>Also, <a href=#custom-data-attribute title="custom data attribute">custom data
   attributes</a> (e.g. <code title="">data-foldername</code> or
@@ -11808,8 +11808,8 @@
   attribute</a> on the <code><a href=#the-body-element>body</a></code> element. This is because
   the event would bubble from the target, to the <code><a href=#the-body-element>body</a></code>, to
   the <code><a href=#the-html-element>html</a></code>, to the <code>Document</code>, to the
-  <code><a href=#window>Window</a></code>, and the event handler attribute on the
-  <code><a href=#the-body-element>body</a></code> is watching the <code><a href=#window>Window</a></code> not the
+  <code><a href=#window>Window</a></code>, and the <a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> on
+  the <code><a href=#the-body-element>body</a></code> is watching the <code><a href=#window>Window</a></code> not the
   <code><a href=#the-body-element>body</a></code>. A regular event listener attached to the
   <code><a href=#the-body-element>body</a></code> using <code title="">addEventListener()</code>,
   however, would fire when the event bubbled through the
@@ -40802,8 +40802,8 @@
    </li>
 
    <li><p>If the previous steps failed to compile the script, then set
-   the corresponding event handler attribute to null and abort these
-   steps.</li>
+   the corresponding <a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> to null and
+   abort these steps.</li>
 
    <li><p>Set up the <a href="#script's-global-object">script's global object</a>, the
    <a href="#script's-browsing-context">script's browsing context</a>, the <a href="#script's-url-character-encoding">script's URL
@@ -40811,51 +40811,58 @@
    from <a href=#the-script-settings-determined-from-the-node>the script settings determined from the node</a> on
    which the attribute is being set.</li>
 
-   <li><p>Set the corresponding event handler attribute to the
-   aforementioned function.</li>
+   <li><p>Set the corresponding <a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a>
+   to the aforementioned function.</li>
 
   </ol></div>
 
-  <p class=note>When an event handler content attribute is set on an
+  <p class=note>When an <a href=#event-handler-content-attributes title="event handler content
+  attributes">event handler content attribute</a> is set on an
   element owned by a <code>Document</code> that is not in a
   <a href=#browsing-context>browsing context</a>, the corresponding event handler
   attribute is not changed.</p>
 
-  <p class=note>Removing an event handler content attribute does not
-  reset the corresponding event handler attribute.</p>
-  <!-- http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A...%3Cbody%20onload%3D%22w(%27pass%27)%22%3E%0A%3Cscript%3Edocument.body.removeAttribute(%27onload%27)%3B%3C%2Fscript%3E -->
+  <p class=note>Removing an <a href=#event-handler-content-attributes title="event handler content
+  attributes">event handler content attribute</a> does not reset
+  the corresponding <a href=#event-handler-attributes-0 title="event handler attributes">event
+  handler attribute</a>.</p> <!--
+  http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A...%3Cbody%20onload%3D%22w(%27pass%27)%22%3E%0A%3Cscript%3Edocument.body.removeAttribute(%27onload%27)%3B%3C%2Fscript%3E
+  -->
 
   <p class=XXX>How do we allow non-JS event handlers?</p>
 
   <div class=impl>
 
-  <hr><p>All event handler attributes on an element, whether set to null
-  or to a <code><a href=#function>Function</a></code> object, must be registered as event
-  listeners on the element, as if the <code title=dom-EventTarget-addEventListenerNS>addEventListenerNS()</code>
+  <hr><p>All <a href=#event-handler-attributes-0>event handler attributes</a> on an element, whether
+  set to null or to a <code><a href=#function>Function</a></code> object, must be registered
+  as event listeners on the element, as if the <code title=dom-EventTarget-addEventListenerNS>addEventListenerNS()</code>
   method on the <code>Element</code> object's <code>EventTarget</code>
   interface had been invoked when the event handler attribute's
   element or object was created, with the event type (<var title=dom-event-type>type</var> argument) equal to the type
-  described for the event handler attribute in the list above, the
-  namespace (<var title=dom-event-namespaceURI>namespaceURI</var>
-  argument) set to null, the listener set to be a target and bubbling
-  phase listener (<var title=dom-event-useCapture>useCapture</var>
-  argument set to false), the event group set to the default group
-  (<var title=dom-event-evtGroup>evtGroup</var> argument set to
-  null), and the event listener itself (<var title=dom-event-listener>listener</var> argument) set to do
+  corresponding to the event handler attribute (the <dfn id=event-handler-event-type>event handler
+  event type</dfn>), the namespace (<var title=dom-event-namespaceURI>namespaceURI</var> argument) set to
+  null, the listener set to be a target and bubbling phase listener
+  (<var title=dom-event-useCapture>useCapture</var> argument set to
+  false), the event group set to the default group (<var title=dom-event-evtGroup>evtGroup</var> argument set to null), and
+  the event listener itself (<var title=dom-event-listener>listener</var> argument) set to do
   nothing while the event handler attribute's value is not a
   <code><a href=#function>Function</a></code> object, and set to invoke the <code title=dom-function-call><a href=#dom-function-call>call()</a></code> callback of the
   <code><a href=#function>Function</a></code> object associated with the event handler
   attribute otherwise.</p>
 
   <p class=note>The <var title=dom-event-listener>listener</var>
-  argument is emphatically <em>not</em> the event handler attribute
-  itself.</p>
+  argument is emphatically <em>not</em> the <a href=#event-handler-attributes-0 title="event handler
+  attributes">event handler attribute</a> itself.</p>
 
-  <p>When an event handler attribute's <code><a href=#function>Function</a></code> objectw
-  is invoked, its <code title=dom-function-call><a href=#dom-function-call>call()</a></code>
-  callback must be invoked with one argument, set to the
-  <code>Event</code> object of the event in question.</p>
+  <p class=note>The interfaces implemented by the event object do
+  not affect whether an <a href=#event-handler-attributes-0 title="event handler attributes">event
+  handler attribute</a> is used or not.</p>
 
+  <p>When an <a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a>'s
+  <code><a href=#function>Function</a></code> object is invoked, its <code title=dom-function-call><a href=#dom-function-call>call()</a></code> callback must be invoked
+  with one argument, set to the <code>Event</code> object of the event
+  in question.</p>
+
   <p>The handler's return value must then be processed as follows:</p>
 
   <dl class=switch><dt>If the event type is <code class=event-mouseover>mouseover</code></dt>
@@ -40897,259 +40904,74 @@
 
   <h5 id=event-handler-attributes-on-elements,-document-objects,-and-window-objects><span class=secno>5.5.6.2 </span>Event handler attributes on elements, <code>Document</code> objects, and <code><a href=#window>Window</a></code> objects</h5>
 
-  <p>The following are the event handler attributes that must be
-  supported by all <a href=#html-elements>HTML elements</a>, as both content
-  attributes and DOM attributes, and on <code>Document</code> and
-  <code><a href=#window>Window</a></code> objects, as DOM attributes:</p>
+  <p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> (and their corresponding <a href=#event-handler-event-type title="event handler event type">event handler event types</a>)
+  that must be supported by all <a href=#html-elements>HTML elements</a>, as both
+  content attributes and DOM attributes, and on <code>Document</code>
+  and <code><a href=#window>Window</a></code> objects, as DOM attributes.</p>
 
-  <dl><dt><dfn id=handler-onabort title=handler-onabort><code>onabort</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code title=event-abort><a href=#event-abort>abort</a></code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-<!--
-   <dt><dfn title="handler-onbeforecopy"><code>onbeforecopy</code></dfn></dt> --><!-- widely used --><!--
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-beforecopy">beforecopy</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
--->
-
-   <dt><dfn id=handler-onblur title=handler-onblur><code>onblur</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-blur>blur</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-onchange title=handler-onchange><code>onchange</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-change>change</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-onclick title=handler-onclick><code>onclick</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-click>click</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-oncontextmenu title=handler-oncontextmenu><code>oncontextmenu</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-contextmenu>contextmenu</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-<!--
-   <dt><dfn title="handler-oncopy"><code>oncopy</code></dfn></dt> --><!-- widely used --><!--
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-copy">copy</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
--->
-
-   <dt><dfn id=handler-ondblclick title=handler-ondblclick><code>ondblclick</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-dblclick>dblclick</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-ondrag title=handler-ondrag><code>ondrag</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code title=event-drag><a href=#event-drag>drag</a></code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-ondragend title=handler-ondragend><code>ondragend</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code title=event-dragend><a href=#event-dragend>dragend</a></code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-ondragenter title=handler-ondragenter><code>ondragenter</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code title=event-dragenter><a href=#event-dragenter>dragenter</a></code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-ondragleave title=handler-ondragleave><code>ondragleave</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code title=event-dragleave><a href=#event-dragleave>dragleave</a></code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-ondragover title=handler-ondragover><code>ondragover</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code title=event-dragover><a href=#event-dragover>dragover</a></code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-ondragstart title=handler-ondragstart><code>ondragstart</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-dragstart><a href=#event-dragstart>dragstart</a></code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-ondrop title=handler-ondrop><code>ondrop</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code title=event-drop><a href=#event-drop>drop</a></code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-onfocus title=handler-onfocus><code>onfocus</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-focus>focus</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-onkeydown title=handler-onkeydown><code>onkeydown</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-keydown>keydown</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-onkeypress title=handler-onkeypress><code>onkeypress</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-keypress>keypress</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-onkeyup title=handler-onkeyup><code>onkeyup</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-keyup>keyup</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-onmousedown title=handler-onmousedown><code>onmousedown</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-mousedown>mousedown</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-onmousemove title=handler-onmousemove><code>onmousemove</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-mousemove>mousemove</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-onmouseout title=handler-onmouseout><code>onmouseout</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-mouseout>mouseout</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-onmouseover title=handler-onmouseover><code>onmouseover</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-mouseover>mouseover</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-onmouseup title=handler-onmouseup><code>onmouseup</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-mouseup>mouseup</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-   <dt><dfn id=handler-onmousewheel title=handler-onmousewheel><code>onmousewheel</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-mousewheel>mousewheel</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-<!--
-   <dt><dfn title="handler-onpaste"><code>onpaste</code></dfn></dt> --><!-- widely used --><!--
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-paste">paste</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
--->
-
-   <dt><dfn id=handler-onscroll title=handler-onscroll><code>onscroll</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-scroll>scroll</code> event is targeted at or bubbles
-   through the element or object.</dd> <!-- XXX should define when it fires -->
-
-   <dt><dfn id=handler-onselect title=handler-onselect><code>onselect</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-select><a href=#event-select>select</a></code> event is targeted at or bubbles
-   through the element or object.</dd> <!-- XXX should define when it fires -->
-
-<!--XXX
-   <dt><dfn title="handler-onselectstart"><code>onselectstart</code></dfn></dt> --><!-- widely used --><!--
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-selectstart">selectstart</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
---> <!-- XXX should define when it fires -->
-
-   <dt><dfn id=handler-onsubmit title=handler-onsubmit><code>onsubmit</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-submit>submit</code> event is targeted at or bubbles
-   through the element or object.</dd>
-
-  </dl><hr><p>The following are the event handler attributes that must be
-  supported by all <a href=#html-elements>HTML elements</a> other than
+  <table><thead><tr><th><a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> <th><a href=#event-handler-event-type>Event handler event type</a>
+   <tbody><tr><td><dfn id=handler-onabort title=handler-onabort><code>onabort</code></dfn> <td> <code title=event-abort><a href=#event-abort>abort</a></code>
+<!--<tr><td><dfn title="handler-onbeforecopy"><code>onbeforecopy</code></dfn> <td> <code title="event-beforecopy">beforecopy</code>--> <!-- widely used -->
+    <tr><td><dfn id=handler-onblur title=handler-onblur><code>onblur</code></dfn> <td> <code title=event-blur>blur</code> <!-- widely used -->
+    <tr><td><dfn id=handler-onchange title=handler-onchange><code>onchange</code></dfn> <td> <code title=event-change>change</code> <!-- widely used -->
+    <tr><td><dfn id=handler-onclick title=handler-onclick><code>onclick</code></dfn> <td> <code title=event-click>click</code> <!-- widely used -->
+    <tr><td><dfn id=handler-oncontextmenu title=handler-oncontextmenu><code>oncontextmenu</code></dfn> <td> <code title=event-contextmenu>contextmenu</code> <!-- widely used -->
+<!--<tr><td><dfn title="handler-oncopy"><code>oncopy</code></dfn> <td> <code title="event-copy">copy</code>--> <!-- widely used -->
+    <tr><td><dfn id=handler-ondblclick title=handler-ondblclick><code>ondblclick</code></dfn> <td> <code title=event-dblclick>dblclick</code> <!-- widely used -->
+    <tr><td><dfn id=handler-ondrag title=handler-ondrag><code>ondrag</code></dfn> <td> <code title=event-drag><a href=#event-drag>drag</a></code>
+    <tr><td><dfn id=handler-ondragend title=handler-ondragend><code>ondragend</code></dfn> <td> <code title=event-dragend><a href=#event-dragend>dragend</a></code>
+    <tr><td><dfn id=handler-ondragenter title=handler-ondragenter><code>ondragenter</code></dfn> <td> <code title=event-dragenter><a href=#event-dragenter>dragenter</a></code>
+    <tr><td><dfn id=handler-ondragleave title=handler-ondragleave><code>ondragleave</code></dfn> <td> <code title=event-dragleave><a href=#event-dragleave>dragleave</a></code>
+    <tr><td><dfn id=handler-ondragover title=handler-ondragover><code>ondragover</code></dfn> <td> <code title=event-dragover><a href=#event-dragover>dragover</a></code>
+    <tr><td><dfn id=handler-ondragstart title=handler-ondragstart><code>ondragstart</code></dfn> <td> <code title=event-dragstart><a href=#event-dragstart>dragstart</a></code> <!-- widely used -->
+    <tr><td><dfn id=handler-ondrop title=handler-ondrop><code>ondrop</code></dfn> <td> <code title=event-drop><a href=#event-drop>drop</a></code>
+    <tr><td><dfn id=handler-onfocus title=handler-onfocus><code>onfocus</code></dfn> <td> <code title=event-focus>focus</code> <!-- widely used -->
+    <tr><td><dfn id=handler-onkeydown title=handler-onkeydown><code>onkeydown</code></dfn> <td> <code title=event-keydown>keydown</code> <!-- widely used -->
+    <tr><td><dfn id=handler-onkeypress title=handler-onkeypress><code>onkeypress</code></dfn> <td> <code title=event-keypress>keypress</code> <!-- widely used -->
+    <tr><td><dfn id=handler-onkeyup title=handler-onkeyup><code>onkeyup</code></dfn> <td> <code title=event-keyup>keyup</code> <!-- widely used -->
+    <tr><td><dfn id=handler-onmousedown title=handler-onmousedown><code>onmousedown</code></dfn> <td> <code title=event-mousedown>mousedown</code> <!-- widely used -->
+    <tr><td><dfn id=handler-onmousemove title=handler-onmousemove><code>onmousemove</code></dfn> <td> <code title=event-mousemove>mousemove</code> <!-- widely used -->
+    <tr><td><dfn id=handler-onmouseout title=handler-onmouseout><code>onmouseout</code></dfn> <td> <code title=event-mouseout>mouseout</code> <!-- widely used -->
+    <tr><td><dfn id=handler-onmouseover title=handler-onmouseover><code>onmouseover</code></dfn> <td> <code title=event-mouseover>mouseover</code> <!-- widely used -->
+    <tr><td><dfn id=handler-onmouseup title=handler-onmouseup><code>onmouseup</code></dfn> <td> <code title=event-mouseup>mouseup</code> <!-- widely used -->
+    <tr><td><dfn id=handler-onmousewheel title=handler-onmousewheel><code>onmousewheel</code></dfn> <td> <code title=event-mousewheel>mousewheel</code> <!-- widely used -->
+<!--<tr><td><dfn title="handler-onpaste"><code>onpaste</code></dfn> <td> <code title="event-paste">paste</code>--> <!-- widely used -->
+    <tr><td><dfn id=handler-onscroll title=handler-onscroll><code>onscroll</code></dfn> <td> <code title=event-scroll>scroll</code> <!-- widely used --> <!-- XXX should define when it fires -->
+    <tr><td><dfn id=handler-onselect title=handler-onselect><code>onselect</code></dfn> <td> <code title=event-select><a href=#event-select>select</a></code> <!-- widely used --> <!-- XXX should define when it fires -->
+<!--<tr><td><dfn title="handler-onselectstart"><code>onselectstart</code></dfn> <td> <code title="event-selectstart">selectstart</code>--> <!-- widely used --> <!-- XXX should define when it fires -->
+    <tr><td><dfn id=handler-onsubmit title=handler-onsubmit><code>onsubmit</code></dfn> <td> <code title=event-submit>submit</code> <!-- widely used -->
+  </table><hr><p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> (and their corresponding <a href=#event-handler-event-type title="event handler event type">event handler event types</a>)
+  that must be supported by all <a href=#html-elements>HTML elements</a> other than
   <code><a href=#the-body-element>body</a></code>, as both content attributes and DOM attributes,
   and on <code>Document</code> objects, as DOM attributes:</p>
 
-  <dl><dt><dfn id=handler-onerror title=handler-onerror><code>onerror</code></dfn></dt>
+  <table><thead><tr><th><a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> <th><a href=#event-handler-event-type>Event handler event type</a>
+   <tbody><tr><td><dfn id=handler-onerror title=handler-onerror><code>onerror</code></dfn> <td> <code title=event-error><a href=#event-error>error</a></code>
+    <tr><td><dfn id=handler-onload title=handler-onload><code>onload</code></dfn> <td> <code title=event-load><a href=#event-load>load</a></code>
+  </table><hr><p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> (and their corresponding <a href=#event-handler-event-type title="event handler event type">event handler event types</a>)
+  that must be supported by <code><a href=#window>Window</a></code> objects, as DOM
+  attributes on the <code><a href=#window>Window</a></code> object, and with corresponding
+  content attributes and DOM attributes exposed on the
+  <code><a href=#the-body-element>body</a></code> element:</p>
 
-   <dd><p>Must be invoked whenever a <code title=event-error><a href=#event-error>error</a></code> event is targeted at or bubbles
-   through the element.</dd>
+  <table><thead><tr><th><a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> <th><a href=#event-handler-event-type>Event handler event type</a>
+   <tbody><tr><td><dfn id=handler-window-onbeforeunload title=handler-window-onbeforeunload><code>onbeforeunload</code></dfn> <td> <code title=event-beforeunload>beforeunload</code>
+    <tr><td><dfn id=handler-window-onerror title=handler-window-onerror><code>onerror</code></dfn> <td> <code title=event-error><a href=#event-error>error</a></code>
+    <tr><td><dfn id=handler-window-onhashchange title=handler-window-onhashchange><code>onhashchange</code></dfn> <td> <code title=event-hashchange>hashchange</code> <!-- new -->
+    <tr><td><dfn id=handler-window-onload title=handler-window-onload><code>onload</code></dfn> <td> <code title=event-load><a href=#event-load>load</a></code> <!-- widely used -->
+    <tr><td><dfn id=handler-window-onmessage title=handler-window-onmessage><code>onmessage</code></dfn> <td> <code title=event-message><a href=#event-message>message</a></code> <!-- new for postMessage -->
+    <tr><td><dfn id=handler-window-onoffline title=handler-window-onoffline><code>onoffline</code></dfn> <td> <code title=event-offline><a href=#event-offline>offline</a></code> <!-- new -->
+    <tr><td><dfn id=handler-window-ononline title=handler-window-ononline><code>ononline</code></dfn> <td> <code title=event-online><a href=#event-online>online</a></code> <!-- new -->
+    <tr><td><dfn id=handler-window-onpopstate title=handler-window-onpopstate><code>onpopstate</code></dfn> <td> <code title=event-popstate><a href=#event-popstate>popstate</a></code> <!-- new -->
+    <tr><td><dfn id=handler-window-onresize title=handler-window-onresize><code>onresize</code></dfn> <td> <code title=event-resize>resize</code> <!-- widely used --> <!-- XXX should define when it fires -->
+    <tr><td><dfn id=handler-window-onstorage title=handler-window-onstorage><code>onstorage</code></dfn> <td> <code title=event-storage>storage</code> <!-- new -->
+    <tr><td><dfn id=handler-window-onunload title=handler-window-onunload><code>onunload</code></dfn> <td> <code title=event-unload>unload</code> <!-- widely used -->
+  </table><p class=note>The <code title=handler-window-onerror><a href=#handler-window-onerror>onerror</a></code>
+  handler is also used for <a href=#runtime-script-errors>reporting script errors</a>.</p>
 
-   <dt><dfn id=handler-onload title=handler-onload><code>onload</code></dfn></dt>
+  </div>
 
-   <dd><p>Must be invoked whenever a <code title=event-load><a href=#event-load>load</a></code> event is targeted at or bubbles
-   through the element.</dd>
 
-  </dl><hr><p>The following are the event handler attributes that must be
-  supported by <code><a href=#window>Window</a></code> objects, as DOM attributes on the
-  <code><a href=#window>Window</a></code> object, and with corresponding content
-  attributes and DOM attributes exposed on the <code><a href=#the-body-element>body</a></code>
-  element:</p>
-
-  <dl><dt><dfn id=handler-window-onbeforeunload title=handler-window-onbeforeunload><code>onbeforeunload</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code title=event-beforeunload>beforeunload</code> event is targeted at or bubbles
-   through the object.</dd>
-
-   <dt><dfn id=handler-window-onerror title=handler-window-onerror><code>onerror</code></dfn></dt>
-
-   <dd>
-
-    <p>Must be invoked whenever an <code title=event-error><a href=#event-error>error</a></code> event is targeted at or bubbles
-    through the object.</p>
-
-    <p class=note>The <code title=handler-window-onerror><a href=#handler-window-onerror>onerror</a></code>
-    handler is also used for <a href=#runtime-script-errors>reporting script errors</a>.</p>
-
-   </dd>
-
-   <dt><dfn id=handler-window-onhashchange title=handler-window-onhashchange><code>onhashchange</code></dfn></dt> <!-- new -->
-
-   <dd><p>Must be invoked whenever a <code title=event-hashchange>hashchange</code> event is targeted at or bubbles
-   through the object.</dd>
-
-   <dt><dfn id=handler-window-onload title=handler-window-onload><code>onload</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-load><a href=#event-load>load</a></code> event is targeted at or bubbles
-   through the object.</dd>
-
-   <dt><dfn id=handler-window-onmessage title=handler-window-onmessage><code>onmessage</code></dfn></dt> <!-- new for postMessage -->
-
-   <dd><p>Must be invoked whenever a <code title=event-message><a href=#event-message>message</a></code> event is targeted at or bubbles
-   through the object.</dd>
-
-   <dt><dfn id=handler-window-onoffline title=handler-window-onoffline><code>onoffline</code></dfn></dt> <!-- new -->
-
-   <dd><p>Must be invoked whenever a <code title=event-offline><a href=#event-offline>offline</a></code> event is targeted at or bubbles
-   through the object.</dd>
-
-   <dt><dfn id=handler-window-ononline title=handler-window-ononline><code>ononline</code></dfn></dt> <!-- new -->
-
-   <dd><p>Must be invoked whenever a <code title=event-online><a href=#event-online>online</a></code> event is targeted at or bubbles
-   through the object.</dd>
-
-   <dt><dfn id=handler-window-onpopstate title=handler-window-onpopstate><code>onpopstate</code></dfn></dt> <!-- new -->
-
-   <dd><p>Must be invoked whenever a <code title=event-popstate><a href=#event-popstate>popstate</a></code> event is targeted at or bubbles
-   through the object.</dd>
-
-   <dt><dfn id=handler-window-onresize title=handler-window-onresize><code>onresize</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code title=event-resize>resize</code> event is targeted at or bubbles
-   through the object.</dd> <!-- XXX should define when it fires -->
-
-   <dt><dfn id=handler-window-onstorage title=handler-window-onstorage><code>onstorage</code></dfn></dt> <!-- new -->
-
-   <dd><p>Must be invoked whenever a <code title=event-storage>storage</code> event is targeted at or bubbles
-   through the object.</dd>
-
-   <dt><dfn id=handler-window-onunload title=handler-window-onunload><code>onunload</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever an <code title=event-unload>unload</code> event is targeted at or bubbles
-   through the object.</dd>
-
-  </dl></div>
-
-
   <div class=impl>
 
   <h5 id=event-firing><span class=secno>5.5.6.3 </span>Event firing</h5>
@@ -41261,9 +41083,8 @@
 
   <hr><p>When the user agent is required to <dfn id=report-the-error title="report the
   error">report an error</dfn> <var title="">error</var> using the
-  event handler attribute <var title="">onerror</var>, it must run
-  these steps, after which the error is either <i title="">handled</i>
-  or <i title="">not handled</i>:</p>
+  <a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> <var title="">onerror</var>, it
+  must run these steps, after which the error is either <i title="">handled</i> or <i title="">not handled</i>:</p>
 
   <dl class=switch><dt>If the value of <var title="">onerror</var> is a
    <code><a href=#function>Function</a></code></dt>
@@ -43697,62 +43518,24 @@
    <a href=#cache-host>cache host</a> from <var title="">cache</var> and instead
    associate it with <var title="">new cache</var>.</li>
 
-  </ol><p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> that
-  must be supported, as DOM attributes, by all objects implementing
-  the <code><a href=#applicationcache>ApplicationCache</a></code> interface:</p>
+  </ol><p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> (and
+  their corresponding <a href=#event-handler-event-type title="event handler event type">event
+  handler event types</a>) that must be supported, as DOM
+  attributes, by all objects implementing the
+  <code><a href=#applicationcache>ApplicationCache</a></code> interface:</p>
 
-  <dl><dt><dfn id=handler-appcache-onchecking title=handler-appcache-onchecking><code>onchecking</code></dfn></dt>
+  <table><thead><tr><th><a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> <th><a href=#event-handler-event-type>Event handler event type</a>
+   <tbody><tr><td><dfn id=handler-appcache-onchecking title=handler-appcache-onchecking><code>onchecking</code></dfn> <td> <code title=event-checking>checking</code>
+    <tr><td><dfn id=handler-appcache-onerror title=handler-appcache-onerror><code>onerror</code></dfn> <td> <code title=event-error><a href=#event-error>error</a></code>
+    <tr><td><dfn id=handler-appcache-onnoupdate title=handler-appcache-onnoupdate><code>onnoupdate</code></dfn> <td> <code title=event-noupdate>noupdate</code>
+    <tr><td><dfn id=handler-appcache-ondownloading title=handler-appcache-ondownloading><code>ondownloading</code></dfn> <td> <code title=event-downloading>downloading</code>
+    <tr><td><dfn id=handler-appcache-onprogress title=handler-appcache-onprogress><code>onprogress</code></dfn> <td> <code title=event-progress><a href=#event-progress>progress</a></code>
+    <tr><td><dfn id=handler-appcache-onupdateready title=handler-appcache-onupdateready><code>onupdateready</code></dfn> <td> <code title=event-updateready>updateready</code>
+    <tr><td><dfn id=handler-appcache-oncached title=handler-appcache-oncached><code>oncached</code></dfn> <td> <code title=event-cached>cached</code>
+    <tr><td><dfn id=handler-appcache-onobsolete title=handler-appcache-onobsolete><code>onobsolete</code></dfn> <td> <code title=event-obsolete>obsolete</code>
+  </table></div>
 
-   <dd><p>Must be invoked whenever an <code title=event-checking>checking</code> event is targeted at or
-   bubbles through the <code><a href=#applicationcache>ApplicationCache</a></code> object.</dd>
 
-
-   <dt><dfn id=handler-appcache-onerror title=handler-appcache-onerror><code>onerror</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code title=event-error><a href=#event-error>error</a></code> event is targeted at or bubbles
-   through the <code><a href=#applicationcache>ApplicationCache</a></code> object.</dd>
-
-
-   <dt><dfn id=handler-appcache-onnoupdate title=handler-appcache-onnoupdate><code>onnoupdate</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code title=event-noupdate>noupdate</code> event is targeted at or
-   bubbles through the <code><a href=#applicationcache>ApplicationCache</a></code> object.</dd>
-
-
-   <dt><dfn id=handler-appcache-ondownloading title=handler-appcache-ondownloading><code>ondownloading</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code title=event-downloading>downloading</code> event is targeted at
-   or bubbles through the <code><a href=#applicationcache>ApplicationCache</a></code>
-   object.</dd>
-
-
-   <dt><dfn id=handler-appcache-onprogress title=handler-appcache-onprogress><code>onprogress</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code title=event-progress><a href=#event-progress>progress</a></code> event is targeted at or
-   bubbles through the <code><a href=#applicationcache>ApplicationCache</a></code> object.</dd>
-
-
-   <dt><dfn id=handler-appcache-onupdateready title=handler-appcache-onupdateready><code>onupdateready</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code title=event-updateready>updateready</code> event is targeted at
-   or bubbles through the <code><a href=#applicationcache>ApplicationCache</a></code>
-   object.</dd>
-
-
-   <dt><dfn id=handler-appcache-oncached title=handler-appcache-oncached><code>oncached</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code title=event-cached>cached</code> event is targeted at or bubbles
-   through the <code><a href=#applicationcache>ApplicationCache</a></code> object.</dd>
-
-
-   <dt><dfn id=handler-appcache-onobsolete title=handler-appcache-onobsolete><code>onobsolete</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code title=event-obsolete>obsolete</code> event is targeted at or bubbles
-   through the <code><a href=#applicationcache>ApplicationCache</a></code> object.</dd>
-
-  </dl></div>
-
-
   <h4 id=browser-state><span class=secno>5.8.9 </span>Browser state</h4>
 
   <dl class=domintro><dt><var title="">window</var> . <code title=dom-navigator><a href=#dom-navigator>navigator</a></code> . <code title=dom-navigator-onLine><a href=#dom-navigator-online>onLine</a></code></dt>
@@ -50733,27 +50516,20 @@
   unentangle the two ports. If the method is called on a port that is
   not entangled, then the method must do nothing.</p>
 
-  <hr><p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> that
-  must be supported, as DOM attributes, by all objects implementing
-  the <code><a href=#messageport>MessagePort</a></code> interface:</p>
+  <hr><p>The following are the <a href=#event-handler-attributes-0>event handler attributes</a> (and their corresponding <a href=#event-handler-event-type title="event handler event type">event handler event types</a>)
+  that must be supported, as DOM attributes, by all objects
+  implementing the <code><a href=#messageport>MessagePort</a></code> interface:</p>
 
-  <dl><dt><dfn id=handler-messageport-onmessage title=handler-MessagePort-onmessage><code>onmessage</code></dfn></dt>
+  <table><thead><tr><th><a href=#event-handler-attributes-0 title="event handler attributes">event handler attribute</a> <th><a href=#event-handler-event-type>Event handler event type</a>
+   <tbody><tr><td><dfn id=handler-messageport-onmessage title=handler-MessagePort-onmessage><code>onmessage</code></dfn> <td> <code title=event-message><a href=#event-message>message</a></code>
+  </table><p>The first time a <code><a href=#messageport>MessagePort</a></code> object's <code title=handler-MessagePort-onmessage><a href=#handler-messageport-onmessage>onmessage</a></code> DOM attribute
+  is set, the port's <a href=#port-message-queue>port message queue</a> must be opened,
+  as if the <code title=dom-MessagePort-start><a href=#dom-messageport-start>start()</a></code> method
+  had been called.</p>
 
-   <dd>
+  </div>
 
-    <p>Must be invoked whenever a <code title=event-MessagePort-message>message</code> event is targeted
-    at or bubbles through the <code><a href=#messageport>MessagePort</a></code> object.</p>
 
-    <p>The first time a <code><a href=#messageport>MessagePort</a></code> object's <code title=handler-MessagePort-onmessage><a href=#handler-messageport-onmessage>onmessage</a></code> DOM
-    attribute is set, the port's <a href=#port-message-queue>port message queue</a> must
-    be opened, as if the <code title=dom-MessagePort-start><a href=#dom-messageport-start>start()</a></code> method had been
-    called.</p>
-
-   </dd>
-
-  </dl></div>
-
-
   <div class=impl>
 
   <h5 id=ports-and-garbage-collection><span class=secno>7.3.3.1 </span>Ports and garbage collection</h5>

Modified: source
===================================================================
--- source	2009-03-31 21:59:25 UTC (rev 2938)
+++ source	2009-03-31 23:44:31 UTC (rev 2939)
@@ -7952,8 +7952,8 @@
 
   <p class="note">The attributes marked with an asterisk cannot be
   specified on <code>body</code> elements as those elements expose
-  <span>event handler attributes</span> of the <code>Window</code>
-  object with the same names.</p>
+  <span>event handler attributes</span> of the <code>Window</code> object with the same
+  names.</p>
 
   <hr>
 
@@ -12623,8 +12623,8 @@
   attribute</span> on the <code>body</code> element. This is because
   the event would bubble from the target, to the <code>body</code>, to
   the <code>html</code>, to the <code>Document</code>, to the
-  <code>Window</code>, and the event handler attribute on the
-  <code>body</code> is watching the <code>Window</code> not the
+  <code>Window</code>, and the <span title="event handler attributes">event handler attribute</span> on
+  the <code>body</code> is watching the <code>Window</code> not the
   <code>body</code>. A regular event listener attached to the
   <code>body</code> using <code title="">addEventListener()</code>,
   however, would fire when the event bubbled through the
@@ -46289,8 +46289,8 @@
    </li>
 
    <li><p>If the previous steps failed to compile the script, then set
-   the corresponding event handler attribute to null and abort these
-   steps.</p></li>
+   the corresponding <span title="event handler attributes">event handler attribute</span> to null and
+   abort these steps.</p></li>
 
    <li><p>Set up the <span>script's global object</span>, the
    <span>script's browsing context</span>, the <span>script's URL
@@ -46298,21 +46298,25 @@
    from <span>the script settings determined from the node</span> on
    which the attribute is being set.</p></li>
 
-   <li><p>Set the corresponding event handler attribute to the
-   aforementioned function.</p></li>
+   <li><p>Set the corresponding <span title="event handler attributes">event handler attribute</span>
+   to the aforementioned function.</p></li>
 
   </ol>
 
   </div>
 
-  <p class="note">When an event handler content attribute is set on an
+  <p class="note">When an <span title="event handler content
+  attributes">event handler content attribute</span> is set on an
   element owned by a <code>Document</code> that is not in a
   <span>browsing context</span>, the corresponding event handler
   attribute is not changed.</p>
 
-  <p class="note">Removing an event handler content attribute does not
-  reset the corresponding event handler attribute.</p>
-  <!-- http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A...%3Cbody%20onload%3D%22w(%27pass%27)%22%3E%0A%3Cscript%3Edocument.body.removeAttribute(%27onload%27)%3B%3C%2Fscript%3E -->
+  <p class="note">Removing an <span title="event handler content
+  attributes">event handler content attribute</span> does not reset
+  the corresponding <span title="event handler attributes">event
+  handler attribute</span>.</p> <!--
+  http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A...%3Cbody%20onload%3D%22w(%27pass%27)%22%3E%0A%3Cscript%3Edocument.body.removeAttribute(%27onload%27)%3B%3C%2Fscript%3E
+  -->
 
   <p class="XXX">How do we allow non-JS event handlers?</p>
 
@@ -46320,21 +46324,22 @@
 
   <hr>
 
-  <p>All event handler attributes on an element, whether set to null
-  or to a <code>Function</code> object, must be registered as event
-  listeners on the element, as if the <code
+  <p>All <span>event handler attributes</span> on an element, whether
+  set to null or to a <code>Function</code> object, must be registered
+  as event listeners on the element, as if the <code
   title="dom-EventTarget-addEventListenerNS">addEventListenerNS()</code>
   method on the <code>Element</code> object's <code>EventTarget</code>
   interface had been invoked when the event handler attribute's
   element or object was created, with the event type (<var
   title="dom-event-type">type</var> argument) equal to the type
-  described for the event handler attribute in the list above, the
-  namespace (<var title="dom-event-namespaceURI">namespaceURI</var>
-  argument) set to null, the listener set to be a target and bubbling
-  phase listener (<var title="dom-event-useCapture">useCapture</var>
-  argument set to false), the event group set to the default group
-  (<var title="dom-event-evtGroup">evtGroup</var> argument set to
-  null), and the event listener itself (<var
+  corresponding to the event handler attribute (the <dfn>event handler
+  event type</dfn>), the namespace (<var
+  title="dom-event-namespaceURI">namespaceURI</var> argument) set to
+  null, the listener set to be a target and bubbling phase listener
+  (<var title="dom-event-useCapture">useCapture</var> argument set to
+  false), the event group set to the default group (<var
+  title="dom-event-evtGroup">evtGroup</var> argument set to null), and
+  the event listener itself (<var
   title="dom-event-listener">listener</var> argument) set to do
   nothing while the event handler attribute's value is not a
   <code>Function</code> object, and set to invoke the <code
@@ -46343,14 +46348,19 @@
   attribute otherwise.</p>
 
   <p class="note">The <var title="dom-event-listener">listener</var>
-  argument is emphatically <em>not</em> the event handler attribute
-  itself.</p>
+  argument is emphatically <em>not</em> the <span title="event handler
+  attributes">event handler attribute</span> itself.</p>
 
-  <p>When an event handler attribute's <code>Function</code> objectw
-  is invoked, its <code title="dom-function-call">call()</code>
-  callback must be invoked with one argument, set to the
-  <code>Event</code> object of the event in question.</p>
+  <p class="note">The interfaces implemented by the event object do
+  not affect whether an <span title="event handler attributes">event
+  handler attribute</span> is used or not.</p>
 
+  <p>When an <span title="event handler attributes">event handler attribute</span>'s
+  <code>Function</code> object is invoked, its <code
+  title="dom-function-call">call()</code> callback must be invoked
+  with one argument, set to the <code>Event</code> object of the event
+  in question.</p>
+
   <p>The handler's return value must then be processed as follows:</p>
 
   <dl class="switch">
@@ -46401,312 +46411,94 @@
 
   <h5>Event handler attributes on elements, <code>Document</code> objects, and <code>Window</code> objects</h5>
 
-  <p>The following are the event handler attributes that must be
-  supported by all <span>HTML elements</span>, as both content
-  attributes and DOM attributes, and on <code>Document</code> and
-  <code>Window</code> objects, as DOM attributes:</p>
+  <p>The following are the <span>event handler attributes</span> (and their corresponding <span
+  title="event handler event type">event handler event types</span>)
+  that must be supported by all <span>HTML elements</span>, as both
+  content attributes and DOM attributes, and on <code>Document</code>
+  and <code>Window</code> objects, as DOM attributes.</p>
 
-  <dl>
+  <table>
+   <thead>
+    <tr><th><span title="event handler attributes">event handler attribute</span> <th><span>Event handler event type</span>
+   <tbody>
+    <tr><td><dfn title="handler-onabort"><code>onabort</code></dfn> <td> <code title="event-abort">abort</code>
+<!--<tr><td><dfn title="handler-onbeforecopy"><code>onbeforecopy</code></dfn> <td> <code title="event-beforecopy">beforecopy</code>--> <!-- widely used -->
+    <tr><td><dfn title="handler-onblur"><code>onblur</code></dfn> <td> <code title="event-blur">blur</code> <!-- widely used -->
+    <tr><td><dfn title="handler-onchange"><code>onchange</code></dfn> <td> <code title="event-change">change</code> <!-- widely used -->
+    <tr><td><dfn title="handler-onclick"><code>onclick</code></dfn> <td> <code title="event-click">click</code> <!-- widely used -->
+    <tr><td><dfn title="handler-oncontextmenu"><code>oncontextmenu</code></dfn> <td> <code title="event-contextmenu">contextmenu</code> <!-- widely used -->
+<!--<tr><td><dfn title="handler-oncopy"><code>oncopy</code></dfn> <td> <code title="event-copy">copy</code>--> <!-- widely used -->
+    <tr><td><dfn title="handler-ondblclick"><code>ondblclick</code></dfn> <td> <code title="event-dblclick">dblclick</code> <!-- widely used -->
+    <tr><td><dfn title="handler-ondrag"><code>ondrag</code></dfn> <td> <code title="event-drag">drag</code>
+    <tr><td><dfn title="handler-ondragend"><code>ondragend</code></dfn> <td> <code title="event-dragend">dragend</code>
+    <tr><td><dfn title="handler-ondragenter"><code>ondragenter</code></dfn> <td> <code title="event-dragenter">dragenter</code>
+    <tr><td><dfn title="handler-ondragleave"><code>ondragleave</code></dfn> <td> <code title="event-dragleave">dragleave</code>
+    <tr><td><dfn title="handler-ondragover"><code>ondragover</code></dfn> <td> <code title="event-dragover">dragover</code>
+    <tr><td><dfn title="handler-ondragstart"><code>ondragstart</code></dfn> <td> <code title="event-dragstart">dragstart</code> <!-- widely used -->
+    <tr><td><dfn title="handler-ondrop"><code>ondrop</code></dfn> <td> <code title="event-drop">drop</code>
+    <tr><td><dfn title="handler-onfocus"><code>onfocus</code></dfn> <td> <code title="event-focus">focus</code> <!-- widely used -->
+    <tr><td><dfn title="handler-onkeydown"><code>onkeydown</code></dfn> <td> <code title="event-keydown">keydown</code> <!-- widely used -->
+    <tr><td><dfn title="handler-onkeypress"><code>onkeypress</code></dfn> <td> <code title="event-keypress">keypress</code> <!-- widely used -->
+    <tr><td><dfn title="handler-onkeyup"><code>onkeyup</code></dfn> <td> <code title="event-keyup">keyup</code> <!-- widely used -->
+    <tr><td><dfn title="handler-onmousedown"><code>onmousedown</code></dfn> <td> <code title="event-mousedown">mousedown</code> <!-- widely used -->
+    <tr><td><dfn title="handler-onmousemove"><code>onmousemove</code></dfn> <td> <code title="event-mousemove">mousemove</code> <!-- widely used -->
+    <tr><td><dfn title="handler-onmouseout"><code>onmouseout</code></dfn> <td> <code title="event-mouseout">mouseout</code> <!-- widely used -->
+    <tr><td><dfn title="handler-onmouseover"><code>onmouseover</code></dfn> <td> <code title="event-mouseover">mouseover</code> <!-- widely used -->
+    <tr><td><dfn title="handler-onmouseup"><code>onmouseup</code></dfn> <td> <code title="event-mouseup">mouseup</code> <!-- widely used -->
+    <tr><td><dfn title="handler-onmousewheel"><code>onmousewheel</code></dfn> <td> <code title="event-mousewheel">mousewheel</code> <!-- widely used -->
+<!--<tr><td><dfn title="handler-onpaste"><code>onpaste</code></dfn> <td> <code title="event-paste">paste</code>--> <!-- widely used -->
+    <tr><td><dfn title="handler-onscroll"><code>onscroll</code></dfn> <td> <code title="event-scroll">scroll</code> <!-- widely used --> <!-- XXX should define when it fires -->
+    <tr><td><dfn title="handler-onselect"><code>onselect</code></dfn> <td> <code title="event-select">select</code> <!-- widely used --> <!-- XXX should define when it fires -->
+<!--<tr><td><dfn title="handler-onselectstart"><code>onselectstart</code></dfn> <td> <code title="event-selectstart">selectstart</code>--> <!-- widely used --> <!-- XXX should define when it fires -->
+    <tr><td><dfn title="handler-onsubmit"><code>onsubmit</code></dfn> <td> <code title="event-submit">submit</code> <!-- widely used -->
+  </table>
 
-   <dt><dfn title="handler-onabort"><code>onabort</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-abort">abort</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-<!--
-   <dt><dfn title="handler-onbeforecopy"><code>onbeforecopy</code></dfn></dt> --><!-- widely used --><!--
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-beforecopy">beforecopy</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
--->
-
-   <dt><dfn title="handler-onblur"><code>onblur</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-blur">blur</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-onchange"><code>onchange</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-change">change</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-onclick"><code>onclick</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-click">click</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-oncontextmenu"><code>oncontextmenu</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-contextmenu">contextmenu</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-<!--
-   <dt><dfn title="handler-oncopy"><code>oncopy</code></dfn></dt> --><!-- widely used --><!--
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-copy">copy</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
--->
-
-   <dt><dfn title="handler-ondblclick"><code>ondblclick</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-dblclick">dblclick</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-ondrag"><code>ondrag</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-drag">drag</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-ondragend"><code>ondragend</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-dragend">dragend</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-ondragenter"><code>ondragenter</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-dragenter">dragenter</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-ondragleave"><code>ondragleave</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-dragleave">dragleave</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-ondragover"><code>ondragover</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-dragover">dragover</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-ondragstart"><code>ondragstart</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-dragstart">dragstart</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-ondrop"><code>ondrop</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-drop">drop</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-onfocus"><code>onfocus</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-focus">focus</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-onkeydown"><code>onkeydown</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-keydown">keydown</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-onkeypress"><code>onkeypress</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-keypress">keypress</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-onkeyup"><code>onkeyup</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-keyup">keyup</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-onmousedown"><code>onmousedown</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-mousedown">mousedown</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-onmousemove"><code>onmousemove</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-mousemove">mousemove</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-onmouseout"><code>onmouseout</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-mouseout">mouseout</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-onmouseover"><code>onmouseover</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-mouseover">mouseover</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-onmouseup"><code>onmouseup</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-mouseup">mouseup</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-   <dt><dfn title="handler-onmousewheel"><code>onmousewheel</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-mousewheel">mousewheel</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-<!--
-   <dt><dfn title="handler-onpaste"><code>onpaste</code></dfn></dt> --><!-- widely used --><!--
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-paste">paste</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
--->
-
-   <dt><dfn title="handler-onscroll"><code>onscroll</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-scroll">scroll</code> event is targeted at or bubbles
-   through the element or object.</p></dd> <!-- XXX should define when it fires -->
-
-   <dt><dfn title="handler-onselect"><code>onselect</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-select">select</code> event is targeted at or bubbles
-   through the element or object.</p></dd> <!-- XXX should define when it fires -->
-
-<!--XXX
-   <dt><dfn title="handler-onselectstart"><code>onselectstart</code></dfn></dt> --><!-- widely used --><!--
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-selectstart">selectstart</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
---> <!-- XXX should define when it fires -->
-
-   <dt><dfn title="handler-onsubmit"><code>onsubmit</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-submit">submit</code> event is targeted at or bubbles
-   through the element or object.</p></dd>
-
-  </dl>
-
   <hr>
 
-  <p>The following are the event handler attributes that must be
-  supported by all <span>HTML elements</span> other than
+  <p>The following are the <span>event handler attributes</span> (and their corresponding <span
+  title="event handler event type">event handler event types</span>)
+  that must be supported by all <span>HTML elements</span> other than
   <code>body</code>, as both content attributes and DOM attributes,
   and on <code>Document</code> objects, as DOM attributes:</p>
 
-  <dl>
+  <table>
+   <thead>
+    <tr><th><span title="event handler attributes">event handler attribute</span> <th><span>Event handler event type</span>
+   <tbody>
+    <tr><td><dfn title="handler-onerror"><code>onerror</code></dfn> <td> <code title="event-error">error</code>
+    <tr><td><dfn title="handler-onload"><code>onload</code></dfn> <td> <code title="event-load">load</code>
+  </table>
 
-   <dt><dfn title="handler-onerror"><code>onerror</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-error">error</code> event is targeted at or bubbles
-   through the element.</p></dd>
-
-   <dt><dfn title="handler-onload"><code>onload</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-load">load</code> event is targeted at or bubbles
-   through the element.</p></dd>
-
-  </dl>
-
   <hr>
 
-  <p>The following are the event handler attributes that must be
-  supported by <code>Window</code> objects, as DOM attributes on the
-  <code>Window</code> object, and with corresponding content
-  attributes and DOM attributes exposed on the <code>body</code>
-  element:</p>
+  <p>The following are the <span>event handler attributes</span> (and their corresponding <span
+  title="event handler event type">event handler event types</span>)
+  that must be supported by <code>Window</code> objects, as DOM
+  attributes on the <code>Window</code> object, and with corresponding
+  content attributes and DOM attributes exposed on the
+  <code>body</code> element:</p>
 
-  <dl>
+  <table>
+   <thead>
+    <tr><th><span title="event handler attributes">event handler attribute</span> <th><span>Event handler event type</span>
+   <tbody>
+    <tr><td><dfn title="handler-window-onbeforeunload"><code>onbeforeunload</code></dfn> <td> <code title="event-beforeunload">beforeunload</code>
+    <tr><td><dfn title="handler-window-onerror"><code>onerror</code></dfn> <td> <code title="event-error">error</code>
+    <tr><td><dfn title="handler-window-onhashchange"><code>onhashchange</code></dfn> <td> <code title="event-hashchange">hashchange</code> <!-- new -->
+    <tr><td><dfn title="handler-window-onload"><code>onload</code></dfn> <td> <code title="event-load">load</code> <!-- widely used -->
+    <tr><td><dfn title="handler-window-onmessage"><code>onmessage</code></dfn> <td> <code title="event-message">message</code> <!-- new for postMessage -->
+    <tr><td><dfn title="handler-window-onoffline"><code>onoffline</code></dfn> <td> <code title="event-offline">offline</code> <!-- new -->
+    <tr><td><dfn title="handler-window-ononline"><code>ononline</code></dfn> <td> <code title="event-online">online</code> <!-- new -->
+    <tr><td><dfn title="handler-window-onpopstate"><code>onpopstate</code></dfn> <td> <code title="event-popstate">popstate</code> <!-- new -->
+    <tr><td><dfn title="handler-window-onresize"><code>onresize</code></dfn> <td> <code title="event-resize">resize</code> <!-- widely used --> <!-- XXX should define when it fires -->
+    <tr><td><dfn title="handler-window-onstorage"><code>onstorage</code></dfn> <td> <code title="event-storage">storage</code> <!-- new -->
+    <tr><td><dfn title="handler-window-onunload"><code>onunload</code></dfn> <td> <code title="event-unload">unload</code> <!-- widely used -->
+  </table>
 
-   <dt><dfn title="handler-window-onbeforeunload"><code>onbeforeunload</code></dfn></dt>
+  <p class="note">The <code title="handler-window-onerror">onerror</code>
+  handler is also used for <a
+  href="#runtime-script-errors">reporting script errors</a>.</p>
 
-   <dd><p>Must be invoked whenever a <code
-   title="event-beforeunload">beforeunload</code> event is targeted at or bubbles
-   through the object.</p></dd>
-
-   <dt><dfn title="handler-window-onerror"><code>onerror</code></dfn></dt>
-
-   <dd>
-
-    <p>Must be invoked whenever an <code
-    title="event-error">error</code> event is targeted at or bubbles
-    through the object.</p>
-
-    <p class="note">The <code title="handler-window-onerror">onerror</code>
-    handler is also used for <a
-    href="#runtime-script-errors">reporting script errors</a>.</p>
-
-   </dd>
-
-   <dt><dfn title="handler-window-onhashchange"><code>onhashchange</code></dfn></dt> <!-- new -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-hashchange">hashchange</code> event is targeted at or bubbles
-   through the object.</p></dd>
-
-   <dt><dfn title="handler-window-onload"><code>onload</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-load">load</code> event is targeted at or bubbles
-   through the object.</p></dd>
-
-   <dt><dfn title="handler-window-onmessage"><code>onmessage</code></dfn></dt> <!-- new for postMessage -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-message">message</code> event is targeted at or bubbles
-   through the object.</p></dd>
-
-   <dt><dfn title="handler-window-onoffline"><code>onoffline</code></dfn></dt> <!-- new -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-offline">offline</code> event is targeted at or bubbles
-   through the object.</p></dd>
-
-   <dt><dfn title="handler-window-ononline"><code>ononline</code></dfn></dt> <!-- new -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-online">online</code> event is targeted at or bubbles
-   through the object.</p></dd>
-
-   <dt><dfn title="handler-window-onpopstate"><code>onpopstate</code></dfn></dt> <!-- new -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-popstate">popstate</code> event is targeted at or bubbles
-   through the object.</p></dd>
-
-   <dt><dfn title="handler-window-onresize"><code>onresize</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-resize">resize</code> event is targeted at or bubbles
-   through the object.</p></dd> <!-- XXX should define when it fires -->
-
-   <dt><dfn title="handler-window-onstorage"><code>onstorage</code></dfn></dt> <!-- new -->
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-storage">storage</code> event is targeted at or bubbles
-   through the object.</p></dd>
-
-   <dt><dfn title="handler-window-onunload"><code>onunload</code></dfn></dt> <!-- widely used -->
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-unload">unload</code> event is targeted at or bubbles
-   through the object.</p></dd>
-
-  </dl>
-
   </div>
 
 
@@ -46849,9 +46641,9 @@
 
   <p>When the user agent is required to <dfn title="report the
   error">report an error</dfn> <var title="">error</var> using the
-  event handler attribute <var title="">onerror</var>, it must run
-  these steps, after which the error is either <i title="">handled</i>
-  or <i title="">not handled</i>:</p>
+  <span title="event handler attributes">event handler attribute</span> <var title="">onerror</var>, it
+  must run these steps, after which the error is either <i
+  title="">handled</i> or <i title="">not handled</i>:</p>
 
   <dl class="switch">
 
@@ -49668,71 +49460,26 @@
 
   </ol>
 
-  <p>The following are the <span>event handler attributes</span> that
-  must be supported, as DOM attributes, by all objects implementing
-  the <code>ApplicationCache</code> interface:</p>
+  <p>The following are the <span>event handler attributes</span> (and
+  their corresponding <span title="event handler event type">event
+  handler event types</span>) that must be supported, as DOM
+  attributes, by all objects implementing the
+  <code>ApplicationCache</code> interface:</p>
 
-  <dl>
+  <table>
+   <thead>
+    <tr><th><span title="event handler attributes">event handler attribute</span> <th><span>Event handler event type</span>
+   <tbody>
+    <tr><td><dfn title="handler-appcache-onchecking"><code>onchecking</code></dfn> <td> <code title="event-checking">checking</code>
+    <tr><td><dfn title="handler-appcache-onerror"><code>onerror</code></dfn> <td> <code title="event-error">error</code>
+    <tr><td><dfn title="handler-appcache-onnoupdate"><code>onnoupdate</code></dfn> <td> <code title="event-noupdate">noupdate</code>
+    <tr><td><dfn title="handler-appcache-ondownloading"><code>ondownloading</code></dfn> <td> <code title="event-downloading">downloading</code>
+    <tr><td><dfn title="handler-appcache-onprogress"><code>onprogress</code></dfn> <td> <code title="event-progress">progress</code>
+    <tr><td><dfn title="handler-appcache-onupdateready"><code>onupdateready</code></dfn> <td> <code title="event-updateready">updateready</code>
+    <tr><td><dfn title="handler-appcache-oncached"><code>oncached</code></dfn> <td> <code title="event-cached">cached</code>
+    <tr><td><dfn title="handler-appcache-onobsolete"><code>onobsolete</code></dfn> <td> <code title="event-obsolete">obsolete</code>
+  </table>
 
-   <dt><dfn title="handler-appcache-onchecking"><code>onchecking</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-checking">checking</code> event is targeted at or
-   bubbles through the <code>ApplicationCache</code> object.</p></dd>
-
-
-   <dt><dfn title="handler-appcache-onerror"><code>onerror</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-error">error</code> event is targeted at or bubbles
-   through the <code>ApplicationCache</code> object.</p></dd>
-
-
-   <dt><dfn title="handler-appcache-onnoupdate"><code>onnoupdate</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-noupdate">noupdate</code> event is targeted at or
-   bubbles through the <code>ApplicationCache</code> object.</p></dd>
-
-
-   <dt><dfn title="handler-appcache-ondownloading"><code>ondownloading</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-downloading">downloading</code> event is targeted at
-   or bubbles through the <code>ApplicationCache</code>
-   object.</p></dd>
-
-
-   <dt><dfn title="handler-appcache-onprogress"><code>onprogress</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-progress">progress</code> event is targeted at or
-   bubbles through the <code>ApplicationCache</code> object.</p></dd>
-
-
-   <dt><dfn title="handler-appcache-onupdateready"><code>onupdateready</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-updateready">updateready</code> event is targeted at
-   or bubbles through the <code>ApplicationCache</code>
-   object.</p></dd>
-
-
-   <dt><dfn title="handler-appcache-oncached"><code>oncached</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-cached">cached</code> event is targeted at or bubbles
-   through the <code>ApplicationCache</code> object.</p></dd>
-
-
-   <dt><dfn title="handler-appcache-onobsolete"><code>onobsolete</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-obsolete">obsolete</code> event is targeted at or bubbles
-   through the <code>ApplicationCache</code> object.</p></dd>
-
-  </dl>
-
   </div>
 
 
@@ -58596,28 +58343,20 @@
 
   </ol>
 
-  <p>The following are the <span>event handler DOM attributes</span>
-  that must be supported by objects implementing the
-  <code>WorkerGlobalScope</code> interface:</p>
+  <p>The following are the <span>event handler attributes</span> (and their corresponding <span
+  title="event handler event type">event handler event types</span>)
+  that must be supported, as DOM attributes, by objects implementing
+  the <code>WorkerGlobalScope</code> interface:</p>
 
-  <dl>
+  <table>
+   <thead>
+    <tr><th><span title="event handler attributes">event handler attribute</span> <th><span>Event handler event type</span>
+   <tbody>
+    <tr><td><dfn title="handler-WorkerGlobalScope-onclose"><code>onclose</code></dfn> <td> <code title="event-close">close</code>
+    <tr><td><dfn title="handler-WorkerGlobalScope-onerror"><code>onerror</code></dfn> <td> <code title="event-error">error</code>
+  </table>
 
-   <dt><dfn title="handler-WorkerGlobalScope-onclose"><code>onclose</code></dfn></dt>
 
-   <dd><p>Must be invoked whenever a <code
-   title="event-close">close</code> event is targeted at or bubbles
-   through the <code>WorkerGlobalScope</code> object.</p></dd>
-
-
-   <dt><dfn title="handler-WorkerGlobalScope-onerror"><code>onerror</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-error">error</code> event is targeted at or bubbles
-   through the <code>WorkerGlobalScope</code> object.</p></dd>
-
-  </dl>
-
-
   <h5>Dedicated workers and the <code>DedicatedWorkerGlobalScope</code> interface</h5>
 
   <!-- the XXX below is for collapsing this interface onto WorkerGlobalScope so it looks like just one interface - the inheritance is a spec fiction only -->
@@ -58647,20 +58386,18 @@
   method of the same name on the port, with the same arguments, and
   returned the same return value.</p>
 
-  <p>The following are the <span>event handler DOM attributes</span>
-  that must be supported by objects implementing the
-  <code>DedicatedWorkerGlobalScope</code> interface:</p>
+  <p>The following are the <span>event handler attributes</span> (and their corresponding <span
+  title="event handler event type">event handler event types</span>)
+  that must be supported, as DOM attributes, by objects implementing
+  the <code>DedicatedWorkerGlobalScope</code> interface:</p>
 
-  <dl>
+  <table>
+   <thead>
+    <tr><th><span title="event handler attributes">event handler attribute</span> <th><span>Event handler event type</span>
+   <tbody>
+    <tr><td><dfn title="handler-DedicatedWorkerGlobalScope-onmessage"><code>onmessage</code></dfn> <td> <code title="event-message">message</code>
+  </table>
 
-   <dt><dfn title="handler-DedicatedWorkerGlobalScope-onmessage"><code>onmessage</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-DedicatedWorkerGlobalScope-message">message</code> event is targeted
-   at or bubbles through the <code>DedicatedWorkerGlobalScope</code> object.</p></dd>
-
-  </dl>
-
   <p>For the purposes of the <span>offline application cache</span>
   networking model, a dedicated worker is an extension of the
   <span>cache host</span> from which it was created.</p>
@@ -58688,20 +58425,18 @@
   that can be used to obtain a reference to the worker using the
   <code>SharedWorker</code> constructor.</p>
 
-  <p>The following are the <span>event handler DOM attributes</span>
-  that must be supported by objects implementing the
-  <code>SharedWorkerGlobalScope</code> interface:</p>
+  <p>The following are the <span>event handler attributes</span> (and their corresponding <span
+  title="event handler event type">event handler event types</span>)
+  that must be supported, as DOM attributes, by objects implementing
+  the <code>SharedWorkerGlobalScope</code> interface:</p>
 
-  <dl>
+  <table>
+   <thead>
+    <tr><th><span title="event handler attributes">event handler attribute</span> <th><span>Event handler event type</span>
+   <tbody>
+    <tr><td><dfn title="handler-SharedWorkerGlobalScope-onconnect"><code>onconnect</code></dfn> <td> <code title="event-connect">connect</code>
+  </table>
 
-   <dt><dfn title="handler-SharedWorkerGlobalScope-onconnect"><code>onconnect</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-SharedWorkerGlobalScope-connect">connect</code> event is targeted
-   at or bubbles through the <code>SharedWorkerGlobalScope</code> object.</p></dd>
-
-  </dl>
-
   <p>For the purposes of the <span>offline application cache</span>
   networking model, a shared worker is its own <span>cache
   host</span>. The <span>run a worker</span> algorithm takes care of
@@ -59303,28 +59038,21 @@
   <p>Objects implementing the <code>AbstractWorker</code> interface
   must also implement the <code>EventTarget</code> interface.</p>
 
-  <p>The following are the <span>event handler DOM attributes</span>
-  that must be supported by objects implementing the
-  <code>AbstractWorker</code> interface:</p>
+  <p>The following are the <span>event handler attributes</span> (and their corresponding <span
+  title="event handler event type">event handler event types</span>)
+  that must be supported, as DOM attributes, by objects implementing
+  the <code>AbstractWorker</code> interface:</p>
 
-  <dl>
+  <table>
+   <thead>
+    <tr><th><span title="event handler attributes">event handler attribute</span> <th><span>Event handler event type</span>
+   <tbody>
+    <tr><td><dfn title="handler-AbstractWorker-onerror"><code>onerror</code></dfn> <td> <code title="event-error">error</code>
+    <tr><td><dfn title="handler-AbstractWorker-onclose"><code>onclose</code></dfn> <td> <code title="event-close">close</code>
+  </table>
 
-   <dt><dfn title="handler-AbstractWorker-onerror"><code>onerror</code></dfn></dt>
 
-   <dd><p>Must be invoked whenever an <code
-   title="event-error">error</code> event is targeted at or bubbles
-   through the <code>AbstractWorker</code> object.</p></dd>
 
-   <dt><dfn title="handler-AbstractWorker-onclose"><code>onclose</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-close">close</code> event is targeted at or bubbles
-   through the <code>AbstractWorker</code> object.</p></dd>
-
-  </dl>
-
-
-
   <h5>Dedicated workers and the <code>Worker</code> interface</h5>
 
   <pre class="idl">[<span title="dom-Worker">Constructor</span>(in DOMString scriptURL)]
@@ -59360,20 +59088,18 @@
   immediately invoked the method of the same name on the port, with
   the same arguments, and returned the same return value.</p>
 
-  <p>The following are the <span>event handler DOM attributes</span>
-  that must be supported by objects implementing the
-  <code>Worker</code> interface:</p>
+  <p>The following are the <span>event handler attributes</span> (and their corresponding <span
+  title="event handler event type">event handler event types</span>)
+  that must be supported, as DOM attributes, by objects implementing
+  the <code>Worker</code> interface:</p>
 
-  <dl>
+  <table>
+   <thead>
+    <tr><th><span title="event handler attributes">event handler attribute</span> <th><span>Event handler event type</span>
+   <tbody>
+    <tr><td><dfn title="handler-Worker-onmessage"><code>onmessage</code></dfn> <td> <code title="event-message">message</code>
+  </table>
 
-   <dt><dfn title="handler-Worker-onmessage"><code>onmessage</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-Worker-message">message</code> event is targeted
-   at or bubbles through the <code>Worker</code> object.</p></dd>
-
-  </dl>
-
   <hr>
 
   <p>When the <dfn title="dom-Worker"><code>Worker(<var
@@ -60071,32 +59797,20 @@
   <code title="dom-EventSource-CLOSED">CLOSED</code>. If the
   connection is already closed, the method must do nothing.</p>
 
-  <p>The following are the <span>event handler attributes</span> that
-  must be supported, as DOM attributes, by all objects implementing
-  the <code>EventSource</code> interface:</p>
+  <p>The following are the <span>event handler attributes</span> (and their corresponding <span
+  title="event handler event type">event handler event types</span>)
+  that must be supported, as DOM attributes, by all objects
+  implementing the <code>EventSource</code> interface:</p>
 
-  <dl>
+  <table>
+   <thead>
+    <tr><th><span title="event handler attributes">event handler attribute</span> <th><span>Event handler event type</span>
+   <tbody>
+    <tr><td><dfn title="handler-EventSource-onopen"><code>onopen</code></dfn> <td> <code title="event-open">open</code>
+    <tr><td><dfn title="handler-EventSource-onmessage"><code>onmessage</code></dfn> <td> <code title="event-message">message</code>
+    <tr><td><dfn title="handler-EventSource-onerror"><code>onerror</code></dfn> <td> <code title="event-error">error</code>
+  </table>
 
-   <dt><dfn title="handler-EventSource-onopen"><code>onopen</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-open">open</code> event is targeted at or
-   bubbles through the <code>EventSource</code> object.</p></dd>
-
-   <dt><dfn title="handler-EventSource-onmessage"><code>onmessage</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-message">message</code> event is targeted at or
-   bubbles through the <code>EventSource</code> object.</p></dd>
-
-   <dt><dfn title="handler-EventSource-onerror"><code>onerror</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-error">error</code> event is targeted at or
-   bubbles through the <code>EventSource</code> object.</p></dd>
-
-  </dl>
-
   <hr>
 
   <p>In addition to the above, each <code>EventSource</code> object
@@ -60784,30 +60498,17 @@
   must be supported, as DOM attributes, by all objects implementing
   the <code>WebSocket</code> interface:</p>
 
-  <dl>
+  <table>
+   <thead>
+    <tr><th><span title="event handler attributes">event handler attribute</span> <th><span>Event handler event type</span>
+   <tbody>
+    <tr><td><dfn title="handler-WebSocket-onopen"><code>onopen</code></dfn> <td> <code title="event-open">open</code>
+    <tr><td><dfn title="handler-WebSocket-onmessage"><code>onmessage</code></dfn> <td> <code title="event-message">message</code>
+    <tr><td><dfn title="handler-WebSocket-onclose"><code>onclose</code></dfn> <td> <code title="event-close">close</code>
+  </table>
 
-   <dt><dfn title="handler-WebSocket-onopen"><code>onopen</code></dfn></dt>
 
-   <dd><p>Must be invoked whenever an <code
-   title="event-open">open</code> event is targeted at or
-   bubbles through the <code>WebSocket</code> object.</p></dd>
 
-   <dt><dfn title="handler-WebSocket-onmessage"><code>onmessage</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever a <code
-   title="event-message">message</code> event is targeted at or
-   bubbles through the <code>WebSocket</code> object.</p></dd>
-
-   <dt><dfn title="handler-WebSocket-onclose"><code>onclose</code></dfn></dt>
-
-   <dd><p>Must be invoked whenever an <code
-   title="event-close">close</code> event is targeted at or
-   bubbles through the <code>WebSocket</code> object.</p></dd>
-
-  </dl>
-
-
-
   <h4>Feedback from the protocol</h4>
 
   <p>When the <i>Web Socket connection is established</i>, the user
@@ -62492,31 +62193,24 @@
 
   <hr>
 
-  <p>The following are the <span>event handler attributes</span> that
-  must be supported, as DOM attributes, by all objects implementing
-  the <code>MessagePort</code> interface:</p>
+  <p>The following are the <span>event handler attributes</span> (and their corresponding <span
+  title="event handler event type">event handler event types</span>)
+  that must be supported, as DOM attributes, by all objects
+  implementing the <code>MessagePort</code> interface:</p>
 
-  <dl>
+  <table>
+   <thead>
+    <tr><th><span title="event handler attributes">event handler attribute</span> <th><span>Event handler event type</span>
+   <tbody>
+    <tr><td><dfn title="handler-MessagePort-onmessage"><code>onmessage</code></dfn> <td> <code title="event-message">message</code>
+  </table>
 
-   <dt><dfn title="handler-MessagePort-onmessage"><code>onmessage</code></dfn></dt>
+  <p>The first time a <code>MessagePort</code> object's <code
+  title="handler-MessagePort-onmessage">onmessage</code> DOM attribute
+  is set, the port's <span>port message queue</span> must be opened,
+  as if the <code title="dom-MessagePort-start">start()</code> method
+  had been called.</p>
 
-   <dd>
-
-    <p>Must be invoked whenever a <code
-    title="event-MessagePort-message">message</code> event is targeted
-    at or bubbles through the <code>MessagePort</code> object.</p>
-
-    <p>The first time a <code>MessagePort</code> object's <code
-    title="handler-MessagePort-onmessage">onmessage</code> DOM
-    attribute is set, the port's <span>port message queue</span> must
-    be opened, as if the <code
-    title="dom-MessagePort-start">start()</code> method had been
-    called.</p>
-
-   </dd>
-
-  </dl>
-
   </div>
 
 




More information about the Commit-Watchers mailing list