html5/spec Overview.html,1.2103,1.2104

Update of /sources/public/html5/spec
In directory hutz:/tmp/cvs-serv17740

Modified Files:
	Overview.html 
Log Message:
Tighten up the definitions of event handler attributes. (bug 6490) (whatwg r2939)

Index: Overview.html
===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.2103
retrieving revision 1.2104
diff -u -d -r1.2103 -r1.2104
--- Overview.html	31 Mar 2009 21:59:30 -0000	1.2103
+++ Overview.html	31 Mar 2009 23:44:36 -0000	1.2104
@@ -7032,8 +7032,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.<hr><p>Also, <a href=#custom-data-attribute title="custom data attribute">custom data
+  <a href=#event-handler-attributes-0>event handler attributes</a> of the <code><a href=#window>Window</a></code> object with the same
+  names.<hr><p>Also, <a href=#custom-data-attribute title="custom data attribute">custom data
   attributes</a> (e.g. <code title="">data-foldername</code> or
   <code title="">data-msgid</code>) can be specified on any <a href=#html-elements title="HTML elements">HTML element</a>, to store custom data
   specific to the page.<p>In <a href=#html-documents>HTML documents</a>, elements in the <a href=#html-namespace-0>HTML
@@ -10466,8 +10466,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
@@ -36422,8 +36422,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
@@ -36431,41 +36431,49 @@
    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
+  </ol></div><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 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=XXX>How do we allow non-JS event handlers?<div class=impl>
+  attribute is not changed.<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?<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>
 
@@ -36505,257 +36513,72 @@
 
   <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>
-
-  <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>
+  <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><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>
-
-   <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>
-
-   <dt><dfn id=handler-onload title=handler-onload><code>onload</code></dfn></dt>
-
-   <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 -->
+  <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 an <code title=event-unload>unload</code> event is targeted at or bubbles
-   through the object.</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>
 
-  </dl></div><div class=impl>
+  </div><div class=impl>
 
   <h5 id=event-firing><span class=secno>5.5.6.3 </span>Event firing</h5>
 
@@ -36860,9 +36683,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>
@@ -39164,60 +38986,22 @@
    <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>
-
-  <dl><dt><dfn id=handler-appcache-onchecking 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><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>
+  </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></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>
+  <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><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>
 
    <dd>
 
@@ -45374,25 +45158,18 @@
   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>
-
-  <dl><dt><dfn id=handler-messageport-onmessage title=handler-MessagePort-onmessage><code>onmessage</code></dfn></dt>
-
-   <dd>
-
-    <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>
+  <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>
 
-   </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-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>
 
-  </dl></div><div class=impl>
+  </div><div class=impl>
 
   <h5 id=ports-and-garbage-collection><span class=secno>7.3.3.1 </span>Ports and garbage collection</h5>
 

Received on Tuesday, 31 March 2009 23:44:50 UTC