[html5] r3314 - [e] (0) Use [Supplemental] instead of [XXX], in preparation for WebIDL defining [...]

whatwg at whatwg.org whatwg at whatwg.org
Wed Jun 24 04:55:56 PDT 2009


Author: ianh
Date: 2009-06-24 04:55:54 -0700 (Wed, 24 Jun 2009)
New Revision: 3314

Modified:
   index
   source
Log:
[e] (0) Use [Supplemental] instead of [XXX], in preparation for WebIDL defining [Supplemental]. Add all the DOM2 HTML obsolete stuff. Define <frame>.

Modified: index
===================================================================
--- index	2009-06-24 07:20:24 UTC (rev 3313)
+++ index	2009-06-24 11:55:54 UTC (rev 3314)
@@ -1016,10 +1016,10 @@
    <li><a href=#self-contained-features><span class=secno>12.1 </span>Self-contained features</a>
     <ol>
      <li><a href=#the-applet-element><span class=secno>12.1.1 </span>The <code>applet</code> element</a></li>
-     <li><a href=#the-marquee-element-0><span class=secno>12.1.2 </span>The <code>marquee</code> element</a></ol></li>
-   <li><a href=#other-elements-and-attributes><span class=secno>12.2 </span>Other elements and attributes</a></li>
-   <li><a href=#other-dom-apis><span class=secno>12.3 </span>Other DOM APIs</a></li>
-   <li><a href=#conformance-checkers-0><span class=secno>12.4 </span>Conformance checkers</a></ol></li>
+     <li><a href=#the-marquee-element-0><span class=secno>12.1.2 </span>The <code>marquee</code> element</a></li>
+     <li><a href=#frames><span class=secno>12.1.3 </span>Frames</a></ol></li>
+   <li><a href=#other-elements,-attributes-and-apis><span class=secno>12.2 </span>Other elements, attributes and APIs</a></li>
+   <li><a href=#conformance-checkers-0><span class=secno>12.3 </span>Conformance checkers</a></ol></li>
  <li><a href=#no><span class=secno>13 </span>Things that you can't do with this specification because
   they are better handled using other technologies that are further
   described herein</a>
@@ -9175,13 +9175,9 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-html-manifest><a href=#attr-html-manifest>manifest</a></code></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-<!--
    <dd>
-    <pre class="idl">interface <dfn>HTMLHtmlElement</dfn> : <span>HTMLElement</span> {
-};</pre>
+    <pre class=idl>interface <dfn id=htmlhtmlelement>HTMLHtmlElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
    </dd>
--->
   </dl><p>The <code><a href=#the-html-element>html</a></code> element <a href=#represents>represents</a> the root of
   an HTML document.</p>
 
@@ -9215,7 +9211,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
+   <dd>
+    <pre class=idl>interface <dfn id=htmlheadelement>HTMLHeadElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
+   </dd>
   </dl><p>The <code><a href=#the-head-element>head</a></code> element <a href=#represents>represents</a> a
   collection of metadata for the <code>Document</code>.</p>
 
@@ -9231,7 +9229,11 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
+   <dd>
+    <pre class=idl>interface <dfn id=htmltitleelement>HTMLTitleElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
+           attribute DOMString <a href=#dom-title-text title=dom-title-text>text</a>;
+};</pre>
+   </dd>
   </dl><p>The <code><a href=#the-title-element>title</a></code> element <a href=#represents>represents</a> the
   document's title or name. Authors should use titles that identify
   their documents even when they are used out of context, for example
@@ -9246,6 +9248,10 @@
   <p>The <code><a href=#the-title-element>title</a></code> element must not contain any
   elements.</p>
 
+  <p>The <dfn id=dom-title-text title=dom-title-text><code>text</code></dfn> DOM
+  attribute must return the same value as the <code>textContent</code>
+  DOM attribute on the element.</p>
+
   <div class=example>
 
    <p>Here are some examples of appropriate titles, contrasted with
@@ -11776,7 +11782,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
+   <dd>
+    <pre class=idl>interface <dfn id=htmlheadingelement>HTMLHeadingElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
+   </dd>
   </dl><p>These elements <a href=#represents title=represents>represent</a> headings
   for their sections.</p>
 
@@ -12592,7 +12600,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
+   <dd>
+    <pre class=idl>interface <dfn id=htmlparagraphelement>HTMLParagraphElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
+   </dd>
   </dl><p>The <code><a href=#the-p-element>p</a></code> element <a href=#represents>represents</a> a
   <a href=#paragraph>paragraph</a>.</p>
 
@@ -12661,7 +12671,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
+   <dd>
+    <pre class=idl>interface <dfn id=htmlhrelement>HTMLHRElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
+   </dd>
   </dl><p>The <code><a href=#the-hr-element>hr</a></code> element <a href=#represents>represents</a> a
   <a href=#paragraph>paragraph</a>-level thematic break, e.g. a scene change in
   a story, or a transition to another topic within a section of a
@@ -12680,7 +12692,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
+   <dd>
+    <pre class=idl>interface <dfn id=htmlbrelement>HTMLBRElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
+   </dd>
   </dl><p>The <code><a href=#the-br-element>br</a></code> element <a href=#represents>represents</a> a line
   break.</p>
 
@@ -12744,7 +12758,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
+   <dd>
+    <pre class=idl>interface <dfn id=htmlpreelement>HTMLPreElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
+   </dd>
   </dl><p>The <code><a href=#the-pre-element>pre</a></code> element <a href=#represents>represents</a> a block of
   preformatted text, in which structure is represented by typographic
   conventions rather than by elements.</p>
@@ -13063,7 +13079,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
+   <dd>
+    <pre class=idl>interface <dfn id=htmlulistelement>HTMLUListElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
+   </dd>
   </dl><p>The <code><a href=#the-ul-element>ul</a></code> element <a href=#represents>represents</a> a list of
   items, where the order of the items is not important — that
   is, where changing the order would not materially change the meaning
@@ -13215,7 +13233,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
+   <dd>
+    <pre class=idl>interface <dfn id=htmldlistelement>HTMLDListElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
+   </dd>
   </dl><p>The <code><a href=#the-dl-element>dl</a></code> element <a href=#represents>represents</a> an
   association list consisting of zero or more name-value groups (a
   description list). Each group must consist of one or more names
@@ -25562,11 +25582,11 @@
 
   <div class=impl>
 
-  <p>If a <code><a href=#the-table-element>table</a></code> element has a <code title=attr-table-summary>summary</code> attribute, the user agent
+  <p>If a <code><a href=#the-table-element>table</a></code> element has a <code title=attr-table-summary><a href=#attr-table-summary>summary</a></code> attribute, the user agent
   may report the contents of that attribute to the user.</p>
 
   <p class=note>Authors are encouraged to use the
-  <code><a href=#the-caption-element>caption</a></code> element instead of the <code title=attr-table-summary>summary</code> attribute.</p>
+  <code><a href=#the-caption-element>caption</a></code> element instead of the <code title=attr-table-summary><a href=#attr-table-summary>summary</a></code> attribute.</p>
 
   </div>
 
@@ -39586,7 +39606,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
+   <dd>
+    <pre class=idl>interface <dfn id=htmldivelement>HTMLDivElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
+   </dd>
   </dl><p>The <code><a href=#the-div-element>div</a></code> element has no special meaning at all. It
   <a href=#represents>represents</a> its children. It can be used with the <code title=attr-class><a href=#classes>class</a></code>, <code title=attr-lang><a href=#attr-lang>lang</a></code>, and <code title=attr-title><a href=#the-title-attribute>title</a></code> attributes to mark up semantics
   common to a group of consecutive elements.</p>
@@ -47259,8 +47281,8 @@
   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>
+  attributes and DOM attributes exposed on the <code><a href=#the-body-element>body</a></code> and
+  <code><a href=#frameset>frameset</a></code> elements:</p>
 
   <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-onafterprint title=handler-window-onafterprint><code>onafterprint</code></dfn> <td> <code title=event-afterprint>afterprint</code>
@@ -47981,13 +48003,9 @@
   by the above algorithm must all implement the
   <code><a href=#windowmodal>WindowModal</a></code> interface:</p>
 
-  <p class=XXX>Really I want the Window object to just gain these
-  attributes, as if they were on the Window prototype. That's the XXX
-  below.</p>
-
   </div>
 
-  <pre class=idl>[NoInterfaceObject, ImplementedOn=<a href=#window>Window</a>, XXX] interface <dfn id=windowmodal>WindowModal</dfn> {
+  <pre class=idl>[NoInterfaceObject, ImplementedOn=<a href=#window>Window</a>, Supplemental] interface <dfn id=windowmodal>WindowModal</dfn> {
   readonly attribute any <a href=#dom-windowmodal-dialogarguments title=dom-WindowModal-dialogArguments>dialogArguments</a>;
            attribute DOMString <a href=#dom-windowmodal-returnvalue title=dom-WindowModal-returnValue>returnValue</a>;
 };</pre>
@@ -67492,7 +67510,7 @@
   contents were a single U+000A LINE FEED (LF) character and its
   'white-space' property was 'pre'. User agents are expected to
   support the 'clear' property on inline elements (in order to render
-  <code><a href=#the-br-element>br</a></code> elements with <code title=attr-br-clear>clear</code> attributes) in the manner
+  <code><a href=#the-br-element>br</a></code> elements with <code title=attr-br-clear><a href=#attr-br-clear>clear</a></code> attributes) in the manner
   described in the non-normative note to this effect in CSS2.1.</p>
   <!-- section 9.5.2 of CSS2.1 -->
 
@@ -67615,11 +67633,11 @@
      <td>'hidden'
     <tr><td><code title="">auto</code>
      <td>'auto'
-  </table><hr><p>The <code><a href=#the-table-element>table</a></code> element's <code title=attr-table-cellspacing>cellspacing</code> attribute
+  </table><hr><p>The <code><a href=#the-table-element>table</a></code> element's <code title=attr-table-cellspacing><a href=#attr-table-cellspacing>cellspacing</a></code> attribute
   <a href=#maps-to-the-pixel-length-property>maps to the pixel length property</a> 'border-spacing' on the
   element.</p>
 
-  <p>The <code><a href=#the-table-element>table</a></code> element's <code title=attr-table-cellpadding>cellpadding</code> attribute <a href=#maps-to-the-pixel-length-property title="maps to the pixel length property">maps to the pixel length
+  <p>The <code><a href=#the-table-element>table</a></code> element's <code title=attr-table-cellpadding><a href=#attr-table-cellpadding>cellpadding</a></code> attribute <a href=#maps-to-the-pixel-length-property title="maps to the pixel length property">maps to the pixel length
   properties</a> 'padding-top', 'padding-right', 'padding-bottom',
   and 'padding-left' of any <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code>
   elements that have corresponding <a href=#concept-cell title=concept-cell>cells</a> in the <a href=#concept-table title=concept-table>table</a> corresponding to the
@@ -67639,11 +67657,11 @@
   dimension property</a> 'height' on the <code><a href=#the-table-element>table</a></code>
   element.</p>
 
-  <p>The <code><a href=#the-table-element>table</a></code> element's <code title=attr-table-width>width</code> attribute <a href=#maps-to-the-dimension-property>maps to the
+  <p>The <code><a href=#the-table-element>table</a></code> element's <code title=attr-table-width><a href=#attr-table-width>width</a></code> attribute <a href=#maps-to-the-dimension-property>maps to the
   dimension property</a> 'width' on the <code><a href=#the-table-element>table</a></code>
   element.</p>
 
-  <p>The <code><a href=#the-col-element>col</a></code> element's <code title=attr-col-width>width</code> attribute <a href=#maps-to-the-dimension-property>maps to the
+  <p>The <code><a href=#the-col-element>col</a></code> element's <code title=attr-col-width><a href=#attr-col-width>width</a></code> attribute <a href=#maps-to-the-dimension-property>maps to the
   dimension property</a> 'width' on the <code><a href=#the-col-element>col</a></code>
   element.</p>
 
@@ -67730,7 +67748,7 @@
 
   <p>The <code><a href=#center>center</a></code> element, the <code><a href=#the-caption-element>caption</a></code> element
   unless specified otherwise below, and the <code><a href=#the-div-element>div</a></code> element
-  when its <code title=attr-div-align>align</code> attribute's value
+  when its <code title=attr-div-align><a href=#attr-div-align>align</a></code> attribute's value
   is an <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the string
   "<code title="">center</code>", are expected to center text within
   themselves, as if they had their 'text-align' property set to
@@ -68143,7 +68161,7 @@
   to use the ordinal value of the <code><a href=#the-li-element>li</a></code> element to render
   the counter in the list item marker.</p>
 
-  <p>The <code><a href=#the-table-element>table</a></code> element's <code title=attr-table-border>border</code> attribute <a href=#maps-to-the-pixel-length-property title="maps
+  <p>The <code><a href=#the-table-element>table</a></code> element's <code title=attr-table-border><a href=#attr-table-border>border</a></code> attribute <a href=#maps-to-the-pixel-length-property title="maps
   to the pixel length property">maps to the pixel length
   properties</a> 'border-top-width', 'border-right-width',
   'border-bottom-width', 'border-left-width' on the element. If the
@@ -68200,8 +68218,8 @@
 hr[align=center] { margin-left: auto; margin-right: auto; }
 hr[color], hr[noshade] { border-style: solid; }</pre>
 
-  <p>If an <code><a href=#the-hr-element>hr</a></code> element has either a <code title=attr-hr-color>color</code> attribute or a <code title=attr-hr-noshade>noshade</code> attribute, and furthermore
-  also has a <code title=attr-hr-size>size</code> attribute, and
+  <p>If an <code><a href=#the-hr-element>hr</a></code> element has either a <code title=attr-hr-color>color</code> attribute or a <code title=attr-hr-noshade><a href=#attr-hr-noshade>noshade</a></code> attribute, and furthermore
+  also has a <code title=attr-hr-size><a href=#attr-hr-size>size</a></code> attribute, and
   parsing that attribute's value using the <a href=#rules-for-parsing-non-negative-integers>rules for parsing
   non-negative integers</a> doesn't generate an error, then the
   user agent is expected to use the parsed value divided by two as a
@@ -68209,8 +68227,8 @@
   'border-top-width', 'border-right-width', 'border-bottom-width', and
   'border-left-width' on the element.</p>
 
-  <p>Otherwise, if an <code><a href=#the-hr-element>hr</a></code> element has neither a <code title=attr-hr-color>color</code> attribute nor a <code title=attr-hr-noshade>noshade</code> attribute, but does have a
-  <code title=attr-hr-size>size</code> attribute, and parsing that
+  <p>Otherwise, if an <code><a href=#the-hr-element>hr</a></code> element has neither a <code title=attr-hr-color>color</code> attribute nor a <code title=attr-hr-noshade><a href=#attr-hr-noshade>noshade</a></code> attribute, but does have a
+  <code title=attr-hr-size><a href=#attr-hr-size>size</a></code> attribute, and parsing that
   attribute's value using the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative
   integers</a> doesn't generate an error, then: if the parsed value
   is one, then the user agent is expected to use the attribute as a
@@ -68221,7 +68239,7 @@
   <a href=#presentational-hints>presentational hints</a> for the 'height' property on the
   element.</p>
 
-  <p>The <code title=attr-hr-width>width</code> attribute on an
+  <p>The <code title=attr-hr-width><a href=#attr-hr-width>width</a></code> attribute on an
   <code><a href=#the-hr-element>hr</a></code> element <a href=#maps-to-the-dimension-property>maps to the dimension property</a>
   'width' on the element.</p>
 
@@ -68250,7 +68268,7 @@
   <p>The first <code><a href=#the-legend-element>legend</a></code> element child of a
   <code><a href=#the-fieldset-element>fieldset</a></code> element, if any, is expected to be rendered
   over the top border edge of the <code><a href=#the-fieldset-element>fieldset</a></code> element. If
-  the <code><a href=#the-legend-element>legend</a></code> element in question has an <code title=attr-legend-align>align</code> attribute, and its value is
+  the <code><a href=#the-legend-element>legend</a></code> element in question has an <code title=attr-legend-align><a href=#attr-legend-align>align</a></code> attribute, and its value is
   an <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for one of the strings
   in the first column of the following table, then the
   <code><a href=#the-legend-element>legend</a></code> is expected to be rendered horizontally aligned
@@ -69552,7 +69570,7 @@
 
   <!-- based on Mozilla's list, which was itself based on HTML4 -->
   <!-- WebKit's was identical at the time of writing except as noted below -->
-  <ul><li><code title="">accept</code>
+  <ul class=brief><li><code title="">accept</code>
    <li><code title="">accept-charset</code>
    <li><code title="">align</code>
    <li><code title="">alink</code>
@@ -69603,15 +69621,195 @@
   <a href=#case-sensitive>case-sensitive</a>.</p>
 
 
-  <div class=impl>
-
   <h2 id=obsolete-features><span class=secno>12 </span>Obsolete features</h2>
 
   <p>Authors and documents must not use the features listed in this
-  section. They are documented to enable user agents to support legacy
-  content in an interoperable fashion.</p>
+  section. <span class=impl>They are documented to enable user
+  agents to support legacy content in an interoperable
+  fashion.</span></p>
 
+  <p>The following elements are entirely obsolete:</p>
 
+  <dl><!-- alphabetical by first element in the group, except CSS goes last --><dt><code><a href=#the-applet-element>applet</a></code></dt>
+   <dd><p>Use <code><a href=#the-embed-element>embed</a></code> or <code><a href=#the-object-element>object</a></code> instead.</dd>
+
+   <dt><dfn id=acronym><code>acronym</code></dfn></dt>
+   <dd><p>Use <code><a href=#the-abbr-element>abbr</a></code> instead.</dd>
+
+   <dt><dfn id=dir><code>dir</code></dfn></dt>
+   <dd><p>Use <code><a href=#the-ul-element>ul</a></code> instead.</dd>
+
+   <dt><code><a href=#frame>frame</a></code></dt>
+   <dt><code><a href=#frameset>frameset</a></code></dt>
+   <dt><dfn id=noframes><code>noframes</code></dfn></dt>
+   <dd><p>Use <code><a href=#the-iframe-element>iframe</a></code> and CSS instead.</dd>
+
+   <dt><dfn id=isindex-0><code>isindex</code></dfn></dt>
+   <dd><p>Use an explicit <code><a href=#the-form-element>form</a></code> and <a href=#text-state-and-search-state title=attr-input-type-text>text field</a> combination instead.</dd>
+
+   <dt><dfn id=noembed><code>noembed</code></dfn></dt>
+   <dd><p>Use <code><a href=#the-object-element>object</a></code> instead of <code><a href=#the-embed-element>embed</a></code> when fallback is necessary.</dd>
+
+   <dt><dfn id=basefont><code>basefont</code></dfn></dt>
+   <dt><dfn id=big><code>big</code></dfn></dt>
+   <dt><dfn id=blink><code>blink</code></dfn></dt>
+   <dt><dfn id=center><code>center</code></dfn></dt>
+   <dt><dfn id=font><code>font</code></dfn></dt>
+   <dt><code><a href=#the-marquee-element-0>marquee</a></code></dt>
+   <dt><dfn id=s><code>s</code></dfn></dt>
+   <dt><dfn id=spacer><code>spacer</code></dfn></dt>
+   <dt><dfn id=strike><code>strike</code></dfn></dt>
+   <dt><dfn id=tt><code>tt</code></dfn></dt>
+   <dt><dfn id=u><code>u</code></dfn></dt>
+   <dd><p>Use CSS instead.</dd>
+
+  </dl><hr><p>The following attributes are obsolete (though the elements are
+  still part of the language):</p>
+
+  <dl><!-- alphabetical by element then attribute of first item in group, except CSS goes last --><dt><dfn id=attr-a-charset title=attr-a-charset><code>charset</code></dfn> on <code><a href=#the-a-element>a</a></code> elements</dt>
+   <dt><dfn id=attr-link-charset title=attr-link-charset><code>charset</code></dfn> on <code><a href=#the-link-element>link</a></code> elements</dt>
+   <dd><p>Use an HTTP Content-Type header on the linked resource instead.</dd>
+
+   <dt><dfn id=attr-a-coords title=attr-a-coords><code>coords</code></dfn> on <code><a href=#the-a-element>a</a></code> elements</dt>
+   <dt><dfn id=attr-a-shape title=attr-a-shape><code>shape</code></dfn> on <code><a href=#the-a-element>a</a></code> elements</dt>
+   <dd><p>Use <code><a href=#the-area-element>area</a></code> instead of <code><a href=#the-a-element>a</a></code> for image maps.</dd>
+
+   <dt><dfn id=attr-a-rev title=attr-a-rev><code>rev</code></dfn> on <code><a href=#the-a-element>a</a></code> elements</dt>
+   <dt><dfn id=attr-link-rev title=attr-link-rev><code>rev</code></dfn> on <code><a href=#the-link-element>link</a></code> elements</dt>
+   <dd><p>Use the <code title=attr-hyperlink-rel><a href=#attr-hyperlink-rel>rel</a></code>
+   attribute instead, with an opposite term. (For example, instead of
+   <code title="">rev="made"</code>, use <code title="">rel="author"</code>.)</dd>
+
+   <dt><dfn id=attr-a-name title=attr-a-name><code>name</code></dfn> on <code><a href=#the-a-element>a</a></code> elements</dt>
+   <dt><dfn id=attr-img-name title=attr-img-name><code>name</code></dfn> on <code><a href=#the-img-element>img</a></code> elements</dt>
+   <dd><p>Use the <code title=attr-id><a href=#the-id-attribute>id</a></code> attribute instead.</dd>
+
+   <dt><dfn id=attr-area-nohref title=attr-area-nohref><code>nohref</code></dfn> on <code><a href=#the-area-element>area</a></code> elements</dt>
+   <dd><p>Omitting the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code>
+   attribute is sufficient; the <code title=attr-area-nohref><a href=#attr-area-nohref>nohref</a></code> attribute is
+   unnecessary. Omit it altogether.</dd>
+
+   <dt><dfn id=attr-head-profile title=attr-head-profile><code>profile</code></dfn> on <code><a href=#the-head-element>head</a></code> elements</dt>
+   <dd><p>When used for declaring which <code><a href=#meta>meta</a></code> terms are
+   used in the document, unnecessary; omit it altogether, and <a href=#concept-meta-extensions title=concept-meta-extensions>register the names</a>.</dd>
+   <dd><p>When used for triggering specific user agent behaviors: use
+   a <code><a href=#the-link-element>link</a></code> element instead.</dd>
+
+   <dt><dfn id=attr-html-version title=attr-html-version><code>version</code></dfn> on <code><a href=#the-html-element>html</a></code> elements</dt>
+   <dd><p>Unnecessary. Omit it altogether.</dd>
+
+   <dt><dfn id=attr-input-usemap title=attr-input-usemap><code>usemap</code></dfn> on <code><a href=#the-input-element>input</a></code> elements</dt>
+   <dd><p>Use <code><a href=#the-img-element>img</a></code> instead of <code><a href=#the-input-element>input</a></code> for image maps.</dd>
+
+   <dt><dfn id=attr-iframe-longdesc title=attr-iframe-longdesc><code>longdesc</code></dfn> on <code><a href=#the-iframe-element>iframe</a></code> elements</dt>
+   <dt><dfn id=attr-img-longdesc title=attr-img-longdesc><code>longdesc</code></dfn> on <code><a href=#the-img-element>img</a></code> elements</dt>
+   <dd><p>Use a regular <code><a href=#the-a-element>a</a></code> element to link to the description.</dd>
+
+   <dt><dfn id=attr-link-target title=attr-link-target><code>target</code></dfn> on <code><a href=#the-link-element>link</a></code> elements</dt>
+   <dd><p>Unnecessary. Omit it altogether.</dd>
+
+   <dt><dfn id=attr-meta-scheme title=attr-meta-scheme><code>scheme</code></dfn> on <code><a href=#meta>meta</a></code> elements</dt>
+   <dd><p>Use only one scheme per field, or make the scheme declaration part of the value.</dd>
+
+   <dt><dfn id=attr-object-archive title=attr-object-archive><code>archive</code></dfn> on <code><a href=#the-object-element>object</a></code> elements</dt>
+   <dt><dfn id=attr-object-code title=attr-object-code><code>code</code></dfn> on <code><a href=#the-object-element>object</a></code> elements</dt>
+   <dt><dfn id=attr-object-codebase title=attr-object-codebase><code>codebase</code></dfn> on <code><a href=#the-object-element>object</a></code> elements</dt>
+   <dt><dfn id=attr-object-codetype title=attr-object-codetype><code>codetype</code></dfn> on <code><a href=#the-object-element>object</a></code> elements</dt>
+   <dd><p>Use the <code title=attr-object-data><a href=#attr-object-data>data</a></code> and <code title=attr-object-type><a href=#attr-object-type>type</a></code> attributes to invoke
+   <a href=#plugin title=plugin>plugins</a>.</dd>
+
+   <dt><dfn id=attr-object-declare title=attr-object-declare><code>declare</code></dfn> on <code><a href=#the-object-element>object</a></code> elements</dt>
+   <dd><p>Repeat the <code><a href=#the-object-element>object</a></code> element completely each time the resource is to be reused.</dd>
+
+   <dt><dfn id=attr-object-standby title=attr-object-standby><code>standby</code></dfn> on <code><a href=#the-object-element>object</a></code> elements</dt>
+   <dd><p>Optimise the linked resource so that it loads quickly or, at least, incrementally.</dd>
+
+   <dt><dfn id=attr-param-type title=attr-param-type><code>type</code></dfn> on <code><a href=#the-param-element>param</a></code> elements</dt>
+   <dt><dfn id=attr-param-valuetype title=attr-param-valuetype><code>valuetype</code></dfn> on <code><a href=#the-param-element>param</a></code> elements</dt>
+   <dd><p>Use the <code title=attr-param-name><a href=#attr-param-name>name</a></code> and <code title=attr-param-value><a href=#attr-param-value>value</a></code> attributes without declaring
+   value types.</dd>
+
+   <dt><dfn id=attr-table-summary title=attr-table-summary><code>summary</code></dfn> on <code><a href=#the-table-element>table</a></code> elements</dt>
+   <dd><p>Use the <code><a href=#the-caption-element>caption</a></code> element instead.</p>
+
+   <dt><dfn id=attr-td/th-abbr title=attr-td/th-abbr><code>abbr</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
+   <dd><p>Use text that begins in an unambiguous and terse manner, and include any more elaborate text after that.</p>
+
+   <dt><dfn id=attr-td/th-axis title=attr-td/th-axis><code>axis</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
+   <dd><p>Use the <code title=attr-th-scope><a href=#attr-th-scope>scope</a></code> attribute.</p>
+
+   <dt><dfn id=attr-body-alink title=attr-body-alink><code>alink</code></dfn> on <code><a href=#the-body-element>body</a></code> elements</dt>
+   <dt><dfn id=attr-body-background title=attr-body-background><code>background</code></dfn> on <code><a href=#the-body-element>body</a></code> elements</dt>
+   <dt><dfn id=attr-body-bgcolor title=attr-body-bgcolor><code>bgcolor</code></dfn> on <code><a href=#the-body-element>body</a></code> elements</dt>
+   <dt><dfn id=attr-body-link title=attr-body-link><code>link</code></dfn> on <code><a href=#the-body-element>body</a></code> elements</dt>
+   <dt><dfn id=attr-body-text title=attr-body-text><code>text</code></dfn> on <code><a href=#the-body-element>body</a></code> elements</dt>
+   <dt><dfn id=attr-body-vlink title=attr-body-vlink><code>vlink</code></dfn> on <code><a href=#the-body-element>body</a></code> elements</dt>
+   <dt><dfn id=attr-br-clear title=attr-br-clear><code>clear</code></dfn> on <code><a href=#the-br-element>br</a></code> elements</dt>
+   <dt><dfn id=attr-caption-align title=attr-caption-align><code>align</code></dfn> on <code><a href=#the-caption-element>caption</a></code> elements</dt>
+   <dt><dfn id=attr-col-align title=attr-col-align><code>align</code></dfn> on <code><a href=#the-col-element>col</a></code> elements</dt>
+   <dt><dfn id=attr-col-ch title=attr-col-ch><code>ch</code></dfn> on <code><a href=#the-col-element>col</a></code> elements</dt>
+   <dt><dfn id=attr-col-choff title=attr-col-chOff><code>chOff</code></dfn> on <code><a href=#the-col-element>col</a></code> elements</dt>
+   <dt><dfn id=attr-col-valign title=attr-col-vAlign><code>valign</code></dfn> on <code><a href=#the-col-element>col</a></code> elements</dt>
+   <dt><dfn id=attr-col-width title=attr-col-width><code>width</code></dfn> on <code><a href=#the-col-element>col</a></code> elements</dt>
+   <dt><dfn id=attr-div-align title=attr-div-align><code>align</code></dfn> on <code><a href=#the-div-element>div</a></code> elements</dt>
+   <dt><dfn id=attr-dl-compact title=attr-dl-compact><code>compact</code></dfn> on <code><a href=#the-dl-element>dl</a></code> elements</dt>
+   <dt><dfn id=attr-hr-align title=attr-hr-align><code>align</code></dfn> on <code><a href=#the-hr-element>hr</a></code> elements</dt>
+   <dt><dfn id=attr-hr-noshade title=attr-hr-noshade><code>noshade</code></dfn> on <code><a href=#the-hr-element>hr</a></code> elements</dt>
+   <dt><dfn id=attr-hr-size title=attr-hr-size><code>size</code></dfn> on <code><a href=#the-hr-element>hr</a></code> elements</dt>
+   <dt><dfn id=attr-hr-width title=attr-hr-width><code>width</code></dfn> on <code><a href=#the-hr-element>hr</a></code> elements</dt>
+   <dt><dfn id=attr-hx-align title=attr-hx-align><code>align</code></dfn> on <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>—<code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code> elements</dt>
+   <dt><dfn id=attr-iframe-align title=attr-iframe-align><code>align</code></dfn> on <code><a href=#the-iframe-element>iframe</a></code> elements</dt>
+   <dt><dfn id=attr-iframe-frameborder title=attr-iframe-frameborder><code>frameborder</code></dfn> on <code><a href=#the-iframe-element>iframe</a></code> elements</dt>
+   <dt><dfn id=attr-iframe-marginheight title=attr-iframe-marginheight><code>marginheight</code></dfn> on <code><a href=#the-iframe-element>iframe</a></code> elements</dt>
+   <dt><dfn id=attr-iframe-marginwidth title=attr-iframe-marginwidth><code>marginwidth</code></dfn> on <code><a href=#the-iframe-element>iframe</a></code> elements</dt>
+   <dt><dfn id=attr-iframe-scrolling title=attr-iframe-scrolling><code>scrolling</code></dfn> on <code><a href=#the-iframe-element>iframe</a></code> elements</dt>
+   <dt><dfn id=attr-input-align title=attr-input-align><code>align</code></dfn> on <code><a href=#the-input-element>input</a></code> elements</dt>
+   <dt><dfn id=attr-img-align title=attr-img-align><code>align</code></dfn> on <code><a href=#the-img-element>img</a></code> elements</dt>
+   <dt><dfn id=attr-img-border title=attr-img-border><code>border</code></dfn> on <code><a href=#the-img-element>img</a></code> elements</dt>
+   <dt><dfn id=attr-img-hspace title=attr-img-hspace><code>hspace</code></dfn> on <code><a href=#the-img-element>img</a></code> elements</dt>
+   <dt><dfn id=attr-img-vspace title=attr-img-vspace><code>vspace</code></dfn> on <code><a href=#the-img-element>img</a></code> elements</dt>
+   <dt><dfn id=attr-legend-align title=attr-legend-align><code>align</code></dfn> on <code><a href=#the-legend-element>legend</a></code> elements</dt>
+   <dt><dfn id=attr-li-type title=attr-li-type><code>type</code></dfn> on <code><a href=#the-li-element>li</a></code> elements</dt>
+   <dt><dfn id=attr-menu-compact title=attr-menu-compact><code>compact</code></dfn> on <code><a href=#menus>menu</a></code> elements</dt>
+   <dt><dfn id=attr-object-align title=attr-object-align><code>align</code></dfn> on <code><a href=#the-object-element>object</a></code> elements</dt>
+   <dt><dfn id=attr-object-border title=attr-object-border><code>border</code></dfn> on <code><a href=#the-object-element>object</a></code> elements</dt>
+   <dt><dfn id=attr-object-hspace title=attr-object-hspace><code>hspace</code></dfn> on <code><a href=#the-object-element>object</a></code> elements</dt>
+   <dt><dfn id=attr-object-vspace title=attr-object-vspace><code>vspace</code></dfn> on <code><a href=#the-object-element>object</a></code> elements</dt>
+   <dt><dfn id=attr-ol-compact title=attr-ol-compact><code>compact</code></dfn> on <code><a href=#the-ol-element>ol</a></code> elements</dt>
+   <dt><dfn id=attr-ol-type title=attr-ol-type><code>type</code></dfn> on <code><a href=#the-ol-element>ol</a></code> elements</dt>
+   <dt><dfn id=attr-p-align title=attr-p-align><code>align</code></dfn> on <code><a href=#the-p-element>p</a></code> elements</dt>
+   <dt><dfn id=attr-pre-width title=attr-pre-width><code>width</code></dfn> on <code><a href=#the-pre-element>pre</a></code> elements</dt>
+   <dt><dfn id=attr-table-align title=attr-table-align><code>align</code></dfn> on <code><a href=#the-table-element>table</a></code> elements</dt>
+   <dt><dfn id=attr-table-bgcolor title=attr-table-bgcolor><code>bgcolor</code></dfn> on <code><a href=#the-table-element>table</a></code> elements</dt>
+   <dt><dfn id=attr-table-border title=attr-table-border><code>border</code></dfn> on <code><a href=#the-table-element>table</a></code> elements</dt>
+   <dt><dfn id=attr-table-cellpadding title=attr-table-cellpadding><code>cellpadding</code></dfn> on <code><a href=#the-table-element>table</a></code> elements</dt>
+   <dt><dfn id=attr-table-cellspacing title=attr-table-cellspacing><code>cellspacing</code></dfn> on <code><a href=#the-table-element>table</a></code> elements</dt>
+   <dt><dfn id=attr-table-frame title=attr-table-frame><code>frame</code></dfn> on <code><a href=#the-table-element>table</a></code> elements</dt>
+   <dt><dfn id=attr-table-rules title=attr-table-rules><code>rules</code></dfn> on <code><a href=#the-table-element>table</a></code> elements</dt>
+   <dt><dfn id=attr-table-width title=attr-table-width><code>width</code></dfn> on <code><a href=#the-table-element>table</a></code> elements</dt>
+   <dt><dfn id=attr-tbody-align title=attr-tbody-align><code>align</code></dfn> on <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, and <code><a href=#the-tfoot-element>tfoot</a></code> elements</dt>
+   <dt><dfn id=attr-tbody-ch title=attr-tbody-ch><code>ch</code></dfn> on <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, and <code><a href=#the-tfoot-element>tfoot</a></code> elements</dt>
+   <dt><dfn id=attr-tbody-choff title=attr-tbody-chOff><code>chOff</code></dfn> on <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, and <code><a href=#the-tfoot-element>tfoot</a></code> elements</dt>
+   <dt><dfn id=attr-tbody-valign title=attr-tbody-vAlign><code>valign</code></dfn> on <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, and <code><a href=#the-tfoot-element>tfoot</a></code> elements</dt>
+   <dt><dfn id=attr-td/th-align title=attr-td/th-align><code>align</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
+   <dt><dfn id=attr-td/th-bgcolor title=attr-td/th-bgColor><code>bgColor</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
+   <dt><dfn id=attr-td/th-ch title=attr-td/th-ch><code>ch</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
+   <dt><dfn id=attr-td/th-choff title=attr-td/th-chOff><code>chOff</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
+   <dt><dfn id=attr-td/th-height title=attr-td/th-height><code>height</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
+   <dt><dfn id=attr-td/th-nowrap title=attr-td/th-noWrap><code>noWrap</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
+   <dt><dfn id=attr-td/th-valign title=attr-td/th-vAlign><code>vAlign</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
+   <dt><dfn id=attr-td/th-width title=attr-td/th-width><code>width</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
+   <dt><dfn id=attr-tr-align title=attr-tr-align><code>align</code></dfn> on <code><a href=#the-tr-element>tr</a></code> elements</dt>
+   <dt><dfn id=attr-tr-bgcolor title=attr-tr-bgcolor><code>bgcolor</code></dfn> on <code><a href=#the-tr-element>tr</a></code> elements</dt>
+   <dt><dfn id=attr-tr-ch title=attr-tr-ch><code>ch</code></dfn> on <code><a href=#the-tr-element>tr</a></code> elements</dt>
+   <dt><dfn id=attr-tr-choff title=attr-tr-chOff><code>chOff</code></dfn> on <code><a href=#the-tr-element>tr</a></code> elements</dt>
+   <dt><dfn id=attr-tr-valign title=attr-tr-vAlign><code>valign</code></dfn> on <code><a href=#the-tr-element>tr</a></code> elements</dt>
+   <dt><dfn id=attr-ul-compact title=attr-ul-compact><code>compact</code></dfn> on <code><a href=#the-ul-element>ul</a></code> elements</dt>
+   <dt><dfn id=attr-ul-type title=attr-ul-type><code>type</code></dfn> on <code><a href=#the-ul-element>ul</a></code> elements</dt>
+   <dd><p>Use CSS instead.</dd>
+
+  </dl><div class=impl>
+
   <h3 id=self-contained-features><span class=secno>12.1 </span>Self-contained features</h3>
 
   <h4 id=the-applet-element><span class=secno>12.1.1 </span>The <dfn><code>applet</code></dfn> element</h4>
@@ -69632,21 +69830,29 @@
   <p>Otherwise, <span class=XXX>define how the element works,
   if supported</span>.</p>
 
-  <pre class=idl>[XXX] interface <a href=#htmldocument>HTMLDocument</a> {
-  readonly attribute <a href=#htmlcollection-0>HTMLCollection</a> <a href=#dom-document-anchors title=dom-document-anchors>anchors</a>;
-  readonly attribute <a href=#htmlcollection-0>HTMLCollection</a> <a href=#dom-document-applets title=dom-document-applets>applets</a>;
+  <p>The <code><a href=#the-applet-element>applet</a></code> element must implement the
+  <code><a href=#htmlappletelement>HTMLAppletElement</a></code> interface.</p>
+
+  <pre class=idl>interface <dfn id=htmlappletelement>HTMLAppletElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
+           attribute DOMString <a href=#dom-applet-align title=dom-applet-align>align</a>;
+           attribute DOMString <a href=#dom-applet-alt title=dom-applet-alt>alt</a>;
+           attribute DOMString <a href=#dom-applet-archive title=dom-applet-archive>archive</a>;
+           attribute DOMString <a href=#dom-applet-code title=dom-applet-code>code</a>;
+           attribute DOMString <a href=#dom-applet-codebase title=dom-applet-codeBase>codeBase</a>;
+           attribute DOMString <a href=#dom-applet-height title=dom-applet-height>height</a>;
+           attribute long <a href=#dom-applet-hspace title=dom-applet-hspace>hspace</a>;
+           attribute DOMString <a href=#dom-applet-name title=dom-applet-name>name</a>;
+           attribute DOMString <a href=#dom-applet-object title=dom-applet-object>object</a>;
+           attribute long <a href=#dom-applet-vspace title=dom-applet-vspace>vspace</a>;
+           attribute DOMString <a href=#dom-applet-width title=dom-applet-width>width</a>;
 };</pre>
 
-  <p>The <dfn id=dom-document-anchors title=dom-document-anchors><code>anchors</code></dfn>
-  attribute must return an <code><a href=#htmlcollection-0>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only <code><a href=#the-a-element>a</a></code>
-  elements with <code title=attr-a-name><a href=#attr-a-name>name</a></code>
-  attributes.</p>
+  <p>The <dfn id=dom-applet-align title=dom-applet-align><code>align</code></dfn>, <dfn id=dom-applet-alt title=dom-applet-alt><code>alt</code></dfn>, <dfn id=dom-applet-archive title=dom-applet-archive><code>archive</code></dfn>, <dfn id=dom-applet-code title=dom-applet-code><code>code</code></dfn>, <dfn id=dom-applet-height title=dom-applet-height><code>height</code></dfn>, <dfn id=dom-applet-hspace title=dom-applet-hspace><code>hspace</code></dfn>, <dfn id=dom-applet-name title=dom-applet-name><code>name</code></dfn>, <dfn id=dom-applet-object title=dom-applet-object><code>object</code></dfn>, <dfn id=dom-applet-vspace title=dom-applet-vspace><code>vspace</code></dfn>, and <dfn id=dom-applet-width title=dom-applet-width><code>width</code></dfn> DOM attributes
+  must <a href=#reflect>reflect</a> the respective content attributes of the
+  same name.</p>
 
-  <p>The <dfn id=dom-document-applets title=dom-document-applets><code>applets</code></dfn>
-  attribute must return an <code><a href=#htmlcollection-0>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only
-  <code><a href=#the-applet-element>applet</a></code> elements.</p>
+  <p>The <dfn id=dom-applet-codebase title=dom-applet-codeBase><code>codeBase</code></dfn>
+  DOM attribute must <a href=#reflect>reflect</a> the <code title=attr-applet-codebase>codebase</code> content attribute.</p>
 
 
   <h4 id=the-marquee-element-0><span class=secno>12.1.2 </span>The <dfn><code>marquee</code></dfn> element</h4>
@@ -69658,6 +69864,9 @@
   <p>The <a href=#task-source>task source</a> for tasks mentioned in this section
   is the <a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</p>
 
+  <p>The <code><a href=#the-marquee-element-0>marquee</a></code> element must implement the
+  <code><a href=#htmlmarqueeelement>HTMLMarqueeElement</a></code> interface.</p>
+
   <pre class=idl>interface <dfn id=htmlmarqueeelement>HTMLMarqueeElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-marquee-behavior title=dom-marquee-behavior>behavior</a>;
            attribute DOMString <a href=#dom-marquee-bgcolor title=dom-marquee-bgColor>bgColor</a>;
@@ -69833,71 +70042,207 @@
   attribute.</p>
 
 
-  
-  
+  <h4 id=frames><span class=secno>12.1.3 </span>Frames</h4>
 
+  <p>The <dfn id=frameset><code>frameset</code></dfn> element acts as <a href=#the-body-element-0>the
+  body element</a> in documents that use frames.</p>
 
+  <p>The <code><a href=#frameset>frameset</a></code> element must implement the
+  <code><a href=#htmlframesetelement>HTMLFrameSetElement</a></code> interface.</p>
 
-  <h3 id=other-elements-and-attributes><span class=secno>12.2 </span>Other elements and attributes</h3>
+  <pre class=idl>interface <dfn id=htmlframesetelement>HTMLFrameSetElement</dfn> {
+           attribute DOMString <a href=#dom-frameset-cols title=dom-frameset-cols>cols</a>;
+           attribute DOMString <a href=#dom-frameset-rows title=dom-frameset-rows>rows</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onload title=handler-window-onload>onload</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onredo title=handler-window-onredo>onredo</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onundo title=handler-window-onundo>onundo</a>;
+           attribute <a href=#function>Function</a> <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
+};</pre>
 
-  <p>The following elements are obsolete and either have no meaning
-  whatsoever or have no requirements beyond those described elsewhere
-  in this specification:</p>
+  <p>The <dfn id=dom-frameset-cols title=dom-frameset-cols><code>cols</code></dfn> and
+  <dfn id=dom-frameset-rows title=dom-frameset-rows><code>rows</code></dfn> DOM
+  attributes of the <code><a href=#frameset>frameset</a></code> element must
+  <a href=#reflect>reflect</a> the respective content attributes of the same
+  name.</p>
 
-  <dl><!-- alphabetical by first element in the group, except CSS goes last --><dt><dfn id=acronym><code>acronym</code></dfn></dt>
-   <dd><p>Use <code><a href=#the-abbr-element>abbr</a></code> instead.</dd>
+  <p>The <code><a href=#frameset>frameset</a></code> element must support the following
+  <a href=#event-handler-content-attributes>event handler content attributes</a> exposing the
+  <a href=#event-handler-attributes-0>event handler attributes</a> of the <code><a href=#window>Window</a></code>
+  object:</p>
 
-   <dt><dfn id=dir><code>dir</code></dfn></dt>
-   <dd><p>Use <code><a href=#the-ul-element>ul</a></code> instead.</dd>
+  <ul class=brief><li><code title=handler-window-onafterprint><a href=#handler-window-onafterprint>onafterprint</a></code></li>
+   <li><code title=handler-window-onbeforeprint><a href=#handler-window-onbeforeprint>onbeforeprint</a></code></li>
+   <li><code title=handler-window-onbeforeunload><a href=#handler-window-onbeforeunload>onbeforeunload</a></code></li>
+   <li><code title=handler-window-onblur><a href=#handler-window-onblur>onblur</a></code></li>
+   <li><code title=handler-window-onerror><a href=#handler-window-onerror>onerror</a></code></li>
+   <li><code title=handler-window-onfocus><a href=#handler-window-onfocus>onfocus</a></code></li>
+   <li><code title=handler-window-onhashchange><a href=#handler-window-onhashchange>onhashchange</a></code></li>
+   <li><code title=handler-window-onload><a href=#handler-window-onload>onload</a></code></li>
+   <li><code title=handler-window-onmessage><a href=#handler-window-onmessage>onmessage</a></code></li>
+   <li><code title=handler-window-onoffline><a href=#handler-window-onoffline>onoffline</a></code></li>
+   <li><code title=handler-window-ononline><a href=#handler-window-ononline>ononline</a></code></li>
+   <li><code title=handler-window-onpopstate><a href=#handler-window-onpopstate>onpopstate</a></code></li>
+   <li><code title=handler-window-onredo><a href=#handler-window-onredo>onredo</a></code></li>
+   <li><code title=handler-window-onresize><a href=#handler-window-onresize>onresize</a></code></li>
+   <li><code title=handler-window-onstorage><a href=#handler-window-onstorage>onstorage</a></code></li>
+   <li><code title=handler-window-onundo><a href=#handler-window-onundo>onundo</a></code></li>
+   <li><code title=handler-window-onunload><a href=#handler-window-onunload>onunload</a></code></li>
+  </ul><p>The DOM interface also exposes <a href=#event-handler-dom-attributes>event handler DOM
+  attributes</a> that mirror those on the <code><a href=#window>Window</a></code>
+  element.</p>
 
-   <dt><dfn id=frame><code>frame</code></dfn></dt>
-   <dt><dfn id=frameset><code>frameset</code></dfn></dt>
-   <dt><dfn id=noframes><code>noframes</code></dfn></dt>
-   <dd><p>Use <code><a href=#the-iframe-element>iframe</a></code> and CSS instead.</dd>
+  <p>The <code title=handler-window-onblur><a href=#handler-window-onblur>onblur</a></code>, <code title=handler-window-onerror><a href=#handler-window-onerror>onerror</a></code>, <code title=handler-window-onfocus><a href=#handler-window-onfocus>onfocus</a></code>, and <code title=handler-window-onload><a href=#handler-window-onload>onload</a></code> <a href=#event-handler-attributes-0>event handler
+  attributes</a> of the <code><a href=#window>Window</a></code> object, exposed on the
+  <code><a href=#frameset>frameset</a></code> element, shadow the generic <a href=#event-handler-attributes-0>event
+  handler attributes</a> with the same names normally supported by
+  <a href=#html-elements>HTML elements</a>.</p>
 
-   <dt><dfn id=isindex-0><code>isindex</code></dfn></dt>
-   <dd><p>Use an explicit <code><a href=#the-form-element>form</a></code> and <a href=#text-state-and-search-state title=attr-input-type-text>text field</a> combination instead.</dd>
+  <hr><p>The <dfn id=frame><code>frame</code></dfn> element defines a <a href=#nested-browsing-context>nested
+  browsing context</a> similar to the <code><a href=#the-iframe-element>iframe</a></code> element,
+  but rendered within a <code><a href=#frameset>frameset</a></code> element.</p>
 
-   <dt><dfn id=noembed><code>noembed</code></dfn></dt>
-   <dd><p>Use <code><a href=#the-object-element>object</a></code> instead of <code><a href=#the-embed-element>embed</a></code> when fallback is necessary.</dd>
+  <p>When the browsing context is created, if a <code title=attr-frame-src>src</code> attribute is present, the user
+  agent must <a href=#resolve-a-url title="resolve a url">resolve</a> the value of
+  that attribute, relative to the element, and if that is successful,
+  must then <a href=#navigate>navigate</a> the element's browsing context to
+  the resulting <a href=#absolute-url>absolute URL</a>, with <a href=#replacement-enabled>replacement
+  enabled</a>, and with the <code><a href=#frame>frame</a></code> element's
+  document's <a href=#browsing-context>browsing context</a> as the <a href=#source-browsing-context>source
+  browsing context</a>.</p>
 
-   <dt><dfn id=basefont><code>basefont</code></dfn></dt>
-   <dt><dfn id=big><code>big</code></dfn></dt>
-   <dt><dfn id=blink><code>blink</code></dfn></dt>
-   <dt><dfn id=center><code>center</code></dfn></dt>
-   <dt><dfn id=font><code>font</code></dfn></dt>
-   <dt><dfn id=s><code>s</code></dfn></dt>
-   <dt><dfn id=spacer><code>spacer</code></dfn></dt>
-   <dt><dfn id=strike><code>strike</code></dfn></dt>
-   <dt><dfn id=tt><code>tt</code></dfn></dt>
-   <dt><dfn id=u><code>u</code></dfn></dt>
-   <dd><p>Use CSS instead.</dd>
+  <p>Whenever the <code title=attr-frame-src>src</code> attribute
+  is set, the user agent must <a href=#resolve-a-url title="resolve a
+  url">resolve</a> the value of that attribute, relative to the
+  element, and if that is successful, the nested <a href=#browsing-context>browsing
+  context</a> must be <a href=#navigate title=navigate>navigated</a> to
+  the resulting <a href=#absolute-url>absolute URL</a>, with the
+  <code><a href=#frame>frame</a></code> element's document's <a href=#browsing-context>browsing
+  context</a> as the <a href=#source-browsing-context>source browsing context</a>.</p>
 
-  </dl><hr><p>The following attributes are obsolete (though the elements are
-  still part of the language) and either have no meaning whatsoever or
-  have no requirements beyond those described elsewhere in this
-  specification:</p>
+  <p>When the browsing context is created, if a <code title=attr-frame-name>name</code> attribute is present, the
+  <a href=#browsing-context-name>browsing context name</a> must be set to the value of this
+  attribute; otherwise, the <a href=#browsing-context-name>browsing context name</a> must be
+  set to the empty string.</p>
 
-  <dl><!-- alphabetical by element then attribute of first item in group, except CSS goes last --><dt><dfn id=attr-a-name title=attr-a-name><code>name</code></dfn> on <code><a href=#the-a-element>a</a></code> elements</dt>
-   <dd><p>Use the <code title=attr-id><a href=#the-id-attribute>id</a></code> attribute instead.</dd>
+  <p>Whenever the <code title=attr-frame-name>name</code> attribute
+  is set, the nested <a href=#browsing-context>browsing context</a>'s <a href=#browsing-context-name title="browsing context name">name</a> must be changed to the new
+  value. If the attribute is removed, the <a href=#browsing-context-name>browsing context
+  name</a> must be set to the empty string.</p>
 
-   <dt><dfn id=attr-body-alink title=attr-body-alink><code>alink</code></dfn> on <code><a href=#the-body-element>body</a></code> elements</dt>
-   <dt><dfn id=attr-body-background title=attr-body-background><code>background</code></dfn> on <code><a href=#the-body-element>body</a></code> elements</dt>
-   <dt><dfn id=attr-body-bgcolor title=attr-body-bgcolor><code>bgcolor</code></dfn> on <code><a href=#the-body-element>body</a></code> elements</dt>
-   <dt><dfn id=attr-body-link title=attr-body-link><code>link</code></dfn> on <code><a href=#the-body-element>body</a></code> elements</dt>
-   <dt><dfn id=attr-body-text title=attr-body-text><code>text</code></dfn> on <code><a href=#the-body-element>body</a></code> elements</dt>
-   <dt><dfn id=attr-body-vlink title=attr-body-vlink><code>vlink</code></dfn> on <code><a href=#the-body-element>body</a></code> elements</dt>
-   <dd><p>Use CSS instead.</dd>
+  <p>When content loads in a <code><a href=#frame>frame</a></code>, after any <code title=event-load><a href=#event-load>load</a></code> events are fired within the content
+  itself, the user agent must <a href=#fire-a-simple-event>fire a simple event</a> called
+  <code title=event-load><a href=#event-load>load</a></code> at the <code><a href=#frame>frame</a></code>
+  element. When content fails to load (e.g. due to a network error),
+  then the user agent must <a href=#fire-a-simple-event>fire a simple event</a> called
+  <code title=event-error><a href=#event-error>error</a></code> at the element instead.</p>
 
-  </dl><h3 id=other-dom-apis><span class=secno>12.3 </span>Other DOM APIs</h3>
+  <p>When there is an <a href=#active-parser>active parser</a> in the
+  <code><a href=#frame>frame</a></code>, and when anything in the <code><a href=#frame>frame</a></code> is
+  <a href=#delay-the-load-event title="delay the load event">delaying the load event</a> of
+  the <code><a href=#frame>frame</a></code>'s <a href=#browsing-context>browsing context</a>'s
+  <a href=#active-document>active document</a>, the <code><a href=#frame>frame</a></code> must
+  <a href=#delay-the-load-event>delay the load event</a> of its document.</p>
 
-  <p>These APIs expose obsolete content attributes.</p>
+  <p>The <code><a href=#frame>frame</a></code> element must implement the
+  <code><a href=#htmlframeelement>HTMLFrameElement</a></code> interface.</p>
 
-  <p class=XXX>The [XXX] below is for some annotation meaning "this
-  is just another part of the named interface, and should be treated
-  as if it had been part of the main interface definition".</p>
+  <pre class=idl>interface <dfn id=htmlframeelement>HTMLFrameElement</dfn> {
+           attribute DOMString <a href=#dom-frame-frameborder title=dom-frame-frameBorder>frameBorder</a>;
+           attribute DOMString <a href=#dom-frame-longdesc title=dom-frame-longDesc>longDesc</a>;
+           attribute DOMString <a href=#dom-frame-marginheight title=dom-frame-marginHeight>marginHeight</a>;
+           attribute DOMString <a href=#dom-frame-marginwidth title=dom-frame-marginWidth>marginWidth</a>;
+           attribute DOMString <a href=#dom-frame-name title=dom-frame-name>name</a>;
+           attribute boolean <a href=#dom-frame-noresize title=dom-frame-noResize>noResize</a>;
+           attribute DOMString <a href=#dom-frame-scrolling title=dom-frame-scrolling>scrolling</a>;
+           attribute DOMString <a href=#dom-frame-src title=dom-frame-src>src</a>;
+  readonly attribute Document <a href=#dom-frame-contentdocument title=dom-frame-contentDocument>contentDocument</a>;
+};</pre>
 
-  <pre class=idl>[XXX] interface <a href=#htmlbodyelement>HTMLBodyElement</a> {
+  <p>The <dfn id=dom-frame-name title=dom-frame-name><code>name</code></dfn>, <dfn id=dom-frame-scrolling title=dom-frame-scrolling><code>scrolling</code></dfn>, and <dfn id=dom-frame-src title=dom-frame-src><code>src</code></dfn> DOM attributes of the
+  <code><a href=#frame>frame</a></code> element must <a href=#reflect>reflect</a> the respective
+  content attributes of the same name.</p>
+
+  <p>The <dfn id=dom-frame-frameborder title=dom-frame-frameBorder><code>frameBorder</code></dfn> DOM
+  attribute of the <code><a href=#frame>frame</a></code> element must
+  <a href=#reflect>reflect</a> the element's <code title=attr-frame-frameborder>frameborder</code> content
+  attribute.</p>
+
+  <p>The <dfn id=dom-frame-longdesc title=dom-frame-longDesc><code>longDesc</code></dfn>
+  DOM attribute of the <code><a href=#frame>frame</a></code> element must
+  <a href=#reflect>reflect</a> the element's <code title=attr-frame-longdesc>longdesc</code> content attribute.</p>
+
+  <p>The <dfn id=dom-frame-marginheight title=dom-frame-marginHeight><code>marginHeight</code></dfn> DOM
+  attribute of the <code><a href=#frame>frame</a></code> element must
+  <a href=#reflect>reflect</a> the element's <code title=attr-frame-marginheight>marginheight</code> content
+  attribute.</p>
+
+  <p>The <dfn id=dom-frame-marginwidth title=dom-frame-marginWidth><code>marginWidth</code></dfn> DOM
+  attribute of the <code><a href=#frame>frame</a></code> element must
+  <a href=#reflect>reflect</a> the element's <code title=attr-frame-marginwidth>marginwidth</code> content
+  attribute.</p>
+
+  <p>The <dfn id=dom-frame-noresize title=dom-frame-noResize><code>noResize</code></dfn>
+  DOM attribute of the <code><a href=#frame>frame</a></code> element must
+  <a href=#reflect>reflect</a> the element's <code title=attr-frame-noresize>noresize</code> content attribute.</p>
+
+  <p>The <dfn id=dom-frame-contentdocument title=dom-frame-contentDocument><code>contentDocument</code></dfn>
+  DOM attribute of the <code><a href=#frame>frame</a></code> element must return the
+  <code>Document</code> object of the <a href=#active-document>active document</a> of
+  the <code><a href=#frame>frame</a></code> element's <a href=#nested-browsing-context>nested browsing
+  context</a>.</p>
+
+
+
+  <h3 id=other-elements,-attributes-and-apis><span class=secno>12.2 </span>Other elements, attributes and APIs</h3> <!-- alphabetical by name and attribute -->
+
+  <pre class=idl>[Supplemental] interface <a href=#htmlanchorelement>HTMLAnchorElement</a> {
+           attribute DOMString <a href=#dom-a-coords title=dom-a-coords>coords</a>;
+           attribute DOMString <a href=#dom-a-charset title=dom-a-charset>charset</a>;
+           attribute DOMString <a href=#dom-a-rev title=dom-a-rev>rev</a>;
+           attribute DOMString <a href=#dom-a-shape title=dom-a-shape>shape</a>;
+};</pre>
+
+  <p>The <dfn id=dom-a-coords title=dom-a-coords><code>coords</code></dfn>, <dfn id=dom-a-charset title=dom-a-charset><code>charset</code></dfn>, <dfn id=dom-a-rev title=dom-a-rev><code>rev</code></dfn>, and <dfn id=dom-a-shape title=dom-a-shape><code>shape</code></dfn> DOM attributes of the
+  <code><a href=#the-a-element>a</a></code> element must <a href=#reflect>reflect</a> the respective
+  content attributes of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlareaelement>HTMLAreaElement</a> {
+           attribute boolean <a href=#dom-area-nohref title=dom-area-noHref>noHref</a>;
+};</pre>
+
+  <p>The <dfn id=dom-area-nohref title=dom-area-noHref><code>noHref</code></dfn> DOM
+  attribute of the <code><a href=#the-area-element>area</a></code> element must <a href=#reflect>reflect</a>
+  the element's <code title=attr-area-nohref><a href=#attr-area-nohref>nohref</a></code> content
+  attribute.</p>
+
+  <hr><p>The <code><a href=#basefont>basefont</a></code> element must implement the
+  <code><a href=#htmlbasefontelement>HTMLBaseFontElement</a></code> interface.</p>
+
+  <pre class=idl>interface <dfn id=htmlbasefontelement>HTMLBaseFontElement</dfn> {
+           attribute DOMString <a href=#dom-basefont-color title=dom-basefont-color>color</a>;
+           attribute DOMString <a href=#dom-basefont-face title=dom-basefont-face>face</a>;
+           attribute long <a href=#dom-basefont-size title=dom-basefont-size>size</a>; <!-- yes, long, not DOMString (so says DOM2 HTML) -->
+};</pre>
+
+  <p>The <dfn id=dom-basefont-color title=dom-basefont-color><code>color</code></dfn>,
+  <dfn id=dom-basefont-face title=dom-basefont-face><code>face</code></dfn>, and <dfn id=dom-basefont-size title=dom-basefont-size><code>size</code></dfn> DOM attributes of
+  the <code><a href=#basefont>basefont</a></code> element must <a href=#reflect>reflect</a> the
+  respective content attributes of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlbodyelement>HTMLBodyElement</a> {
            attribute DOMString <a href=#dom-body-text title=dom-body-text>text</a>;
            attribute DOMString <a href=#dom-body-bgcolor title=dom-body-bgColor>bgColor</a>;
            attribute DOMString <a href=#dom-body-background title=dom-body-background>background</a>;
@@ -69938,13 +70283,445 @@
   the element's <code title=attr-body-vlink><a href=#attr-body-vlink>vlink</a></code> content
   attribute.</p>
 
-  <pre class=idl>[XXX] interface <a href=#htmldocument>HTMLDocument</a> {
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlbrelement>HTMLBRElement</a> {
+           attribute DOMString <a href=#dom-br-clear title=dom-br-clear>clear</a>;
+};</pre>
+
+  <p>The <dfn id=dom-br-clear title=dom-br-clear><code>clear</code></dfn> DOM
+  attribute of the <code><a href=#the-br-element>br</a></code> element must <a href=#reflect>reflect</a>
+  the content attribute of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmltablecaptionelement>HTMLTableCaptionElement</a> {
+           attribute DOMString <a href=#dom-caption-align title=dom-caption-align>align</a>;
+};</pre>
+
+  <p>The <dfn id=dom-caption-align title=dom-caption-align><code>align</code></dfn> DOM
+  attribute of the <code><a href=#the-caption-element>caption</a></code> element must
+  <a href=#reflect>reflect</a> the content attribute of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmltablecolelement>HTMLTableColElement</a> {
+           attribute DOMString <a href=#dom-col-align title=dom-col-align>align</a>;
+           attribute DOMString <a href=#dom-col-ch title=dom-col-ch>ch</a>;
+           attribute DOMString <a href=#dom-col-choff title=dom-col-chOff>chOff</a>;
+           attribute DOMString <a href=#dom-col-valign title=dom-col-vAlign>vAlign</a>;
+           attribute DOMString <a href=#dom-col-width title=dom-col-width>width</a>;
+};</pre>
+
+  <p>The <dfn id=dom-col-align title=dom-col-align><code>align</code></dfn>, <dfn id=dom-col-ch title=dom-col-ch><code>ch</code></dfn>, and <dfn id=dom-col-width title=dom-col-width><code>width</code></dfn>, DOM attributes of
+  the <code><a href=#the-col-element>col</a></code> element must <a href=#reflect>reflect</a> the
+  respective content attributes of the same name.</p>
+
+  <p>The <dfn id=dom-col-choff title=dom-col-chOff><code>chOff</code></dfn> DOM
+  attribute of the <code><a href=#the-col-element>col</a></code> element must <a href=#reflect>reflect</a>
+  the element's <code title=attr-col-choff><a href=#attr-col-choff>choff</a></code> content
+  attribute.</p>
+
+  <p>The <dfn id=dom-col-valign title=dom-col-vAlign><code>vAlign</code></dfn> DOM
+  attribute of the <code><a href=#the-col-element>col</a></code> element must <a href=#reflect>reflect</a>
+  the element's <code title=attr-col-valign><a href=#attr-col-valign>valign</a></code> content
+  attribute.</p>
+
+  <hr><p>The <code><a href=#dir>dir</a></code> element must implement the
+  <code><a href=#htmldirectoryelement>HTMLDirectoryElement</a></code> interface.</p>
+
+  <pre class=idl>interface <dfn id=htmldirectoryelement>HTMLDirectoryElement</dfn> {
+           attribute DOMString <a href=#dom-dir-compact title=dom-dir-compact>compact</a>;
+};</pre>
+
+  <p>The <dfn id=dom-dir-compact title=dom-dir-compact><code>compact</code></dfn> DOM
+  attribute of the <code><a href=#dir>dir</a></code> element must <a href=#reflect>reflect</a>
+  the content attribute of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmldivelement>HTMLDivElement</a> {
+           attribute DOMString <a href=#dom-div-align title=dom-div-align>align</a>;
+};</pre>
+
+  <p>The <dfn id=dom-div-align title=dom-div-align><code>align</code></dfn> DOM
+  attribute of the <code><a href=#the-div-element>div</a></code> element must <a href=#reflect>reflect</a>
+  the content attribute of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmldlistelement>HTMLDListElement</a> {
+           attribute DOMString <a href=#dom-dl-compact title=dom-dl-compact>compact</a>;
+};</pre>
+
+  <p>The <dfn id=dom-dl-compact title=dom-dl-compact><code>compact</code></dfn> DOM
+  attribute of the <code><a href=#the-dl-element>dl</a></code> element must <a href=#reflect>reflect</a>
+  the content attribute of the same name.</p>
+
+  <hr><p>The <code><a href=#font>font</a></code> element must implement the
+  <code><a href=#htmlfontelement>HTMLFontElement</a></code> interface.</p>
+
+  <pre class=idl>interface <dfn id=htmlfontelement>HTMLFontElement</dfn> {
+           attribute DOMString <a href=#dom-font-color title=dom-font-color>color</a>;
+           attribute DOMString <a href=#dom-font-face title=dom-font-face>face</a>;
+           attribute DOMString <a href=#dom-font-size title=dom-font-size>size</a>; <!-- yes, DOMString, not long (so says DOM2 HTML) -->
+};</pre>
+
+  <p>The <dfn id=dom-font-color title=dom-font-color><code>color</code></dfn>,
+  <dfn id=dom-font-face title=dom-font-face><code>face</code></dfn>, and <dfn id=dom-font-size title=dom-font-size><code>size</code></dfn> DOM attributes of
+  the <code><a href=#font>font</a></code> element must <a href=#reflect>reflect</a> the
+  respective content attributes of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlheadingelement>HTMLHeadingElement</a> {
+           attribute DOMString <a href=#dom-hx-align title=dom-hx-align>align</a>;
+};</pre>
+
+  <p>The <dfn id=dom-hx-align title=dom-hx-align><code>align</code></dfn> DOM
+  attribute of the <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>–<code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code> elements must
+  <a href=#reflect>reflect</a> the content attribute of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlheadelement>HTMLHeadElement</a> {
+           attribute DOMString <a href=#dom-head-profile title=dom-head-profile>profile</a>;
+};</pre>
+
+  <p>The <dfn id=dom-head-profile title=dom-head-profile><code>profile</code></dfn> DOM
+  attribute of the <code><a href=#the-head-element>head</a></code> element must <a href=#reflect>reflect</a>
+  the content attribute of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlhrelement>HTMLHRElement</a> {
+           attribute DOMString <a href=#dom-hr-align title=dom-hr-align>align</a>;
+           attribute boolean <a href=#dom-hr-noshade title=dom-hr-noShade>noShade</a>;
+           attribute DOMString <a href=#dom-hr-size title=dom-hr-size>size</a>;
+           attribute DOMString <a href=#dom-hr-width title=dom-hr-width>width</a>;
+};</pre>
+
+  <p>The <dfn id=dom-hr-align title=dom-hr-align><code>align</code></dfn>, <dfn id=dom-hr-size title=dom-hr-size><code>size</code></dfn>, and <dfn id=dom-hr-width title=dom-hr-width><code>width</code></dfn> DOM attributes of the
+  <code><a href=#the-hr-element>hr</a></code> element must <a href=#reflect>reflect</a> the respective
+  content attributes of the same name.</p>
+
+  <p>The <dfn id=dom-hr-noshade title=dom-hr-noShade><code>noShade</code></dfn> DOM
+  attribute of the <code><a href=#the-hr-element>hr</a></code> element must <a href=#reflect>reflect</a>
+  the element's <code title=attr-input-noshade>noshade</code>
+  content attribute.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlhtmlelement>HTMLHtmlElement</a> {
+           attribute DOMString <a href=#dom-html-version title=dom-html-version>version</a>;
+};</pre>
+
+  <p>The <dfn id=dom-html-version title=dom-html-version><code>version</code></dfn> DOM
+  attribute of the <code><a href=#the-html-element>html</a></code> element must <a href=#reflect>reflect</a>
+  the content attribute of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmliframeelement>HTMLIFrameElement</a> {
+           attribute DOMString <a href=#dom-iframe-align title=dom-iframe-align>align</a>;
+           attribute DOMString <a href=#dom-iframe-frameborder title=dom-iframe-frameBorder>frameBorder</a>;
+           attribute DOMString <a href=#dom-iframe-longdesc title=dom-iframe-longDesc>longDesc</a>;
+           attribute DOMString <a href=#dom-iframe-marginheight title=dom-iframe-marginHeight>marginHeight</a>;
+           attribute DOMString <a href=#dom-iframe-marginwidth title=dom-iframe-marginWidth>marginWidth</a>;
+           attribute DOMString <a href=#dom-iframe-scrolling title=dom-iframe-scrolling>scrolling</a>;
+};</pre>
+
+  <p>The <dfn id=dom-iframe-align title=dom-iframe-align><code>name</code></dfn> and
+  <dfn id=dom-iframe-scrolling title=dom-iframe-scrolling><code>scrolling</code></dfn> DOM
+  attributes of the <code><a href=#the-iframe-element>iframe</a></code> element must
+  <a href=#reflect>reflect</a> the respective content attributes of the same
+  name.</p>
+
+  <p>The <dfn id=dom-iframe-frameborder title=dom-iframe-frameBorder><code>frameBorder</code></dfn> DOM
+  attribute of the <code><a href=#the-iframe-element>iframe</a></code> element must
+  <a href=#reflect>reflect</a> the element's <code title=attr-iframe-iframeborder>iframeborder</code> content
+  attribute.</p>
+
+  <p>The <dfn id=dom-iframe-longdesc title=dom-iframe-longDesc><code>longDesc</code></dfn>
+  DOM attribute of the <code><a href=#the-iframe-element>iframe</a></code> element must
+  <a href=#reflect>reflect</a> the element's <code title=attr-iframe-longdesc><a href=#attr-iframe-longdesc>longdesc</a></code> content attribute.</p>
+
+  <p>The <dfn id=dom-iframe-marginheight title=dom-iframe-marginHeight><code>marginHeight</code></dfn> DOM
+  attribute of the <code><a href=#the-iframe-element>iframe</a></code> element must
+  <a href=#reflect>reflect</a> the element's <code title=attr-iframe-marginheight><a href=#attr-iframe-marginheight>marginheight</a></code> content
+  attribute.</p>
+
+  <p>The <dfn id=dom-iframe-marginwidth title=dom-iframe-marginWidth><code>marginWidth</code></dfn> DOM
+  attribute of the <code><a href=#the-iframe-element>iframe</a></code> element must
+  <a href=#reflect>reflect</a> the element's <code title=attr-iframe-marginwidth><a href=#attr-iframe-marginwidth>marginwidth</a></code> content
+  attribute.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlimageelement>HTMLImageElement</a> {
+           attribute DOMString <a href=#dom-img-name title=dom-img-name>name</a>;
+           attribute DOMString <a href=#dom-img-align title=dom-img-align>align</a>;
+           attribute DOMString <a href=#dom-img-border title=dom-img-border>border</a>;
+           attribute long <a href=#dom-img-hspace title=dom-img-hspace>hspace</a>;
+           attribute DOMString <a href=#dom-img-longdesc title=dom-img-longDesc>longDesc</a>;
+           attribute long <a href=#dom-img-vspace title=dom-img-vspace>vspace</a>;
+};</pre>
+
+  <p>The <dfn id=dom-img-name title=dom-img-name><code>name</code></dfn>, <dfn id=dom-img-align title=dom-img-align><code>align</code></dfn>, <dfn id=dom-img-border title=dom-img-border><code>border</code></dfn>, <dfn id=dom-img-hspace title=dom-img-hspace><code>hspace</code></dfn>, and <dfn id=dom-img-vspace title=dom-img-vspace><code>vspace</code></dfn> DOM attributes of
+  the <code><a href=#the-img-element>img</a></code> element must <a href=#reflect>reflect</a> the
+  respective content attributes of the same name.</p>
+
+  <p>The <dfn id=dom-img-longdesc title=dom-img-longDesc><code>longDesc</code></dfn> DOM
+  attribute of the <code><a href=#the-img-element>img</a></code> element must <a href=#reflect>reflect</a>
+  the element's <code title=attr-img-longdesc><a href=#attr-img-longdesc>longdesc</a></code> content
+  attribute.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlinputelement>HTMLInputElement</a> {
+           attribute DOMString <a href=#dom-input-align title=dom-input-align>align</a>;
+           attribute DOMString <a href=#dom-input-usemap title=dom-input-useMap>useMap</a>;
+};</pre>
+
+  <p>The <dfn id=dom-input-align title=dom-input-align><code>align</code></dfn> DOM
+  attribute of the <code><a href=#the-input-element>input</a></code> element must <a href=#reflect>reflect</a>
+  the content attribute of the same name.</p>
+
+  <p>The <dfn id=dom-input-usemap title=dom-input-useMap><code>useMap</code></dfn> DOM
+  attribute of the <code><a href=#the-input-element>input</a></code> element must
+  <a href=#reflect>reflect</a> the element's <code title=attr-input-usemap><a href=#attr-input-usemap>usemap</a></code> content attribute.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmllegendelement>HTMLLegendElement</a> {
+           attribute DOMString <a href=#dom-legend-align title=dom-legend-align>align</a>;
+};</pre>
+
+  <p>The <dfn id=dom-legend-align title=dom-legend-align><code>align</code></dfn> DOM
+  attribute of the <code><a href=#the-legend-element>legend</a></code> element must <a href=#reflect>reflect</a>
+  the content attribute of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmllielement>HTMLLIElement</a> {
+           attribute DOMString <a href=#dom-li-type title=dom-li-type>type</a>;
+};</pre>
+
+  <p>The <dfn id=dom-li-type title=dom-li-type><code>type</code></dfn> DOM
+  attribute of the <code><a href=#the-li-element>li</a></code> element must <a href=#reflect>reflect</a>
+  the content attribute of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmllinkelement>HTMLLinkElement</a> {
+           attribute DOMString <a href=#dom-link-charset title=dom-link-charset>charset</a>;
+           attribute DOMString <a href=#dom-link-rev title=dom-link-rev>rev</a>;
+           attribute DOMString <a href=#dom-link-target title=dom-link-target>target</a>;
+};</pre>
+
+  <p>The <dfn id=dom-link-charset title=dom-link-charset><code>charset</code></dfn>,
+  <dfn id=dom-link-rev title=dom-link-rev><code>rev</code></dfn>, and <dfn id=dom-link-target title=dom-link-target><code>target</code></dfn> DOM attributes of
+  the <code><a href=#the-link-element>link</a></code> element must <a href=#reflect>reflect</a> the
+  respective content attributes of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlmenuelement>HTMLMenuElement</a> {
+           attribute DOMString <a href=#dom-menu-compact title=dom-menu-compact>compact</a>;
+};</pre>
+
+  <p>The <dfn id=dom-menu-compact title=dom-menu-compact><code>compact</code></dfn> DOM
+  attribute of the <code><a href=#menus>menu</a></code> element must <a href=#reflect>reflect</a>
+  the content attribute of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlmetaelement>HTMLMetaElement</a> {
+           attribute DOMString <a href=#dom-meta-scheme title=dom-meta-scheme>scheme</a>;
+};</pre>
+
+  <p>The <dfn id=dom-meta-scheme title=dom-meta-scheme><code>scheme</code></dfn> DOM
+  attribute of the <code><a href=#meta>meta</a></code> element must <a href=#reflect>reflect</a>
+  the content attribute of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlobjectelement>HTMLObjectElement</a> {
+           attribute DOMString <a href=#dom-object-align title=dom-object-align>align</a>;
+           attribute DOMString <a href=#dom-object-archive title=dom-object-archive>archive</a>;
+           attribute DOMString <a href=#dom-object-border title=dom-object-border>border</a>;
+           attribute DOMString <a href=#dom-object-code title=dom-object-code>code</a>;
+           attribute DOMString <a href=#dom-object-codebase title=dom-object-codeBase>codeBase</a>;
+           attribute DOMString <a href=#dom-object-codetype title=dom-object-codeType>codeType</a>;
+           attribute boolean <a href=#dom-object-declare title=dom-object-declare>declare</a>;
+           attribute long <a href=#dom-object-hspace title=dom-object-hspace>hspace</a>;
+           attribute DOMString <a href=#dom-object-standby title=dom-object-standby>standby</a>;
+           attribute long <a href=#dom-object-vspace title=dom-object-vspace>vspace</a>;
+};</pre>
+
+  <p>The <dfn id=dom-object-align title=dom-object-align><code>align</code></dfn>, <dfn id=dom-object-archive title=dom-object-archive><code>archive</code></dfn>, <dfn id=dom-object-border title=dom-object-border><code>border</code></dfn>, <dfn id=dom-object-code title=dom-object-code><code>code</code></dfn>, <dfn id=dom-object-declare title=dom-object-declare><code>declare</code></dfn>, <dfn id=dom-object-hspace title=dom-object-hspace><code>hspace</code></dfn>, <dfn id=dom-object-standby title=dom-object-standby><code>standby</code></dfn>, and <dfn id=dom-object-vspace title=dom-object-vspace><code>vspace</code></dfn> DOM attributes
+  of the <code><a href=#the-object-element>object</a></code> element must <a href=#reflect>reflect</a> the
+  respective content attributes of the same name.</p>
+
+  <p>The <dfn id=dom-object-codebase title=dom-object-codeBase><code>codeBase</code></dfn> DOM
+  attribute of the <code><a href=#the-object-element>object</a></code> element must <a href=#reflect>reflect</a>
+  the element's <code title=attr-object-codebase><a href=#attr-object-codebase>codebase</a></code> content
+  attribute.</p>
+
+  <p>The <dfn id=dom-object-codetype title=dom-object-codeType><code>codeType</code></dfn> DOM
+  attribute of the <code><a href=#the-object-element>object</a></code> element must <a href=#reflect>reflect</a>
+  the element's <code title=attr-object-codetype><a href=#attr-object-codetype>codetype</a></code> content
+  attribute.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlolistelement>HTMLOListElement</a> {
+           attribute DOMString <a href=#dom-ol-compact title=dom-ol-compact>compact</a>;
+           attribute DOMString <a href=#dom-ol-type title=dom-ol-type>type</a>;
+};</pre>
+
+  <p>The <dfn id=dom-ol-compact title=dom-ol-compact><code>compact</code></dfn> and
+  <dfn id=dom-ol-type title=dom-ol-type><code>type</code></dfn> DOM attributes of
+  the <code><a href=#the-ol-element>ol</a></code> element must <a href=#reflect>reflect</a> the respective
+  content attributes of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlparagraphelement>HTMLParagraphElement</a> {
+           attribute DOMString <a href=#dom-p-align title=dom-p-align>align</a>;
+};</pre>
+
+  <p>The <dfn id=dom-p-align title=dom-p-align><code>align</code></dfn> DOM
+  attribute of the <code><a href=#the-p-element>p</a></code> element must <a href=#reflect>reflect</a>
+  the content attribute of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlparamelement>HTMLParamElement</a> {
+           attribute DOMString <a href=#dom-param-type title=dom-param-type>type</a>;
+           attribute DOMString <a href=#dom-param-valuetype title=dom-param-valueType>valueType</a>;
+};</pre>
+
+  <p>The <dfn id=dom-param-type title=dom-param-type><code>type</code></dfn> DOM
+  attribute of the <code><a href=#the-param-element>param</a></code> element must
+  <a href=#reflect>reflect</a> the content attribute of the same name.</p>
+
+  <p>The <dfn id=dom-param-valuetype title=dom-param-valueType><code>valueType</code></dfn>
+  DOM attribute of the <code><a href=#the-param-element>param</a></code> element must
+  <a href=#reflect>reflect</a> the element's <code title=attr-param-valuetype><a href=#attr-param-valuetype>valuetype</a></code> content attribute.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlpreelement>HTMLPreElement</a> {
+           attribute long <a href=#dom-pre-width title=dom-pre-width>width</a>;
+};</pre>
+
+  <p>The <dfn id=dom-pre-width title=dom-pre-width><code>width</code></dfn> DOM
+  attribute of the <code><a href=#the-pre-element>pre</a></code> element must <a href=#reflect>reflect</a>
+  the content attribute of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlscriptelement>HTMLScriptElement</a> {
+           attribute DOMString <a href=#dom-script-event title=dom-script-event>event</a>;
+           attribute DOMString <a href=#dom-script-htmlfor title=dom-script-htmlFor>htmlFor</a>;
+};</pre>
+
+  <p>The <dfn id=dom-script-event title=dom-script-event><code>event</code></dfn> and
+  <dfn id=dom-script-htmlfor title=dom-script-htmlFor><code>htmlFor</code></dfn> DOM
+  attributes of the <code><a href=#script>script</a></code> element must return the empty
+  string on getting, and do nothing on setting.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmltableelement>HTMLTableElement</a> {
+           attribute DOMString <a href=#dom-table-align title=dom-table-align>align</a>;
+           attribute DOMString <a href=#dom-table-bgcolor title=dom-table-bgColor>bgColor</a>;
+           attribute DOMString <a href=#dom-table-border title=dom-table-border>border</a>;
+           attribute DOMString <a href=#dom-table-cellpadding title=dom-table-cellPadding>cellPadding</a>;
+           attribute DOMString <a href=#dom-table-cellspacing title=dom-table-cellSpacing>cellSpacing</a>;
+           attribute DOMString <a href=#dom-table-frame title=dom-table-frame>frame</a>;
+           attribute DOMString <a href=#dom-table-rules title=dom-table-rules>rules</a>;
+           attribute DOMString <a href=#dom-table-summary title=dom-table-summary>summary</a>;
+           attribute DOMString <a href=#dom-table-width title=dom-table-width>width</a>;
+};</pre>
+
+  <p>The <dfn id=dom-table-align title=dom-table-align><code>align</code></dfn>, <dfn id=dom-table-border title=dom-table-border><code>border</code></dfn>, <dfn id=dom-table-frame title=dom-table-frame><code>frame</code></dfn>, <dfn id=dom-table-rules title=dom-table-rules><code>rules</code></dfn>, <dfn id=dom-table-summary title=dom-table-summary><code>summary</code></dfn>, and <dfn id=dom-table-width title=dom-table-width><code>width</code></dfn>, DOM attributes of
+  the <code><a href=#the-table-element>table</a></code> element must <a href=#reflect>reflect</a> the
+  respective content attributes of the same name.</p>
+
+  <p>The <dfn id=dom-table-bgcolor title=dom-table-bgColor><code>bgColor</code></dfn> DOM
+  attribute of the <code><a href=#the-table-element>table</a></code> element must <a href=#reflect>reflect</a>
+  the element's <code title=attr-table-bgcolor><a href=#attr-table-bgcolor>bgcolor</a></code> content
+  attribute.</p>
+
+  <p>The <dfn id=dom-table-cellpadding title=dom-table-cellPadding><code>cellPadding</code></dfn> DOM
+  attribute of the <code><a href=#the-table-element>table</a></code> element must <a href=#reflect>reflect</a>
+  the element's <code title=attr-table-cellpadding><a href=#attr-table-cellpadding>cellpadding</a></code> content
+  attribute.</p>
+
+  <p>The <dfn id=dom-table-cellspacing title=dom-table-cellSpacing><code>cellSpacing</code></dfn> DOM
+  attribute of the <code><a href=#the-table-element>table</a></code> element must <a href=#reflect>reflect</a>
+  the element's <code title=attr-table-cellspacing><a href=#attr-table-cellspacing>cellspacing</a></code> content
+  attribute.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmltablesectionelement>HTMLTableSectionElement</a> {
+           attribute DOMString <a href=#dom-tbody-align title=dom-tbody-align>align</a>;
+           attribute DOMString <a href=#dom-tbody-ch title=dom-tbody-ch>ch</a>;
+           attribute DOMString <a href=#dom-tbody-choff title=dom-tbody-chOff>chOff</a>;
+           attribute DOMString <a href=#dom-tbody-valign title=dom-tbody-vAlign>vAlign</a>;
+};</pre>
+
+  <p>The <dfn id=dom-tbody-align title=dom-tbody-align><code>align</code></dfn> and
+  <dfn id=dom-tbody-ch title=dom-tbody-ch><code>ch</code></dfn> DOM attributes of
+  the <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, and <code><a href=#the-tfoot-element>tfoot</a></code>
+  elements must <a href=#reflect>reflect</a> the respective content attributes
+  of the same name.</p>
+
+  <p>The <dfn id=dom-tbody-choff title=dom-tbody-chOff><code>chOff</code></dfn> DOM
+  attribute of the <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, and
+  <code><a href=#the-tfoot-element>tfoot</a></code> elements must <a href=#reflect>reflect</a> the elements'
+  <code title=attr-tbody-choff><a href=#attr-tbody-choff>choff</a></code> content attributes.</p>
+
+  <p>The <dfn id=dom-tbody-valign title=dom-tbody-vAlign><code>vAlign</code></dfn> DOM
+  attribute of the <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, and
+  <code><a href=#the-tfoot-element>tfoot</a></code> element must <a href=#reflect>reflect</a> the elements'
+  <code title=attr-tbody-valign><a href=#attr-tbody-valign>valign</a></code> content
+  attributes.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmltablecellelement>HTMLTableCellElement</a> {
+           attribute DOMString <a href=#dom-td/th-abbr title=dom-td/th-abbr>abbr</a>;
+           attribute DOMString <a href=#dom-td/th-align title=dom-td/th-align>align</a>;
+           attribute DOMString <a href=#dom-td/th-axis title=dom-td/th-axis>axis</a>;
+           attribute DOMString <a href=#dom-td/th-bgcolor title=dom-td/th-bgColor>bgColor</a>;
+           attribute DOMString <a href=#dom-td/th-ch title=dom-td/th-ch>ch</a>;
+           attribute DOMString <a href=#dom-td/th-choff title=dom-td/th-chOff>chOff</a>;
+           attribute DOMString <a href=#dom-td/th-height title=dom-td/th-height>height</a>;
+           attribute boolean <a href=#dom-td/th-nowrap title=dom-td/th-noWrap>noWrap</a>;
+           attribute DOMString <a href=#dom-td/th-valign title=dom-td/th-vAlign>vAlign</a>;
+           attribute DOMString <a href=#dom-td/th-width title=dom-td/th-width>width</a>;
+};</pre>
+
+  <p>The <dfn id=dom-td/th-abbr title=dom-td/th-abbr><code>abbr</code></dfn>, <dfn id=dom-td/th-align title=dom-td/th-align><code>align</code></dfn>, <dfn id=dom-td/th-axis title=dom-td/th-axis><code>axis</code></dfn>, <dfn id=dom-td/th-ch title=dom-td/th-ch><code>ch</code></dfn>, <dfn id=dom-td/th-height title=dom-td/th-height><code>height</code></dfn>, and <dfn id=dom-td/th-width title=dom-td/th-width><code>width</code></dfn> DOM attributes of
+  the <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements must
+  <a href=#reflect>reflect</a> the respective content attributes of the same
+  name.</p>
+
+  <p>The <dfn id=dom-td/th-bgcolor title=dom-td/th-bgColor><code>bgColor</code></dfn> DOM
+  attribute of the <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements must
+  <a href=#reflect>reflect</a> the elements' <code title=attr-td/th-bgcolor><a href=#attr-td/th-bgcolor>bgcolor</a></code> content attributes.</p>
+
+  <p>The <dfn id=dom-td/th-choff title=dom-td/th-chOff><code>chOff</code></dfn> DOM
+  attribute of the <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements must
+  <a href=#reflect>reflect</a> the elements' <code title=attr-td/th-choff><a href=#attr-td/th-choff>choff</a></code> content attributes.</p>
+
+  <p>The <dfn id=dom-td/th-nowrap title=dom-td/th-noWrap><code>noWrap</code></dfn> DOM
+  attribute of the <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements must
+  <a href=#reflect>reflect</a> the elements' <code title=attr-td/th-nowrap><a href=#attr-td/th-nowrap>nowrap</a></code> content attributes.</p>
+
+  <p>The <dfn id=dom-td/th-valign title=dom-td/th-vAlign><code>vAlign</code></dfn> DOM
+  attribute of the <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> element must
+  <a href=#reflect>reflect</a> the elements' <code title=attr-td/th-valign><a href=#attr-td/th-valign>valign</a></code> content attributes.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmltablerowelement>HTMLTableRowElement</a> {
+           attribute DOMString <a href=#dom-tr-align title=dom-tr-align>align</a>;
+           attribute DOMString <a href=#dom-tr-bgcolor title=dom-tr-bgColor>bgColor</a>;
+           attribute DOMString <a href=#dom-tr-ch title=dom-tr-ch>ch</a>;
+           attribute DOMString <a href=#dom-tr-choff title=dom-tr-chOff>chOff</a>;
+           attribute DOMString <a href=#dom-tr-valign title=dom-tr-vAlign>vAlign</a>;
+};</pre>
+
+  <p>The <dfn id=dom-tr-align title=dom-tr-align><code>align</code></dfn> and <dfn id=dom-tr-ch title=dom-tr-ch><code>ch</code></dfn> DOM attributes of the
+  <code><a href=#the-tr-element>tr</a></code> element must <a href=#reflect>reflect</a> the respective
+  content attributes of the same name.</p>
+
+  <p>The <dfn id=dom-tr-bgcolor title=dom-tr-bgColor><code>bgColor</code></dfn> DOM
+  attribute of the <code><a href=#the-tr-element>tr</a></code> element must <a href=#reflect>reflect</a>
+  the element's <code title=attr-tr-bgcolor><a href=#attr-tr-bgcolor>bgcolor</a></code> content
+  attribute.</p>
+
+  <p>The <dfn id=dom-tr-choff title=dom-tr-chOff><code>chOff</code></dfn> DOM
+  attribute of the <code><a href=#the-tr-element>tr</a></code> element must <a href=#reflect>reflect</a>
+  the element's <code title=attr-tr-choff><a href=#attr-tr-choff>choff</a></code> content
+  attribute.</p>
+
+  <p>The <dfn id=dom-tr-valign title=dom-tr-vAlign><code>vAlign</code></dfn> DOM
+  attribute of the <code><a href=#the-tr-element>tr</a></code> element must <a href=#reflect>reflect</a>
+  the element's <code title=attr-tr-valign><a href=#attr-tr-valign>valign</a></code> content
+  attribute.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmlulistelement>HTMLUListElement</a> {
+           attribute DOMString <a href=#dom-ul-compact title=dom-ul-compact>compact</a>;
+           attribute DOMString <a href=#dom-ul-type title=dom-ul-type>type</a>;
+};</pre>
+
+  <p>The <dfn id=dom-ul-compact title=dom-ul-compact><code>compact</code></dfn> and
+  <dfn id=dom-ul-type title=dom-ul-type><code>type</code></dfn> DOM attributes of
+  the <code><a href=#the-ul-element>ul</a></code> element must <a href=#reflect>reflect</a> the respective
+  content attributes of the same name.</p>
+
+  <hr><pre class=idl>[Supplemental] interface <a href=#htmldocument>HTMLDocument</a> {
            attribute DOMString <a href=#dom-document-fgcolor title=dom-document-fgColor>fgColor</a>;
            attribute DOMString <a href=#dom-document-bgcolor title=dom-document-bgColor>bgColor</a>;
            attribute DOMString <a href=#dom-document-linkcolor title=dom-document-linkColor>linkColor</a>;
            attribute DOMString <a href=#dom-document-vlinkcolor title=dom-document-vlinkColor>vlinkColor</a>;
            attribute DOMString <a href=#dom-document-alinkcolor title=dom-document-alinkColor>alinkColor</a>;
 
+  readonly attribute <a href=#htmlcollection-0>HTMLCollection</a> <a href=#dom-document-anchors title=dom-document-anchors>anchors</a>;
+  readonly attribute <a href=#htmlcollection-0>HTMLCollection</a> <a href=#dom-document-applets title=dom-document-applets>applets</a>;
+
   readonly attribute <a href=#htmlcollection-0>HTMLCollection</a> <a href=#dom-document-all title=dom-document-all>all</a>;
 };</pre>
 
@@ -69977,6 +70754,17 @@
   element">body element</a>, the attributes must instead return the
   empty string on getting and do nothing on setting.</p>
 
+  <hr><p>The <dfn id=dom-document-anchors title=dom-document-anchors><code>anchors</code></dfn>
+  attribute must return an <code><a href=#htmlcollection-0>HTMLCollection</a></code> rooted at the
+  <code>Document</code> node, whose filter matches only <code><a href=#the-a-element>a</a></code>
+  elements with <code title=attr-a-name><a href=#attr-a-name>name</a></code>
+  attributes.</p>
+
+  <p>The <dfn id=dom-document-applets title=dom-document-applets><code>applets</code></dfn>
+  attribute must return an <code><a href=#htmlcollection-0>HTMLCollection</a></code> rooted at the
+  <code>Document</code> node, whose filter matches only
+  <code><a href=#the-applet-element>applet</a></code> elements.</p>
+
   <hr><p>The <dfn id=dom-document-all title=dom-document-all><code>all</code></dfn>
   attribute must return an <code><a href=#htmlcollection-0>HTMLCollection</a></code> rooted at the
   <code>Document</code> node, whose filter matches all elements.</p>
@@ -69991,65 +70779,11 @@
   violation is motivated by a desire for compatibility with legacy
   content. <a href=#refsECMA262>[ECMA262]</a></p>
 
-  <hr><p>Any <code><a href=#frameset>frameset</a></code> elements must support the following
-  <a href=#event-handler-content-attributes>event handler content attributes</a> exposing the
-  <a href=#event-handler-attributes-0>event handler attributes</a> of the <code><a href=#window>Window</a></code>
-  object:</p>
 
-  <ul class=brief><li><code title=handler-window-onafterprint><a href=#handler-window-onafterprint>onafterprint</a></code></li>
-   <li><code title=handler-window-onbeforeprint><a href=#handler-window-onbeforeprint>onbeforeprint</a></code></li>
-   <li><code title=handler-window-onbeforeunload><a href=#handler-window-onbeforeunload>onbeforeunload</a></code></li>
-   <li><code title=handler-window-onblur><a href=#handler-window-onblur>onblur</a></code></li>
-   <li><code title=handler-window-onerror><a href=#handler-window-onerror>onerror</a></code></li>
-   <li><code title=handler-window-onfocus><a href=#handler-window-onfocus>onfocus</a></code></li>
-   <li><code title=handler-window-onhashchange><a href=#handler-window-onhashchange>onhashchange</a></code></li>
-   <li><code title=handler-window-onload><a href=#handler-window-onload>onload</a></code></li>
-   <li><code title=handler-window-onmessage><a href=#handler-window-onmessage>onmessage</a></code></li>
-   <li><code title=handler-window-onoffline><a href=#handler-window-onoffline>onoffline</a></code></li>
-   <li><code title=handler-window-ononline><a href=#handler-window-ononline>ononline</a></code></li>
-   <li><code title=handler-window-onpopstate><a href=#handler-window-onpopstate>onpopstate</a></code></li>
-   <li><code title=handler-window-onredo><a href=#handler-window-onredo>onredo</a></code></li>
-   <li><code title=handler-window-onresize><a href=#handler-window-onresize>onresize</a></code></li>
-   <li><code title=handler-window-onstorage><a href=#handler-window-onstorage>onstorage</a></code></li>
-   <li><code title=handler-window-onundo><a href=#handler-window-onundo>onundo</a></code></li>
-   <li><code title=handler-window-onunload><a href=#handler-window-onunload>onunload</a></code></li>
-  </ul><p>In addition, <code><a href=#frameset>frameset</a></code> elements must implement the
-  following interface:</p>
 
-  <pre class=idl>interface <dfn id=htmlframesetelement>HTMLFramesetElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
-           attribute <a href=#function>Function</a> <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onload title=handler-window-onload>onload</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onredo title=handler-window-onredo>onredo</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onundo title=handler-window-onundo>onundo</a>;
-           attribute <a href=#function>Function</a> <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
-};</pre>
 
-  <p>These <a href=#event-handler-dom-attributes>event handler DOM attributes</a> mirror those on
-  the <code><a href=#window>Window</a></code> element.</p>
+  <h3 id=conformance-checkers-0><span class=secno>12.3 </span>Conformance checkers</h3>
 
-  <p>The <code title=handler-window-onblur><a href=#handler-window-onblur>onblur</a></code>, <code title=handler-window-onerror><a href=#handler-window-onerror>onerror</a></code>, <code title=handler-window-onfocus><a href=#handler-window-onfocus>onfocus</a></code>, and <code title=handler-window-onload><a href=#handler-window-onload>onload</a></code> <a href=#event-handler-attributes-0>event handler
-  attributes</a> of the <code><a href=#window>Window</a></code> object, exposed on the
-  <code><a href=#frameset>frameset</a></code> element, shadow the generic <a href=#event-handler-attributes-0>event
-  handler attributes</a> with the same names normally supported by
-  <a href=#html-elements>HTML elements</a>.</p>
-
-
-
-
-  <h3 id=conformance-checkers-0><span class=secno>12.4 </span>Conformance checkers</h3>
-
   <p>To ease the transition from HTML4 Transitional documents to the
   language defined in <em>this</em> specification, conformance
   checkers are encouraged to categorize errors that represent usage of
@@ -70089,7 +70823,7 @@
     </ul><!-- only things that trigger no-quirks mode and were valid in
     some other spec are allowed in this list --></li>
 
-   <li><p>The presence of a <code title=attr-head-profile>profile</code> attribute on the
+   <li><p>The presence of a <code title=attr-head-profile><a href=#attr-head-profile>profile</a></code> attribute on the
    <code><a href=#the-head-element>head</a></code> element, if its value is an <a href=#unordered-set-of-unique-space-separated-tokens>unordered set
    of unique space-separated tokens</a> where the words are all
    <a href=#valid-url title="valid URL">valid URLs</a>.</li>
@@ -70098,10 +70832,10 @@
    <a href=#attr-meta-http-equiv-content-language title=attr-meta-http-equiv-content-language>Content
    Language</a> state.</li>
 
-   <li><p>The presence of a <code title=attr-img-border>border</code> attribute on an
+   <li><p>The presence of a <code title=attr-img-border><a href=#attr-img-border>border</a></code> attribute on an
    <code><a href=#the-img-element>img</a></code> element if its value is the string "<code title="">0</code>".</li>
 
-   <li><p>The presence of a <code title=attr-img-longdesc>longdesc</code> attribute on an
+   <li><p>The presence of a <code title=attr-img-longdesc><a href=#attr-img-longdesc>longdesc</a></code> attribute on an
    <code><a href=#the-img-element>img</a></code> element, if its value is a <a href=#valid-url>valid
    URL</a>.</li> <!-- 0.29% pages -->
 
@@ -70113,7 +70847,7 @@
    attribute on an <code><a href=#the-a-element>a</a></code> element, if its value is not the
    empty string.</li>
 
-   <li><p>The presence of a <code title=attr-table-summary>summary</code> attribute on a
+   <li><p>The presence of a <code title=attr-table-summary><a href=#attr-table-summary>summary</a></code> attribute on a
    <code><a href=#the-table-element>table</a></code> element.</li> <!-- 2.65% pages -->
 
    <li><p>The presence of an <code title=attr-table-abbr>abbr</code>

Modified: source
===================================================================
--- source	2009-06-24 07:20:24 UTC (rev 3313)
+++ source	2009-06-24 11:55:54 UTC (rev 3314)
@@ -9457,13 +9457,9 @@
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-html-manifest">manifest</code></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code>HTMLElement</code>.</dd>
-<!--
    <dd>
-    <pre class="idl">interface <dfn>HTMLHtmlElement</dfn> : <span>HTMLElement</span> {
-};</pre>
+    <pre class="idl">interface <dfn>HTMLHtmlElement</dfn> : <span>HTMLElement</span> {};</pre>
    </dd>
--->
   </dl>
 
   <p>The <code>html</code> element <span>represents</span> the root of
@@ -9504,7 +9500,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code>HTMLElement</code>.</dd>
+   <dd>
+    <pre class="idl">interface <dfn>HTMLHeadElement</dfn> : <span>HTMLElement</span> {};</pre>
+   </dd>
   </dl>
 
   <p>The <code>head</code> element <span>represents</span> a
@@ -9523,7 +9521,11 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code>HTMLElement</code>.</dd>
+   <dd>
+    <pre class="idl">interface <dfn>HTMLTitleElement</dfn> : <span>HTMLElement</span> {
+           attribute DOMString <span title="dom-title-text">text</span>;
+};</pre>
+   </dd>
   </dl>
 
   <p>The <code>title</code> element <span>represents</span> the
@@ -9540,6 +9542,10 @@
   <p>The <code>title</code> element must not contain any
   elements.</p>
 
+  <p>The <dfn title="dom-title-text"><code>text</code></dfn> DOM
+  attribute must return the same value as the <code>textContent</code>
+  DOM attribute on the element.</p>
+
   <div class="example">
 
    <p>Here are some examples of appropriate titles, contrasted with
@@ -12461,7 +12467,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code>HTMLElement</code>.</dd>
+   <dd>
+    <pre class="idl">interface <dfn>HTMLHeadingElement</dfn> : <span>HTMLElement</span> {};</pre>
+   </dd>
   </dl>
 
   <p>These elements <span title="represents">represent</span> headings
@@ -13354,7 +13362,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code>HTMLElement</code>.</dd>
+   <dd>
+    <pre class="idl">interface <dfn>HTMLParagraphElement</dfn> : <span>HTMLElement</span> {};</pre>
+   </dd>
   </dl>
 
   <p>The <code>p</code> element <span>represents</span> a
@@ -13426,7 +13436,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code>HTMLElement</code>.</dd>
+   <dd>
+    <pre class="idl">interface <dfn>HTMLHRElement</dfn> : <span>HTMLElement</span> {};</pre>
+   </dd>
   </dl>
 
   <p>The <code>hr</code> element <span>represents</span> a
@@ -13448,7 +13460,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code>HTMLElement</code>.</dd>
+   <dd>
+    <pre class="idl">interface <dfn>HTMLBRElement</dfn> : <span>HTMLElement</span> {};</pre>
+   </dd>
   </dl>
 
   <p>The <code>br</code> element <span>represents</span> a line
@@ -13515,7 +13529,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code>HTMLElement</code>.</dd>
+   <dd>
+    <pre class="idl">interface <dfn>HTMLPreElement</dfn> : <span>HTMLElement</span> {};</pre>
+   </dd>
   </dl>
 
   <p>The <code>pre</code> element <span>represents</span> a block of
@@ -13856,7 +13872,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code>HTMLElement</code>.</dd>
+   <dd>
+    <pre class="idl">interface <dfn>HTMLUListElement</dfn> : <span>HTMLElement</span> {};</pre>
+   </dd>
   </dl>
 
   <p>The <code>ul</code> element <span>represents</span> a list of
@@ -14018,7 +14036,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code>HTMLElement</code>.</dd>
+   <dd>
+    <pre class="idl">interface <dfn>HTMLDListElement</dfn> : <span>HTMLElement</span> {};</pre>
+   </dd>
   </dl>
 
   <p>The <code>dl</code> element <span>represents</span> an
@@ -44541,7 +44561,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dt>DOM interface:</dt>
-   <dd>Uses <code>HTMLElement</code>.</dd>
+   <dd>
+    <pre class="idl">interface <dfn>HTMLDivElement</dfn> : <span>HTMLElement</span> {};</pre>
+   </dd>
   </dl>
 
   <p>The <code>div</code> element has no special meaning at all. It
@@ -53862,8 +53884,8 @@
   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>
+  attributes and DOM attributes exposed on the <code>body</code> and
+  <code>frameset</code> elements:</p>
 
   <table>
    <thead>
@@ -54728,13 +54750,9 @@
   by the above algorithm must all implement the
   <code>WindowModal</code> interface:</p>
 
-  <p class="XXX">Really I want the Window object to just gain these
-  attributes, as if they were on the Window prototype. That's the XXX
-  below.</p>
-
   </div>
 
-  <pre class="idl">[NoInterfaceObject, ImplementedOn=<span>Window</span>, XXX] interface <dfn>WindowModal</dfn> {
+  <pre class="idl">[NoInterfaceObject, ImplementedOn=<span>Window</span>, Supplemental] interface <dfn>WindowModal</dfn> {
   readonly attribute any <span title="dom-WindowModal-dialogArguments">dialogArguments</span>;
            attribute DOMString <span title="dom-WindowModal-returnValue">returnValue</span>;
 };</pre>
@@ -66791,8 +66809,7 @@
 
   <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 -->
-  <pre class="idl">[NoInterfaceObject, XXX] interface <dfn>DedicatedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope</span> {
+  <pre class="idl">[NoInterfaceObject, Supplemental] interface <dfn>DedicatedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope</span> {
   void <span title="dom-DedicatedWorkerGlobalScope-postMessage">postMessage</span>(in any message, [Optional] in <span>MessagePortArray</span> ports);<!--
   <span>MessagePort</span> <span title="dom-DedicatedWorkerGlobalScope-startConversation">startConversation</span>(in any message);-->
            attribute <span>EventListener</span> <span title="handler-DedicatedWorkerGlobalScope-onmessage">onmessage</span>;
@@ -66838,8 +66855,7 @@
 
   <h5>Shared workers and the <code>SharedWorkerGlobalScope</code> inteface</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 -->
-  <pre class="idl">[NoInterfaceObject, XXX] interface <dfn>SharedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope</span> {
+  <pre class="idl">[NoInterfaceObject, Supplemental] interface <dfn>SharedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope</span> {
   readonly attribute DOMString <span title="dom-SharedWorkerGlobalScope-name">name</span>;
   readonly attribute <span>ApplicationCache</span> <span title="dom-SharedWorkerGlobalScope-applicationCache">applicationCache</span>;
            attribute <span>EventListener</span> <span title="handler-SharedWorkerGlobalScope-onconnect">onconnect</span>;
@@ -67855,8 +67871,7 @@
 
   <h3>APIs available to workers</h3>
 
-  <!-- the XXX below is for collapsing this interface onto WorkerGlobalScope so it looks like just one interface - the inheritance is a spec fiction only -->
-  <pre class="idl">[NoInterfaceObject, ImplementedOn=WorkerGlobalScope, XXX] interface <dfn>WorkerUtils</dfn> {
+  <pre class="idl">[NoInterfaceObject, ImplementedOn=WorkerGlobalScope, Supplemental] interface <dfn>WorkerUtils</dfn> {
   void <span title="dom-WorkerGlobalScope-importScripts">importScripts</span>([Variadic] in DOMString urls);
   readonly attribute <span title="worker-Navigator">Navigator</span> <span title="dom-worker-navigator">navigator</span>;
   <span>Database</span> <span title="dom-opendatabase">openDatabase</span>(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize);
@@ -82078,7 +82093,7 @@
 
   <!-- based on Mozilla's list, which was itself based on HTML4 -->
   <!-- WebKit's was identical at the time of writing except as noted below -->
-  <ul>
+  <ul class="brief">
    <li><code title="">accept</code>
    <li><code title="">accept-charset</code>
    <li><code title="">align</code>
@@ -82132,15 +82147,212 @@
   <span>case-sensitive</span>.</p>
 
 
-  <div class="impl">
-
   <h2>Obsolete features</h2>
 
   <p>Authors and documents must not use the features listed in this
-  section. They are documented to enable user agents to support legacy
-  content in an interoperable fashion.</p>
+  section. <span class="impl">They are documented to enable user
+  agents to support legacy content in an interoperable
+  fashion.</span></p>
 
+  <p>The following elements are entirely obsolete:</p>
 
+  <dl><!-- alphabetical by first element in the group, except CSS goes last -->
+
+   <dt><code>applet</code></dt>
+   <dd><p>Use <code>embed</code> or <code>object</code> instead.</p></dd>
+
+   <dt><dfn><code>acronym</code></dfn></dt>
+   <dd><p>Use <code>abbr</code> instead.</p></dd>
+
+   <dt><dfn><code>dir</code></dfn></dt>
+   <dd><p>Use <code>ul</code> instead.</p></dd>
+
+   <dt><code>frame</code></dt>
+   <dt><code>frameset</code></dt>
+   <dt><dfn><code>noframes</code></dfn></dt>
+   <dd><p>Use <code>iframe</code> and CSS instead.</p></dd>
+
+   <dt><dfn><code>isindex</code></dfn></dt>
+   <dd><p>Use an explicit <code>form</code> and <span title="attr-input-type-text">text field</span> combination instead.</p></dd>
+
+   <dt><dfn><code>noembed</code></dfn></dt>
+   <dd><p>Use <code>object</code> instead of <code>embed</code> when fallback is necessary.</p></dd>
+
+   <dt><dfn><code>basefont</code></dfn></dt>
+   <dt><dfn><code>big</code></dfn></dt>
+   <dt><dfn><code>blink</code></dfn></dt>
+   <dt><dfn><code>center</code></dfn></dt>
+   <dt><dfn><code>font</code></dfn></dt>
+   <dt><code>marquee</code></dt>
+   <dt><dfn><code>s</code></dfn></dt>
+   <dt><dfn><code>spacer</code></dfn></dt>
+   <dt><dfn><code>strike</code></dfn></dt>
+   <dt><dfn><code>tt</code></dfn></dt>
+   <dt><dfn><code>u</code></dfn></dt>
+   <dd><p>Use CSS instead.</p></dd>
+
+  </dl>
+
+  <hr>
+
+  <p>The following attributes are obsolete (though the elements are
+  still part of the language):</p>
+
+  <dl><!-- alphabetical by element then attribute of first item in group, except CSS goes last -->
+
+   <dt><dfn title="attr-a-charset"><code>charset</code></dfn> on <code>a</code> elements</dt>
+   <dt><dfn title="attr-link-charset"><code>charset</code></dfn> on <code>link</code> elements</dt>
+   <dd><p>Use an HTTP Content-Type header on the linked resource instead.</p></dd>
+
+   <dt><dfn title="attr-a-coords"><code>coords</code></dfn> on <code>a</code> elements</dt>
+   <dt><dfn title="attr-a-shape"><code>shape</code></dfn> on <code>a</code> elements</dt>
+   <dd><p>Use <code>area</code> instead of <code>a</code> for image maps.</p></dd>
+
+   <dt><dfn title="attr-a-rev"><code>rev</code></dfn> on <code>a</code> elements</dt>
+   <dt><dfn title="attr-link-rev"><code>rev</code></dfn> on <code>link</code> elements</dt>
+   <dd><p>Use the <code title="attr-hyperlink-rel">rel</code>
+   attribute instead, with an opposite term. (For example, instead of
+   <code title="">rev="made"</code>, use <code
+   title="">rel="author"</code>.)</p></dd>
+
+   <dt><dfn title="attr-a-name"><code>name</code></dfn> on <code>a</code> elements</dt>
+   <dt><dfn title="attr-img-name"><code>name</code></dfn> on <code>img</code> elements</dt>
+   <dd><p>Use the <code title="attr-id">id</code> attribute instead.</p></dd>
+
+   <dt><dfn title="attr-area-nohref"><code>nohref</code></dfn> on <code>area</code> elements</dt>
+   <dd><p>Omitting the <code title="attr-hyperlink-href">href</code>
+   attribute is sufficient; the <code
+   title="attr-area-nohref">nohref</code> attribute is
+   unnecessary. Omit it altogether.</p></dd>
+
+   <dt><dfn title="attr-head-profile"><code>profile</code></dfn> on <code>head</code> elements</dt>
+   <dd><p>When used for declaring which <code>meta</code> terms are
+   used in the document, unnecessary; omit it altogether, and <span
+   title="concept-meta-extensions">register the names</span>.</p></dd>
+   <dd><p>When used for triggering specific user agent behaviors: use
+   a <code>link</code> element instead.</p></dd>
+
+   <dt><dfn title="attr-html-version"><code>version</code></dfn> on <code>html</code> elements</dt>
+   <dd><p>Unnecessary. Omit it altogether.</p></dd>
+
+   <dt><dfn title="attr-input-usemap"><code>usemap</code></dfn> on <code>input</code> elements</dt>
+   <dd><p>Use <code>img</code> instead of <code>input</code> for image maps.</p></dd>
+
+   <dt><dfn title="attr-iframe-longdesc"><code>longdesc</code></dfn> on <code>iframe</code> elements</dt>
+   <dt><dfn title="attr-img-longdesc"><code>longdesc</code></dfn> on <code>img</code> elements</dt>
+   <dd><p>Use a regular <code>a</code> element to link to the description.</p></dd>
+
+   <dt><dfn title="attr-link-target"><code>target</code></dfn> on <code>link</code> elements</dt>
+   <dd><p>Unnecessary. Omit it altogether.</p></dd>
+
+   <dt><dfn title="attr-meta-scheme"><code>scheme</code></dfn> on <code>meta</code> elements</dt>
+   <dd><p>Use only one scheme per field, or make the scheme declaration part of the value.</p></dd>
+
+   <dt><dfn title="attr-object-archive"><code>archive</code></dfn> on <code>object</code> elements</dt>
+   <dt><dfn title="attr-object-code"><code>code</code></dfn> on <code>object</code> elements</dt>
+   <dt><dfn title="attr-object-codebase"><code>codebase</code></dfn> on <code>object</code> elements</dt>
+   <dt><dfn title="attr-object-codetype"><code>codetype</code></dfn> on <code>object</code> elements</dt>
+   <dd><p>Use the <code title="attr-object-data">data</code> and <code
+   title="attr-object-type">type</code> attributes to invoke
+   <span title="plugin">plugins</span>.</p></dd>
+
+   <dt><dfn title="attr-object-declare"><code>declare</code></dfn> on <code>object</code> elements</dt>
+   <dd><p>Repeat the <code>object</code> element completely each time the resource is to be reused.</p></dd>
+
+   <dt><dfn title="attr-object-standby"><code>standby</code></dfn> on <code>object</code> elements</dt>
+   <dd><p>Optimise the linked resource so that it loads quickly or, at least, incrementally.</p></dd>
+
+   <dt><dfn title="attr-param-type"><code>type</code></dfn> on <code>param</code> elements</dt>
+   <dt><dfn title="attr-param-valuetype"><code>valuetype</code></dfn> on <code>param</code> elements</dt>
+   <dd><p>Use the <code title="attr-param-name">name</code> and <code
+   title="attr-param-value">value</code> attributes without declaring
+   value types.</p></dd>
+
+   <dt><dfn title="attr-table-summary"><code>summary</code></dfn> on <code>table</code> elements</dt>
+   <dd><p>Use the <code>caption</code> element instead.</p>
+
+   <dt><dfn title="attr-td/th-abbr"><code>abbr</code></dfn> on <code>td</code> and <code>th</code> elements</dt>
+   <dd><p>Use text that begins in an unambiguous and terse manner, and include any more elaborate text after that.</p>
+
+   <dt><dfn title="attr-td/th-axis"><code>axis</code></dfn> on <code>td</code> and <code>th</code> elements</dt>
+   <dd><p>Use the <code title="attr-th-scope">scope</code> attribute.</p>
+
+   <dt><dfn title="attr-body-alink"><code>alink</code></dfn> on <code>body</code> elements</dt>
+   <dt><dfn title="attr-body-background"><code>background</code></dfn> on <code>body</code> elements</dt>
+   <dt><dfn title="attr-body-bgcolor"><code>bgcolor</code></dfn> on <code>body</code> elements</dt>
+   <dt><dfn title="attr-body-link"><code>link</code></dfn> on <code>body</code> elements</dt>
+   <dt><dfn title="attr-body-text"><code>text</code></dfn> on <code>body</code> elements</dt>
+   <dt><dfn title="attr-body-vlink"><code>vlink</code></dfn> on <code>body</code> elements</dt>
+   <dt><dfn title="attr-br-clear"><code>clear</code></dfn> on <code>br</code> elements</dt>
+   <dt><dfn title="attr-caption-align"><code>align</code></dfn> on <code>caption</code> elements</dt>
+   <dt><dfn title="attr-col-align"><code>align</code></dfn> on <code>col</code> elements</dt>
+   <dt><dfn title="attr-col-ch"><code>ch</code></dfn> on <code>col</code> elements</dt>
+   <dt><dfn title="attr-col-chOff"><code>chOff</code></dfn> on <code>col</code> elements</dt>
+   <dt><dfn title="attr-col-vAlign"><code>valign</code></dfn> on <code>col</code> elements</dt>
+   <dt><dfn title="attr-col-width"><code>width</code></dfn> on <code>col</code> elements</dt>
+   <dt><dfn title="attr-div-align"><code>align</code></dfn> on <code>div</code> elements</dt>
+   <dt><dfn title="attr-dl-compact"><code>compact</code></dfn> on <code>dl</code> elements</dt>
+   <dt><dfn title="attr-hr-align"><code>align</code></dfn> on <code>hr</code> elements</dt>
+   <dt><dfn title="attr-hr-noshade"><code>noshade</code></dfn> on <code>hr</code> elements</dt>
+   <dt><dfn title="attr-hr-size"><code>size</code></dfn> on <code>hr</code> elements</dt>
+   <dt><dfn title="attr-hr-width"><code>width</code></dfn> on <code>hr</code> elements</dt>
+   <dt><dfn title="attr-hx-align"><code>align</code></dfn> on <code>h1</code>—<code>h6</code> elements</dt>
+   <dt><dfn title="attr-iframe-align"><code>align</code></dfn> on <code>iframe</code> elements</dt>
+   <dt><dfn title="attr-iframe-frameborder"><code>frameborder</code></dfn> on <code>iframe</code> elements</dt>
+   <dt><dfn title="attr-iframe-marginheight"><code>marginheight</code></dfn> on <code>iframe</code> elements</dt>
+   <dt><dfn title="attr-iframe-marginwidth"><code>marginwidth</code></dfn> on <code>iframe</code> elements</dt>
+   <dt><dfn title="attr-iframe-scrolling"><code>scrolling</code></dfn> on <code>iframe</code> elements</dt>
+   <dt><dfn title="attr-input-align"><code>align</code></dfn> on <code>input</code> elements</dt>
+   <dt><dfn title="attr-img-align"><code>align</code></dfn> on <code>img</code> elements</dt>
+   <dt><dfn title="attr-img-border"><code>border</code></dfn> on <code>img</code> elements</dt>
+   <dt><dfn title="attr-img-hspace"><code>hspace</code></dfn> on <code>img</code> elements</dt>
+   <dt><dfn title="attr-img-vspace"><code>vspace</code></dfn> on <code>img</code> elements</dt>
+   <dt><dfn title="attr-legend-align"><code>align</code></dfn> on <code>legend</code> elements</dt>
+   <dt><dfn title="attr-li-type"><code>type</code></dfn> on <code>li</code> elements</dt>
+   <dt><dfn title="attr-menu-compact"><code>compact</code></dfn> on <code>menu</code> elements</dt>
+   <dt><dfn title="attr-object-align"><code>align</code></dfn> on <code>object</code> elements</dt>
+   <dt><dfn title="attr-object-border"><code>border</code></dfn> on <code>object</code> elements</dt>
+   <dt><dfn title="attr-object-hspace"><code>hspace</code></dfn> on <code>object</code> elements</dt>
+   <dt><dfn title="attr-object-vspace"><code>vspace</code></dfn> on <code>object</code> elements</dt>
+   <dt><dfn title="attr-ol-compact"><code>compact</code></dfn> on <code>ol</code> elements</dt>
+   <dt><dfn title="attr-ol-type"><code>type</code></dfn> on <code>ol</code> elements</dt>
+   <dt><dfn title="attr-p-align"><code>align</code></dfn> on <code>p</code> elements</dt>
+   <dt><dfn title="attr-pre-width"><code>width</code></dfn> on <code>pre</code> elements</dt>
+   <dt><dfn title="attr-table-align"><code>align</code></dfn> on <code>table</code> elements</dt>
+   <dt><dfn title="attr-table-bgcolor"><code>bgcolor</code></dfn> on <code>table</code> elements</dt>
+   <dt><dfn title="attr-table-border"><code>border</code></dfn> on <code>table</code> elements</dt>
+   <dt><dfn title="attr-table-cellpadding"><code>cellpadding</code></dfn> on <code>table</code> elements</dt>
+   <dt><dfn title="attr-table-cellspacing"><code>cellspacing</code></dfn> on <code>table</code> elements</dt>
+   <dt><dfn title="attr-table-frame"><code>frame</code></dfn> on <code>table</code> elements</dt>
+   <dt><dfn title="attr-table-rules"><code>rules</code></dfn> on <code>table</code> elements</dt>
+   <dt><dfn title="attr-table-width"><code>width</code></dfn> on <code>table</code> elements</dt>
+   <dt><dfn title="attr-tbody-align"><code>align</code></dfn> on <code>tbody</code>, <code>thead</code>, and <code>tfoot</code> elements</dt>
+   <dt><dfn title="attr-tbody-ch"><code>ch</code></dfn> on <code>tbody</code>, <code>thead</code>, and <code>tfoot</code> elements</dt>
+   <dt><dfn title="attr-tbody-chOff"><code>chOff</code></dfn> on <code>tbody</code>, <code>thead</code>, and <code>tfoot</code> elements</dt>
+   <dt><dfn title="attr-tbody-vAlign"><code>valign</code></dfn> on <code>tbody</code>, <code>thead</code>, and <code>tfoot</code> elements</dt>
+   <dt><dfn title="attr-td/th-align"><code>align</code></dfn> on <code>td</code> and <code>th</code> elements</dt>
+   <dt><dfn title="attr-td/th-bgColor"><code>bgColor</code></dfn> on <code>td</code> and <code>th</code> elements</dt>
+   <dt><dfn title="attr-td/th-ch"><code>ch</code></dfn> on <code>td</code> and <code>th</code> elements</dt>
+   <dt><dfn title="attr-td/th-chOff"><code>chOff</code></dfn> on <code>td</code> and <code>th</code> elements</dt>
+   <dt><dfn title="attr-td/th-height"><code>height</code></dfn> on <code>td</code> and <code>th</code> elements</dt>
+   <dt><dfn title="attr-td/th-noWrap"><code>noWrap</code></dfn> on <code>td</code> and <code>th</code> elements</dt>
+   <dt><dfn title="attr-td/th-vAlign"><code>vAlign</code></dfn> on <code>td</code> and <code>th</code> elements</dt>
+   <dt><dfn title="attr-td/th-width"><code>width</code></dfn> on <code>td</code> and <code>th</code> elements</dt>
+   <dt><dfn title="attr-tr-align"><code>align</code></dfn> on <code>tr</code> elements</dt>
+   <dt><dfn title="attr-tr-bgcolor"><code>bgcolor</code></dfn> on <code>tr</code> elements</dt>
+   <dt><dfn title="attr-tr-ch"><code>ch</code></dfn> on <code>tr</code> elements</dt>
+   <dt><dfn title="attr-tr-chOff"><code>chOff</code></dfn> on <code>tr</code> elements</dt>
+   <dt><dfn title="attr-tr-vAlign"><code>valign</code></dfn> on <code>tr</code> elements</dt>
+   <dt><dfn title="attr-ul-compact"><code>compact</code></dfn> on <code>ul</code> elements</dt>
+   <dt><dfn title="attr-ul-type"><code>type</code></dfn> on <code>ul</code> elements</dt>
+   <dd><p>Use CSS instead.</p></dd>
+
+  </dl>
+
+
+
+  <div class="impl">
+
   <h3>Self-contained features</h3>
 
   <h4>The <dfn><code>applet</code></dfn> element</h4>
@@ -82161,21 +82373,39 @@
   <p>Otherwise, <span class="XXX">define how the element works,
   if supported</span>.</p>
 
-  <pre class="idl">[XXX] interface <span>HTMLDocument</span> {
-  readonly attribute <span>HTMLCollection</span> <span title="dom-document-anchors">anchors</span>;
-  readonly attribute <span>HTMLCollection</span> <span title="dom-document-applets">applets</span>;
+  <p>The <code>applet</code> element must implement the
+  <code>HTMLAppletElement</code> interface.</p>
+
+  <pre class="idl">interface <dfn>HTMLAppletElement</dfn> : <span>HTMLElement</span> {
+           attribute DOMString <span title="dom-applet-align">align</span>;
+           attribute DOMString <span title="dom-applet-alt">alt</span>;
+           attribute DOMString <span title="dom-applet-archive">archive</span>;
+           attribute DOMString <span title="dom-applet-code">code</span>;
+           attribute DOMString <span title="dom-applet-codeBase">codeBase</span>;
+           attribute DOMString <span title="dom-applet-height">height</span>;
+           attribute long <span title="dom-applet-hspace">hspace</span>;
+           attribute DOMString <span title="dom-applet-name">name</span>;
+           attribute DOMString <span title="dom-applet-object">object</span>;
+           attribute long <span title="dom-applet-vspace">vspace</span>;
+           attribute DOMString <span title="dom-applet-width">width</span>;
 };</pre>
 
-  <p>The <dfn title="dom-document-anchors"><code>anchors</code></dfn>
-  attribute must return an <code>HTMLCollection</code> rooted at the
-  <code>Document</code> node, whose filter matches only <code>a</code>
-  elements with <code title="attr-a-name">name</code>
-  attributes.</p>
+  <p>The <dfn title="dom-applet-align"><code>align</code></dfn>, <dfn
+  title="dom-applet-alt"><code>alt</code></dfn>, <dfn
+  title="dom-applet-archive"><code>archive</code></dfn>, <dfn
+  title="dom-applet-code"><code>code</code></dfn>, <dfn
+  title="dom-applet-height"><code>height</code></dfn>, <dfn
+  title="dom-applet-hspace"><code>hspace</code></dfn>, <dfn
+  title="dom-applet-name"><code>name</code></dfn>, <dfn
+  title="dom-applet-object"><code>object</code></dfn>, <dfn
+  title="dom-applet-vspace"><code>vspace</code></dfn>, and <dfn
+  title="dom-applet-width"><code>width</code></dfn> DOM attributes
+  must <span>reflect</span> the respective content attributes of the
+  same name.</p>
 
-  <p>The <dfn title="dom-document-applets"><code>applets</code></dfn>
-  attribute must return an <code>HTMLCollection</code> rooted at the
-  <code>Document</code> node, whose filter matches only
-  <code>applet</code> elements.</p>
+  <p>The <dfn title="dom-applet-codeBase"><code>codeBase</code></dfn>
+  DOM attribute must <span>reflect</span> the <code
+  title="attr-applet-codebase">codebase</code> content attribute.</p>
 
 
   <h4>The <dfn><code>marquee</code></dfn> element</h4>
@@ -82187,6 +82417,9 @@
   <p>The <span>task source</span> for tasks mentioned in this section
   is the <span>DOM manipulation task source</span>.</p>
 
+  <p>The <code>marquee</code> element must implement the
+  <code>HTMLMarqueeElement</code> interface.</p>
+
   <pre class="idl">interface <dfn>HTMLMarqueeElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-marquee-behavior">behavior</span>;
            attribute DOMString <span title="dom-marquee-bgColor">bgColor</span>;
@@ -82454,82 +82687,240 @@
   attribute.</p>
 
 
-  
-  
+  <h4>Frames</h4>
 
+  <p>The <dfn><code>frameset</code></dfn> element acts as <span>the
+  body element</span> in documents that use frames.</p>
 
+  <p>The <code>frameset</code> element must implement the
+  <code>HTMLFrameSetElement</code> interface.</p>
 
-  <h3>Other elements and attributes</h3>
+  <pre class="idl">interface <dfn>HTMLFrameSetElement</dfn> {
+           attribute DOMString <span title="dom-frameset-cols">cols</span>;
+           attribute DOMString <span title="dom-frameset-rows">rows</span>;
+           attribute <span>Function</span> <span title="handler-window-onafterprint">onafterprint</span>;
+           attribute <span>Function</span> <span title="handler-window-onbeforeprint">onbeforeprint</span>;
+           attribute <span>Function</span> <span title="handler-window-onbeforeunload">onbeforeunload</span>;
+           attribute <span>Function</span> <span title="handler-window-onblur">onblur</span>;
+           attribute <span>Function</span> <span title="handler-window-onerror">onerror</span>;
+           attribute <span>Function</span> <span title="handler-window-onfocus">onfocus</span>;
+           attribute <span>Function</span> <span title="handler-window-onhashchange">onhashchange</span>;
+           attribute <span>Function</span> <span title="handler-window-onload">onload</span>;
+           attribute <span>Function</span> <span title="handler-window-onmessage">onmessage</span>;
+           attribute <span>Function</span> <span title="handler-window-onoffline">onoffline</span>;
+           attribute <span>Function</span> <span title="handler-window-ononline">ononline</span>;
+           attribute <span>Function</span> <span title="handler-window-onpopstate">onpopstate</span>;
+           attribute <span>Function</span> <span title="handler-window-onredo">onredo</span>;
+           attribute <span>Function</span> <span title="handler-window-onresize">onresize</span>;
+           attribute <span>Function</span> <span title="handler-window-onstorage">onstorage</span>;
+           attribute <span>Function</span> <span title="handler-window-onundo">onundo</span>;
+           attribute <span>Function</span> <span title="handler-window-onunload">onunload</span>;
+};</pre>
 
-  <p>The following elements are obsolete and either have no meaning
-  whatsoever or have no requirements beyond those described elsewhere
-  in this specification:</p>
+  <p>The <dfn title="dom-frameset-cols"><code>cols</code></dfn> and
+  <dfn title="dom-frameset-rows"><code>rows</code></dfn> DOM
+  attributes of the <code>frameset</code> element must
+  <span>reflect</span> the respective content attributes of the same
+  name.</p>
 
-  <dl><!-- alphabetical by first element in the group, except CSS goes last -->
+  <p>The <code>frameset</code> element must support the following
+  <span>event handler content attributes</span> exposing the
+  <span>event handler attributes</span> of the <code>Window</code>
+  object:</p>
 
-   <dt><dfn><code>acronym</code></dfn></dt>
-   <dd><p>Use <code>abbr</code> instead.</p></dd>
+  <ul class="brief">
+   <li><code title="handler-window-onafterprint">onafterprint</code></li>
+   <li><code title="handler-window-onbeforeprint">onbeforeprint</code></li>
+   <li><code title="handler-window-onbeforeunload">onbeforeunload</code></li>
+   <li><code title="handler-window-onblur">onblur</code></li>
+   <li><code title="handler-window-onerror">onerror</code></li>
+   <li><code title="handler-window-onfocus">onfocus</code></li>
+   <li><code title="handler-window-onhashchange">onhashchange</code></li>
+   <li><code title="handler-window-onload">onload</code></li>
+   <li><code title="handler-window-onmessage">onmessage</code></li>
+   <li><code title="handler-window-onoffline">onoffline</code></li>
+   <li><code title="handler-window-ononline">ononline</code></li>
+   <li><code title="handler-window-onpopstate">onpopstate</code></li>
+   <li><code title="handler-window-onredo">onredo</code></li>
+   <li><code title="handler-window-onresize">onresize</code></li>
+   <li><code title="handler-window-onstorage">onstorage</code></li>
+   <li><code title="handler-window-onundo">onundo</code></li>
+   <li><code title="handler-window-onunload">onunload</code></li>
+  </ul>
 
-   <dt><dfn><code>dir</code></dfn></dt>
-   <dd><p>Use <code>ul</code> instead.</p></dd>
+  <p>The DOM interface also exposes <span>event handler DOM
+  attributes</span> that mirror those on the <code>Window</code>
+  element.</p>
 
-   <dt><dfn><code>frame</code></dfn></dt>
-   <dt><dfn><code>frameset</code></dfn></dt>
-   <dt><dfn><code>noframes</code></dfn></dt>
-   <dd><p>Use <code>iframe</code> and CSS instead.</p></dd>
+  <p>The <code title="handler-window-onblur">onblur</code>, <code
+  title="handler-window-onerror">onerror</code>, <code
+  title="handler-window-onfocus">onfocus</code>, and <code
+  title="handler-window-onload">onload</code> <span>event handler
+  attributes</span> of the <code>Window</code> object, exposed on the
+  <code>frameset</code> element, shadow the generic <span>event
+  handler attributes</span> with the same names normally supported by
+  <span>HTML elements</span>.</p>
 
-   <dt><dfn><code>isindex</code></dfn></dt>
-   <dd><p>Use an explicit <code>form</code> and <span title="attr-input-type-text">text field</span> combination instead.</p></dd>
+  <hr>
 
-   <dt><dfn><code>noembed</code></dfn></dt>
-   <dd><p>Use <code>object</code> instead of <code>embed</code> when fallback is necessary.</p></dd>
+  <p>The <dfn><code>frame</code></dfn> element defines a <span>nested
+  browsing context</span> similar to the <code>iframe</code> element,
+  but rendered within a <code>frameset</code> element.</p>
 
-   <dt><dfn><code>basefont</code></dfn></dt>
-   <dt><dfn><code>big</code></dfn></dt>
-   <dt><dfn><code>blink</code></dfn></dt>
-   <dt><dfn><code>center</code></dfn></dt>
-   <dt><dfn><code>font</code></dfn></dt>
-   <dt><dfn><code>s</code></dfn></dt>
-   <dt><dfn><code>spacer</code></dfn></dt>
-   <dt><dfn><code>strike</code></dfn></dt>
-   <dt><dfn><code>tt</code></dfn></dt>
-   <dt><dfn><code>u</code></dfn></dt>
-   <dd><p>Use CSS instead.</p></dd>
+  <p>When the browsing context is created, if a <code
+  title="attr-frame-src">src</code> attribute is present, the user
+  agent must <span title="resolve a url">resolve</span> the value of
+  that attribute, relative to the element, and if that is successful,
+  must then <span>navigate</span> the element's browsing context to
+  the resulting <span>absolute URL</span>, with <span>replacement
+  enabled</span>, and with the <code>frame</code> element's
+  document's <span>browsing context</span> as the <span>source
+  browsing context</span>.</p>
 
-  </dl>
+  <p>Whenever the <code title="attr-frame-src">src</code> attribute
+  is set, the user agent must <span title="resolve a
+  url">resolve</span> the value of that attribute, relative to the
+  element, and if that is successful, the nested <span>browsing
+  context</span> must be <span title="navigate">navigated</span> to
+  the resulting <span>absolute URL</span>, with the
+  <code>frame</code> element's document's <span>browsing
+  context</span> as the <span>source browsing context</span>.</p>
 
-  <hr>
+  <p>When the browsing context is created, if a <code
+  title="attr-frame-name">name</code> attribute is present, the
+  <span>browsing context name</span> must be set to the value of this
+  attribute; otherwise, the <span>browsing context name</span> must be
+  set to the empty string.</p>
 
-  <p>The following attributes are obsolete (though the elements are
-  still part of the language) and either have no meaning whatsoever or
-  have no requirements beyond those described elsewhere in this
-  specification:</p>
+  <p>Whenever the <code title="attr-frame-name">name</code> attribute
+  is set, the nested <span>browsing context</span>'s <span
+  title="browsing context name">name</span> must be changed to the new
+  value. If the attribute is removed, the <span>browsing context
+  name</span> must be set to the empty string.</p>
 
-  <dl><!-- alphabetical by element then attribute of first item in group, except CSS goes last -->
+  <p>When content loads in a <code>frame</code>, after any <code
+  title="event-load">load</code> events are fired within the content
+  itself, the user agent must <span>fire a simple event</span> called
+  <code title="event-load">load</code> at the <code>frame</code>
+  element. When content fails to load (e.g. due to a network error),
+  then the user agent must <span>fire a simple event</span> called
+  <code title="event-error">error</code> at the element instead.</p>
 
-   <dt><dfn title="attr-a-name"><code>name</code></dfn> on <code>a</code> elements</dt>
-   <dd><p>Use the <code title="attr-id">id</code> attribute instead.</p></dd>
+  <p>When there is an <span>active parser</span> in the
+  <code>frame</code>, and when anything in the <code>frame</code> is
+  <span title="delay the load event">delaying the load event</span> of
+  the <code>frame</code>'s <span>browsing context</span>'s
+  <span>active document</span>, the <code>frame</code> must
+  <span>delay the load event</span> of its document.</p>
 
-   <dt><dfn title="attr-body-alink"><code>alink</code></dfn> on <code>body</code> elements</dt>
-   <dt><dfn title="attr-body-background"><code>background</code></dfn> on <code>body</code> elements</dt>
-   <dt><dfn title="attr-body-bgcolor"><code>bgcolor</code></dfn> on <code>body</code> elements</dt>
-   <dt><dfn title="attr-body-link"><code>link</code></dfn> on <code>body</code> elements</dt>
-   <dt><dfn title="attr-body-text"><code>text</code></dfn> on <code>body</code> elements</dt>
-   <dt><dfn title="attr-body-vlink"><code>vlink</code></dfn> on <code>body</code> elements</dt>
-   <dd><p>Use CSS instead.</p></dd>
+  <p>The <code>frame</code> element must implement the
+  <code>HTMLFrameElement</code> interface.</p>
 
-  </dl>
+  <pre class="idl">interface <dfn>HTMLFrameElement</dfn> {
+           attribute DOMString <span title="dom-frame-frameBorder">frameBorder</span>;
+           attribute DOMString <span title="dom-frame-longDesc">longDesc</span>;
+           attribute DOMString <span title="dom-frame-marginHeight">marginHeight</span>;
+           attribute DOMString <span title="dom-frame-marginWidth">marginWidth</span>;
+           attribute DOMString <span title="dom-frame-name">name</span>;
+           attribute boolean <span title="dom-frame-noResize">noResize</span>;
+           attribute DOMString <span title="dom-frame-scrolling">scrolling</span>;
+           attribute DOMString <span title="dom-frame-src">src</span>;
+  readonly attribute Document <span title="dom-frame-contentDocument">contentDocument</span>;
+};</pre>
 
+  <p>The <dfn title="dom-frame-name"><code>name</code></dfn>, <dfn
+  title="dom-frame-scrolling"><code>scrolling</code></dfn>, and <dfn
+  title="dom-frame-src"><code>src</code></dfn> DOM attributes of the
+  <code>frame</code> element must <span>reflect</span> the respective
+  content attributes of the same name.</p>
 
-  <h3>Other DOM APIs</h3>
+  <p>The <dfn
+  title="dom-frame-frameBorder"><code>frameBorder</code></dfn> DOM
+  attribute of the <code>frame</code> element must
+  <span>reflect</span> the element's <code
+  title="attr-frame-frameborder">frameborder</code> content
+  attribute.</p>
 
-  <p>These APIs expose obsolete content attributes.</p>
+  <p>The <dfn title="dom-frame-longDesc"><code>longDesc</code></dfn>
+  DOM attribute of the <code>frame</code> element must
+  <span>reflect</span> the element's <code
+  title="attr-frame-longdesc">longdesc</code> content attribute.</p>
 
-  <p class="XXX">The [XXX] below is for some annotation meaning "this
-  is just another part of the named interface, and should be treated
-  as if it had been part of the main interface definition".</p>
+  <p>The <dfn
+  title="dom-frame-marginHeight"><code>marginHeight</code></dfn> DOM
+  attribute of the <code>frame</code> element must
+  <span>reflect</span> the element's <code
+  title="attr-frame-marginheight">marginheight</code> content
+  attribute.</p>
 
-  <pre class="idl">[XXX] interface <span>HTMLBodyElement</span> {
+  <p>The <dfn
+  title="dom-frame-marginWidth"><code>marginWidth</code></dfn> DOM
+  attribute of the <code>frame</code> element must
+  <span>reflect</span> the element's <code
+  title="attr-frame-marginwidth">marginwidth</code> content
+  attribute.</p>
+
+  <p>The <dfn title="dom-frame-noResize"><code>noResize</code></dfn>
+  DOM attribute of the <code>frame</code> element must
+  <span>reflect</span> the element's <code
+  title="attr-frame-noresize">noresize</code> content attribute.</p>
+
+  <p>The <dfn
+  title="dom-frame-contentDocument"><code>contentDocument</code></dfn>
+  DOM attribute of the <code>frame</code> element must return the
+  <code>Document</code> object of the <span>active document</span> of
+  the <code>frame</code> element's <span>nested browsing
+  context</span>.</p>
+
+
+
+  <h3>Other elements, attributes and APIs</h3> <!-- alphabetical by name and attribute -->
+
+  <pre class="idl">[Supplemental] interface <span>HTMLAnchorElement</span> {
+           attribute DOMString <span title="dom-a-coords">coords</span>;
+           attribute DOMString <span title="dom-a-charset">charset</span>;
+           attribute DOMString <span title="dom-a-rev">rev</span>;
+           attribute DOMString <span title="dom-a-shape">shape</span>;
+};</pre>
+
+  <p>The <dfn title="dom-a-coords"><code>coords</code></dfn>, <dfn
+  title="dom-a-charset"><code>charset</code></dfn>, <dfn
+  title="dom-a-rev"><code>rev</code></dfn>, and <dfn
+  title="dom-a-shape"><code>shape</code></dfn> DOM attributes of the
+  <code>a</code> element must <span>reflect</span> the respective
+  content attributes of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLAreaElement</span> {
+           attribute boolean <span title="dom-area-noHref">noHref</span>;
+};</pre>
+
+  <p>The <dfn title="dom-area-noHref"><code>noHref</code></dfn> DOM
+  attribute of the <code>area</code> element must <span>reflect</span>
+  the element's <code title="attr-area-nohref">nohref</code> content
+  attribute.</p>
+
+  <hr>
+
+  <p>The <code>basefont</code> element must implement the
+  <code>HTMLBaseFontElement</code> interface.</p>
+
+  <pre class="idl">interface <dfn>HTMLBaseFontElement</dfn> {
+           attribute DOMString <span title="dom-basefont-color">color</span>;
+           attribute DOMString <span title="dom-basefont-face">face</span>;
+           attribute long <span title="dom-basefont-size">size</span>; <!-- yes, long, not DOMString (so says DOM2 HTML) -->
+};</pre>
+
+  <p>The <dfn title="dom-basefont-color"><code>color</code></dfn>,
+  <dfn title="dom-basefont-face"><code>face</code></dfn>, and <dfn
+  title="dom-basefont-size"><code>size</code></dfn> DOM attributes of
+  the <code>basefont</code> element must <span>reflect</span> the
+  respective content attributes of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLBodyElement</span> {
            attribute DOMString <span title="dom-body-text">text</span>;
            attribute DOMString <span title="dom-body-bgColor">bgColor</span>;
            attribute DOMString <span title="dom-body-background">background</span>;
@@ -82572,13 +82963,548 @@
   the element's <code title="attr-body-vlink">vlink</code> content
   attribute.</p>
 
-  <pre class="idl">[XXX] interface <span>HTMLDocument</span> {
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLBRElement</span> {
+           attribute DOMString <span title="dom-br-clear">clear</span>;
+};</pre>
+
+  <p>The <dfn title="dom-br-clear"><code>clear</code></dfn> DOM
+  attribute of the <code>br</code> element must <span>reflect</span>
+  the content attribute of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLTableCaptionElement</span> {
+           attribute DOMString <span title="dom-caption-align">align</span>;
+};</pre>
+
+  <p>The <dfn title="dom-caption-align"><code>align</code></dfn> DOM
+  attribute of the <code>caption</code> element must
+  <span>reflect</span> the content attribute of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLTableColElement</span> {
+           attribute DOMString <span title="dom-col-align">align</span>;
+           attribute DOMString <span title="dom-col-ch">ch</span>;
+           attribute DOMString <span title="dom-col-chOff">chOff</span>;
+           attribute DOMString <span title="dom-col-vAlign">vAlign</span>;
+           attribute DOMString <span title="dom-col-width">width</span>;
+};</pre>
+
+  <p>The <dfn title="dom-col-align"><code>align</code></dfn>, <dfn
+  title="dom-col-ch"><code>ch</code></dfn>, and <dfn
+  title="dom-col-width"><code>width</code></dfn>, DOM attributes of
+  the <code>col</code> element must <span>reflect</span> the
+  respective content attributes of the same name.</p>
+
+  <p>The <dfn title="dom-col-chOff"><code>chOff</code></dfn> DOM
+  attribute of the <code>col</code> element must <span>reflect</span>
+  the element's <code title="attr-col-choff">choff</code> content
+  attribute.</p>
+
+  <p>The <dfn title="dom-col-vAlign"><code>vAlign</code></dfn> DOM
+  attribute of the <code>col</code> element must <span>reflect</span>
+  the element's <code title="attr-col-valign">valign</code> content
+  attribute.</p>
+
+  <hr>
+
+  <p>The <code>dir</code> element must implement the
+  <code>HTMLDirectoryElement</code> interface.</p>
+
+  <pre class="idl">interface <dfn>HTMLDirectoryElement</dfn> {
+           attribute DOMString <span title="dom-dir-compact">compact</span>;
+};</pre>
+
+  <p>The <dfn title="dom-dir-compact"><code>compact</code></dfn> DOM
+  attribute of the <code>dir</code> element must <span>reflect</span>
+  the content attribute of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLDivElement</span> {
+           attribute DOMString <span title="dom-div-align">align</span>;
+};</pre>
+
+  <p>The <dfn title="dom-div-align"><code>align</code></dfn> DOM
+  attribute of the <code>div</code> element must <span>reflect</span>
+  the content attribute of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLDListElement</span> {
+           attribute DOMString <span title="dom-dl-compact">compact</span>;
+};</pre>
+
+  <p>The <dfn title="dom-dl-compact"><code>compact</code></dfn> DOM
+  attribute of the <code>dl</code> element must <span>reflect</span>
+  the content attribute of the same name.</p>
+
+  <hr>
+
+  <p>The <code>font</code> element must implement the
+  <code>HTMLFontElement</code> interface.</p>
+
+  <pre class="idl">interface <dfn>HTMLFontElement</dfn> {
+           attribute DOMString <span title="dom-font-color">color</span>;
+           attribute DOMString <span title="dom-font-face">face</span>;
+           attribute DOMString <span title="dom-font-size">size</span>; <!-- yes, DOMString, not long (so says DOM2 HTML) -->
+};</pre>
+
+  <p>The <dfn title="dom-font-color"><code>color</code></dfn>,
+  <dfn title="dom-font-face"><code>face</code></dfn>, and <dfn
+  title="dom-font-size"><code>size</code></dfn> DOM attributes of
+  the <code>font</code> element must <span>reflect</span> the
+  respective content attributes of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLHeadingElement</span> {
+           attribute DOMString <span title="dom-hx-align">align</span>;
+};</pre>
+
+  <p>The <dfn title="dom-hx-align"><code>align</code></dfn> DOM
+  attribute of the <code>h1</code>–<code>h6</code> elements must
+  <span>reflect</span> the content attribute of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLHeadElement</span> {
+           attribute DOMString <span title="dom-head-profile">profile</span>;
+};</pre>
+
+  <p>The <dfn title="dom-head-profile"><code>profile</code></dfn> DOM
+  attribute of the <code>head</code> element must <span>reflect</span>
+  the content attribute of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLHRElement</span> {
+           attribute DOMString <span title="dom-hr-align">align</span>;
+           attribute boolean <span title="dom-hr-noShade">noShade</span>;
+           attribute DOMString <span title="dom-hr-size">size</span>;
+           attribute DOMString <span title="dom-hr-width">width</span>;
+};</pre>
+
+  <p>The <dfn title="dom-hr-align"><code>align</code></dfn>, <dfn
+  title="dom-hr-size"><code>size</code></dfn>, and <dfn
+  title="dom-hr-width"><code>width</code></dfn> DOM attributes of the
+  <code>hr</code> element must <span>reflect</span> the respective
+  content attributes of the same name.</p>
+
+  <p>The <dfn title="dom-hr-noShade"><code>noShade</code></dfn> DOM
+  attribute of the <code>hr</code> element must <span>reflect</span>
+  the element's <code title="attr-input-noshade">noshade</code>
+  content attribute.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLHtmlElement</span> {
+           attribute DOMString <span title="dom-html-version">version</span>;
+};</pre>
+
+  <p>The <dfn title="dom-html-version"><code>version</code></dfn> DOM
+  attribute of the <code>html</code> element must <span>reflect</span>
+  the content attribute of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLIFrameElement</span> {
+           attribute DOMString <span title="dom-iframe-align">align</span>;
+           attribute DOMString <span title="dom-iframe-frameBorder">frameBorder</span>;
+           attribute DOMString <span title="dom-iframe-longDesc">longDesc</span>;
+           attribute DOMString <span title="dom-iframe-marginHeight">marginHeight</span>;
+           attribute DOMString <span title="dom-iframe-marginWidth">marginWidth</span>;
+           attribute DOMString <span title="dom-iframe-scrolling">scrolling</span>;
+};</pre>
+
+  <p>The <dfn title="dom-iframe-align"><code>name</code></dfn> and
+  <dfn title="dom-iframe-scrolling"><code>scrolling</code></dfn> DOM
+  attributes of the <code>iframe</code> element must
+  <span>reflect</span> the respective content attributes of the same
+  name.</p>
+
+  <p>The <dfn
+  title="dom-iframe-frameBorder"><code>frameBorder</code></dfn> DOM
+  attribute of the <code>iframe</code> element must
+  <span>reflect</span> the element's <code
+  title="attr-iframe-iframeborder">iframeborder</code> content
+  attribute.</p>
+
+  <p>The <dfn title="dom-iframe-longDesc"><code>longDesc</code></dfn>
+  DOM attribute of the <code>iframe</code> element must
+  <span>reflect</span> the element's <code
+  title="attr-iframe-longdesc">longdesc</code> content attribute.</p>
+
+  <p>The <dfn
+  title="dom-iframe-marginHeight"><code>marginHeight</code></dfn> DOM
+  attribute of the <code>iframe</code> element must
+  <span>reflect</span> the element's <code
+  title="attr-iframe-marginheight">marginheight</code> content
+  attribute.</p>
+
+  <p>The <dfn
+  title="dom-iframe-marginWidth"><code>marginWidth</code></dfn> DOM
+  attribute of the <code>iframe</code> element must
+  <span>reflect</span> the element's <code
+  title="attr-iframe-marginwidth">marginwidth</code> content
+  attribute.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLImageElement</span> {
+           attribute DOMString <span title="dom-img-name">name</span>;
+           attribute DOMString <span title="dom-img-align">align</span>;
+           attribute DOMString <span title="dom-img-border">border</span>;
+           attribute long <span title="dom-img-hspace">hspace</span>;
+           attribute DOMString <span title="dom-img-longDesc">longDesc</span>;
+           attribute long <span title="dom-img-vspace">vspace</span>;
+};</pre>
+
+  <p>The <dfn title="dom-img-name"><code>name</code></dfn>, <dfn
+  title="dom-img-align"><code>align</code></dfn>, <dfn
+  title="dom-img-border"><code>border</code></dfn>, <dfn
+  title="dom-img-hspace"><code>hspace</code></dfn>, and <dfn
+  title="dom-img-vspace"><code>vspace</code></dfn> DOM attributes of
+  the <code>img</code> element must <span>reflect</span> the
+  respective content attributes of the same name.</p>
+
+  <p>The <dfn title="dom-img-longDesc"><code>longDesc</code></dfn> DOM
+  attribute of the <code>img</code> element must <span>reflect</span>
+  the element's <code title="attr-img-longdesc">longdesc</code> content
+  attribute.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLInputElement</span> {
+           attribute DOMString <span title="dom-input-align">align</span>;
+           attribute DOMString <span title="dom-input-useMap">useMap</span>;
+};</pre>
+
+  <p>The <dfn title="dom-input-align"><code>align</code></dfn> DOM
+  attribute of the <code>input</code> element must <span>reflect</span>
+  the content attribute of the same name.</p>
+
+  <p>The <dfn title="dom-input-useMap"><code>useMap</code></dfn> DOM
+  attribute of the <code>input</code> element must
+  <span>reflect</span> the element's <code
+  title="attr-input-usemap">usemap</code> content attribute.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLLegendElement</span> {
+           attribute DOMString <span title="dom-legend-align">align</span>;
+};</pre>
+
+  <p>The <dfn title="dom-legend-align"><code>align</code></dfn> DOM
+  attribute of the <code>legend</code> element must <span>reflect</span>
+  the content attribute of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLLIElement</span> {
+           attribute DOMString <span title="dom-li-type">type</span>;
+};</pre>
+
+  <p>The <dfn title="dom-li-type"><code>type</code></dfn> DOM
+  attribute of the <code>li</code> element must <span>reflect</span>
+  the content attribute of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLLinkElement</span> {
+           attribute DOMString <span title="dom-link-charset">charset</span>;
+           attribute DOMString <span title="dom-link-rev">rev</span>;
+           attribute DOMString <span title="dom-link-target">target</span>;
+};</pre>
+
+  <p>The <dfn title="dom-link-charset"><code>charset</code></dfn>,
+  <dfn title="dom-link-rev"><code>rev</code></dfn>, and <dfn
+  title="dom-link-target"><code>target</code></dfn> DOM attributes of
+  the <code>link</code> element must <span>reflect</span> the
+  respective content attributes of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLMenuElement</span> {
+           attribute DOMString <span title="dom-menu-compact">compact</span>;
+};</pre>
+
+  <p>The <dfn title="dom-menu-compact"><code>compact</code></dfn> DOM
+  attribute of the <code>menu</code> element must <span>reflect</span>
+  the content attribute of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLMetaElement</span> {
+           attribute DOMString <span title="dom-meta-scheme">scheme</span>;
+};</pre>
+
+  <p>The <dfn title="dom-meta-scheme"><code>scheme</code></dfn> DOM
+  attribute of the <code>meta</code> element must <span>reflect</span>
+  the content attribute of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLObjectElement</span> {
+           attribute DOMString <span title="dom-object-align">align</span>;
+           attribute DOMString <span title="dom-object-archive">archive</span>;
+           attribute DOMString <span title="dom-object-border">border</span>;
+           attribute DOMString <span title="dom-object-code">code</span>;
+           attribute DOMString <span title="dom-object-codeBase">codeBase</span>;
+           attribute DOMString <span title="dom-object-codeType">codeType</span>;
+           attribute boolean <span title="dom-object-declare">declare</span>;
+           attribute long <span title="dom-object-hspace">hspace</span>;
+           attribute DOMString <span title="dom-object-standby">standby</span>;
+           attribute long <span title="dom-object-vspace">vspace</span>;
+};</pre>
+
+  <p>The <dfn title="dom-object-align"><code>align</code></dfn>, <dfn
+  title="dom-object-archive"><code>archive</code></dfn>, <dfn
+  title="dom-object-border"><code>border</code></dfn>, <dfn
+  title="dom-object-code"><code>code</code></dfn>, <dfn
+  title="dom-object-declare"><code>declare</code></dfn>, <dfn
+  title="dom-object-hspace"><code>hspace</code></dfn>, <dfn
+  title="dom-object-standby"><code>standby</code></dfn>, and <dfn
+  title="dom-object-vspace"><code>vspace</code></dfn> DOM attributes
+  of the <code>object</code> element must <span>reflect</span> the
+  respective content attributes of the same name.</p>
+
+  <p>The <dfn title="dom-object-codeBase"><code>codeBase</code></dfn> DOM
+  attribute of the <code>object</code> element must <span>reflect</span>
+  the element's <code title="attr-object-codebase">codebase</code> content
+  attribute.</p>
+
+  <p>The <dfn title="dom-object-codeType"><code>codeType</code></dfn> DOM
+  attribute of the <code>object</code> element must <span>reflect</span>
+  the element's <code title="attr-object-codetype">codetype</code> content
+  attribute.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLOListElement</span> {
+           attribute DOMString <span title="dom-ol-compact">compact</span>;
+           attribute DOMString <span title="dom-ol-type">type</span>;
+};</pre>
+
+  <p>The <dfn title="dom-ol-compact"><code>compact</code></dfn> and
+  <dfn title="dom-ol-type"><code>type</code></dfn> DOM attributes of
+  the <code>ol</code> element must <span>reflect</span> the respective
+  content attributes of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLParagraphElement</span> {
+           attribute DOMString <span title="dom-p-align">align</span>;
+};</pre>
+
+  <p>The <dfn title="dom-p-align"><code>align</code></dfn> DOM
+  attribute of the <code>p</code> element must <span>reflect</span>
+  the content attribute of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLParamElement</span> {
+           attribute DOMString <span title="dom-param-type">type</span>;
+           attribute DOMString <span title="dom-param-valueType">valueType</span>;
+};</pre>
+
+  <p>The <dfn title="dom-param-type"><code>type</code></dfn> DOM
+  attribute of the <code>param</code> element must
+  <span>reflect</span> the content attribute of the same name.</p>
+
+  <p>The <dfn title="dom-param-valueType"><code>valueType</code></dfn>
+  DOM attribute of the <code>param</code> element must
+  <span>reflect</span> the element's <code
+  title="attr-param-valuetype">valuetype</code> content attribute.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLPreElement</span> {
+           attribute long <span title="dom-pre-width">width</span>;
+};</pre>
+
+  <p>The <dfn title="dom-pre-width"><code>width</code></dfn> DOM
+  attribute of the <code>pre</code> element must <span>reflect</span>
+  the content attribute of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLScriptElement</span> {
+           attribute DOMString <span title="dom-script-event">event</span>;
+           attribute DOMString <span title="dom-script-htmlFor">htmlFor</span>;
+};</pre>
+
+  <p>The <dfn title="dom-script-event"><code>event</code></dfn> and
+  <dfn title="dom-script-htmlFor"><code>htmlFor</code></dfn> DOM
+  attributes of the <code>script</code> element must return the empty
+  string on getting, and do nothing on setting.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLTableElement</span> {
+           attribute DOMString <span title="dom-table-align">align</span>;
+           attribute DOMString <span title="dom-table-bgColor">bgColor</span>;
+           attribute DOMString <span title="dom-table-border">border</span>;
+           attribute DOMString <span title="dom-table-cellPadding">cellPadding</span>;
+           attribute DOMString <span title="dom-table-cellSpacing">cellSpacing</span>;
+           attribute DOMString <span title="dom-table-frame">frame</span>;
+           attribute DOMString <span title="dom-table-rules">rules</span>;
+           attribute DOMString <span title="dom-table-summary">summary</span>;
+           attribute DOMString <span title="dom-table-width">width</span>;
+};</pre>
+
+  <p>The <dfn title="dom-table-align"><code>align</code></dfn>, <dfn
+  title="dom-table-border"><code>border</code></dfn>, <dfn
+  title="dom-table-frame"><code>frame</code></dfn>, <dfn
+  title="dom-table-rules"><code>rules</code></dfn>, <dfn
+  title="dom-table-summary"><code>summary</code></dfn>, and <dfn
+  title="dom-table-width"><code>width</code></dfn>, DOM attributes of
+  the <code>table</code> element must <span>reflect</span> the
+  respective content attributes of the same name.</p>
+
+  <p>The <dfn title="dom-table-bgColor"><code>bgColor</code></dfn> DOM
+  attribute of the <code>table</code> element must <span>reflect</span>
+  the element's <code title="attr-table-bgcolor">bgcolor</code> content
+  attribute.</p>
+
+  <p>The <dfn title="dom-table-cellPadding"><code>cellPadding</code></dfn> DOM
+  attribute of the <code>table</code> element must <span>reflect</span>
+  the element's <code title="attr-table-cellpadding">cellpadding</code> content
+  attribute.</p>
+
+  <p>The <dfn title="dom-table-cellSpacing"><code>cellSpacing</code></dfn> DOM
+  attribute of the <code>table</code> element must <span>reflect</span>
+  the element's <code title="attr-table-cellspacing">cellspacing</code> content
+  attribute.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLTableSectionElement</span> {
+           attribute DOMString <span title="dom-tbody-align">align</span>;
+           attribute DOMString <span title="dom-tbody-ch">ch</span>;
+           attribute DOMString <span title="dom-tbody-chOff">chOff</span>;
+           attribute DOMString <span title="dom-tbody-vAlign">vAlign</span>;
+};</pre>
+
+  <p>The <dfn title="dom-tbody-align"><code>align</code></dfn> and
+  <dfn title="dom-tbody-ch"><code>ch</code></dfn> DOM attributes of
+  the <code>tbody</code>, <code>thead</code>, and <code>tfoot</code>
+  elements must <span>reflect</span> the respective content attributes
+  of the same name.</p>
+
+  <p>The <dfn title="dom-tbody-chOff"><code>chOff</code></dfn> DOM
+  attribute of the <code>tbody</code>, <code>thead</code>, and
+  <code>tfoot</code> elements must <span>reflect</span> the elements'
+  <code title="attr-tbody-choff">choff</code> content attributes.</p>
+
+  <p>The <dfn title="dom-tbody-vAlign"><code>vAlign</code></dfn> DOM
+  attribute of the <code>tbody</code>, <code>thead</code>, and
+  <code>tfoot</code> element must <span>reflect</span> the elements'
+  <code title="attr-tbody-valign">valign</code> content
+  attributes.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLTableCellElement</span> {
+           attribute DOMString <span title="dom-td/th-abbr">abbr</span>;
+           attribute DOMString <span title="dom-td/th-align">align</span>;
+           attribute DOMString <span title="dom-td/th-axis">axis</span>;
+           attribute DOMString <span title="dom-td/th-bgColor">bgColor</span>;
+           attribute DOMString <span title="dom-td/th-ch">ch</span>;
+           attribute DOMString <span title="dom-td/th-chOff">chOff</span>;
+           attribute DOMString <span title="dom-td/th-height">height</span>;
+           attribute boolean <span title="dom-td/th-noWrap">noWrap</span>;
+           attribute DOMString <span title="dom-td/th-vAlign">vAlign</span>;
+           attribute DOMString <span title="dom-td/th-width">width</span>;
+};</pre>
+
+  <p>The <dfn title="dom-td/th-abbr"><code>abbr</code></dfn>, <dfn
+  title="dom-td/th-align"><code>align</code></dfn>, <dfn
+  title="dom-td/th-axis"><code>axis</code></dfn>, <dfn
+  title="dom-td/th-ch"><code>ch</code></dfn>, <dfn
+  title="dom-td/th-height"><code>height</code></dfn>, and <dfn
+  title="dom-td/th-width"><code>width</code></dfn> DOM attributes of
+  the <code>td</code> and <code>th</code> elements must
+  <span>reflect</span> the respective content attributes of the same
+  name.</p>
+
+  <p>The <dfn title="dom-td/th-bgColor"><code>bgColor</code></dfn> DOM
+  attribute of the <code>td</code> and <code>th</code> elements must
+  <span>reflect</span> the elements' <code
+  title="attr-td/th-bgcolor">bgcolor</code> content attributes.</p>
+
+  <p>The <dfn title="dom-td/th-chOff"><code>chOff</code></dfn> DOM
+  attribute of the <code>td</code> and <code>th</code> elements must
+  <span>reflect</span> the elements' <code
+  title="attr-td/th-choff">choff</code> content attributes.</p>
+
+  <p>The <dfn title="dom-td/th-noWrap"><code>noWrap</code></dfn> DOM
+  attribute of the <code>td</code> and <code>th</code> elements must
+  <span>reflect</span> the elements' <code
+  title="attr-td/th-nowrap">nowrap</code> content attributes.</p>
+
+  <p>The <dfn title="dom-td/th-vAlign"><code>vAlign</code></dfn> DOM
+  attribute of the <code>td</code> and <code>th</code> element must
+  <span>reflect</span> the elements' <code
+  title="attr-td/th-valign">valign</code> content attributes.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLTableRowElement</span> {
+           attribute DOMString <span title="dom-tr-align">align</span>;
+           attribute DOMString <span title="dom-tr-bgColor">bgColor</span>;
+           attribute DOMString <span title="dom-tr-ch">ch</span>;
+           attribute DOMString <span title="dom-tr-chOff">chOff</span>;
+           attribute DOMString <span title="dom-tr-vAlign">vAlign</span>;
+};</pre>
+
+  <p>The <dfn title="dom-tr-align"><code>align</code></dfn> and <dfn
+  title="dom-tr-ch"><code>ch</code></dfn> DOM attributes of the
+  <code>tr</code> element must <span>reflect</span> the respective
+  content attributes of the same name.</p>
+
+  <p>The <dfn title="dom-tr-bgColor"><code>bgColor</code></dfn> DOM
+  attribute of the <code>tr</code> element must <span>reflect</span>
+  the element's <code title="attr-tr-bgcolor">bgcolor</code> content
+  attribute.</p>
+
+  <p>The <dfn title="dom-tr-chOff"><code>chOff</code></dfn> DOM
+  attribute of the <code>tr</code> element must <span>reflect</span>
+  the element's <code title="attr-tr-choff">choff</code> content
+  attribute.</p>
+
+  <p>The <dfn title="dom-tr-vAlign"><code>vAlign</code></dfn> DOM
+  attribute of the <code>tr</code> element must <span>reflect</span>
+  the element's <code title="attr-tr-valign">valign</code> content
+  attribute.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLUListElement</span> {
+           attribute DOMString <span title="dom-ul-compact">compact</span>;
+           attribute DOMString <span title="dom-ul-type">type</span>;
+};</pre>
+
+  <p>The <dfn title="dom-ul-compact"><code>compact</code></dfn> and
+  <dfn title="dom-ul-type"><code>type</code></dfn> DOM attributes of
+  the <code>ul</code> element must <span>reflect</span> the respective
+  content attributes of the same name.</p>
+
+  <hr>
+
+  <pre class="idl">[Supplemental] interface <span>HTMLDocument</span> {
            attribute DOMString <span title="dom-document-fgColor">fgColor</span>;
            attribute DOMString <span title="dom-document-bgColor">bgColor</span>;
            attribute DOMString <span title="dom-document-linkColor">linkColor</span>;
            attribute DOMString <span title="dom-document-vlinkColor">vlinkColor</span>;
            attribute DOMString <span title="dom-document-alinkColor">alinkColor</span>;
 
+  readonly attribute <span>HTMLCollection</span> <span title="dom-document-anchors">anchors</span>;
+  readonly attribute <span>HTMLCollection</span> <span title="dom-document-applets">applets</span>;
+
   readonly attribute <span>HTMLCollection</span> <span title="dom-document-all">all</span>;
 };</pre>
 
@@ -82613,6 +83539,19 @@
 
   <hr>
 
+  <p>The <dfn title="dom-document-anchors"><code>anchors</code></dfn>
+  attribute must return an <code>HTMLCollection</code> rooted at the
+  <code>Document</code> node, whose filter matches only <code>a</code>
+  elements with <code title="attr-a-name">name</code>
+  attributes.</p>
+
+  <p>The <dfn title="dom-document-applets"><code>applets</code></dfn>
+  attribute must return an <code>HTMLCollection</code> rooted at the
+  <code>Document</code> node, whose filter matches only
+  <code>applet</code> elements.</p>
+
+  <hr>
+
   <p>The <dfn title="dom-document-all"><code>all</code></dfn>
   attribute must return an <code>HTMLCollection</code> rooted at the
   <code>Document</code> node, whose filter matches all elements.</p>
@@ -82628,71 +83567,9 @@
   violation is motivated by a desire for compatibility with legacy
   content. <a href="#refsECMA262">[ECMA262]</a></p>
 
-  <hr>
 
-  <p>Any <code>frameset</code> elements must support the following
-  <span>event handler content attributes</span> exposing the
-  <span>event handler attributes</span> of the <code>Window</code>
-  object:</p>
 
-  <ul class="brief">
-   <li><code title="handler-window-onafterprint">onafterprint</code></li>
-   <li><code title="handler-window-onbeforeprint">onbeforeprint</code></li>
-   <li><code title="handler-window-onbeforeunload">onbeforeunload</code></li>
-   <li><code title="handler-window-onblur">onblur</code></li>
-   <li><code title="handler-window-onerror">onerror</code></li>
-   <li><code title="handler-window-onfocus">onfocus</code></li>
-   <li><code title="handler-window-onhashchange">onhashchange</code></li>
-   <li><code title="handler-window-onload">onload</code></li>
-   <li><code title="handler-window-onmessage">onmessage</code></li>
-   <li><code title="handler-window-onoffline">onoffline</code></li>
-   <li><code title="handler-window-ononline">ononline</code></li>
-   <li><code title="handler-window-onpopstate">onpopstate</code></li>
-   <li><code title="handler-window-onredo">onredo</code></li>
-   <li><code title="handler-window-onresize">onresize</code></li>
-   <li><code title="handler-window-onstorage">onstorage</code></li>
-   <li><code title="handler-window-onundo">onundo</code></li>
-   <li><code title="handler-window-onunload">onunload</code></li>
-  </ul>
 
-  <p>In addition, <code>frameset</code> elements must implement the
-  following interface:</p>
-
-  <pre class="idl">interface <dfn>HTMLFramesetElement</dfn> : <span>HTMLElement</span> {
-           attribute <span>Function</span> <span title="handler-window-onafterprint">onafterprint</span>;
-           attribute <span>Function</span> <span title="handler-window-onbeforeprint">onbeforeprint</span>;
-           attribute <span>Function</span> <span title="handler-window-onbeforeunload">onbeforeunload</span>;
-           attribute <span>Function</span> <span title="handler-window-onblur">onblur</span>;
-           attribute <span>Function</span> <span title="handler-window-onerror">onerror</span>;
-           attribute <span>Function</span> <span title="handler-window-onfocus">onfocus</span>;
-           attribute <span>Function</span> <span title="handler-window-onhashchange">onhashchange</span>;
-           attribute <span>Function</span> <span title="handler-window-onload">onload</span>;
-           attribute <span>Function</span> <span title="handler-window-onmessage">onmessage</span>;
-           attribute <span>Function</span> <span title="handler-window-onoffline">onoffline</span>;
-           attribute <span>Function</span> <span title="handler-window-ononline">ononline</span>;
-           attribute <span>Function</span> <span title="handler-window-onpopstate">onpopstate</span>;
-           attribute <span>Function</span> <span title="handler-window-onredo">onredo</span>;
-           attribute <span>Function</span> <span title="handler-window-onresize">onresize</span>;
-           attribute <span>Function</span> <span title="handler-window-onstorage">onstorage</span>;
-           attribute <span>Function</span> <span title="handler-window-onundo">onundo</span>;
-           attribute <span>Function</span> <span title="handler-window-onunload">onunload</span>;
-};</pre>
-
-  <p>These <span>event handler DOM attributes</span> mirror those on
-  the <code>Window</code> element.</p>
-
-  <p>The <code title="handler-window-onblur">onblur</code>, <code
-  title="handler-window-onerror">onerror</code>, <code
-  title="handler-window-onfocus">onfocus</code>, and <code
-  title="handler-window-onload">onload</code> <span>event handler
-  attributes</span> of the <code>Window</code> object, exposed on the
-  <code>frameset</code> element, shadow the generic <span>event
-  handler attributes</span> with the same names normally supported by
-  <span>HTML elements</span>.</p>
-
-
-
-
   <h3>Conformance checkers</h3>
 
   <p>To ease the transition from HTML4 Transitional documents to the




More information about the Commit-Watchers mailing list