[html5] r6836 - [e] (0) New topics: DOM APIs, and Security. (Note that by default, people are _n [...]

whatwg at whatwg.org whatwg at whatwg.org
Wed Nov 23 12:01:50 PST 2011


Author: ianh
Date: 2011-11-23 12:01:48 -0800 (Wed, 23 Nov 2011)
New Revision: 6836

Modified:
   complete.html
   index
   source
Log:
[e] (0) New topics: DOM APIs, and Security. (Note that by default, people are _not_ subscribed to new topics.) Also, some tweaks to the previous annotations.
Affected topics: Canvas, DOM APIs, HTML, HTML Syntax and Parsing, Microdata, Security, Server-Sent Events, Video Text Tracks, Video and Audio, Web Storage, Web Workers, WebSocket API

Modified: complete.html
===================================================================
--- complete.html	2011-11-23 03:42:10 UTC (rev 6835)
+++ complete.html	2011-11-23 20:01:48 UTC (rev 6836)
@@ -2191,7 +2191,7 @@
   language with a level of detail that might be difficult to
   understand at first.</p>
 
-
+<!--ADD-TOPIC:Security-->
   <h4 id=writing-secure-applications-with-html><span class=secno>1.10.1 </span>Writing secure applications with HTML</h4>
 
   <p><i>This section is non-normative.</i></p>
@@ -2312,7 +2312,7 @@
 
    </dd>
 
-  </dl><h4 id=common-pitfalls-to-avoid-when-using-the-scripting-apis><span class=secno>1.10.2 </span>Common pitfalls to avoid when using the scripting APIs</h4>
+  </dl><!--REMOVE-TOPIC:Security--><h4 id=common-pitfalls-to-avoid-when-using-the-scripting-apis><span class=secno>1.10.2 </span>Common pitfalls to avoid when using the scripting APIs</h4>
 
   <p><i>This section is non-normative.</i></p>
 
@@ -2640,6 +2640,7 @@
    </dd>
 
 
+<!--ADD-TOPIC:Security-->
    <dt>Errors that risk exposing authors to security attacks</dt>
 
    <dd>
@@ -2656,6 +2657,7 @@
     </div>
 
    </dd>
+<!--REMOVE-TOPIC:Security-->
 
 
    <dt>Cases where the author's intent is unclear</dt>
@@ -4332,6 +4334,7 @@
   processors), and styling them according to CSS (for CSS processors),
   but not inferring any meaning from them.</p>
 
+<!--ADD-TOPIC:Security-->
   <p>When support for a feature is disabled (e.g. as an emergency
   measure to mitigate a security problem, or to aid in development, or
   for performance reasons), user agents must act as if they had no
@@ -4341,6 +4344,7 @@
   attribute itself would be omitted from the objects that implement
   that interface — leaving the attribute on the object but
   making it return null or throw an exception is insufficient.</p>
+<!--REMOVE-TOPIC:Security-->
 
   </div>
 
@@ -7777,7 +7781,7 @@
   </dl></div>
 
 
-
+<!--TOPIC:DOM APIs-->
   <h4 id=interfaces-for-url-manipulation><span class=secno>2.6.6 </span>Interfaces for URL manipulation</h4>
 
   <p>An interface that has a complement of <dfn id=url-decomposition-idl-attributes>URL decomposition IDL
@@ -8009,6 +8013,7 @@
    </table></div>
 
 
+<!--TOPIC:HTML-->
   <div class=impl>
 
   <h3 id=fetching-resources><span class=secno>2.7 </span>Fetching resources</h3>
@@ -8268,6 +8273,7 @@
   protocol.</p>
 
 
+<!--ADD-TOPIC:Security-->
   <h4 id=encrypted-http-and-related-security-concerns><span class=secno>2.7.2 </span>Encrypted HTTP and related security concerns</h4>
 
   <p>Anything in this specification that refers to HTTP also applies
@@ -8312,6 +8318,7 @@
    simply acting as if the page was not encrypted.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <h4 id=content-type-sniffing><span class=secno>2.7.3 </span>Determining the type of a resource</h4>
@@ -8803,6 +8810,7 @@
   </div>
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=collections-0><span class=secno>2.8.2 </span>Collections</h4>
 
   <p>The <code><a href=#htmlallcollection>HTMLAllCollection</a></code>,
@@ -9317,11 +9325,11 @@
 
   </div>
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 <!--MD-->
 
 
-
+<!--TOPIC:DOM APIs-->
   <h4 id=domstringmap-0><span class=secno>2.8.3 </span>DOMStringMap</h4>
 
   <p>The <code><a href=#domstringmap>DOMStringMap</a></code> interface represents a set of
@@ -9690,6 +9698,7 @@
   </div>
 
 
+<!--TOPIC:HTML Syntax and Parsing-->
   <h3 id=namespaces><span class=secno>2.9 </span>Namespaces</h3>
 
   <p>The <dfn id=html-namespace-0>HTML namespace</dfn> is: <code>http://www.w3.org/1999/xhtml</code></p>
@@ -9717,6 +9726,7 @@
   names.</p>
 
 
+<!--TOPIC:DOM APIs-->
   <h2 id=dom><span class=secno>3 </span>Semantics, structure, and APIs of HTML documents</h2>
 
   <h3 id=documents><span class=secno>3.1 </span>Documents</h3>
@@ -9876,6 +9886,7 @@
 };</pre>
 
 
+<!--ADD-TOPIC:Security-->
   <h4 id=security-document><span class=secno>3.1.2 </span>Security</h4>
 
   <p id=security>User agents <span class=impl>must</span> throw a
@@ -9884,6 +9895,7 @@
   <a href=#effective-script-origin>effective script origin</a> is not the <a href=#same-origin title="same
   origin">same</a> as the <code><a href=#document>Document</a></code>'s <a href=#effective-script-origin>effective
   script origin</a>.</p>
+<!--REMOVE-TOPIC:Security-->
 
 
 
@@ -10604,6 +10616,7 @@
   </ol></div>
 
 
+<!--TOPIC:HTML-->
   <h3 id=elements><span class=secno>3.2 </span>Elements</h3>
 
   <h4 id=semantics-0><span class=secno>3.2.1 </span>Semantics</h4>
@@ -10769,6 +10782,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=elements-in-the-dom><span class=secno>3.2.2 </span>Elements in the DOM</h4>
 
   <p>The nodes representing <a href=#html-elements>HTML elements</a> in the DOM
@@ -10907,7 +10921,7 @@
   </div>
 
 
-
+<!--TOPIC:HTML-->
   <h4 id=global-attributes><span class=secno>3.2.3 </span><dfn>Global attributes</dfn></h4>
 
   <p>The following attributes are common to and may be specified on
@@ -13415,6 +13429,8 @@
   </div>
 
 
+
+<!--TOPIC:HTML Syntax and Parsing-->
   <h3 id=dynamic-markup-insertion><span class=secno>3.4 </span><dfn>Dynamic markup insertion</dfn></h3>
 
   <p class=note>APIs for dynamically inserting markup into the
@@ -13839,7 +13855,7 @@
 
 
 
-
+<!--TOPIC:HTML-->
   <h2 id=semantics><span class=secno>4 </span>The elements of HTML</h2>
 
   <h3 id=the-root-element><span class=secno>4.1 </span>The root element</h3>
@@ -13856,11 +13872,11 @@
    <dt>Content attributes:</dt>
    <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>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <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
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-html-element>html</a></code> element <a href=#represents>represents</a> the root of
   an HTML document.</p>
 
 <!--TOPIC:Offline Web Applications-->
@@ -13921,11 +13937,11 @@
    <dd>Otherwise: One or more elements of <a href=#metadata-content>metadata content</a>, of which exactly one is a <code><a href=#the-title-element>title</a></code> element.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-head-element>head</a></code> element <a href=#represents>represents</a> a
   collection of metadata for the <code><a href=#document>Document</a></code>.</p>
 
   <div class=example>
@@ -13977,13 +13993,13 @@
    <dd><a href=#text-content title="text content">Text</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><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
   in a user's history or bookmarks, or in search results. The
@@ -13994,6 +14010,7 @@
   <p>There must be no more than one <code><a href=#the-title-element>title</a></code> element per
   document.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">title</var> . <code title=dom-title-text><a href=#dom-title-text>text</a></code> [ = <var title="">value</var> ]</dt>
 
    <dd>
@@ -14016,6 +14033,7 @@
   <code><a href=#textcontent>textContent</a></code> IDL attribute.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -14065,14 +14083,14 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-base-href><a href=#attr-base-href>href</a></code></dd>
    <dd><code title=attr-base-target><a href=#attr-base-target>target</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlbaseelement>HTMLBaseElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-base-href title=dom-base-href>href</a>;
            attribute DOMString <a href=#dom-base-target title=dom-base-target>target</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-base-element>base</a></code> element allows authors to specify the
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-base-element>base</a></code> element allows authors to specify the
   <a href=#document-base-url>document base URL</a> for the purposes of <a href=#resolve-a-url title="resolve a url">resolving relative URLs</a>, and the name
   of the default <a href=#browsing-context>browsing context</a> for the purposes of
   <a href=#following-hyperlinks>following hyperlinks</a>. The element does not <a href=#represents title=represents>represent</a> any content beyond this
@@ -14169,7 +14187,7 @@
    <dd><code title=attr-link-type><a href=#attr-link-type>type</a></code></dd>
    <dd><code title=attr-link-sizes><a href=#attr-link-sizes>sizes</a></code></dd>
    <dd>Also, the <code title=attr-link-title><a href=#attr-link-title>title</a></code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmllinkelement>HTMLLinkElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-link-disabled title=dom-link-disabled>disabled</a>;
@@ -14183,7 +14201,7 @@
 };
 <a href=#htmllinkelement>HTMLLinkElement</a> implements <a href=#linkstyle>LinkStyle</a>;</pre>
    </dd>
-  </dl><p>The <code><a href=#the-link-element>link</a></code> element allows authors to link their
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-link-element>link</a></code> element allows authors to link their
   document to other resources.</p>
 
   <p>The destination of the link(s) is given by the <dfn id=attr-link-href title=attr-link-href><code>href</code></dfn> attribute, which must
@@ -14565,7 +14583,7 @@
    <dd><code title=attr-meta-http-equiv><a href=#attr-meta-http-equiv>http-equiv</a></code></dd>
    <dd><code title=attr-meta-content><a href=#attr-meta-content>content</a></code></dd>
    <dd><code title=attr-meta-charset><a href=#attr-meta-charset>charset</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlmetaelement>HTMLMetaElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-meta-name title=dom-meta-name>name</a>;
@@ -14573,7 +14591,7 @@
            attribute DOMString <a href=#dom-meta-content title=dom-meta-content>content</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-meta-element>meta</a></code> element <a href=#represents>represents</a> various
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-meta-element>meta</a></code> element <a href=#represents>represents</a> various
   kinds of metadata that cannot be expressed using the
   <code><a href=#the-title-element>title</a></code>, <code><a href=#the-base-element>base</a></code>, <code><a href=#the-link-element>link</a></code>,
   <code><a href=#the-style-element>style</a></code>, and <code><a href=#the-script-element>script</a></code> elements.</p>
@@ -15505,7 +15523,7 @@
    <dd><code title=attr-style-type><a href=#attr-style-type>type</a></code></dd>
    <dd><code title=attr-style-scoped><a href=#attr-style-scoped>scoped</a></code></dd>
    <dd>Also, the <code title=attr-style-title><a href=#attr-style-title>title</a></code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlstyleelement>HTMLStyleElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-style-disabled title=dom-style-disabled>disabled</a>;
@@ -15515,7 +15533,7 @@
 };
 <a href=#htmlstyleelement>HTMLStyleElement</a> implements <a href=#linkstyle>LinkStyle</a>;</pre>
    </dd>
-  </dl><p>The <code><a href=#the-style-element>style</a></code> element allows authors to embed style
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-style-element>style</a></code> element allows authors to embed style
   information in their documents. The <code><a href=#the-style-element>style</a></code> element is
   one of several inputs to the <a href=#styling>styling processing
   model</a>. The element does not <a href=#represents title=represents>represent</a> content for the user.</p>
@@ -15923,7 +15941,7 @@
    <dd><code title=attr-script-defer><a href=#attr-script-defer>defer</a></code></dd>
    <dd><code title=attr-script-type><a href=#attr-script-type>type</a></code></dd>
    <dd><code title=attr-script-charset><a href=#attr-script-charset>charset</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlscriptelement>HTMLScriptElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-script-src title=dom-script-src>src</a>;
@@ -15934,7 +15952,7 @@
            attribute DOMString <a href=#dom-script-text title=dom-script-text>text</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-script-element>script</a></code> element allows authors to include dynamic
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-script-element>script</a></code> element allows authors to include dynamic
   script and data blocks in their documents. The element does not
   <a href=#represents title=represents>represent</a> content for the user.</p>
 
@@ -16677,6 +16695,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">script</var> . <code title=dom-script-text><a href=#dom-script-text>text</a></code> [ = <var title="">value</var> ]</dt>
 
    <dd>
@@ -16699,6 +16718,7 @@
   <code><a href=#textcontent>textContent</a></code> IDL attribute.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <p class=note>When inserted using the <code title=dom-document-write><a href=#dom-document-write>document.write()</a></code> method,
   <code><a href=#the-script-element>script</a></code> elements execute (typically synchronously), but
@@ -17006,9 +17026,9 @@
    <dd>Otherwise: text that conforms to the requirements given in the prose.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-noscript-element>noscript</a></code> element <a href=#represents>represents</a> nothing
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-noscript-element>noscript</a></code> element <a href=#represents>represents</a> nothing
   if <a href=#concept-n-script title=concept-n-script>scripting is enabled</a>, and
   <a href=#represents>represents</a> its children if <a href=#concept-n-noscript title=concept-n-noscript>scripting is disabled</a>. It is used
   to present different markup to user agents that support scripting
@@ -17222,7 +17242,7 @@
    <dd><code title=handler-window-onscroll><a href=#handler-window-onscroll>onscroll</a></code></dd>
    <dd><code title=handler-window-onstorage><a href=#handler-window-onstorage>onstorage</a></code></dd>
    <dd><code title=handler-window-onunload><a href=#handler-window-onunload>onunload</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlbodyelement>HTMLBodyElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
@@ -17245,7 +17265,7 @@
   [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
 };</pre>
 </dd>
-  </dl><p>The <code><a href=#the-body-element>body</a></code> element <a href=#represents>represents</a> the main
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-body-element>body</a></code> element <a href=#represents>represents</a> the main
   content of the document.</p>
 
   <p>In conforming documents, there is only one <code><a href=#the-body-element>body</a></code>
@@ -17330,9 +17350,9 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-section-element>section</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-section-element>section</a></code> element <a href=#represents>represents</a> a
   generic section of a document or application. A section, in this
   context, is a thematic grouping of content, typically with a
   heading.</p>
@@ -17501,9 +17521,9 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-nav-element>nav</a></code> element <a href=#represents>represents</a> a section of
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-nav-element>nav</a></code> element <a href=#represents>represents</a> a section of
   a page that links to other pages or to parts within the page: a
   section with navigation links.</p>
 
@@ -17668,9 +17688,9 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-article-element>article</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-article-element>article</a></code> element <a href=#represents>represents</a> a
   self-contained composition in a document, page, application, or site
   and that is, in principle, independently distributable or reusable,
   e.g. in syndication. This could be a forum post, a magazine or
@@ -17778,9 +17798,9 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-aside-element>aside</a></code> element <a href=#represents>represents</a> a section
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-aside-element>aside</a></code> element <a href=#represents>represents</a> a section
   of a page that consists of content that is tangentially related to
   the content around the <code><a href=#the-aside-element>aside</a></code> element, and which could
   be considered separate from that content. Such sections are often
@@ -17926,11 +17946,11 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><p>These elements <a href=#represents title=represents>represent</a> headings
   for their sections.</p>
 
   <p>The semantics and meaning of these elements are defined in the
@@ -17990,9 +18010,9 @@
    <dd>One or more <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>h2</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h3</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h4</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h5</a></code>, and/or <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code> elements.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-hgroup-element>hgroup</a></code> element <a href=#represents>represents</a> the
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-hgroup-element>hgroup</a></code> element <a href=#represents>represents</a> the
   heading of a section. The element is used to group a set of
   <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 when the heading has
   multiple levels, such as subheadings, alternative titles, or
@@ -18058,9 +18078,9 @@
    <code><a href=#the-footer-element>footer</a></code> element descendants.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-header-element>header</a></code> element <a href=#represents>represents</a> a group
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-header-element>header</a></code> element <a href=#represents>represents</a> a group
   of introductory or navigational aids.</p>
 
   <p class=note>A <code><a href=#the-header-element>header</a></code> element is intended to usually
@@ -18156,9 +18176,9 @@
    <code><a href=#the-footer-element>footer</a></code> element descendants.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-footer-element>footer</a></code> element <a href=#represents>represents</a> a footer
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-footer-element>footer</a></code> element <a href=#represents>represents</a> a footer
   for its nearest ancestor <a href=#sectioning-content>sectioning content</a> or
   <a href=#sectioning-root>sectioning root</a> element. A footer typically contains
   information about its section such as who wrote it, links to related
@@ -18305,9 +18325,9 @@
    <code><a href=#the-address-element>address</a></code> element descendants.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-address-element>address</a></code> element <a href=#represents>represents</a> the
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-address-element>address</a></code> element <a href=#represents>represents</a> the
   contact information for its nearest <code><a href=#the-article-element>article</a></code> or
   <code><a href=#the-body-element>body</a></code> element ancestor. If that is <a href=#the-body-element-0>the body
   element</a>, then the contact information applies to the document
@@ -18925,11 +18945,11 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-p-element>p</a></code> element <a href=#represents>represents</a> a
   <a href=#paragraph>paragraph</a>.</p>
 
   <p class=note>While paragraphs are usually represented in visual
@@ -19002,11 +19022,11 @@
    <dd>Empty.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><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
   reference book.</p>
@@ -19105,11 +19125,11 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><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>
 
@@ -19222,7 +19242,7 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-blockquote-cite><a href=#attr-blockquote-cite>cite</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlquoteelement>HTMLQuoteElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-quote-cite title=dom-quote-cite>cite</a>;
@@ -19230,7 +19250,7 @@
     <p class=note>The <code><a href=#htmlquoteelement>HTMLQuoteElement</a></code> interface is
     also used by the <code><a href=#the-q-element>q</a></code> element.</p>
    </dd>
-  </dl><p>The <code><a href=#the-blockquote-element>blockquote</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-blockquote-element>blockquote</a></code> element <a href=#represents>represents</a> a
   section that is quoted from another source.</p>
 
   <p>Content inside a <code><a href=#the-blockquote-element>blockquote</a></code> must be quoted from
@@ -19377,7 +19397,7 @@
    <dd><code title=attr-ol-reversed><a href=#attr-ol-reversed>reversed</a></code></dd>
    <dd><code title=attr-ol-start><a href=#attr-ol-start>start</a></code></dd>
    <dd><code title=attr-ol-type><a href=#attr-ol-type>type</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlolistelement>HTMLOListElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-ol-reversed title=dom-ol-reversed>reversed</a>;
@@ -19385,7 +19405,7 @@
            attribute DOMString <a href=#dom-ol-type title=dom-ol-type>type</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-ol-element>ol</a></code> element <a href=#represents>represents</a> a list of
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-ol-element>ol</a></code> element <a href=#represents>represents</a> a list of
   items, where the items have been intentionally ordered, such that
   changing the order would change the meaning of the document.</p>
 
@@ -19534,11 +19554,11 @@
    <dd>Zero or more <code><a href=#the-li-element>li</a></code> elements.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><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
   of the document.</p>
@@ -19592,13 +19612,13 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd>If the element is a child of an <code><a href=#the-ol-element>ol</a></code> element: <code title=attr-li-value><a href=#attr-li-value>value</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmllielement>HTMLLIElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute long <a href=#dom-li-value title=dom-li-value>value</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-li-element>li</a></code> element <a href=#represents>represents</a> a list
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-li-element>li</a></code> element <a href=#represents>represents</a> a list
   item. If its parent element is an <code><a href=#the-ol-element>ol</a></code>, <code><a href=#the-ul-element>ul</a></code>,
   or <code><a href=#the-menu-element>menu</a></code> element, then the element is an item of the
   parent element's list, as defined for those elements. Otherwise, the
@@ -19693,11 +19713,11 @@
    elements.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><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
   (<code><a href=#the-dt-element>dt</a></code> elements) followed by one or more values
@@ -19844,9 +19864,9 @@
    <dd><a href=#flow-content>Flow content</a>, but with no <code><a href=#the-header-element>header</a></code>, <code><a href=#the-footer-element>footer</a></code>, <a href=#sectioning-content>sectioning content</a>, or <a href=#heading-content>heading content</a> descendants.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-dt-element>dt</a></code> element <a href=#represents>represents</a> the term, or
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-dt-element>dt</a></code> element <a href=#represents>represents</a> the term, or
   name, part of a term-description group in a description list
   (<code><a href=#the-dl-element>dl</a></code> element).</p>
 
@@ -19887,9 +19907,9 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-dd-element>dd</a></code> element <a href=#represents>represents</a> the
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-dd-element>dd</a></code> element <a href=#represents>represents</a> the
   description, definition, or value, part of a term-description group
   in a description list (<code><a href=#the-dl-element>dl</a></code> element).</p>
 
@@ -19929,9 +19949,9 @@
    <dd>Or: <a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><!-- v2: Add a <credit> element for photo credits --><p>The <code><a href=#the-figure-element>figure</a></code> element <a href=#represents>represents</a> some
+  </dl><!--TOPIC:HTML--><!-- v2: Add a <credit> element for photo credits --><p>The <code><a href=#the-figure-element>figure</a></code> element <a href=#represents>represents</a> some
   <a href=#flow-content>flow content</a>, optionally with a caption, that is
   self-contained and is typically referenced as a single unit from the
   main flow of the document.</p>
@@ -20056,9 +20076,9 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-figcaption-element>figcaption</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-figcaption-element>figcaption</a></code> element <a href=#represents>represents</a> a
   caption or legend for the rest of the contents of the
   <code><a href=#the-figcaption-element>figcaption</a></code> element's parent <code><a href=#the-figure-element>figure</a></code>
   element<span class=impl>, if any</span>.</p>
@@ -20076,11 +20096,11 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><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>
 
@@ -20150,7 +20170,7 @@
    <dd><code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code></dd>
    <dd><code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code></dd>
    <dd><code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlanchorelement>HTMLAnchorElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   stringifier attribute DOMString <a href=#dom-a-href title=dom-a-href>href</a>;
@@ -20177,7 +20197,7 @@
            attribute DOMString <a href=#dom-a-hash title=dom-a-hash>hash</a>;
 };</pre>
    </dd>
-  </dl><p>If the <code><a href=#the-a-element>a</a></code> element has an <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute, then it
+  </dl><!--TOPIC:HTML--><p>If the <code><a href=#the-a-element>a</a></code> element has an <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute, then it
   <a href=#represents>represents</a> a <a href=#hyperlink>hyperlink</a> (a hypertext
   anchor).</p>
 
@@ -20289,6 +20309,7 @@
 
   </ol></div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">a</var> . <code title=dom-a-text><a href=#dom-a-text>text</a></code></dt>
 
    <dd>
@@ -20330,6 +20351,7 @@
   value.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -20372,9 +20394,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-em-element>em</a></code> element <a href=#represents>represents</a> stress
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-em-element>em</a></code> element <a href=#represents>represents</a> stress
   emphasis of its contents.</p>
 
   <p>The level of emphasis that a particular piece of content has is
@@ -20467,9 +20489,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-strong-element>strong</a></code> element <a href=#represents>represents</a> strong
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-strong-element>strong</a></code> element <a href=#represents>represents</a> strong
   importance for its contents.</p>
 
   <p>The relative level of importance of a piece of content is given
@@ -20505,9 +20527,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-small-element>small</a></code> element <a href=#represents>represents</a> side
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-small-element>small</a></code> element <a href=#represents>represents</a> side
   comments such as small print.</p>
 
   <p class=note>Small print typically features disclaimers, caveats,
@@ -20594,9 +20616,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-s-element>s</a></code> element <a href=#represents>represents</a> contents that
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-s-element>s</a></code> element <a href=#represents>represents</a> contents that
   are no longer accurate or no longer relevant.</p>
 
   <p class=note>The <code><a href=#the-s-element>s</a></code> element is not appropriate when
@@ -20628,9 +20650,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-cite-element>cite</a></code> element <a href=#represents>represents</a> the title
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-cite-element>cite</a></code> element <a href=#represents>represents</a> the title
   of a work (e.g.
   a book,
   a paper,
@@ -20754,9 +20776,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-q-cite><a href=#attr-q-cite>cite</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlquoteelement>HTMLQuoteElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-q-element>q</a></code> element <a href=#represents>represents</a> some <a href=#phrasing-content title="phrasing content">phrasing content</a> quoted from another
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-q-element>q</a></code> element <a href=#represents>represents</a> some <a href=#phrasing-content title="phrasing content">phrasing content</a> quoted from another
   source.</p>
 
   <p>Quotation punctuation (such as quotation marks) that is quoting
@@ -20854,9 +20876,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd>Also, the <code title=attr-dfn-title><a href=#attr-dfn-title>title</a></code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-dfn-element>dfn</a></code> element <a href=#represents>represents</a> the defining
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-dfn-element>dfn</a></code> element <a href=#represents>represents</a> the defining
   instance of a term. The <a href=#paragraph title=paragraph>paragraph</a>,
   <a href=#the-dl-element title=dl>description list group</a>, or <a href=#sectioning-content title="sectioning content">section</a> that is the nearest
   ancestor of the <code><a href=#the-dfn-element>dfn</a></code> element must also contain the
@@ -20924,9 +20946,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd>Also, the <code title=attr-abbr-title><a href=#attr-abbr-title>title</a></code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-abbr-element>abbr</a></code> element <a href=#represents>represents</a> an
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-abbr-element>abbr</a></code> element <a href=#represents>represents</a> an
   abbreviation or acronym, optionally with its expansion. The <dfn id=attr-abbr-title title=attr-abbr-title><code>title</code></dfn> attribute may be
   used to provide an expansion of the abbreviation. The attribute, if
   specified, must contain an expansion of the abbreviation, and
@@ -21040,13 +21062,13 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-data-value><a href=#attr-data-value>value</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmldataelement>HTMLDataElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-data-value title=dom-data-value>value</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-data-element>data</a></code> element <a href=#represents>represents</a> its
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-data-element>data</a></code> element <a href=#represents>represents</a> its
   contents, along with a machine-readable form of those contents in
   the <code title=attr-data-value><a href=#attr-data-value>value</a></code> attribute.</p>
 
@@ -21114,13 +21136,13 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmltimeelement>HTMLTimeElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-time-datetime title=dom-time-datetime>datetime</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-time-element>time</a></code> element <a href=#represents>represents</a> its
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-time-element>time</a></code> element <a href=#represents>represents</a> its
   contents, along with a machine-readable form of those contents in
   the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute. The
   kind of content is limited to various kinds of dates, times,
@@ -21433,9 +21455,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-code-element>code</a></code> element <a href=#represents>represents</a> a fragment
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-code-element>code</a></code> element <a href=#represents>represents</a> a fragment
   of computer code. This could be an XML element name, a filename, a
   computer program, or any other string that a computer would
   recognize.</p>
@@ -21496,9 +21518,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-var-element>var</a></code> element <a href=#represents>represents</a> a variable.
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-var-element>var</a></code> element <a href=#represents>represents</a> a variable.
   This could be an actual variable in a mathematical expression or
   programming context, an identifier representing a constant, a
   function parameter, or just be a term used as a placeholder in
@@ -21567,9 +21589,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-samp-element>samp</a></code> element <a href=#represents>represents</a> (sample)
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-samp-element>samp</a></code> element <a href=#represents>represents</a> (sample)
   output from a program or computing system.</p>
 
   <p class=note>See the <code><a href=#the-pre-element>pre</a></code> and <code><a href=#the-kbd-element>kbd</a></code>
@@ -21606,9 +21628,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-kbd-element>kbd</a></code> element <a href=#represents>represents</a> user input
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-kbd-element>kbd</a></code> element <a href=#represents>represents</a> user input
   (typically keyboard input, although it may also be used to represent
   other input, such as voice commands).</p>
 
@@ -21658,9 +21680,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Use <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-sub-and-sup-elements>sup</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-sub-and-sup-elements>sup</a></code> element <a href=#represents>represents</a> a
   superscript and the <code><a href=#the-sub-and-sup-elements>sub</a></code> element <a href=#represents>represents</a>
   a subscript.</p>
 
@@ -21721,9 +21743,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-i-element>i</a></code> element <a href=#represents>represents</a> a span of text
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-i-element>i</a></code> element <a href=#represents>represents</a> a span of text
   in an alternate voice or mood, or otherwise offset from the normal
   prose in a manner indicating a different quality of text, such as a
   taxonomic designation, a technical term, an idiomatic phrase from
@@ -21782,9 +21804,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-b-element>b</a></code> element <a href=#represents>represents</a> a span of text
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-b-element>b</a></code> element <a href=#represents>represents</a> a span of text
   to which attention is being drawn for utilitarian purposes without
   conveying any extra importance and with no implication of an
   alternate voice or mood, such as key words in a document abstract,
@@ -21858,9 +21880,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-u-element>u</a></code> element <a href=#represents>represents</a> a span of text
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-u-element>u</a></code> element <a href=#represents>represents</a> a span of text
   with an unarticulated, though explicitly rendered, non-textual
   annotation, such as labeling the text as being a proper name in
   Chinese text (a Chinese proper name mark), or labeling the text as
@@ -21898,9 +21920,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><!-- v2: attribute that means "highlight this on the scrollbar" --><p>The <code><a href=#the-mark-element>mark</a></code> element <a href=#represents>represents</a> a run of
+  </dl><!--TOPIC:HTML--><!-- v2: attribute that means "highlight this on the scrollbar" --><p>The <code><a href=#the-mark-element>mark</a></code> element <a href=#represents>represents</a> a run of
   text in one document marked or highlighted for reference purposes,
   due to its relevance in another context. When used in a quotation or
   other block of text referred to from the prose, it indicates a
@@ -22047,9 +22069,9 @@
    <dd>One or more groups of: <a href=#phrasing-content>phrasing content</a> followed either by a single <code><a href=#the-rt-element>rt</a></code> element, or an <code><a href=#the-rp-element>rp</a></code> element, an <code><a href=#the-rt-element>rt</a></code> element, and another <code><a href=#the-rp-element>rp</a></code> element.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-ruby-element>ruby</a></code> element allows one or more spans of
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-ruby-element>ruby</a></code> element allows one or more spans of
   phrasing content to be marked with ruby annotations. Ruby
   annotations are short runs of text presented alongside base text,
   primarily used in East Asian typography as a guide for
@@ -22125,9 +22147,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-rt-element>rt</a></code> element marks the ruby text component of a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-rt-element>rt</a></code> element marks the ruby text component of a
   ruby annotation.</p>
 
   <p>An <code><a href=#the-rt-element>rt</a></code> element <span class=impl>that is a child of
@@ -22159,9 +22181,9 @@
 -->
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-rp-element>rp</a></code> element can be used to provide parentheses
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-rp-element>rp</a></code> element can be used to provide parentheses
   around a ruby text component of a ruby annotation, to be shown by
   user agents that don't support ruby annotations.</p>
 
@@ -22207,9 +22229,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd>Also, the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> global attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-bdi-element>bdi</a></code> element <a href=#represents>represents</a> a span of
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-bdi-element>bdi</a></code> element <a href=#represents>represents</a> a span of
   text that is to be isolated from its surroundings for the purposes
   of bidirectional text formatting. <a href=#refsBIDI>[BIDI]</a></p>
 
@@ -22272,9 +22294,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd>Also, the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> global attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-bdo-element>bdo</a></code> element <a href=#represents>represents</a> explicit
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-bdo-element>bdo</a></code> element <a href=#represents>represents</a> explicit
   text directionality formatting control for its children. It allows
   authors to override the Unicode bidirectional algorithm by
   explicitly specifying a direction override. <a href=#refsBIDI>[BIDI]</a></p>
@@ -22322,11 +22344,11 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmlspanelement>HTMLSpanElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
    </dd>
-  </dl><p>The <code><a href=#the-span-element>span</a></code> element doesn't mean anything on its own,
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-span-element>span</a></code> element doesn't mean anything on its own,
   but can be useful when used together with the <a href=#global-attributes>global
   attributes</a>, e.g. <code title=attr-class><a href=#classes>class</a></code>, <code title=attr-lang><a href=#attr-lang>lang</a></code>, or <code title=attr-dir><a href=#the-dir-attribute>dir</a></code>.
   It <a href=#represents>represents</a> its children.</p>
@@ -22361,11 +22383,11 @@
    <dd>Empty.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-br-element>br</a></code> element <a href=#represents>represents</a> a line
   break.</p>
 
   <p class=note>While line breaks are usually represented in visual
@@ -22443,9 +22465,9 @@
    <dd>Empty.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-wbr-element>wbr</a></code> element <a href=#represents>represents</a> a line break
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-wbr-element>wbr</a></code> element <a href=#represents>represents</a> a line break
   opportunity.</p>
 
   <div class=example>
@@ -22619,9 +22641,9 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-mod-cite><a href=#attr-mod-cite>cite</a></code></dd>
    <dd><code title=attr-mod-datetime><a href=#attr-mod-datetime>datetime</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses the <code><a href=#htmlmodelement>HTMLModElement</a></code> interface.</dd>
-  </dl><p>The <code><a href=#the-ins-element>ins</a></code> element <a href=#represents>represents</a> an addition
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-ins-element>ins</a></code> element <a href=#represents>represents</a> an addition
   to the document.</p>
 
   <div class=example>
@@ -22704,9 +22726,9 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-mod-cite><a href=#attr-mod-cite>cite</a></code></dd>
    <dd><code title=attr-mod-datetime><a href=#attr-mod-datetime>datetime</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses the <code><a href=#htmlmodelement>HTMLModElement</a></code> interface.</dd>
-  </dl><p>The <code><a href=#the-del-element>del</a></code> element <a href=#represents>represents</a> a removal
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-del-element>del</a></code> element <a href=#represents>represents</a> a removal
   from the document.</p>
 
   <p><code><a href=#the-del-element>del</a></code> elements should not cross <a href=#paragraph title=paragraph>implied paragraph</a> boundaries.</p>
@@ -22976,7 +22998,7 @@
    <dd><code title=attr-img-ismap><a href=#attr-img-ismap>ismap</a></code></dd>
    <dd><code title=attr-dim-width><a href=#attr-dim-width>width</a></code></dd>
    <dd><code title=attr-dim-height><a href=#attr-dim-height>height</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>[NamedConstructor=<a href=#dom-image title=dom-image>Image</a>(),
  NamedConstructor=<a href=#dom-image-w title=dom-image-w>Image</a>(unsigned long width),
@@ -22994,7 +23016,7 @@
   readonly attribute boolean <a href=#dom-img-complete title=dom-img-complete>complete</a>;
 };</pre>
    </dd>
-  </dl><p>An <code><a href=#the-img-element>img</a></code> element represents an image.</p>
+  </dl><!--TOPIC:HTML--><p>An <code><a href=#the-img-element>img</a></code> element represents an image.</p>
 
   <!-- v2 ideas for <img>:
 
@@ -23438,6 +23460,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">image</var> . <code title=dom-img-width><a href=#dom-img-width>width</a></code> [ = <var title="">value</var> ]</dt>
    <dt><var title="">image</var> . <code title=dom-img-height><a href=#dom-img-height>height</a></code> [ = <var title="">value</var> ]</dt>
 
@@ -23523,6 +23546,7 @@
   invoked constructor is found.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -24539,7 +24563,7 @@
    <dd><code title=attr-iframe-seamless><a href=#attr-iframe-seamless>seamless</a></code></dd>
    <dd><code title=attr-dim-width><a href=#attr-dim-width>width</a></code></dd>
    <dd><code title=attr-dim-height><a href=#attr-dim-height>height</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmliframeelement>HTMLIFrameElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-iframe-src title=dom-iframe-src>src</a>;
@@ -24553,7 +24577,7 @@
   readonly attribute <a href=#windowproxy>WindowProxy</a>? <a href=#dom-iframe-contentwindow title=dom-iframe-contentWindow>contentWindow</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-iframe-element>iframe</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-iframe-element>iframe</a></code> element <a href=#represents>represents</a> a
   <a href=#nested-browsing-context>nested browsing context</a>.</p>
 
   <p>The <dfn id=attr-iframe-src title=attr-iframe-src><code>src</code></dfn> attribute
@@ -25380,7 +25404,7 @@
    <dd><code title=attr-dim-width><a href=#attr-dim-width>width</a></code></dd>
    <dd><code title=attr-dim-height><a href=#attr-dim-height>height</a></code></dd>
    <dd>Any other attribute that has no namespace (see prose).</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlembedelement>HTMLEmbedElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-embed-src title=dom-embed-src>src</a>;
@@ -25394,7 +25418,7 @@
     interfaces.</p>
     </div>
    </dd>
-  </dl><p>The <code><a href=#the-embed-element>embed</a></code> element <a href=#represents>represents</a> an
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-embed-element>embed</a></code> element <a href=#represents>represents</a> an
   integration point for an external (typically non-HTML) application
   or interactive content.</p>
 
@@ -25651,7 +25675,7 @@
    <dd><code title=attr-fae-form><a href=#attr-fae-form>form</a></code></dd>
    <dd><code title=attr-dim-width><a href=#attr-dim-width>width</a></code></dd>
    <dd><code title=attr-dim-height><a href=#attr-dim-height>height</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlobjectelement>HTMLObjectElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-object-data title=dom-object-data>data</a>;
@@ -25677,7 +25701,7 @@
     interfaces.</p>
     </div>
    </dd>
-  </dl><p>The <code><a href=#the-object-element>object</a></code> element can represent an external
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-object-element>object</a></code> element can represent an external
   resource, which, depending on the type of the resource, will either
   be treated as an image, as a <a href=#nested-browsing-context>nested browsing context</a>,
   or as an external resource to be processed by a
@@ -26428,14 +26452,14 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-param-name><a href=#attr-param-name>name</a></code></dd>
    <dd><code title=attr-param-value><a href=#attr-param-value>value</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlparamelement>HTMLParamElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-param-name title=dom-param-name>name</a>;
            attribute DOMString <a href=#dom-param-value title=dom-param-value>value</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-param-element>param</a></code> element defines parameters for plugins
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-param-element>param</a></code> element defines parameters for plugins
   invoked by <code><a href=#the-object-element>object</a></code> elements. It does not <a href=#represents title=represents>represent</a> anything on its own.</p>
 
   <p>The <dfn id=attr-param-name title=attr-param-name><code>name</code></dfn>
@@ -26533,7 +26557,7 @@
    <dd><code title=attr-media-controls><a href=#attr-media-controls>controls</a></code></dd>
    <dd><code title=attr-dim-width><a href=#attr-dim-width>width</a></code></dd>
    <dd><code title=attr-dim-height><a href=#attr-dim-height>height</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmlvideoelement>HTMLVideoElement</dfn> : <a href=#htmlmediaelement>HTMLMediaElement</a> {
            attribute unsigned long <a href=#dom-dim-width title=dom-dim-width>width</a>;
@@ -26543,7 +26567,7 @@
            attribute DOMString <a href=#dom-video-poster title=dom-video-poster>poster</a>;
 };</pre>
    </dd>
-  </dl><p>A <code><a href=#the-video-element>video</a></code> element is used for playing videos or
+  </dl><!--TOPIC:HTML--><p>A <code><a href=#the-video-element>video</a></code> element is used for playing videos or
   movies, and audio files with captions.</p>
 
   <p>Content may be provided inside the <code><a href=#the-video-element>video</a></code>
@@ -26882,13 +26906,13 @@
    <dd><code title=attr-media-loop><a href=#attr-media-loop>loop</a></code></dd>
    <dd><code title=attr-media-muted><a href=#attr-media-muted>muted</a></code></dd>
    <dd><code title=attr-media-controls><a href=#attr-media-controls>controls</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>[NamedConstructor=<a href=#dom-audio title=dom-Audio>Audio</a>(),
  NamedConstructor=<a href=#dom-audio-s title=dom-Audio-s>Audio</a>(DOMString src)]
 interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediaelement>HTMLMediaElement</a> {};</pre>
    </dd>
-  </dl><p>An <code><a href=#the-audio-element>audio</a></code> element <a href=#represents>represents</a> a sound or
+  </dl><!--TOPIC:HTML--><p>An <code><a href=#the-audio-element>audio</a></code> element <a href=#represents>represents</a> a sound or
   audio stream.</p>
 
   <!-- v2 (actually v3) suggestions:
@@ -27022,7 +27046,7 @@
    <dd><code title=attr-source-src><a href=#attr-source-src>src</a></code></dd>
    <dd><code title=attr-source-type><a href=#attr-source-type>type</a></code></dd>
    <dd><code title=attr-source-media><a href=#attr-source-media>media</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlsourceelement>HTMLSourceElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-source-src title=dom-source-src>src</a>;
@@ -27030,7 +27054,7 @@
            attribute DOMString <a href=#dom-source-media title=dom-source-media>media</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-source-element>source</a></code> element allows authors to specify
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-source-element>source</a></code> element allows authors to specify
   multiple alternative <a href=#media-resource title="media resource">media
   resources</a> for <a href=#media-element title="media element">media
   elements</a>. It does not <a href=#represents title=represents>represent</a> anything on its own.</p>
@@ -27210,7 +27234,7 @@
    <dd><code title=attr-track-srclang><a href=#attr-track-srclang>srclang</a></code></dd>
    <dd><code title=attr-track-label><a href=#attr-track-label>label</a></code></dd>
    <dd><code title=attr-track-default><a href=#attr-track-default>default</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmltrackelement>HTMLTrackElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-track-kind title=dom-track-kind>kind</a>;
@@ -27228,7 +27252,7 @@
   readonly attribute <a href=#texttrack>TextTrack</a> <a href=#dom-track-track title=dom-track-track>track</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-track-element>track</a></code> element allows authors to specify explicit
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-track-element>track</a></code> element allows authors to specify explicit
   external timed <a href=#text-track title="text track">text tracks</a> for <a href=#media-element title="media element">media elements</a>. It does not <a href=#represents title=represents>represent</a> anything on its own.</p>
 
   <p>The <dfn id=attr-track-kind title=attr-track-kind><code>kind</code></dfn>
@@ -32321,7 +32345,7 @@
 
 
 <!--TTVTT-->
-<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:HTML-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)">
   <div class=impl>
 
   <h6 id=guidelines-for-exposing-cues-in-various-formats-as-text-track-cues><span class=secno>4.8.10.12.4 </span><dfn>Guidelines for exposing cues</dfn> in various formats as
@@ -33310,7 +33334,7 @@
 
 <!--TTVTT-->
 
-<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:HTML-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)">
   <h5 id=webvtt-0><span class=secno>4.8.10.13 </span>WebVTT</h5>
 
   <p>The <dfn id=webvtt>WebVTT</dfn> format (Web Video Text Tracks) is a
@@ -35694,7 +35718,7 @@
     <tr><td><dfn id=event-mediacontroller-volumechange title=event-MediaController-volumechange><code>volumechange</code></dfn>
      <td><code><a href=#event>Event</a></code>
      <td>Either the <code title=dom-MediaController-volume><a href=#dom-mediacontroller-volume>volume</a></code> attribute or the <code title=dom-MediaController-muted><a href=#dom-mediacontroller-muted>muted</a></code> attribute has just been updated.
-  </table><div class=impl>
+  </table><!--ADD-TOPIC:Security--><div class=impl>
 
   <h5 id=security-and-privacy-considerations><span class=secno>4.8.10.18 </span>Security and privacy considerations</h5>
 
@@ -35742,6 +35766,7 @@
   present a serious confidentiality breach.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <h5 id=best-practices-for-authors-using-media-elements><span class=secno>4.8.10.19 </span>Best practices for authors using media elements</h5>
@@ -35849,7 +35874,7 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-canvas-width><a href=#attr-canvas-width>width</a></code></dd>
    <dd><code title=attr-canvas-height><a href=#attr-canvas-height>height</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--ADD-TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmlcanvaselement>HTMLCanvasElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute unsigned long <a href=#dom-canvas-width title=dom-canvas-width>width</a>;
@@ -35861,7 +35886,7 @@
   object? <a href=#dom-canvas-getcontext title=dom-canvas-getContext>getContext</a>(DOMString contextId, any... args);
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-canvas-element>canvas</a></code> element provides scripts with a
+  </dl><!--REMOVE-TOPIC:DOM APIs--><p>The <code><a href=#the-canvas-element>canvas</a></code> element provides scripts with a
   resolution-dependent bitmap canvas, which can be used for rendering
   graphs, game graphics, or other visual images on the fly.</p>
 
@@ -35973,7 +35998,7 @@
   context.fillRect(100,0,50,50); // only this square remains</pre>
   </div>
 
-  <hr><dl class=domintro><dt><var title="">context</var> = <var title="">canvas</var> . <code title=dom-canvas-getContext><a href=#dom-canvas-getcontext>getContext</a></code>(<var title="">contextId</var> [, ... ])</dt>
+  <hr><!--ADD-TOPIC:DOM APIs--><dl class=domintro><dt><var title="">context</var> = <var title="">canvas</var> . <code title=dom-canvas-getContext><a href=#dom-canvas-getcontext>getContext</a></code>(<var title="">contextId</var> [, ... ])</dt>
 
    <dd>
 
@@ -36226,7 +36251,9 @@
   metadata, etc.</p>
 
   </div>
+  <!--REMOVE-TOPIC:DOM APIs-->
 
+
   <!--2DCONTEXT-->
 
   <div data-component="HTML Canvas 2D Context (editor: Ian Hickson)">
@@ -39244,7 +39271,7 @@
 
   
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
   <!--2DCONTEXT-->
 
@@ -39290,6 +39317,7 @@
   </div>
 
 
+<!--ADD-TOPIC:Security-->
   <div class=impl>
 
   <h5 id=security-with-canvas-elements><span class=secno>4.8.11.3 </span>Security with <code><a href=#the-canvas-element>canvas</a></code> elements</h5>
@@ -39375,6 +39403,7 @@
   the <i>origin-clean</i> flag.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
 <!--TOPIC:HTML-->
@@ -39392,7 +39421,7 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-map-name><a href=#attr-map-name>name</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlmapelement>HTMLMapElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-map-name title=dom-map-name>name</a>;
@@ -39400,7 +39429,7 @@
   readonly attribute <a href=#htmlcollection>HTMLCollection</a> <a href=#dom-map-images title=dom-map-images>images</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-map-element>map</a></code> element, in conjunction with any
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-map-element>map</a></code> element, in conjunction with any
   <code><a href=#the-area-element>area</a></code> element descendants, defines an <a href=#image-map>image
   map</a>. The element <a href=#represents>represents</a> its children.</p>
 
@@ -39414,6 +39443,7 @@
   document. If the <code title=attr-id><a href=#the-id-attribute>id</a></code> attribute is also
   specified, both attributes must have the same value.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">map</var> . <code title=dom-map-areas><a href=#dom-map-areas>areas</a></code></dt>
 
    <dd>
@@ -39448,6 +39478,7 @@
   <a href=#reflect>reflect</a> the content attribute of the same name.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -39507,7 +39538,7 @@
    <dd><code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code></dd>
    <dd><code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code></dd>
    <dd><code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlareaelement>HTMLAreaElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-area-alt title=dom-area-alt>alt</a>;
@@ -39535,7 +39566,7 @@
            attribute DOMString <a href=#dom-area-hash title=dom-area-hash>hash</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-area-element>area</a></code> element <a href=#represents>represents</a> either a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-area-element>area</a></code> element <a href=#represents>represents</a> either a
   hyperlink with some text and a corresponding area on an <a href=#image-map>image
   map</a>, or a dead area on an image map.</p>
 
@@ -40193,7 +40224,7 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-table-border><a href=#attr-table-border>border</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmltableelement>HTMLTableElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute <a href=#htmltablecaptionelement>HTMLTableCaptionElement</a>? <a href=#dom-table-caption title=dom-table-caption>caption</a>;
@@ -40213,7 +40244,7 @@
            attribute DOMString <a href=#dom-table-border title=dom-table-border>border</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-table-element>table</a></code> element <a href=#represents>represents</a> data with
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-table-element>table</a></code> element <a href=#represents>represents</a> data with
   more than one dimension, in the form of a <a href=#concept-table title=concept-table>table</a>.</p>
 
   <p><span class=impl>The <code><a href=#the-table-element>table</a></code> element takes part in
@@ -40352,7 +40383,7 @@
 
   </div>
 
-  <hr><dl class=domintro><dt><var title="">table</var> . <code title=dom-table-caption><a href=#dom-table-caption>caption</a></code> [ = <var title="">value</var> ]</dt>
+  <hr><!--TOPIC:DOM APIs--><dl class=domintro><dt><var title="">table</var> . <code title=dom-table-caption><a href=#dom-table-caption>caption</a></code> [ = <var title="">value</var> ]</dt>
    <dd>
     <p>Returns the table's <code><a href=#the-caption-element>caption</a></code> element.</p>
     <p>Can be set, to replace the <code><a href=#the-caption-element>caption</a></code> element. If the
@@ -40605,6 +40636,7 @@
   same name.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -40897,11 +40929,11 @@
    <dd><a href=#flow-content>Flow content</a>, but with no descendant <code><a href=#the-table-element>table</a></code> elements.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmltablecaptionelement>HTMLTableCaptionElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
    </dd>
-  </dl><p>The <code><a href=#the-caption-element>caption</a></code> element <a href=#represents>represents</a> the title of the
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-caption-element>caption</a></code> element <a href=#represents>represents</a> the title of the
   <code><a href=#the-table-element>table</a></code> that is its parent, if it has a parent and that
   is a <code><a href=#the-table-element>table</a></code> element.</p>
 
@@ -40980,13 +41012,13 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-colgroup-span><a href=#attr-colgroup-span>span</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmltablecolelement>HTMLTableColElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute unsigned long <a href=#dom-colgroup-span title=dom-colgroup-span>span</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-colgroup-element>colgroup</a></code> element <a href=#represents>represents</a> a <a href=#concept-column-group title=concept-column-group>group</a> of one or more <a href=#concept-column title=concept-column>columns</a> in the <code><a href=#the-table-element>table</a></code> that
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-colgroup-element>colgroup</a></code> element <a href=#represents>represents</a> a <a href=#concept-column-group title=concept-column-group>group</a> of one or more <a href=#concept-column title=concept-column>columns</a> in the <code><a href=#the-table-element>table</a></code> that
   is its parent, if it has a parent and that is a <code><a href=#the-table-element>table</a></code>
   element.</p>
 
@@ -41021,13 +41053,13 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-col-span><a href=#attr-col-span>span</a></code></dd>
    <!-- v2: char, to specify the decimal character used in numeric data cells in the column (not header cells) -->
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <p><code><a href=#htmltablecolelement>HTMLTableColElement</a></code>, same as for
     <code><a href=#the-colgroup-element>colgroup</a></code> elements. This interface defines one member,
     <code title=dom-col-span><a href=#dom-col-span>span</a></code>.</p>
    </dd>
-  </dl><p>If a <code><a href=#the-col-element>col</a></code> element has a parent and that is a
+  </dl><!--TOPIC:HTML--><p>If a <code><a href=#the-col-element>col</a></code> element has a parent and that is a
   <code><a href=#the-colgroup-element>colgroup</a></code> element that itself has a parent that is a
   <code><a href=#the-table-element>table</a></code> element, then the <code><a href=#the-col-element>col</a></code> element
   <a href=#represents>represents</a> one or more <a href=#concept-column title=concept-column>columns</a> in the <a href=#concept-column-group title=concept-column-group>column group</a> represented by that
@@ -41064,7 +41096,7 @@
    <dd>Zero or more <code><a href=#the-tr-element>tr</a></code> elements</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmltablesectionelement>HTMLTableSectionElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   readonly attribute <a href=#htmlcollection>HTMLCollection</a> <a href=#dom-tbody-rows title=dom-tbody-rows>rows</a>;
@@ -41074,7 +41106,7 @@
     <p>The <code><a href=#htmltablesectionelement>HTMLTableSectionElement</a></code> interface is also
     used for <code><a href=#the-thead-element>thead</a></code> and <code><a href=#the-tfoot-element>tfoot</a></code> elements.</p>
    </dd>
-  </dl><p>The <code><a href=#the-tbody-element>tbody</a></code> element <a href=#represents>represents</a> a <a href=#concept-row-group title=concept-row-group>block</a> of <a href=#concept-row title=concept-row>rows</a> that consist of a body of data for
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-tbody-element>tbody</a></code> element <a href=#represents>represents</a> a <a href=#concept-row-group title=concept-row-group>block</a> of <a href=#concept-row title=concept-row>rows</a> that consist of a body of data for
   the parent <code><a href=#the-table-element>table</a></code> element, if the <code><a href=#the-tbody-element>tbody</a></code>
   element has a parent and it is a <code><a href=#the-table-element>table</a></code>.</p>
 
@@ -41085,6 +41117,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">tbody</var> . <code title=dom-tbody-rows><a href=#dom-tbody-rows>rows</a></code></dt>
    <dd>
     <p>Returns an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-tr-element>tr</a></code> elements of the table section.</p>
@@ -41136,6 +41169,7 @@
   instead throw an <code><a href=#indexsizeerror>IndexSizeError</a></code> exception.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <h4 id=the-thead-element><span class=secno>4.9.6 </span>The <dfn><code>thead</code></dfn> element</h4>
@@ -41153,10 +41187,10 @@
    <dd>Zero or more <code><a href=#the-tr-element>tr</a></code> elements</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd><code><a href=#htmltablesectionelement>HTMLTableSectionElement</a></code>, as defined for
    <code><a href=#the-tbody-element>tbody</a></code> elements.</dd>
-  </dl><p>The <code><a href=#the-thead-element>thead</a></code> element <a href=#represents>represents</a> the <a href=#concept-row-group title=concept-row-group>block</a> of <a href=#concept-row title=concept-row>rows</a> that consist of the column labels
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-thead-element>thead</a></code> element <a href=#represents>represents</a> the <a href=#concept-row-group title=concept-row-group>block</a> of <a href=#concept-row title=concept-row>rows</a> that consist of the column labels
   (headers) for the parent <code><a href=#the-table-element>table</a></code> element, if the
   <code><a href=#the-thead-element>thead</a></code> element has a parent and it is a
   <code><a href=#the-table-element>table</a></code>.</p>
@@ -41227,10 +41261,10 @@
    <dd>Zero or more <code><a href=#the-tr-element>tr</a></code> elements</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd><code><a href=#htmltablesectionelement>HTMLTableSectionElement</a></code>, as defined for
    <code><a href=#the-tbody-element>tbody</a></code> elements.</dd>
-  </dl><p>The <code><a href=#the-tfoot-element>tfoot</a></code> element <a href=#represents>represents</a> the <a href=#concept-row-group title=concept-row-group>block</a> of <a href=#concept-row title=concept-row>rows</a> that consist of the column summaries
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-tfoot-element>tfoot</a></code> element <a href=#represents>represents</a> the <a href=#concept-row-group title=concept-row-group>block</a> of <a href=#concept-row title=concept-row>rows</a> that consist of the column summaries
   (footers) for the parent <code><a href=#the-table-element>table</a></code> element, if the
   <code><a href=#the-tfoot-element>tfoot</a></code> element has a parent and it is a
   <code><a href=#the-table-element>table</a></code>.</p>
@@ -41259,7 +41293,7 @@
    <dd>Zero or more <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code> elements</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmltablerowelement>HTMLTableRowElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   readonly attribute long <a href=#dom-tr-rowindex title=dom-tr-rowIndex>rowIndex</a>;
@@ -41269,7 +41303,7 @@
   void <a href=#dom-tr-deletecell title=dom-tr-deleteCell>deleteCell</a>(long index);
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-tr-element>tr</a></code> element <a href=#represents>represents</a> a <a href=#concept-row title=concept-row>row</a> of <a href=#concept-cell title=concept-cell>cells</a> in a <a href=#concept-table title=concept-table>table</a>.</p>
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-tr-element>tr</a></code> element <a href=#represents>represents</a> a <a href=#concept-row title=concept-row>row</a> of <a href=#concept-cell title=concept-cell>cells</a> in a <a href=#concept-table title=concept-table>table</a>.</p>
 
   <div class=impl>
 
@@ -41278,6 +41312,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">tr</var> . <code title=dom-tr-rowIndex><a href=#dom-tr-rowindex>rowIndex</a></code></dt>
 
    <dd>
@@ -41389,6 +41424,7 @@
   instead throw an <code><a href=#indexsizeerror>IndexSizeError</a></code> exception.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <h4 id=the-td-element><span class=secno>4.9.9 </span>The <dfn><code>td</code></dfn> element</h4>
@@ -41405,11 +41441,11 @@
    <dd><code title=attr-tdth-rowspan><a href=#attr-tdth-rowspan>rowspan</a></code></dd>
    <dd><code title=attr-tdth-headers><a href=#attr-tdth-headers>headers</a></code></dd>
    <!-- v2 char, to specify the decimal character used in numeric cells -->
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmltabledatacellelement>HTMLTableDataCellElement</dfn> : <a href=#htmltablecellelement>HTMLTableCellElement</a> {};</pre>
    </dd>
-  </dl><p>The <code><a href=#the-td-element>td</a></code> element <a href=#represents>represents</a> a data <a href=#concept-cell title=concept-cell>cell</a> in a table.</p>
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-td-element>td</a></code> element <a href=#represents>represents</a> a data <a href=#concept-cell title=concept-cell>cell</a> in a table.</p>
 
   <div class=impl>
 
@@ -41434,13 +41470,13 @@
    <dd><code title=attr-tdth-rowspan><a href=#attr-tdth-rowspan>rowspan</a></code></dd>
    <dd><code title=attr-tdth-headers><a href=#attr-tdth-headers>headers</a></code></dd>
    <dd><code title=attr-th-scope><a href=#attr-th-scope>scope</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmltableheadercellelement>HTMLTableHeaderCellElement</dfn> : <a href=#htmltablecellelement>HTMLTableCellElement</a> {
            attribute DOMString <a href=#dom-th-scope title=dom-th-scope>scope</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-th-element>th</a></code> element <a href=#represents>represents</a> a header <a href=#concept-cell title=concept-cell>cell</a> in a table.</p>
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-th-element>th</a></code> element <a href=#represents>represents</a> a header <a href=#concept-cell title=concept-cell>cell</a> in a table.</p>
 
   <p>The <code><a href=#the-th-element>th</a></code> element may have a <dfn id=attr-th-scope title=attr-th-scope><code>scope</code></dfn> content attribute
   specified. The <code title=attr-th-scope><a href=#attr-th-scope>scope</a></code> attribute is
@@ -41599,6 +41635,7 @@
   readonly attribute long <a href=#dom-tdth-cellindex title=dom-tdth-cellIndex>cellIndex</a>;
 };</pre>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">cell</var> . <code title=dom-tdth-cellIndex><a href=#dom-tdth-cellindex>cellIndex</a></code></dt>
 
    <dd>
@@ -41637,6 +41674,7 @@
   0.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <div class=impl>
@@ -43286,7 +43324,7 @@
    <dd><code title=attr-form-name><a href=#attr-form-name>name</a></code></dd>
    <dd><code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code></dd>
    <dd><code title=attr-fs-target><a href=#attr-fs-target>target</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>[OverrideBuiltins]
 interface <dfn id=htmlformelement>HTMLFormElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
@@ -43310,7 +43348,7 @@
   boolean <a href=#dom-form-checkvalidity title=dom-form-checkValidity>checkValidity</a>();
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-form-element>form</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-form-element>form</a></code> element <a href=#represents>represents</a> a
   collection of <a href=#form-associated-element title="form-associated element">form-associated
   elements</a>, some of which can represent editable values that
   can be submitted to a server for processing.</p>
@@ -43346,6 +43384,7 @@
   <p>The <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, <code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes are <a href=#attributes-for-form-submission>attributes
   for form submission</a>.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">form</var> . <code title=dom-form-elements><a href=#dom-form-elements>elements</a></code></dt>
 
    <dd>
@@ -43556,6 +43595,7 @@
   false if it returned a <i>negative</i> result.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -43589,7 +43629,7 @@
    <dd><code title=attr-fieldset-disabled><a href=#attr-fieldset-disabled>disabled</a></code></dd>
    <dd><code title=attr-fae-form><a href=#attr-fae-form>form</a></code></dd>
    <dd><code title=attr-fe-name><a href=#attr-fe-name>name</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlfieldsetelement>HTMLFieldSetElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-fieldset-disabled title=dom-fieldset-disabled>disabled</a>;
@@ -43607,7 +43647,7 @@
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(DOMString error);
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-fieldset-element>fieldset</a></code> element <a href=#represents>represents</a> a set
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-fieldset-element>fieldset</a></code> element <a href=#represents>represents</a> a set
   of form controls optionally grouped under a common name.</p>
 
   <p>The name of the group is given by the first <code><a href=#the-legend-element>legend</a></code>
@@ -43625,6 +43665,7 @@
   <a href=#form-owner>form owner</a>. The <code title=attr-fe-name><a href=#attr-fe-name>name</a></code>
   attribute represents the element's name.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">fieldset</var> . <code title=dom-fieldset-type><a href=#dom-fieldset-type>type</a></code></dt>
 
    <dd>
@@ -43667,6 +43708,7 @@
   validation</a>.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -43754,17 +43796,18 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmllegendelement>HTMLLegendElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   readonly attribute <a href=#htmlformelement>HTMLFormElement</a>? <a href=#dom-legend-form title=dom-legend-form>form</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-legend-element>legend</a></code> element <a href=#represents>represents</a> a caption
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-legend-element>legend</a></code> element <a href=#represents>represents</a> a caption
   for the rest of the contents of the <code><a href=#the-legend-element>legend</a></code> element's
   parent <code><a href=#the-fieldset-element>fieldset</a></code> element<span class=impl>, if
   any</span>.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">legend</var> . <code title=dom-legend-form><a href=#dom-legend-form>form</a></code></dt>
 
    <dd>
@@ -43785,6 +43828,7 @@
   <code><a href=#the-fieldset-element>fieldset</a></code> element. Otherwise, it must return null.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -43804,7 +43848,7 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-fae-form><a href=#attr-fae-form>form</a></code></dd>
    <dd><code title=attr-label-for><a href=#attr-label-for>for</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmllabelelement>HTMLLabelElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   readonly attribute <a href=#htmlformelement>HTMLFormElement</a>? <a href=#dom-fae-form title=dom-fae-form>form</a>;
@@ -43812,7 +43856,7 @@
   readonly attribute <a href=#htmlelement>HTMLElement</a>? <a href=#dom-label-control title=dom-label-control>control</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-label-element>label</a></code> <a href=#represents>represents</a> a caption in a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-label-element>label</a></code> <a href=#represents>represents</a> a caption in a
   user interface. The caption can be associated with a specific form
   control<span class=impl>, known as the <code><a href=#the-label-element>label</a></code>
   element's <dfn id=labeled-control>labeled control</dfn></span>, either using <code title=attr-label-for><a href=#attr-label-for>for</a></code> attribute, or by putting the form
@@ -43873,6 +43917,23 @@
 
   </div>
 
+  <p>The <code title=attr-fae-form><a href=#attr-fae-form>form</a></code> attribute is used to
+  explicitly associate the <code><a href=#the-label-element>label</a></code> element with its
+  <a href=#form-owner>form owner</a>.</p>
+
+  <div class=example>
+
+   <p>The following example shows three form controls each with a
+   label, two of which have small text showing the right format for
+   users to use.</p>
+
+   <pre><p><label>Full name: <input name=fn> <small>Format: First Last</small></label></p>
+<p><label>Age: <input name=age type=number min=0></label></p>
+<p><label>Post code: <input name=pc> <small>Format: AB12 3CD</small></label></p></pre>
+
+  </div>
+
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">label</var> . <code title=dom-label-control><a href=#dom-label-control>control</a></code></dt>
 
    <dd>
@@ -43881,12 +43942,8 @@
 
    </dd>
 
-  </dl><p>The <code title=attr-fae-form><a href=#attr-fae-form>form</a></code> attribute is used to
-  explicitly associate the <code><a href=#the-label-element>label</a></code> element with its
-  <a href=#form-owner>form owner</a>.</p>
+  </dl><div class=impl>
 
-  <div class=impl>
-
   <p>The <dfn id=dom-label-htmlfor title=dom-label-htmlFor><code>htmlFor</code></dfn> IDL
   attribute must <a href=#reflect>reflect</a> the <code title=attr-label-for><a href=#attr-label-for>for</a></code> content attribute.</p>
 
@@ -43894,6 +43951,9 @@
   attribute must return the <code><a href=#the-label-element>label</a></code> element's <a href=#labeled-control>labeled
   control</a>, if any, or null if there isn't one.</p>
 
+  <p>The <code title=dom-fae-form><a href=#dom-fae-form>form</a></code> IDL attribute is part
+  of the element's forms API.</p>
+
   </div>
 
   <hr><dl class=domintro><dt><var title="">control</var> . <code title=dom-lfe-labels><a href=#dom-lfe-labels>labels</a></code></dt>
@@ -43915,24 +43975,10 @@
   of <a href=#category-label title=category-label>labelable elements</a>, on
   getting, must return that <code><a href=#nodelist>NodeList</a></code> object.</p>
 
-  <p>The <code title=dom-fae-form><a href=#dom-fae-form>form</a></code> IDL attribute is part
-  of the element's forms API.</p>
-
   </div>
+<!--TOPIC:HTML-->
 
-  <div class=example>
 
-   <p>The following example shows three form controls each with a
-   label, two of which have small text showing the right format for
-   users to use.</p>
-
-   <pre><p><label>Full name: <input name=fn> <small>Format: First Last</small></label></p>
-<p><label>Age: <input name=age type=number min=0></label></p>
-<p><label>Post code: <input name=pc> <small>Format: AB12 3CD</small></label></p></pre>
-
-  </div>
-
-
   <h4 id=the-input-element><span class=secno>4.10.7 </span>The <dfn><code>input</code></dfn> element</h4>
 
   <dl class=element><dt>Categories</dt>
@@ -43978,7 +44024,7 @@
    <dd><code title=attr-input-type><a href=#attr-input-type>type</a></code></dd>
    <dd><code title=attr-input-value><a href=#attr-input-value>value</a></code></dd>
    <dd><code title=attr-dim-width><a href=#attr-dim-width>width</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlinputelement>HTMLInputElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-input-accept title=dom-input-accept>accept</a>;
@@ -44036,7 +44082,7 @@
   void <a href=#dom-textarea/input-setselectionrange title=dom-textarea/input-setSelectionRange>setSelectionRange</a>(unsigned long start, unsigned long end, optional DOMString direction);
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-input-element>input</a></code> element <a href=#represents>represents</a> a typed data field,
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-input-element>input</a></code> element <a href=#represents>represents</a> a typed data field,
   usually with a form control to allow the user to edit the data.</p>
 
   <p>The <dfn id=attr-input-type title=attr-input-type><code>type</code></dfn>
@@ -47609,6 +47655,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">input</var> . <code title=dom-input-indeterminate><a href=#dom-input-indeterminate>indeterminate</a></code> [ = <var title="">value</var> ]</dt>
 
    <dd>
@@ -47618,7 +47665,7 @@
 
    </dd>
 
-  </dl><div class=bookkeeping>
+  </dl><!--TOPIC:HTML--><div class=bookkeeping>
 
    <p>The following common <code><a href=#the-input-element>input</a></code> element content
    attributes and IDL attributes apply to the element:
@@ -48260,6 +48307,7 @@
   <p>The <code title=attr-fs-formaction><a href=#attr-fs-formaction>formaction</a></code>, <code title=attr-fs-formenctype><a href=#attr-fs-formenctype>formenctype</a></code>, <code title=attr-fs-formmethod><a href=#attr-fs-formmethod>formmethod</a></code>, <code title=attr-fs-formnovalidate><a href=#attr-fs-formnovalidate>formnovalidate</a></code>, and <code title=attr-fs-formtarget><a href=#attr-fs-formtarget>formtarget</a></code> attributes are <a href=#attributes-for-form-submission>attributes
   for form submission</a>.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">image</var> . <code title=dom-input-width><a href=#dom-input-width>width</a></code> [ = <var title="">value</var> ]</dt>
    <dt><var title="">image</var> . <code title=dom-input-height><a href=#dom-input-height>height</a></code> [ = <var title="">value</var> ]</dt>
 
@@ -48273,7 +48321,7 @@
 
    </dd>
 
-  </dl><div class=bookkeeping>
+  </dl><!--TOPIC:HTML--><div class=bookkeeping>
 
    <p>The following common <code><a href=#the-input-element>input</a></code> element content
    attributes and IDL attributes apply to the element:
@@ -49310,6 +49358,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h5 id=common-input-element-apis><span class=secno>4.10.7.3 </span>Common <code><a href=#the-input-element>input</a></code> element APIs</h5>
 
   <dl class=domintro><dt><var title="">input</var> . <code title=dom-input-value><a href=#dom-input-value>value</a></code> [ = <var title="">value</var> ]</dt>
@@ -49583,6 +49632,7 @@
   any, or null otherwise.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <div class=impl>
@@ -49680,7 +49730,7 @@
    <dd><code title=attr-fe-name><a href=#attr-fe-name>name</a></code></dd>
    <dd><code title=attr-button-type><a href=#attr-button-type>type</a></code></dd>
    <dd><code title=attr-button-value><a href=#attr-button-value>value</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlbuttonelement>HTMLButtonElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-fe-autofocus title=dom-fe-autofocus>autofocus</a>;
@@ -49704,7 +49754,7 @@
   readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-button-element>button</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-button-element>button</a></code> element <a href=#represents>represents</a> a
   button. <span class=impl>If the element is not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a>, then the user agent
   should allow the user to activate the button.</span></p>
 
@@ -49848,7 +49898,7 @@
    <dd><code title=attr-fe-name><a href=#attr-fe-name>name</a></code></dd>
    <dd><code title=attr-select-required><a href=#attr-select-required>required</a></code></dd>
    <dd><code title=attr-select-size><a href=#attr-select-size>size</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlselectelement>HTMLSelectElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-fe-autofocus title=dom-fe-autofocus>autofocus</a>;
@@ -49885,7 +49935,7 @@
   readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
-  </dl><!-- Proposals for v2:
+  </dl><!--TOPIC:HTML--><!-- Proposals for v2:
        * <select value=""> as an alternative to <option selected>
          http://developers.slashdot.org/comments.pl?sid=426306&cid=22142072
          <Philip`> http://www.ipiao.com.cn/ does <select size="1" name="to"><script>City_Default="PEK"</script><SCRIPT language=javascript
@@ -50052,6 +50102,7 @@
   submitted. The <code title=attr-fe-autofocus><a href=#attr-fe-autofocus>autofocus</a></code>
   attribute controls focus.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">select</var> . <code title=dom-select-type><a href=#dom-select-type>type</a></code></dt>
 
    <dd>
@@ -50238,6 +50289,7 @@
   element's forms API.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -50325,13 +50377,13 @@
    <dd>Or: Zero or more <code><a href=#the-option-element>option</a></code> elements.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmldatalistelement>HTMLDataListElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   readonly attribute <a href=#htmlcollection>HTMLCollection</a> <a href=#dom-datalist-options title=dom-datalist-options>options</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-datalist-element>datalist</a></code> element represents a set of
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-datalist-element>datalist</a></code> element represents a set of
   <code><a href=#the-option-element>option</a></code> elements that represent predefined options for
   other controls. The contents of the element represents fallback
   content for legacy user agents, intermixed with <code><a href=#the-option-element>option</a></code>
@@ -50348,6 +50400,7 @@
   <code><a href=#the-datalist-element>datalist</a></code> element, that is not <a href=#concept-option-disabled title=concept-option-disabled>disabled</a>, and whose <a href=#concept-option-value title=concept-option-value>value</a> is a string that isn't the
   empty string, represents a suggestion. Each suggestion has a <a href=#concept-option-value title=concept-option-value>value</a> and a <a href=#concept-option-label title=concept-option-label>label</a>.
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">datalist</var> . <code title=dom-datalist-options><a href=#dom-datalist-options>options</a></code></dt>
 
    <dd>
@@ -50366,6 +50419,7 @@
   constraint validation</a>.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <h4 id=the-optgroup-element><span class=secno>4.10.11 </span>The <dfn><code>optgroup</code></dfn> element</h4>
@@ -50380,14 +50434,14 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-optgroup-disabled><a href=#attr-optgroup-disabled>disabled</a></code></dd>
    <dd><code title=attr-optgroup-label><a href=#attr-optgroup-label>label</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmloptgroupelement>HTMLOptGroupElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-optgroup-disabled title=dom-optgroup-disabled>disabled</a>;
            attribute DOMString <a href=#dom-optgroup-label title=dom-optgroup-label>label</a>;
 };</pre>
    </dd>
-  </dl><!-- v2: make optgroups selectable if they have a value. --><p>The <code><a href=#the-optgroup-element>optgroup</a></code> element <a href=#represents>represents</a> a group of
+  </dl><!--TOPIC:HTML--><!-- v2: make optgroups selectable if they have a value. --><p>The <code><a href=#the-optgroup-element>optgroup</a></code> element <a href=#represents>represents</a> a group of
   <code><a href=#the-option-element>option</a></code> elements with a common label.</p>
 
   <p>The element's group of <code><a href=#the-option-element>option</a></code> elements consists of
@@ -50469,7 +50523,7 @@
    <dd><code title=attr-option-label><a href=#attr-option-label>label</a></code></dd>
    <dd><code title=attr-option-selected><a href=#attr-option-selected>selected</a></code></dd>
    <dd><code title=attr-option-value><a href=#attr-option-value>value</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>[NamedConstructor=<a href=#dom-option title=dom-option>Option</a>(),
  NamedConstructor=<a href=#dom-option-t title=dom-option-t>Option</a>(DOMString text),
@@ -50488,7 +50542,7 @@
   readonly attribute long <a href=#dom-option-index title=dom-option-index>index</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-option-element>option</a></code> element <a href=#represents>represents</a> an option
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-option-element>option</a></code> element <a href=#represents>represents</a> an option
   in a <code><a href=#the-select-element>select</a></code> element or as part of a list of suggestions
   in a <code><a href=#the-datalist-element>datalist</a></code> element.</p>
 
@@ -50567,6 +50621,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">option</var> . <code title=dom-option-selected><a href=#dom-option-selected>selected</a></code></dt>
 
    <dd>
@@ -50686,6 +50741,7 @@
   invoked constructor is found.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -50715,7 +50771,7 @@
    <dd><code title=attr-textarea-required><a href=#attr-textarea-required>required</a></code></dd>
    <dd><code title=attr-textarea-rows><a href=#attr-textarea-rows>rows</a></code></dd>
    <dd><code title=attr-textarea-wrap><a href=#attr-textarea-wrap>wrap</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmltextareaelement>HTMLTextAreaElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-fe-autofocus title=dom-fe-autofocus>autofocus</a>;
@@ -50751,7 +50807,7 @@
   void <a href=#dom-textarea/input-setselectionrange title=dom-textarea/input-setSelectionRange>setSelectionRange</a>(unsigned long start, unsigned long end, optional DOMString direction);
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-textarea-element>textarea</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-textarea-element>textarea</a></code> element <a href=#represents>represents</a> a
   multiline plain text edit control<span class=impl> for the
   element's <dfn id=concept-textarea-raw-value title=concept-textarea-raw-value>raw
   value</dfn></span>. The contents of the control represent the
@@ -51005,6 +51061,7 @@
   submitted. The <code title=attr-fe-autofocus><a href=#attr-fe-autofocus>autofocus</a></code>
   attribute controls focus.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">textarea</var> . <code title=attr-textarea-type>type</code></dt>
 
    <dd>
@@ -51072,6 +51129,7 @@
   element's forms API.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -51121,7 +51179,7 @@
    <dd><code title=attr-fae-form><a href=#attr-fae-form>form</a></code></dd>
    <dd><code title=attr-keygen-keytype><a href=#attr-keygen-keytype>keytype</a></code></dd>
    <dd><code title=attr-fe-name><a href=#attr-fe-name>name</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlkeygenelement>HTMLKeygenElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-fe-autofocus title=dom-fe-autofocus>autofocus</a>;
@@ -51142,7 +51200,7 @@
   readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-keygen-element>keygen</a></code> element <a href=#represents>represents</a> a key
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-keygen-element>keygen</a></code> element <a href=#represents>represents</a> a key
   pair generator control. When the control's form is submitted, the
   private key is stored in the local keystore, and the public key is
   packaged and sent to the server.</p>
@@ -51330,6 +51388,7 @@
   submitted. The <code title=attr-fe-autofocus><a href=#attr-fe-autofocus>autofocus</a></code>
   attribute controls focus.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">keygen</var> . <code title=attr-keygen-type>type</code></dt>
 
    <dd>
@@ -51359,6 +51418,7 @@
   element's forms API.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <p class=note>This specification does not specify how the private
   key generated is to be used. It is expected that after receiving the
@@ -51409,7 +51469,7 @@
    <dd><code title=attr-output-for><a href=#attr-output-for>for</a></code></dd>
    <dd><code title=attr-fae-form><a href=#attr-fae-form>form</a></code></dd>
    <dd><code title=attr-fe-name><a href=#attr-fe-name>name</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmloutputelement>HTMLOutputElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   [PutForwards=<span title=dom-DOMSettableTokenList-value>value</span>] readonly attribute <a href=#domsettabletokenlist>DOMSettableTokenList</a> <a href=#dom-output-htmlfor title=dom-output-htmlFor>htmlFor</a>;
@@ -51429,7 +51489,7 @@
   readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-output-element>output</a></code> element <a href=#represents>represents</a> the result of a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-output-element>output</a></code> element <a href=#represents>represents</a> the result of a
   calculation.</p>
 
   <p>The <dfn id=attr-output-for title=attr-output-for><code>for</code></dfn> content
@@ -51486,6 +51546,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">output</var> . <code title=dom-output-value><a href=#dom-output-value>value</a></code> [ = <var title="">value</var> ]</dt>
 
    <dd>
@@ -51546,6 +51607,7 @@
   validation</a>.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -51577,7 +51639,7 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-progress-value><a href=#attr-progress-value>value</a></code></dd>
    <dd><code title=attr-progress-max><a href=#attr-progress-max>max</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlprogresselement>HTMLProgressElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute double <a href=#dom-progress-value title=dom-progress-value>value</a>;
@@ -51586,7 +51648,7 @@
   readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-progress-element>progress</a></code> element <a href=#represents>represents</a> the
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-progress-element>progress</a></code> element <a href=#represents>represents</a> the
   completion progress of a task. The progress is either indeterminate,
   indicating that progress is being made but that it is not clear how
   much more work remains to be done before the task is complete (e.g.
@@ -51682,6 +51744,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">progress</var> . <code title=dom-progress-position><a href=#dom-progress-position>position</a></code></dt>
 
    <dd>
@@ -51725,6 +51788,7 @@
   a list of the element's <code><a href=#the-label-element>label</a></code>s.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -51748,7 +51812,7 @@
    <dd><code title=attr-meter-low><a href=#attr-meter-low>low</a></code></dd>
    <dd><code title=attr-meter-high><a href=#attr-meter-high>high</a></code></dd>
    <dd><code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlmeterelement>HTMLMeterElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute double <a href=#dom-meter-value title=dom-meter-value>value</a>;
@@ -51760,7 +51824,7 @@
   readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-meter-element>meter</a></code> element <a href=#represents>represents</a> a scalar
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-meter-element>meter</a></code> element <a href=#represents>represents</a> a scalar
   measurement within a known range, or a fractional value; for example
   disk usage, the relevance of a query result, or the fraction of a
   voting population to have selected a particular candidate.</p>
@@ -52247,6 +52311,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">element</var> . <code title=dom-fae-form><a href=#dom-fae-form>form</a></code></dt>
 
    <dd>
@@ -52265,6 +52330,7 @@
   null if there isn't one.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -52626,6 +52692,7 @@
   string.</p>
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=textFieldSelection><span class=secno>4.10.20 </span>APIs for the text field selections</h4>
 
   <!-- v2 idea: DOM Range APIs to expose the textarea/input edited
@@ -52848,6 +52915,7 @@
    or <code><a href=#the-textarea-element>textarea</a></code> element.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -53027,6 +53095,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h5 id=the-constraint-validation-api><span class=secno>4.10.21.3 </span>The <dfn>constraint validation API</dfn></h5>
 
   <dl class=domintro><dt><var title="">element</var> . <code title=dom-cva-willValidate><a href=#dom-cva-willvalidate>willValidate</a></code></dt>
@@ -53256,8 +53325,10 @@
   value.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
+<!--ADD-TOPIC:Security-->
   <h5 id=security-forms><span class=secno>4.10.21.4 </span>Security</h5>
 
   <p id=security-0>Servers should not rely on client-side
@@ -53266,6 +53337,7 @@
   agents or automated tools that do not implement these features. The
   constraint validation features are only intended to improve the user
   experience, not to provide any kind of security mechanism.</p>
+<!--REMOVE-TOPIC:Security-->
 
 
 
@@ -54328,13 +54400,13 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-details-open><a href=#attr-details-open>open</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmldetailselement>HTMLDetailsElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-details-open title=dom-details-open>open</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-details-element>details</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-details-element>details</a></code> element <a href=#represents>represents</a> a
   disclosure widget from which the user can obtain additional
   information or controls.</p>
 
@@ -54454,9 +54526,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-summary-element>summary</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-summary-element>summary</a></code> element <a href=#represents>represents</a> a
   summary, caption, or legend for the rest of the contents of the
   <code><a href=#the-summary-element>summary</a></code> element's parent <code><a href=#the-details-element>details</a></code>
   element<span class=impl>, if any</span>.</p>
@@ -54485,7 +54557,7 @@
    <dd><code title=attr-command-radiogroup><a href=#attr-command-radiogroup>radiogroup</a></code></dd>
    <!--<dd><code title="attr-command-default">default</code></dd>-->
    <dd>Also, the <code title=attr-command-title><a href=#attr-command-title>title</a></code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlcommandelement>HTMLCommandElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-command-type title=dom-command-type>type</a>;
@@ -54497,7 +54569,7 @@
            attribute boolean <span title="dom-command-default">default</span>;-->
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-command-element>command</a></code> element represents a command that the user
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-command-element>command</a></code> element represents a command that the user
   can invoke.</p>
 
   <p>A command can be part of a context menu or toolbar, using the
@@ -54699,13 +54771,13 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-menu-type><a href=#attr-menu-type>type</a></code></dd>
    <dd><code title=attr-menu-label><a href=#attr-menu-label>label</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlmenuelement>HTMLMenuElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-menu-type title=dom-menu-type>type</a>;
            attribute DOMString <a href=#dom-menu-label title=dom-menu-label>label</a>;
 };</pre>
-  </dl><p>The <code><a href=#the-menu-element>menu</a></code> element represents a list of commands.</p>
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-menu-element>menu</a></code> element represents a list of commands.</p>
 
   <!-- v2 idea: <menu> should get an icon, like <command> -->
 
@@ -55109,7 +55181,7 @@
    way to refer to it.</dd>
 -->
 
-  </dl><p>These facets are exposed on elements using the <dfn id=command-api>command
+  </dl><!--TOPIC:DOM APIs--><p>These facets are exposed on elements using the <dfn id=command-api>command
   API</dfn>:</p>
 
   <dl class=domintro><dt><var title="">element</var> . <code title=dom-command-ro-commandType><a href=#dom-command-ro-commandtype>commandType</a></code></dt>
@@ -55271,6 +55343,7 @@
   node, whose filter matches only elements that <a href=#concept-command title=concept-command>define commands</a> and have <a href=#command-facet-id title=command-facet-ID>IDs</a>.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <hr><p>User agents may expose the <a href=#concept-command title=concept-command>commands</a> whose <a href=#command-facet-hiddenstate title=command-facet-HiddenState>Hidden State</a> facet is false
   (visible) and whose elements are <a href=#in-a-document>in a
@@ -62404,6 +62477,7 @@
   the user agent's interface, apart from the main content area.</p>
 
 
+<!--ADD-TOPIC:Security-->
   <div class=impl>
 
   <h4 id=security-nav><span class=secno>6.1.4 </span>Security</h4>
@@ -62446,6 +62520,7 @@
   the <a href=#origin>origin</a> of the element's <code><a href=#document>Document</a></code>.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <div class=impl>
@@ -62793,7 +62868,7 @@
 
 
 
-
+<!--TOPIC:DOM APIs-->
   <h3 id=the-window-object><span class=secno>6.2 </span>The <code><a href=#window>Window</a></code> object</h3>
 
   <pre class=idl>[ReplaceableNamedProperties]
@@ -62976,6 +63051,7 @@
   </div>
 
 
+<!--ADD-TOPIC:Security-->
   <div class=impl>
 
   <h4 id=security-window><span class=secno>6.2.1 </span>Security</h4>
@@ -63022,6 +63098,7 @@
   </div>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
 
@@ -63579,9 +63656,11 @@
   </div>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
+<!--TOPIC:Security-->
   <h3 id=origin-0><span class=secno>6.3 </span>Origin</h3>
   <!-- Hallowed are the Ori -->
 
@@ -64096,9 +64175,9 @@
   the same host will fail, as the ports are ignored when comparing
   origins after the <code title=dom-document-domain><a href=#dom-document-domain>document.domain</a></code> attribute has
   been used.</p>
+<!--TOPIC:HTML-->
 
 
-
   <h3 id=history><span class=secno>6.4 </span>Session history and navigation</h3>
 
   <h4 id=the-session-history-of-browsing-contexts><span class=secno>6.4.1 </span>The session history of browsing contexts</h4>
@@ -64244,6 +64323,7 @@
   </div>
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=the-history-interface><span class=secno>6.4.2 </span>The <code><a href=#history-0>History</a></code> interface</h4>
 
   <pre class=idl>interface <dfn id=history-0>History</dfn> {
@@ -64320,7 +64400,7 @@
 
    </dd>
 
-  </dl><p>The <dfn id=joint-session-history>joint session history</dfn> of a <code><a href=#history-0>History</a></code>
+  </dl><!--TOPIC:HTML--><p>The <dfn id=joint-session-history>joint session history</dfn> of a <code><a href=#history-0>History</a></code>
   object is the union of all the <a href=#session-history title="session history">session
   histories</a> of all <a href=#browsing-context title="browsing context">browsing
   contexts</a> of all the <a href=#fully-active>fully active</a>
@@ -64346,6 +64426,7 @@
   subsequent entries are numbered with consecutively increasing
   integers (1, 2, 3, etc).</p>
 
+<!--TOPIC:DOM APIs-->
   <div class=impl>
 
   <p>The <dfn id=dom-history-length title=dom-history-length><code>length</code></dfn>
@@ -64373,6 +64454,7 @@
   <p>When the <dfn id=dom-history-forward title=dom-history-forward><code>forward()</code></dfn>method is
   invoked, the user agent must <a href=#traverse-the-history-by-a-delta>traverse the history by a
   delta</a> +1.</p>
+<!--TOPIC:HTML-->
 
   <p>To <dfn id=traverse-the-history-by-a-delta>traverse the history by a delta</dfn> <var title="">delta</var>, the user agent must <a href=#queue-a-task>queue a task</a>
   to run the following steps. The <a href=#task-source>task source</a> for the
@@ -64420,7 +64502,7 @@
   <a href=#traverse-the-history-by-a-delta>traverse the history by a delta</a> equivalent to the
   action specified by the user.</p>
 
-  <hr><p>The <dfn id=dom-history-pushstate title=dom-history-pushState><code>pushState(<var title="">data</var>, <var title="">title</var>, <var title="">url</var>)</code></dfn> method adds a state object entry to
+  <hr><!--TOPIC:DOM APIs--><p>The <dfn id=dom-history-pushstate title=dom-history-pushState><code>pushState(<var title="">data</var>, <var title="">title</var>, <var title="">url</var>)</code></dfn> method adds a state object entry to
   the history.</p>
 
   <p>The <dfn id=dom-history-replacestate title=dom-history-replaceState><code>replaceState(<var title="">data</var>, <var title="">title</var>, <var title="">url</var>)</code></dfn> method updates the state object,
@@ -64557,6 +64639,7 @@
   that <code><a href=#document>Document</a></code> object in the session history after
   having added the new entry. (Thus the state history acts as a FIFO
   buffer for eviction, but as a LIFO buffer for navigation.)</p>
+<!--TOPIC:HTML-->
 
   </div>
 
@@ -64659,6 +64742,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=the-location-interface><span class=secno>6.4.3 </span>The <code><a href=#location>Location</a></code> interface</h4>
 
   <p>Each <code><a href=#document>Document</a></code> object in a <a href=#browsing-context>browsing
@@ -64853,8 +64937,10 @@
   attribute), and the <a href=#concept-uda-setter title=concept-uda-setter>common setter
   action</a> being the same as setting the <code title=dom-location-href><a href=#dom-location-href>href</a></code> attribute to the new output
   value.</span></p>
+<!--TOPIC:HTML-->
 
 
+<!--ADD-TOPIC:Security-->
   <div class=impl>
 
   <h5 id=security-location><span class=secno>6.4.3.1 </span>Security</h5>
@@ -64878,6 +64964,7 @@
    the <code><a href=#location>Location</a></code> object is associated
 
   </ul></div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <div class=impl>
@@ -64903,6 +64990,7 @@
   with just one "Back" button, with a session history that interleaves
   the navigation of the two inner frames and the outer page.</p>
 
+<!--ADD-TOPIC:Security-->
   <p><strong>Security</strong>: It is suggested that to avoid letting
   a page "hijack" the history navigation facilities of a UA by abusing
   <code title=dom-history-pushState><a href=#dom-history-pushstate>pushState()</a></code>, the UA
@@ -64917,6 +65005,7 @@
   <p>In addition, a user agent could ignore calls to <code title=dom-history-pushState><a href=#dom-history-pushstate>pushState()</a></code> that are invoked on
   a timer, or from event listeners that are not triggered in response
   to a clear user action, or that are invoked in rapid succession.</p>
+<!--REMOVE-TOPIC:Security-->
 
   </div>
 
@@ -70723,6 +70812,7 @@
 
   <h4 id=printing><span class=secno>7.4.2 </span>Printing</h4>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">window</var> . <code title=dom-print><a href=#dom-print>print</a></code>()</dt>
 
    <dd>
@@ -70742,6 +70832,7 @@
   the <a href=#printing-steps>printing steps</a>. Otherwise, the user agent must only
   set the <dfn id=print-when-loaded>print when loaded</dfn> flag on the
   <code><a href=#document>Document</a></code>.</p>
+<!--TOPIC:HTML-->
 
   <p>User agents should also run the <a href=#printing-steps>printing steps</a>
   whenever the user asks for the opportunity to <a href=#obtain-a-physical-form>obtain a
@@ -70819,6 +70910,7 @@
   </ol></div>
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=dialogs-implemented-using-separate-documents><span class=secno>7.4.3 </span>Dialogs implemented using separate documents</h4>
 
   <dl class=domintro><dt><var title="">result</var> = <var title="">window</var> . <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog</a></code>(<var title="">url</var> [, <var title="">argument</var>] )</dt>
@@ -71048,10 +71140,10 @@
 
   <p class=note>The <code title=dom-window-close><a href=#dom-window-close>window.close()</a></code> method can be used to
   close the browsing context.</p>
+<!--TOPIC:HTML-->
 
 
-
-
+<!--TOPIC:DOM APIs-->
   <h3 id=system-state-and-capabilities><span class=secno>7.5 </span>System state and capabilities</h3>
 
   <h4 id=the-navigator-object><span class=secno>7.5.1 </span>The <code><a href=#navigator>Navigator</a></code> object</h4>
@@ -71637,6 +71729,8 @@
   </ol></div>
 
 
+
+<!--ADD-TOPIC:Security-->
   <div class=impl>
 
   <h5 id=security-and-privacy><span class=secno>7.5.1.3 </span>Security and privacy</h5>
@@ -71719,6 +71813,7 @@
   decision many users are unable to make or even understand).</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <div class=impl>
@@ -71939,6 +72034,7 @@
     <li><p>Return 1.</li>
 
    </ol></div>
+<!--TOPIC:HTML-->
 
 
 
@@ -72025,6 +72121,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h3 id=activation><span class=secno>8.2 </span>Activation</h3>
 
   <!-- v2 idea: HTMLImageElement.click(x, y); or clickPoint(), if
@@ -72048,6 +72145,7 @@
   element.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <h3 id=focus><span class=secno>8.3 </span>Focus</h3>
@@ -72330,6 +72428,7 @@
   </div>
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=document-level-focus-apis><span class=secno>8.3.3 </span>Document-level focus APIs</h4>
 
   <dl class=domintro><dt><var title="">document</var> . <code title=dom-document-activeElement><a href=#dom-document-activeelement>activeElement</a></code></dt>
@@ -72473,6 +72572,7 @@
   allow keyboard users to interact with the page.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -75459,6 +75559,7 @@
 -->
 
 
+<!--ADD-TOPIC:Security-->
   <div class=impl>
 
   <h4 id=security-risks-in-the-drag-and-drop-model><span class=secno>8.6.9 </span>Security risks in the drag-and-drop model</h4>
@@ -75485,10 +75586,11 @@
   documents without the user's consent.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
 <!--FIND-->
-
+<!--TOPIC:DOM APIs-->
   <h3 id=text-search-apis><span class=secno>8.7 </span>Text search APIs</h3> <!-- window.find() -->
 
   <p class=critical>This legacy API is not very interoperably
@@ -75542,12 +75644,12 @@
   <p class=XXX><dfn id=dom-find title=dom-find>window.find()</dfn> goes here</p>
 
 <!--FIND-->
+<!--TOPIC:HTML-->
 
 
 
-
 <!--PEERCONNECTION-->
-<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:HTML-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)">
 
   <h2 id=video-conferencing-and-peer-to-peer-communication><span class=secno>9 </span>Video conferencing and peer-to-peer communication</h2>
 
@@ -80226,7 +80328,7 @@
 
 
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 
 
@@ -80234,7 +80336,7 @@
 
   <h2 id=comms><span class=secno>11 </span>Communication</h2>
 
-  <div data-component="Web Messaging (editor: Ian Hickson)"><!--TOPIC:HTML-->
+  <div data-component="Web Messaging (editor: Ian Hickson)"><!--TOPIC:DOM APIs-->
 
 
 
@@ -80350,7 +80452,7 @@
 
   
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 <!--POSTMSG-->
 
@@ -81201,6 +81303,7 @@
     </dl></dd>
    <dt>Encoding considerations:</dt>
    <dd>8bit (always UTF-8)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
 
@@ -81220,6 +81323,7 @@
     prevent conforming clients from reconnecting automatically.</p>
 
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules for processing both conforming and non-conforming content
@@ -81277,7 +81381,7 @@
    </dd>
    <dt>Related information</dt>
    <dd>None.</dd>
-  </dl></div><!--data-component--><!--TOPIC:HTML-->
+  </dl></div><!--data-component-->
 
 
   <h3 id=network><span class=secno>11.3 </span><dfn>Web sockets</dfn></h3>
@@ -82015,14 +82119,14 @@
 
    </dd>
 
-  </dl></div><!--data-component--><!--TOPIC:HTML-->
+  </dl></div><!--data-component-->
 
 
 <!--POSTMSG-->
 
 
 
-  <div data-component="Web Messaging (editor: Ian Hickson)"><!--TOPIC:HTML-->
+  <div data-component="Web Messaging (editor: Ian Hickson)"><!--TOPIC:DOM APIs-->
 
   
 
@@ -82088,6 +82192,7 @@
   </div>
 
 
+<!--ADD-TOPIC:Security-->
   <h4 id=security-postmsg><span class=secno>11.4.2 </span>Security</h4>
 
   <div class=impl>
@@ -82147,6 +82252,7 @@
   protect naïve sites from denial-of-service attacks.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <h4 id=posting-messages><span class=secno>11.4.3 </span>Posting messages</h4>
@@ -82938,7 +83044,7 @@
 
 
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 <!--POSTMSG-->
 
@@ -83294,6 +83400,7 @@
   <a href=#obtain-the-storage-mutex>obtain the storage mutex</a>.</p>
 
 
+<!--ADD-TOPIC:Security-->
   <h5 id=security-localStorage><span class=secno>12.2.3.1 </span>Security</h5>
 
   <p>User agents must throw a <code><a href=#securityerror>SecurityError</a></code> exception
@@ -83308,6 +83415,7 @@
   <p class=note>This means <code><a href=#storage-0>Storage</a></code> objects are neutered
   when the <code title=dom-document-domain><a href=#dom-document-domain>document.domain</a></code>
   attribute is used.</p>
+<!--REMOVE-TOPIC:Security-->
 
 
 
@@ -83580,6 +83688,7 @@
   it is promptly deleted from the underlying storage.</p>
 
 
+<!--ADD-TOPIC:Security-->
   <h3 id=security-storage><span class=secno>12.5 </span>Security</h3>
 
   <h4 id=dns-spoofing-attacks><span class=secno>12.5.1 </span>DNS spoofing attacks</h4>
@@ -83631,10 +83740,11 @@
 
   <p>Thus, strictly following the <a href=#origin>origin</a> model described
   in this specification is important for user security.</p>
+<!--REMOVE-TOPIC:Security-->
 
 
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 
 
@@ -98290,6 +98400,7 @@
     8bit (see the section on <a href=#character-encoding-declaration title="character encoding
     declaration">character encoding declarations</a>)
    </dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
 
@@ -98332,6 +98443,7 @@
     rights granted to that origin.</p>
 
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules for processing both conforming and non-conforming content
@@ -98401,12 +98513,14 @@
    <dd>No optional parameters.</dd>
    <dt>Encoding considerations:</dt>
    <dd>binary</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     Subresources of a <code><a href=#multipart/x-mixed-replace>multipart/x-mixed-replace</a></code>
     resource can be of any type, including types with non-trivial
     security implications such as <code><a href=#text/html>text/html</a></code>.
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     None.
@@ -98469,8 +98583,10 @@
    <dd>Same as for <code>application/xml</code> <a href=#refsRFC3023>[RFC3023]</a></dd>
    <dt>Encoding considerations:</dt>
    <dd>Same as for <code>application/xml</code> <a href=#refsRFC3023>[RFC3023]</a></dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>Same as for <code>application/xml</code> <a href=#refsRFC3023>[RFC3023]</a></dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>Same as for <code>application/xml</code> <a href=#refsRFC3023>[RFC3023]</a></dd>
    <dt id=authors-using-xhtml>Published specification:</dt>
@@ -98529,6 +98645,7 @@
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
    <dd>7bit (US-ASCII encoding of octets that themselves can be encoding text using any <a href=#ascii-compatible-character-encoding>ASCII-compatible character encoding</a>)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     <p>In isolation, an <code><a href=#application/x-www-form-urlencoded>application/x-www-form-urlencoded</a></code>
@@ -98536,6 +98653,7 @@
     used as part of a form submission, all the risks that apply to
     HTML forms need to be considered in the context of this type.</p>
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules for generating and processing
@@ -98598,6 +98716,7 @@
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
    <dd>8bit (always UTF-8)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     <p>Cache manifests themselves pose no immediate risk unless
@@ -98609,6 +98728,7 @@
     information leakage, cross-site scripting attacks, and the
     like.</p>
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules for processing both conforming and non-conforming content
@@ -98669,12 +98789,14 @@
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
    <dd>Not applicable.</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     <p>If used exclusively in the fashion described in the context of
     <a href=#hyperlink-auditing>hyperlink auditing</a>, this type introduces no new
     security concerns.</p>
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules applicable to this type are defined in this specification.
@@ -98713,7 +98835,7 @@
 <!--PING-->
 
 <!--TTVTT-->
-<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:HTML-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:Video Text Tracks-->
   <h3 id=text/vtt><span class=secno>17.7 </span><dfn><code>text/vtt</code></dfn></h3>
 
   <p>This registration is for community review and will be submitted
@@ -98734,6 +98856,7 @@
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
    <dd>8bit (always UTF-8)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     <p>Text track files themselves pose no immediate risk unless
@@ -98744,6 +98867,7 @@
     implement these rules can result in information leakage,
     cross-site scripting attacks, and the like.</p>
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     <p>Rules for processing both conforming and non-conforming content
@@ -98791,7 +98915,7 @@
   </dl><p>Fragment identifiers have no meaning with
   <code><a href=#text/vtt>text/vtt</a></code> resources.</p>
 </div>
-<!--TTVTT-->
+<!--TTVTT--><!--TOPIC:HTML-->
 
 <!--MD-->
 
@@ -98816,8 +98940,10 @@
    <dd>Same as for <code>application/json</code> <a href=#refsJSON>[JSON]</a></dd>
    <dt>Encoding considerations:</dt>
    <dd>8bit (always UTF-8)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>Same as for <code>application/json</code> <a href=#refsJSON>[JSON]</a></dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>Same as for <code>application/json</code> <a href=#refsJSON>[JSON]</a></dd>
    <dt>Published specification:</dt>
@@ -99008,6 +99134,7 @@
    <dd>Scheme-specific.</dd>
    <dt>Interoperability considerations</dt>
    <dd>The scheme is expected to be used in the context of Web applications.</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations</dt>
    <dd>
     Any Web page is able to register a handler for all "<code title="">web+</code>" schemes. As such, these schemes must not be
@@ -99017,6 +99144,7 @@
     such as usernames, passwords, personal information, or
     confidential project names.
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Contact</dt>
    <dd>Ian Hickson <ian at hixie.ch></dd>
    <dt>Author/Change controller</dt>

Modified: index
===================================================================
--- index	2011-11-23 03:42:10 UTC (rev 6835)
+++ index	2011-11-23 20:01:48 UTC (rev 6836)
@@ -2191,7 +2191,7 @@
   language with a level of detail that might be difficult to
   understand at first.</p>
 
-
+<!--ADD-TOPIC:Security-->
   <h4 id=writing-secure-applications-with-html><span class=secno>1.10.1 </span>Writing secure applications with HTML</h4>
 
   <p><i>This section is non-normative.</i></p>
@@ -2312,7 +2312,7 @@
 
    </dd>
 
-  </dl><h4 id=common-pitfalls-to-avoid-when-using-the-scripting-apis><span class=secno>1.10.2 </span>Common pitfalls to avoid when using the scripting APIs</h4>
+  </dl><!--REMOVE-TOPIC:Security--><h4 id=common-pitfalls-to-avoid-when-using-the-scripting-apis><span class=secno>1.10.2 </span>Common pitfalls to avoid when using the scripting APIs</h4>
 
   <p><i>This section is non-normative.</i></p>
 
@@ -2640,6 +2640,7 @@
    </dd>
 
 
+<!--ADD-TOPIC:Security-->
    <dt>Errors that risk exposing authors to security attacks</dt>
 
    <dd>
@@ -2656,6 +2657,7 @@
     </div>
 
    </dd>
+<!--REMOVE-TOPIC:Security-->
 
 
    <dt>Cases where the author's intent is unclear</dt>
@@ -4332,6 +4334,7 @@
   processors), and styling them according to CSS (for CSS processors),
   but not inferring any meaning from them.</p>
 
+<!--ADD-TOPIC:Security-->
   <p>When support for a feature is disabled (e.g. as an emergency
   measure to mitigate a security problem, or to aid in development, or
   for performance reasons), user agents must act as if they had no
@@ -4341,6 +4344,7 @@
   attribute itself would be omitted from the objects that implement
   that interface — leaving the attribute on the object but
   making it return null or throw an exception is insufficient.</p>
+<!--REMOVE-TOPIC:Security-->
 
   </div>
 
@@ -7777,7 +7781,7 @@
   </dl></div>
 
 
-
+<!--TOPIC:DOM APIs-->
   <h4 id=interfaces-for-url-manipulation><span class=secno>2.6.6 </span>Interfaces for URL manipulation</h4>
 
   <p>An interface that has a complement of <dfn id=url-decomposition-idl-attributes>URL decomposition IDL
@@ -8009,6 +8013,7 @@
    </table></div>
 
 
+<!--TOPIC:HTML-->
   <div class=impl>
 
   <h3 id=fetching-resources><span class=secno>2.7 </span>Fetching resources</h3>
@@ -8268,6 +8273,7 @@
   protocol.</p>
 
 
+<!--ADD-TOPIC:Security-->
   <h4 id=encrypted-http-and-related-security-concerns><span class=secno>2.7.2 </span>Encrypted HTTP and related security concerns</h4>
 
   <p>Anything in this specification that refers to HTTP also applies
@@ -8312,6 +8318,7 @@
    simply acting as if the page was not encrypted.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <h4 id=content-type-sniffing><span class=secno>2.7.3 </span>Determining the type of a resource</h4>
@@ -8803,6 +8810,7 @@
   </div>
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=collections-0><span class=secno>2.8.2 </span>Collections</h4>
 
   <p>The <code><a href=#htmlallcollection>HTMLAllCollection</a></code>,
@@ -9317,11 +9325,11 @@
 
   </div>
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 <!--MD-->
 
 
-
+<!--TOPIC:DOM APIs-->
   <h4 id=domstringmap-0><span class=secno>2.8.3 </span>DOMStringMap</h4>
 
   <p>The <code><a href=#domstringmap>DOMStringMap</a></code> interface represents a set of
@@ -9690,6 +9698,7 @@
   </div>
 
 
+<!--TOPIC:HTML Syntax and Parsing-->
   <h3 id=namespaces><span class=secno>2.9 </span>Namespaces</h3>
 
   <p>The <dfn id=html-namespace-0>HTML namespace</dfn> is: <code>http://www.w3.org/1999/xhtml</code></p>
@@ -9717,6 +9726,7 @@
   names.</p>
 
 
+<!--TOPIC:DOM APIs-->
   <h2 id=dom><span class=secno>3 </span>Semantics, structure, and APIs of HTML documents</h2>
 
   <h3 id=documents><span class=secno>3.1 </span>Documents</h3>
@@ -9876,6 +9886,7 @@
 };</pre>
 
 
+<!--ADD-TOPIC:Security-->
   <h4 id=security-document><span class=secno>3.1.2 </span>Security</h4>
 
   <p id=security>User agents <span class=impl>must</span> throw a
@@ -9884,6 +9895,7 @@
   <a href=#effective-script-origin>effective script origin</a> is not the <a href=#same-origin title="same
   origin">same</a> as the <code><a href=#document>Document</a></code>'s <a href=#effective-script-origin>effective
   script origin</a>.</p>
+<!--REMOVE-TOPIC:Security-->
 
 
 
@@ -10604,6 +10616,7 @@
   </ol></div>
 
 
+<!--TOPIC:HTML-->
   <h3 id=elements><span class=secno>3.2 </span>Elements</h3>
 
   <h4 id=semantics-0><span class=secno>3.2.1 </span>Semantics</h4>
@@ -10769,6 +10782,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=elements-in-the-dom><span class=secno>3.2.2 </span>Elements in the DOM</h4>
 
   <p>The nodes representing <a href=#html-elements>HTML elements</a> in the DOM
@@ -10907,7 +10921,7 @@
   </div>
 
 
-
+<!--TOPIC:HTML-->
   <h4 id=global-attributes><span class=secno>3.2.3 </span><dfn>Global attributes</dfn></h4>
 
   <p>The following attributes are common to and may be specified on
@@ -13415,6 +13429,8 @@
   </div>
 
 
+
+<!--TOPIC:HTML Syntax and Parsing-->
   <h3 id=dynamic-markup-insertion><span class=secno>3.4 </span><dfn>Dynamic markup insertion</dfn></h3>
 
   <p class=note>APIs for dynamically inserting markup into the
@@ -13839,7 +13855,7 @@
 
 
 
-
+<!--TOPIC:HTML-->
   <h2 id=semantics><span class=secno>4 </span>The elements of HTML</h2>
 
   <h3 id=the-root-element><span class=secno>4.1 </span>The root element</h3>
@@ -13856,11 +13872,11 @@
    <dt>Content attributes:</dt>
    <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>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <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
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-html-element>html</a></code> element <a href=#represents>represents</a> the root of
   an HTML document.</p>
 
 <!--TOPIC:Offline Web Applications-->
@@ -13921,11 +13937,11 @@
    <dd>Otherwise: One or more elements of <a href=#metadata-content>metadata content</a>, of which exactly one is a <code><a href=#the-title-element>title</a></code> element.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-head-element>head</a></code> element <a href=#represents>represents</a> a
   collection of metadata for the <code><a href=#document>Document</a></code>.</p>
 
   <div class=example>
@@ -13977,13 +13993,13 @@
    <dd><a href=#text-content title="text content">Text</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><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
   in a user's history or bookmarks, or in search results. The
@@ -13994,6 +14010,7 @@
   <p>There must be no more than one <code><a href=#the-title-element>title</a></code> element per
   document.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">title</var> . <code title=dom-title-text><a href=#dom-title-text>text</a></code> [ = <var title="">value</var> ]</dt>
 
    <dd>
@@ -14016,6 +14033,7 @@
   <code><a href=#textcontent>textContent</a></code> IDL attribute.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -14065,14 +14083,14 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-base-href><a href=#attr-base-href>href</a></code></dd>
    <dd><code title=attr-base-target><a href=#attr-base-target>target</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlbaseelement>HTMLBaseElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-base-href title=dom-base-href>href</a>;
            attribute DOMString <a href=#dom-base-target title=dom-base-target>target</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-base-element>base</a></code> element allows authors to specify the
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-base-element>base</a></code> element allows authors to specify the
   <a href=#document-base-url>document base URL</a> for the purposes of <a href=#resolve-a-url title="resolve a url">resolving relative URLs</a>, and the name
   of the default <a href=#browsing-context>browsing context</a> for the purposes of
   <a href=#following-hyperlinks>following hyperlinks</a>. The element does not <a href=#represents title=represents>represent</a> any content beyond this
@@ -14169,7 +14187,7 @@
    <dd><code title=attr-link-type><a href=#attr-link-type>type</a></code></dd>
    <dd><code title=attr-link-sizes><a href=#attr-link-sizes>sizes</a></code></dd>
    <dd>Also, the <code title=attr-link-title><a href=#attr-link-title>title</a></code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmllinkelement>HTMLLinkElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-link-disabled title=dom-link-disabled>disabled</a>;
@@ -14183,7 +14201,7 @@
 };
 <a href=#htmllinkelement>HTMLLinkElement</a> implements <a href=#linkstyle>LinkStyle</a>;</pre>
    </dd>
-  </dl><p>The <code><a href=#the-link-element>link</a></code> element allows authors to link their
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-link-element>link</a></code> element allows authors to link their
   document to other resources.</p>
 
   <p>The destination of the link(s) is given by the <dfn id=attr-link-href title=attr-link-href><code>href</code></dfn> attribute, which must
@@ -14565,7 +14583,7 @@
    <dd><code title=attr-meta-http-equiv><a href=#attr-meta-http-equiv>http-equiv</a></code></dd>
    <dd><code title=attr-meta-content><a href=#attr-meta-content>content</a></code></dd>
    <dd><code title=attr-meta-charset><a href=#attr-meta-charset>charset</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlmetaelement>HTMLMetaElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-meta-name title=dom-meta-name>name</a>;
@@ -14573,7 +14591,7 @@
            attribute DOMString <a href=#dom-meta-content title=dom-meta-content>content</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-meta-element>meta</a></code> element <a href=#represents>represents</a> various
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-meta-element>meta</a></code> element <a href=#represents>represents</a> various
   kinds of metadata that cannot be expressed using the
   <code><a href=#the-title-element>title</a></code>, <code><a href=#the-base-element>base</a></code>, <code><a href=#the-link-element>link</a></code>,
   <code><a href=#the-style-element>style</a></code>, and <code><a href=#the-script-element>script</a></code> elements.</p>
@@ -15505,7 +15523,7 @@
    <dd><code title=attr-style-type><a href=#attr-style-type>type</a></code></dd>
    <dd><code title=attr-style-scoped><a href=#attr-style-scoped>scoped</a></code></dd>
    <dd>Also, the <code title=attr-style-title><a href=#attr-style-title>title</a></code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlstyleelement>HTMLStyleElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-style-disabled title=dom-style-disabled>disabled</a>;
@@ -15515,7 +15533,7 @@
 };
 <a href=#htmlstyleelement>HTMLStyleElement</a> implements <a href=#linkstyle>LinkStyle</a>;</pre>
    </dd>
-  </dl><p>The <code><a href=#the-style-element>style</a></code> element allows authors to embed style
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-style-element>style</a></code> element allows authors to embed style
   information in their documents. The <code><a href=#the-style-element>style</a></code> element is
   one of several inputs to the <a href=#styling>styling processing
   model</a>. The element does not <a href=#represents title=represents>represent</a> content for the user.</p>
@@ -15923,7 +15941,7 @@
    <dd><code title=attr-script-defer><a href=#attr-script-defer>defer</a></code></dd>
    <dd><code title=attr-script-type><a href=#attr-script-type>type</a></code></dd>
    <dd><code title=attr-script-charset><a href=#attr-script-charset>charset</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlscriptelement>HTMLScriptElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-script-src title=dom-script-src>src</a>;
@@ -15934,7 +15952,7 @@
            attribute DOMString <a href=#dom-script-text title=dom-script-text>text</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-script-element>script</a></code> element allows authors to include dynamic
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-script-element>script</a></code> element allows authors to include dynamic
   script and data blocks in their documents. The element does not
   <a href=#represents title=represents>represent</a> content for the user.</p>
 
@@ -16677,6 +16695,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">script</var> . <code title=dom-script-text><a href=#dom-script-text>text</a></code> [ = <var title="">value</var> ]</dt>
 
    <dd>
@@ -16699,6 +16718,7 @@
   <code><a href=#textcontent>textContent</a></code> IDL attribute.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <p class=note>When inserted using the <code title=dom-document-write><a href=#dom-document-write>document.write()</a></code> method,
   <code><a href=#the-script-element>script</a></code> elements execute (typically synchronously), but
@@ -17006,9 +17026,9 @@
    <dd>Otherwise: text that conforms to the requirements given in the prose.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-noscript-element>noscript</a></code> element <a href=#represents>represents</a> nothing
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-noscript-element>noscript</a></code> element <a href=#represents>represents</a> nothing
   if <a href=#concept-n-script title=concept-n-script>scripting is enabled</a>, and
   <a href=#represents>represents</a> its children if <a href=#concept-n-noscript title=concept-n-noscript>scripting is disabled</a>. It is used
   to present different markup to user agents that support scripting
@@ -17222,7 +17242,7 @@
    <dd><code title=handler-window-onscroll><a href=#handler-window-onscroll>onscroll</a></code></dd>
    <dd><code title=handler-window-onstorage><a href=#handler-window-onstorage>onstorage</a></code></dd>
    <dd><code title=handler-window-onunload><a href=#handler-window-onunload>onunload</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlbodyelement>HTMLBodyElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
@@ -17245,7 +17265,7 @@
   [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
 };</pre>
 </dd>
-  </dl><p>The <code><a href=#the-body-element>body</a></code> element <a href=#represents>represents</a> the main
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-body-element>body</a></code> element <a href=#represents>represents</a> the main
   content of the document.</p>
 
   <p>In conforming documents, there is only one <code><a href=#the-body-element>body</a></code>
@@ -17330,9 +17350,9 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-section-element>section</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-section-element>section</a></code> element <a href=#represents>represents</a> a
   generic section of a document or application. A section, in this
   context, is a thematic grouping of content, typically with a
   heading.</p>
@@ -17501,9 +17521,9 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-nav-element>nav</a></code> element <a href=#represents>represents</a> a section of
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-nav-element>nav</a></code> element <a href=#represents>represents</a> a section of
   a page that links to other pages or to parts within the page: a
   section with navigation links.</p>
 
@@ -17668,9 +17688,9 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-article-element>article</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-article-element>article</a></code> element <a href=#represents>represents</a> a
   self-contained composition in a document, page, application, or site
   and that is, in principle, independently distributable or reusable,
   e.g. in syndication. This could be a forum post, a magazine or
@@ -17778,9 +17798,9 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-aside-element>aside</a></code> element <a href=#represents>represents</a> a section
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-aside-element>aside</a></code> element <a href=#represents>represents</a> a section
   of a page that consists of content that is tangentially related to
   the content around the <code><a href=#the-aside-element>aside</a></code> element, and which could
   be considered separate from that content. Such sections are often
@@ -17926,11 +17946,11 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><p>These elements <a href=#represents title=represents>represent</a> headings
   for their sections.</p>
 
   <p>The semantics and meaning of these elements are defined in the
@@ -17990,9 +18010,9 @@
    <dd>One or more <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>h2</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h3</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h4</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h5</a></code>, and/or <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code> elements.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-hgroup-element>hgroup</a></code> element <a href=#represents>represents</a> the
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-hgroup-element>hgroup</a></code> element <a href=#represents>represents</a> the
   heading of a section. The element is used to group a set of
   <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 when the heading has
   multiple levels, such as subheadings, alternative titles, or
@@ -18058,9 +18078,9 @@
    <code><a href=#the-footer-element>footer</a></code> element descendants.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-header-element>header</a></code> element <a href=#represents>represents</a> a group
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-header-element>header</a></code> element <a href=#represents>represents</a> a group
   of introductory or navigational aids.</p>
 
   <p class=note>A <code><a href=#the-header-element>header</a></code> element is intended to usually
@@ -18156,9 +18176,9 @@
    <code><a href=#the-footer-element>footer</a></code> element descendants.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-footer-element>footer</a></code> element <a href=#represents>represents</a> a footer
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-footer-element>footer</a></code> element <a href=#represents>represents</a> a footer
   for its nearest ancestor <a href=#sectioning-content>sectioning content</a> or
   <a href=#sectioning-root>sectioning root</a> element. A footer typically contains
   information about its section such as who wrote it, links to related
@@ -18305,9 +18325,9 @@
    <code><a href=#the-address-element>address</a></code> element descendants.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-address-element>address</a></code> element <a href=#represents>represents</a> the
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-address-element>address</a></code> element <a href=#represents>represents</a> the
   contact information for its nearest <code><a href=#the-article-element>article</a></code> or
   <code><a href=#the-body-element>body</a></code> element ancestor. If that is <a href=#the-body-element-0>the body
   element</a>, then the contact information applies to the document
@@ -18925,11 +18945,11 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-p-element>p</a></code> element <a href=#represents>represents</a> a
   <a href=#paragraph>paragraph</a>.</p>
 
   <p class=note>While paragraphs are usually represented in visual
@@ -19002,11 +19022,11 @@
    <dd>Empty.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><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
   reference book.</p>
@@ -19105,11 +19125,11 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><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>
 
@@ -19222,7 +19242,7 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-blockquote-cite><a href=#attr-blockquote-cite>cite</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlquoteelement>HTMLQuoteElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-quote-cite title=dom-quote-cite>cite</a>;
@@ -19230,7 +19250,7 @@
     <p class=note>The <code><a href=#htmlquoteelement>HTMLQuoteElement</a></code> interface is
     also used by the <code><a href=#the-q-element>q</a></code> element.</p>
    </dd>
-  </dl><p>The <code><a href=#the-blockquote-element>blockquote</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-blockquote-element>blockquote</a></code> element <a href=#represents>represents</a> a
   section that is quoted from another source.</p>
 
   <p>Content inside a <code><a href=#the-blockquote-element>blockquote</a></code> must be quoted from
@@ -19377,7 +19397,7 @@
    <dd><code title=attr-ol-reversed><a href=#attr-ol-reversed>reversed</a></code></dd>
    <dd><code title=attr-ol-start><a href=#attr-ol-start>start</a></code></dd>
    <dd><code title=attr-ol-type><a href=#attr-ol-type>type</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlolistelement>HTMLOListElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-ol-reversed title=dom-ol-reversed>reversed</a>;
@@ -19385,7 +19405,7 @@
            attribute DOMString <a href=#dom-ol-type title=dom-ol-type>type</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-ol-element>ol</a></code> element <a href=#represents>represents</a> a list of
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-ol-element>ol</a></code> element <a href=#represents>represents</a> a list of
   items, where the items have been intentionally ordered, such that
   changing the order would change the meaning of the document.</p>
 
@@ -19534,11 +19554,11 @@
    <dd>Zero or more <code><a href=#the-li-element>li</a></code> elements.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><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
   of the document.</p>
@@ -19592,13 +19612,13 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd>If the element is a child of an <code><a href=#the-ol-element>ol</a></code> element: <code title=attr-li-value><a href=#attr-li-value>value</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmllielement>HTMLLIElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute long <a href=#dom-li-value title=dom-li-value>value</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-li-element>li</a></code> element <a href=#represents>represents</a> a list
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-li-element>li</a></code> element <a href=#represents>represents</a> a list
   item. If its parent element is an <code><a href=#the-ol-element>ol</a></code>, <code><a href=#the-ul-element>ul</a></code>,
   or <code><a href=#the-menu-element>menu</a></code> element, then the element is an item of the
   parent element's list, as defined for those elements. Otherwise, the
@@ -19693,11 +19713,11 @@
    elements.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><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
   (<code><a href=#the-dt-element>dt</a></code> elements) followed by one or more values
@@ -19844,9 +19864,9 @@
    <dd><a href=#flow-content>Flow content</a>, but with no <code><a href=#the-header-element>header</a></code>, <code><a href=#the-footer-element>footer</a></code>, <a href=#sectioning-content>sectioning content</a>, or <a href=#heading-content>heading content</a> descendants.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-dt-element>dt</a></code> element <a href=#represents>represents</a> the term, or
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-dt-element>dt</a></code> element <a href=#represents>represents</a> the term, or
   name, part of a term-description group in a description list
   (<code><a href=#the-dl-element>dl</a></code> element).</p>
 
@@ -19887,9 +19907,9 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-dd-element>dd</a></code> element <a href=#represents>represents</a> the
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-dd-element>dd</a></code> element <a href=#represents>represents</a> the
   description, definition, or value, part of a term-description group
   in a description list (<code><a href=#the-dl-element>dl</a></code> element).</p>
 
@@ -19929,9 +19949,9 @@
    <dd>Or: <a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><!-- v2: Add a <credit> element for photo credits --><p>The <code><a href=#the-figure-element>figure</a></code> element <a href=#represents>represents</a> some
+  </dl><!--TOPIC:HTML--><!-- v2: Add a <credit> element for photo credits --><p>The <code><a href=#the-figure-element>figure</a></code> element <a href=#represents>represents</a> some
   <a href=#flow-content>flow content</a>, optionally with a caption, that is
   self-contained and is typically referenced as a single unit from the
   main flow of the document.</p>
@@ -20056,9 +20076,9 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-figcaption-element>figcaption</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-figcaption-element>figcaption</a></code> element <a href=#represents>represents</a> a
   caption or legend for the rest of the contents of the
   <code><a href=#the-figcaption-element>figcaption</a></code> element's parent <code><a href=#the-figure-element>figure</a></code>
   element<span class=impl>, if any</span>.</p>
@@ -20076,11 +20096,11 @@
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><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>
 
@@ -20150,7 +20170,7 @@
    <dd><code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code></dd>
    <dd><code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code></dd>
    <dd><code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlanchorelement>HTMLAnchorElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   stringifier attribute DOMString <a href=#dom-a-href title=dom-a-href>href</a>;
@@ -20177,7 +20197,7 @@
            attribute DOMString <a href=#dom-a-hash title=dom-a-hash>hash</a>;
 };</pre>
    </dd>
-  </dl><p>If the <code><a href=#the-a-element>a</a></code> element has an <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute, then it
+  </dl><!--TOPIC:HTML--><p>If the <code><a href=#the-a-element>a</a></code> element has an <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute, then it
   <a href=#represents>represents</a> a <a href=#hyperlink>hyperlink</a> (a hypertext
   anchor).</p>
 
@@ -20289,6 +20309,7 @@
 
   </ol></div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">a</var> . <code title=dom-a-text><a href=#dom-a-text>text</a></code></dt>
 
    <dd>
@@ -20330,6 +20351,7 @@
   value.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -20372,9 +20394,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-em-element>em</a></code> element <a href=#represents>represents</a> stress
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-em-element>em</a></code> element <a href=#represents>represents</a> stress
   emphasis of its contents.</p>
 
   <p>The level of emphasis that a particular piece of content has is
@@ -20467,9 +20489,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-strong-element>strong</a></code> element <a href=#represents>represents</a> strong
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-strong-element>strong</a></code> element <a href=#represents>represents</a> strong
   importance for its contents.</p>
 
   <p>The relative level of importance of a piece of content is given
@@ -20505,9 +20527,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-small-element>small</a></code> element <a href=#represents>represents</a> side
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-small-element>small</a></code> element <a href=#represents>represents</a> side
   comments such as small print.</p>
 
   <p class=note>Small print typically features disclaimers, caveats,
@@ -20594,9 +20616,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-s-element>s</a></code> element <a href=#represents>represents</a> contents that
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-s-element>s</a></code> element <a href=#represents>represents</a> contents that
   are no longer accurate or no longer relevant.</p>
 
   <p class=note>The <code><a href=#the-s-element>s</a></code> element is not appropriate when
@@ -20628,9 +20650,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-cite-element>cite</a></code> element <a href=#represents>represents</a> the title
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-cite-element>cite</a></code> element <a href=#represents>represents</a> the title
   of a work (e.g.
   a book,
   a paper,
@@ -20754,9 +20776,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-q-cite><a href=#attr-q-cite>cite</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlquoteelement>HTMLQuoteElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-q-element>q</a></code> element <a href=#represents>represents</a> some <a href=#phrasing-content title="phrasing content">phrasing content</a> quoted from another
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-q-element>q</a></code> element <a href=#represents>represents</a> some <a href=#phrasing-content title="phrasing content">phrasing content</a> quoted from another
   source.</p>
 
   <p>Quotation punctuation (such as quotation marks) that is quoting
@@ -20854,9 +20876,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd>Also, the <code title=attr-dfn-title><a href=#attr-dfn-title>title</a></code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-dfn-element>dfn</a></code> element <a href=#represents>represents</a> the defining
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-dfn-element>dfn</a></code> element <a href=#represents>represents</a> the defining
   instance of a term. The <a href=#paragraph title=paragraph>paragraph</a>,
   <a href=#the-dl-element title=dl>description list group</a>, or <a href=#sectioning-content title="sectioning content">section</a> that is the nearest
   ancestor of the <code><a href=#the-dfn-element>dfn</a></code> element must also contain the
@@ -20924,9 +20946,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd>Also, the <code title=attr-abbr-title><a href=#attr-abbr-title>title</a></code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-abbr-element>abbr</a></code> element <a href=#represents>represents</a> an
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-abbr-element>abbr</a></code> element <a href=#represents>represents</a> an
   abbreviation or acronym, optionally with its expansion. The <dfn id=attr-abbr-title title=attr-abbr-title><code>title</code></dfn> attribute may be
   used to provide an expansion of the abbreviation. The attribute, if
   specified, must contain an expansion of the abbreviation, and
@@ -21040,13 +21062,13 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-data-value><a href=#attr-data-value>value</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmldataelement>HTMLDataElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-data-value title=dom-data-value>value</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-data-element>data</a></code> element <a href=#represents>represents</a> its
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-data-element>data</a></code> element <a href=#represents>represents</a> its
   contents, along with a machine-readable form of those contents in
   the <code title=attr-data-value><a href=#attr-data-value>value</a></code> attribute.</p>
 
@@ -21114,13 +21136,13 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmltimeelement>HTMLTimeElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-time-datetime title=dom-time-datetime>datetime</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-time-element>time</a></code> element <a href=#represents>represents</a> its
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-time-element>time</a></code> element <a href=#represents>represents</a> its
   contents, along with a machine-readable form of those contents in
   the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute. The
   kind of content is limited to various kinds of dates, times,
@@ -21433,9 +21455,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-code-element>code</a></code> element <a href=#represents>represents</a> a fragment
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-code-element>code</a></code> element <a href=#represents>represents</a> a fragment
   of computer code. This could be an XML element name, a filename, a
   computer program, or any other string that a computer would
   recognize.</p>
@@ -21496,9 +21518,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-var-element>var</a></code> element <a href=#represents>represents</a> a variable.
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-var-element>var</a></code> element <a href=#represents>represents</a> a variable.
   This could be an actual variable in a mathematical expression or
   programming context, an identifier representing a constant, a
   function parameter, or just be a term used as a placeholder in
@@ -21567,9 +21589,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-samp-element>samp</a></code> element <a href=#represents>represents</a> (sample)
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-samp-element>samp</a></code> element <a href=#represents>represents</a> (sample)
   output from a program or computing system.</p>
 
   <p class=note>See the <code><a href=#the-pre-element>pre</a></code> and <code><a href=#the-kbd-element>kbd</a></code>
@@ -21606,9 +21628,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-kbd-element>kbd</a></code> element <a href=#represents>represents</a> user input
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-kbd-element>kbd</a></code> element <a href=#represents>represents</a> user input
   (typically keyboard input, although it may also be used to represent
   other input, such as voice commands).</p>
 
@@ -21658,9 +21680,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Use <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-sub-and-sup-elements>sup</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-sub-and-sup-elements>sup</a></code> element <a href=#represents>represents</a> a
   superscript and the <code><a href=#the-sub-and-sup-elements>sub</a></code> element <a href=#represents>represents</a>
   a subscript.</p>
 
@@ -21721,9 +21743,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-i-element>i</a></code> element <a href=#represents>represents</a> a span of text
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-i-element>i</a></code> element <a href=#represents>represents</a> a span of text
   in an alternate voice or mood, or otherwise offset from the normal
   prose in a manner indicating a different quality of text, such as a
   taxonomic designation, a technical term, an idiomatic phrase from
@@ -21782,9 +21804,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-b-element>b</a></code> element <a href=#represents>represents</a> a span of text
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-b-element>b</a></code> element <a href=#represents>represents</a> a span of text
   to which attention is being drawn for utilitarian purposes without
   conveying any extra importance and with no implication of an
   alternate voice or mood, such as key words in a document abstract,
@@ -21858,9 +21880,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-u-element>u</a></code> element <a href=#represents>represents</a> a span of text
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-u-element>u</a></code> element <a href=#represents>represents</a> a span of text
   with an unarticulated, though explicitly rendered, non-textual
   annotation, such as labeling the text as being a proper name in
   Chinese text (a Chinese proper name mark), or labeling the text as
@@ -21898,9 +21920,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><!-- v2: attribute that means "highlight this on the scrollbar" --><p>The <code><a href=#the-mark-element>mark</a></code> element <a href=#represents>represents</a> a run of
+  </dl><!--TOPIC:HTML--><!-- v2: attribute that means "highlight this on the scrollbar" --><p>The <code><a href=#the-mark-element>mark</a></code> element <a href=#represents>represents</a> a run of
   text in one document marked or highlighted for reference purposes,
   due to its relevance in another context. When used in a quotation or
   other block of text referred to from the prose, it indicates a
@@ -22047,9 +22069,9 @@
    <dd>One or more groups of: <a href=#phrasing-content>phrasing content</a> followed either by a single <code><a href=#the-rt-element>rt</a></code> element, or an <code><a href=#the-rp-element>rp</a></code> element, an <code><a href=#the-rt-element>rt</a></code> element, and another <code><a href=#the-rp-element>rp</a></code> element.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-ruby-element>ruby</a></code> element allows one or more spans of
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-ruby-element>ruby</a></code> element allows one or more spans of
   phrasing content to be marked with ruby annotations. Ruby
   annotations are short runs of text presented alongside base text,
   primarily used in East Asian typography as a guide for
@@ -22125,9 +22147,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-rt-element>rt</a></code> element marks the ruby text component of a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-rt-element>rt</a></code> element marks the ruby text component of a
   ruby annotation.</p>
 
   <p>An <code><a href=#the-rt-element>rt</a></code> element <span class=impl>that is a child of
@@ -22159,9 +22181,9 @@
 -->
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-rp-element>rp</a></code> element can be used to provide parentheses
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-rp-element>rp</a></code> element can be used to provide parentheses
   around a ruby text component of a ruby annotation, to be shown by
   user agents that don't support ruby annotations.</p>
 
@@ -22207,9 +22229,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd>Also, the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> global attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-bdi-element>bdi</a></code> element <a href=#represents>represents</a> a span of
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-bdi-element>bdi</a></code> element <a href=#represents>represents</a> a span of
   text that is to be isolated from its surroundings for the purposes
   of bidirectional text formatting. <a href=#refsBIDI>[BIDI]</a></p>
 
@@ -22272,9 +22294,9 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd>Also, the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> global attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-bdo-element>bdo</a></code> element <a href=#represents>represents</a> explicit
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-bdo-element>bdo</a></code> element <a href=#represents>represents</a> explicit
   text directionality formatting control for its children. It allows
   authors to override the Unicode bidirectional algorithm by
   explicitly specifying a direction override. <a href=#refsBIDI>[BIDI]</a></p>
@@ -22322,11 +22344,11 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmlspanelement>HTMLSpanElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
    </dd>
-  </dl><p>The <code><a href=#the-span-element>span</a></code> element doesn't mean anything on its own,
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-span-element>span</a></code> element doesn't mean anything on its own,
   but can be useful when used together with the <a href=#global-attributes>global
   attributes</a>, e.g. <code title=attr-class><a href=#classes>class</a></code>, <code title=attr-lang><a href=#attr-lang>lang</a></code>, or <code title=attr-dir><a href=#the-dir-attribute>dir</a></code>.
   It <a href=#represents>represents</a> its children.</p>
@@ -22361,11 +22383,11 @@
    <dd>Empty.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <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
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-br-element>br</a></code> element <a href=#represents>represents</a> a line
   break.</p>
 
   <p class=note>While line breaks are usually represented in visual
@@ -22443,9 +22465,9 @@
    <dd>Empty.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-wbr-element>wbr</a></code> element <a href=#represents>represents</a> a line break
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-wbr-element>wbr</a></code> element <a href=#represents>represents</a> a line break
   opportunity.</p>
 
   <div class=example>
@@ -22619,9 +22641,9 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-mod-cite><a href=#attr-mod-cite>cite</a></code></dd>
    <dd><code title=attr-mod-datetime><a href=#attr-mod-datetime>datetime</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses the <code><a href=#htmlmodelement>HTMLModElement</a></code> interface.</dd>
-  </dl><p>The <code><a href=#the-ins-element>ins</a></code> element <a href=#represents>represents</a> an addition
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-ins-element>ins</a></code> element <a href=#represents>represents</a> an addition
   to the document.</p>
 
   <div class=example>
@@ -22704,9 +22726,9 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-mod-cite><a href=#attr-mod-cite>cite</a></code></dd>
    <dd><code title=attr-mod-datetime><a href=#attr-mod-datetime>datetime</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses the <code><a href=#htmlmodelement>HTMLModElement</a></code> interface.</dd>
-  </dl><p>The <code><a href=#the-del-element>del</a></code> element <a href=#represents>represents</a> a removal
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-del-element>del</a></code> element <a href=#represents>represents</a> a removal
   from the document.</p>
 
   <p><code><a href=#the-del-element>del</a></code> elements should not cross <a href=#paragraph title=paragraph>implied paragraph</a> boundaries.</p>
@@ -22976,7 +22998,7 @@
    <dd><code title=attr-img-ismap><a href=#attr-img-ismap>ismap</a></code></dd>
    <dd><code title=attr-dim-width><a href=#attr-dim-width>width</a></code></dd>
    <dd><code title=attr-dim-height><a href=#attr-dim-height>height</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>[NamedConstructor=<a href=#dom-image title=dom-image>Image</a>(),
  NamedConstructor=<a href=#dom-image-w title=dom-image-w>Image</a>(unsigned long width),
@@ -22994,7 +23016,7 @@
   readonly attribute boolean <a href=#dom-img-complete title=dom-img-complete>complete</a>;
 };</pre>
    </dd>
-  </dl><p>An <code><a href=#the-img-element>img</a></code> element represents an image.</p>
+  </dl><!--TOPIC:HTML--><p>An <code><a href=#the-img-element>img</a></code> element represents an image.</p>
 
   <!-- v2 ideas for <img>:
 
@@ -23438,6 +23460,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">image</var> . <code title=dom-img-width><a href=#dom-img-width>width</a></code> [ = <var title="">value</var> ]</dt>
    <dt><var title="">image</var> . <code title=dom-img-height><a href=#dom-img-height>height</a></code> [ = <var title="">value</var> ]</dt>
 
@@ -23523,6 +23546,7 @@
   invoked constructor is found.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -24539,7 +24563,7 @@
    <dd><code title=attr-iframe-seamless><a href=#attr-iframe-seamless>seamless</a></code></dd>
    <dd><code title=attr-dim-width><a href=#attr-dim-width>width</a></code></dd>
    <dd><code title=attr-dim-height><a href=#attr-dim-height>height</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmliframeelement>HTMLIFrameElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-iframe-src title=dom-iframe-src>src</a>;
@@ -24553,7 +24577,7 @@
   readonly attribute <a href=#windowproxy>WindowProxy</a>? <a href=#dom-iframe-contentwindow title=dom-iframe-contentWindow>contentWindow</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-iframe-element>iframe</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-iframe-element>iframe</a></code> element <a href=#represents>represents</a> a
   <a href=#nested-browsing-context>nested browsing context</a>.</p>
 
   <p>The <dfn id=attr-iframe-src title=attr-iframe-src><code>src</code></dfn> attribute
@@ -25380,7 +25404,7 @@
    <dd><code title=attr-dim-width><a href=#attr-dim-width>width</a></code></dd>
    <dd><code title=attr-dim-height><a href=#attr-dim-height>height</a></code></dd>
    <dd>Any other attribute that has no namespace (see prose).</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlembedelement>HTMLEmbedElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-embed-src title=dom-embed-src>src</a>;
@@ -25394,7 +25418,7 @@
     interfaces.</p>
     </div>
    </dd>
-  </dl><p>The <code><a href=#the-embed-element>embed</a></code> element <a href=#represents>represents</a> an
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-embed-element>embed</a></code> element <a href=#represents>represents</a> an
   integration point for an external (typically non-HTML) application
   or interactive content.</p>
 
@@ -25651,7 +25675,7 @@
    <dd><code title=attr-fae-form><a href=#attr-fae-form>form</a></code></dd>
    <dd><code title=attr-dim-width><a href=#attr-dim-width>width</a></code></dd>
    <dd><code title=attr-dim-height><a href=#attr-dim-height>height</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlobjectelement>HTMLObjectElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-object-data title=dom-object-data>data</a>;
@@ -25677,7 +25701,7 @@
     interfaces.</p>
     </div>
    </dd>
-  </dl><p>The <code><a href=#the-object-element>object</a></code> element can represent an external
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-object-element>object</a></code> element can represent an external
   resource, which, depending on the type of the resource, will either
   be treated as an image, as a <a href=#nested-browsing-context>nested browsing context</a>,
   or as an external resource to be processed by a
@@ -26428,14 +26452,14 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-param-name><a href=#attr-param-name>name</a></code></dd>
    <dd><code title=attr-param-value><a href=#attr-param-value>value</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlparamelement>HTMLParamElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-param-name title=dom-param-name>name</a>;
            attribute DOMString <a href=#dom-param-value title=dom-param-value>value</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-param-element>param</a></code> element defines parameters for plugins
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-param-element>param</a></code> element defines parameters for plugins
   invoked by <code><a href=#the-object-element>object</a></code> elements. It does not <a href=#represents title=represents>represent</a> anything on its own.</p>
 
   <p>The <dfn id=attr-param-name title=attr-param-name><code>name</code></dfn>
@@ -26533,7 +26557,7 @@
    <dd><code title=attr-media-controls><a href=#attr-media-controls>controls</a></code></dd>
    <dd><code title=attr-dim-width><a href=#attr-dim-width>width</a></code></dd>
    <dd><code title=attr-dim-height><a href=#attr-dim-height>height</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmlvideoelement>HTMLVideoElement</dfn> : <a href=#htmlmediaelement>HTMLMediaElement</a> {
            attribute unsigned long <a href=#dom-dim-width title=dom-dim-width>width</a>;
@@ -26543,7 +26567,7 @@
            attribute DOMString <a href=#dom-video-poster title=dom-video-poster>poster</a>;
 };</pre>
    </dd>
-  </dl><p>A <code><a href=#the-video-element>video</a></code> element is used for playing videos or
+  </dl><!--TOPIC:HTML--><p>A <code><a href=#the-video-element>video</a></code> element is used for playing videos or
   movies, and audio files with captions.</p>
 
   <p>Content may be provided inside the <code><a href=#the-video-element>video</a></code>
@@ -26882,13 +26906,13 @@
    <dd><code title=attr-media-loop><a href=#attr-media-loop>loop</a></code></dd>
    <dd><code title=attr-media-muted><a href=#attr-media-muted>muted</a></code></dd>
    <dd><code title=attr-media-controls><a href=#attr-media-controls>controls</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>[NamedConstructor=<a href=#dom-audio title=dom-Audio>Audio</a>(),
  NamedConstructor=<a href=#dom-audio-s title=dom-Audio-s>Audio</a>(DOMString src)]
 interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediaelement>HTMLMediaElement</a> {};</pre>
    </dd>
-  </dl><p>An <code><a href=#the-audio-element>audio</a></code> element <a href=#represents>represents</a> a sound or
+  </dl><!--TOPIC:HTML--><p>An <code><a href=#the-audio-element>audio</a></code> element <a href=#represents>represents</a> a sound or
   audio stream.</p>
 
   <!-- v2 (actually v3) suggestions:
@@ -27022,7 +27046,7 @@
    <dd><code title=attr-source-src><a href=#attr-source-src>src</a></code></dd>
    <dd><code title=attr-source-type><a href=#attr-source-type>type</a></code></dd>
    <dd><code title=attr-source-media><a href=#attr-source-media>media</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlsourceelement>HTMLSourceElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-source-src title=dom-source-src>src</a>;
@@ -27030,7 +27054,7 @@
            attribute DOMString <a href=#dom-source-media title=dom-source-media>media</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-source-element>source</a></code> element allows authors to specify
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-source-element>source</a></code> element allows authors to specify
   multiple alternative <a href=#media-resource title="media resource">media
   resources</a> for <a href=#media-element title="media element">media
   elements</a>. It does not <a href=#represents title=represents>represent</a> anything on its own.</p>
@@ -27210,7 +27234,7 @@
    <dd><code title=attr-track-srclang><a href=#attr-track-srclang>srclang</a></code></dd>
    <dd><code title=attr-track-label><a href=#attr-track-label>label</a></code></dd>
    <dd><code title=attr-track-default><a href=#attr-track-default>default</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmltrackelement>HTMLTrackElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-track-kind title=dom-track-kind>kind</a>;
@@ -27228,7 +27252,7 @@
   readonly attribute <a href=#texttrack>TextTrack</a> <a href=#dom-track-track title=dom-track-track>track</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-track-element>track</a></code> element allows authors to specify explicit
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-track-element>track</a></code> element allows authors to specify explicit
   external timed <a href=#text-track title="text track">text tracks</a> for <a href=#media-element title="media element">media elements</a>. It does not <a href=#represents title=represents>represent</a> anything on its own.</p>
 
   <p>The <dfn id=attr-track-kind title=attr-track-kind><code>kind</code></dfn>
@@ -32321,7 +32345,7 @@
 
 
 <!--TTVTT-->
-<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:HTML-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)">
   <div class=impl>
 
   <h6 id=guidelines-for-exposing-cues-in-various-formats-as-text-track-cues><span class=secno>4.8.10.12.4 </span><dfn>Guidelines for exposing cues</dfn> in various formats as
@@ -33310,7 +33334,7 @@
 
 <!--TTVTT-->
 
-<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:HTML-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)">
   <h5 id=webvtt-0><span class=secno>4.8.10.13 </span>WebVTT</h5>
 
   <p>The <dfn id=webvtt>WebVTT</dfn> format (Web Video Text Tracks) is a
@@ -35694,7 +35718,7 @@
     <tr><td><dfn id=event-mediacontroller-volumechange title=event-MediaController-volumechange><code>volumechange</code></dfn>
      <td><code><a href=#event>Event</a></code>
      <td>Either the <code title=dom-MediaController-volume><a href=#dom-mediacontroller-volume>volume</a></code> attribute or the <code title=dom-MediaController-muted><a href=#dom-mediacontroller-muted>muted</a></code> attribute has just been updated.
-  </table><div class=impl>
+  </table><!--ADD-TOPIC:Security--><div class=impl>
 
   <h5 id=security-and-privacy-considerations><span class=secno>4.8.10.18 </span>Security and privacy considerations</h5>
 
@@ -35742,6 +35766,7 @@
   present a serious confidentiality breach.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <h5 id=best-practices-for-authors-using-media-elements><span class=secno>4.8.10.19 </span>Best practices for authors using media elements</h5>
@@ -35849,7 +35874,7 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-canvas-width><a href=#attr-canvas-width>width</a></code></dd>
    <dd><code title=attr-canvas-height><a href=#attr-canvas-height>height</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--ADD-TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmlcanvaselement>HTMLCanvasElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute unsigned long <a href=#dom-canvas-width title=dom-canvas-width>width</a>;
@@ -35861,7 +35886,7 @@
   object? <a href=#dom-canvas-getcontext title=dom-canvas-getContext>getContext</a>(DOMString contextId, any... args);
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-canvas-element>canvas</a></code> element provides scripts with a
+  </dl><!--REMOVE-TOPIC:DOM APIs--><p>The <code><a href=#the-canvas-element>canvas</a></code> element provides scripts with a
   resolution-dependent bitmap canvas, which can be used for rendering
   graphs, game graphics, or other visual images on the fly.</p>
 
@@ -35973,7 +35998,7 @@
   context.fillRect(100,0,50,50); // only this square remains</pre>
   </div>
 
-  <hr><dl class=domintro><dt><var title="">context</var> = <var title="">canvas</var> . <code title=dom-canvas-getContext><a href=#dom-canvas-getcontext>getContext</a></code>(<var title="">contextId</var> [, ... ])</dt>
+  <hr><!--ADD-TOPIC:DOM APIs--><dl class=domintro><dt><var title="">context</var> = <var title="">canvas</var> . <code title=dom-canvas-getContext><a href=#dom-canvas-getcontext>getContext</a></code>(<var title="">contextId</var> [, ... ])</dt>
 
    <dd>
 
@@ -36226,7 +36251,9 @@
   metadata, etc.</p>
 
   </div>
+  <!--REMOVE-TOPIC:DOM APIs-->
 
+
   <!--2DCONTEXT-->
 
   <div data-component="HTML Canvas 2D Context (editor: Ian Hickson)">
@@ -39244,7 +39271,7 @@
 
   
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
   <!--2DCONTEXT-->
 
@@ -39290,6 +39317,7 @@
   </div>
 
 
+<!--ADD-TOPIC:Security-->
   <div class=impl>
 
   <h5 id=security-with-canvas-elements><span class=secno>4.8.11.3 </span>Security with <code><a href=#the-canvas-element>canvas</a></code> elements</h5>
@@ -39375,6 +39403,7 @@
   the <i>origin-clean</i> flag.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
 <!--TOPIC:HTML-->
@@ -39392,7 +39421,7 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-map-name><a href=#attr-map-name>name</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlmapelement>HTMLMapElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-map-name title=dom-map-name>name</a>;
@@ -39400,7 +39429,7 @@
   readonly attribute <a href=#htmlcollection>HTMLCollection</a> <a href=#dom-map-images title=dom-map-images>images</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-map-element>map</a></code> element, in conjunction with any
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-map-element>map</a></code> element, in conjunction with any
   <code><a href=#the-area-element>area</a></code> element descendants, defines an <a href=#image-map>image
   map</a>. The element <a href=#represents>represents</a> its children.</p>
 
@@ -39414,6 +39443,7 @@
   document. If the <code title=attr-id><a href=#the-id-attribute>id</a></code> attribute is also
   specified, both attributes must have the same value.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">map</var> . <code title=dom-map-areas><a href=#dom-map-areas>areas</a></code></dt>
 
    <dd>
@@ -39448,6 +39478,7 @@
   <a href=#reflect>reflect</a> the content attribute of the same name.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -39507,7 +39538,7 @@
    <dd><code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code></dd>
    <dd><code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code></dd>
    <dd><code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlareaelement>HTMLAreaElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-area-alt title=dom-area-alt>alt</a>;
@@ -39535,7 +39566,7 @@
            attribute DOMString <a href=#dom-area-hash title=dom-area-hash>hash</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-area-element>area</a></code> element <a href=#represents>represents</a> either a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-area-element>area</a></code> element <a href=#represents>represents</a> either a
   hyperlink with some text and a corresponding area on an <a href=#image-map>image
   map</a>, or a dead area on an image map.</p>
 
@@ -40193,7 +40224,7 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-table-border><a href=#attr-table-border>border</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmltableelement>HTMLTableElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute <a href=#htmltablecaptionelement>HTMLTableCaptionElement</a>? <a href=#dom-table-caption title=dom-table-caption>caption</a>;
@@ -40213,7 +40244,7 @@
            attribute DOMString <a href=#dom-table-border title=dom-table-border>border</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-table-element>table</a></code> element <a href=#represents>represents</a> data with
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-table-element>table</a></code> element <a href=#represents>represents</a> data with
   more than one dimension, in the form of a <a href=#concept-table title=concept-table>table</a>.</p>
 
   <p><span class=impl>The <code><a href=#the-table-element>table</a></code> element takes part in
@@ -40352,7 +40383,7 @@
 
   </div>
 
-  <hr><dl class=domintro><dt><var title="">table</var> . <code title=dom-table-caption><a href=#dom-table-caption>caption</a></code> [ = <var title="">value</var> ]</dt>
+  <hr><!--TOPIC:DOM APIs--><dl class=domintro><dt><var title="">table</var> . <code title=dom-table-caption><a href=#dom-table-caption>caption</a></code> [ = <var title="">value</var> ]</dt>
    <dd>
     <p>Returns the table's <code><a href=#the-caption-element>caption</a></code> element.</p>
     <p>Can be set, to replace the <code><a href=#the-caption-element>caption</a></code> element. If the
@@ -40605,6 +40636,7 @@
   same name.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -40897,11 +40929,11 @@
    <dd><a href=#flow-content>Flow content</a>, but with no descendant <code><a href=#the-table-element>table</a></code> elements.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmltablecaptionelement>HTMLTableCaptionElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
    </dd>
-  </dl><p>The <code><a href=#the-caption-element>caption</a></code> element <a href=#represents>represents</a> the title of the
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-caption-element>caption</a></code> element <a href=#represents>represents</a> the title of the
   <code><a href=#the-table-element>table</a></code> that is its parent, if it has a parent and that
   is a <code><a href=#the-table-element>table</a></code> element.</p>
 
@@ -40980,13 +41012,13 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-colgroup-span><a href=#attr-colgroup-span>span</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmltablecolelement>HTMLTableColElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute unsigned long <a href=#dom-colgroup-span title=dom-colgroup-span>span</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-colgroup-element>colgroup</a></code> element <a href=#represents>represents</a> a <a href=#concept-column-group title=concept-column-group>group</a> of one or more <a href=#concept-column title=concept-column>columns</a> in the <code><a href=#the-table-element>table</a></code> that
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-colgroup-element>colgroup</a></code> element <a href=#represents>represents</a> a <a href=#concept-column-group title=concept-column-group>group</a> of one or more <a href=#concept-column title=concept-column>columns</a> in the <code><a href=#the-table-element>table</a></code> that
   is its parent, if it has a parent and that is a <code><a href=#the-table-element>table</a></code>
   element.</p>
 
@@ -41021,13 +41053,13 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-col-span><a href=#attr-col-span>span</a></code></dd>
    <!-- v2: char, to specify the decimal character used in numeric data cells in the column (not header cells) -->
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <p><code><a href=#htmltablecolelement>HTMLTableColElement</a></code>, same as for
     <code><a href=#the-colgroup-element>colgroup</a></code> elements. This interface defines one member,
     <code title=dom-col-span><a href=#dom-col-span>span</a></code>.</p>
    </dd>
-  </dl><p>If a <code><a href=#the-col-element>col</a></code> element has a parent and that is a
+  </dl><!--TOPIC:HTML--><p>If a <code><a href=#the-col-element>col</a></code> element has a parent and that is a
   <code><a href=#the-colgroup-element>colgroup</a></code> element that itself has a parent that is a
   <code><a href=#the-table-element>table</a></code> element, then the <code><a href=#the-col-element>col</a></code> element
   <a href=#represents>represents</a> one or more <a href=#concept-column title=concept-column>columns</a> in the <a href=#concept-column-group title=concept-column-group>column group</a> represented by that
@@ -41064,7 +41096,7 @@
    <dd>Zero or more <code><a href=#the-tr-element>tr</a></code> elements</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmltablesectionelement>HTMLTableSectionElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   readonly attribute <a href=#htmlcollection>HTMLCollection</a> <a href=#dom-tbody-rows title=dom-tbody-rows>rows</a>;
@@ -41074,7 +41106,7 @@
     <p>The <code><a href=#htmltablesectionelement>HTMLTableSectionElement</a></code> interface is also
     used for <code><a href=#the-thead-element>thead</a></code> and <code><a href=#the-tfoot-element>tfoot</a></code> elements.</p>
    </dd>
-  </dl><p>The <code><a href=#the-tbody-element>tbody</a></code> element <a href=#represents>represents</a> a <a href=#concept-row-group title=concept-row-group>block</a> of <a href=#concept-row title=concept-row>rows</a> that consist of a body of data for
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-tbody-element>tbody</a></code> element <a href=#represents>represents</a> a <a href=#concept-row-group title=concept-row-group>block</a> of <a href=#concept-row title=concept-row>rows</a> that consist of a body of data for
   the parent <code><a href=#the-table-element>table</a></code> element, if the <code><a href=#the-tbody-element>tbody</a></code>
   element has a parent and it is a <code><a href=#the-table-element>table</a></code>.</p>
 
@@ -41085,6 +41117,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">tbody</var> . <code title=dom-tbody-rows><a href=#dom-tbody-rows>rows</a></code></dt>
    <dd>
     <p>Returns an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-tr-element>tr</a></code> elements of the table section.</p>
@@ -41136,6 +41169,7 @@
   instead throw an <code><a href=#indexsizeerror>IndexSizeError</a></code> exception.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <h4 id=the-thead-element><span class=secno>4.9.6 </span>The <dfn><code>thead</code></dfn> element</h4>
@@ -41153,10 +41187,10 @@
    <dd>Zero or more <code><a href=#the-tr-element>tr</a></code> elements</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd><code><a href=#htmltablesectionelement>HTMLTableSectionElement</a></code>, as defined for
    <code><a href=#the-tbody-element>tbody</a></code> elements.</dd>
-  </dl><p>The <code><a href=#the-thead-element>thead</a></code> element <a href=#represents>represents</a> the <a href=#concept-row-group title=concept-row-group>block</a> of <a href=#concept-row title=concept-row>rows</a> that consist of the column labels
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-thead-element>thead</a></code> element <a href=#represents>represents</a> the <a href=#concept-row-group title=concept-row-group>block</a> of <a href=#concept-row title=concept-row>rows</a> that consist of the column labels
   (headers) for the parent <code><a href=#the-table-element>table</a></code> element, if the
   <code><a href=#the-thead-element>thead</a></code> element has a parent and it is a
   <code><a href=#the-table-element>table</a></code>.</p>
@@ -41227,10 +41261,10 @@
    <dd>Zero or more <code><a href=#the-tr-element>tr</a></code> elements</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd><code><a href=#htmltablesectionelement>HTMLTableSectionElement</a></code>, as defined for
    <code><a href=#the-tbody-element>tbody</a></code> elements.</dd>
-  </dl><p>The <code><a href=#the-tfoot-element>tfoot</a></code> element <a href=#represents>represents</a> the <a href=#concept-row-group title=concept-row-group>block</a> of <a href=#concept-row title=concept-row>rows</a> that consist of the column summaries
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-tfoot-element>tfoot</a></code> element <a href=#represents>represents</a> the <a href=#concept-row-group title=concept-row-group>block</a> of <a href=#concept-row title=concept-row>rows</a> that consist of the column summaries
   (footers) for the parent <code><a href=#the-table-element>table</a></code> element, if the
   <code><a href=#the-tfoot-element>tfoot</a></code> element has a parent and it is a
   <code><a href=#the-table-element>table</a></code>.</p>
@@ -41259,7 +41293,7 @@
    <dd>Zero or more <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code> elements</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmltablerowelement>HTMLTableRowElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   readonly attribute long <a href=#dom-tr-rowindex title=dom-tr-rowIndex>rowIndex</a>;
@@ -41269,7 +41303,7 @@
   void <a href=#dom-tr-deletecell title=dom-tr-deleteCell>deleteCell</a>(long index);
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-tr-element>tr</a></code> element <a href=#represents>represents</a> a <a href=#concept-row title=concept-row>row</a> of <a href=#concept-cell title=concept-cell>cells</a> in a <a href=#concept-table title=concept-table>table</a>.</p>
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-tr-element>tr</a></code> element <a href=#represents>represents</a> a <a href=#concept-row title=concept-row>row</a> of <a href=#concept-cell title=concept-cell>cells</a> in a <a href=#concept-table title=concept-table>table</a>.</p>
 
   <div class=impl>
 
@@ -41278,6 +41312,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">tr</var> . <code title=dom-tr-rowIndex><a href=#dom-tr-rowindex>rowIndex</a></code></dt>
 
    <dd>
@@ -41389,6 +41424,7 @@
   instead throw an <code><a href=#indexsizeerror>IndexSizeError</a></code> exception.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <h4 id=the-td-element><span class=secno>4.9.9 </span>The <dfn><code>td</code></dfn> element</h4>
@@ -41405,11 +41441,11 @@
    <dd><code title=attr-tdth-rowspan><a href=#attr-tdth-rowspan>rowspan</a></code></dd>
    <dd><code title=attr-tdth-headers><a href=#attr-tdth-headers>headers</a></code></dd>
    <!-- v2 char, to specify the decimal character used in numeric cells -->
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmltabledatacellelement>HTMLTableDataCellElement</dfn> : <a href=#htmltablecellelement>HTMLTableCellElement</a> {};</pre>
    </dd>
-  </dl><p>The <code><a href=#the-td-element>td</a></code> element <a href=#represents>represents</a> a data <a href=#concept-cell title=concept-cell>cell</a> in a table.</p>
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-td-element>td</a></code> element <a href=#represents>represents</a> a data <a href=#concept-cell title=concept-cell>cell</a> in a table.</p>
 
   <div class=impl>
 
@@ -41434,13 +41470,13 @@
    <dd><code title=attr-tdth-rowspan><a href=#attr-tdth-rowspan>rowspan</a></code></dd>
    <dd><code title=attr-tdth-headers><a href=#attr-tdth-headers>headers</a></code></dd>
    <dd><code title=attr-th-scope><a href=#attr-th-scope>scope</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmltableheadercellelement>HTMLTableHeaderCellElement</dfn> : <a href=#htmltablecellelement>HTMLTableCellElement</a> {
            attribute DOMString <a href=#dom-th-scope title=dom-th-scope>scope</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-th-element>th</a></code> element <a href=#represents>represents</a> a header <a href=#concept-cell title=concept-cell>cell</a> in a table.</p>
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-th-element>th</a></code> element <a href=#represents>represents</a> a header <a href=#concept-cell title=concept-cell>cell</a> in a table.</p>
 
   <p>The <code><a href=#the-th-element>th</a></code> element may have a <dfn id=attr-th-scope title=attr-th-scope><code>scope</code></dfn> content attribute
   specified. The <code title=attr-th-scope><a href=#attr-th-scope>scope</a></code> attribute is
@@ -41599,6 +41635,7 @@
   readonly attribute long <a href=#dom-tdth-cellindex title=dom-tdth-cellIndex>cellIndex</a>;
 };</pre>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">cell</var> . <code title=dom-tdth-cellIndex><a href=#dom-tdth-cellindex>cellIndex</a></code></dt>
 
    <dd>
@@ -41637,6 +41674,7 @@
   0.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <div class=impl>
@@ -43286,7 +43324,7 @@
    <dd><code title=attr-form-name><a href=#attr-form-name>name</a></code></dd>
    <dd><code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code></dd>
    <dd><code title=attr-fs-target><a href=#attr-fs-target>target</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>[OverrideBuiltins]
 interface <dfn id=htmlformelement>HTMLFormElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
@@ -43310,7 +43348,7 @@
   boolean <a href=#dom-form-checkvalidity title=dom-form-checkValidity>checkValidity</a>();
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-form-element>form</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-form-element>form</a></code> element <a href=#represents>represents</a> a
   collection of <a href=#form-associated-element title="form-associated element">form-associated
   elements</a>, some of which can represent editable values that
   can be submitted to a server for processing.</p>
@@ -43346,6 +43384,7 @@
   <p>The <code title=attr-fs-action><a href=#attr-fs-action>action</a></code>, <code title=attr-fs-enctype><a href=#attr-fs-enctype>enctype</a></code>, <code title=attr-fs-method><a href=#attr-fs-method>method</a></code>, <code title=attr-fs-novalidate><a href=#attr-fs-novalidate>novalidate</a></code>, and <code title=attr-fs-target><a href=#attr-fs-target>target</a></code> attributes are <a href=#attributes-for-form-submission>attributes
   for form submission</a>.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">form</var> . <code title=dom-form-elements><a href=#dom-form-elements>elements</a></code></dt>
 
    <dd>
@@ -43556,6 +43595,7 @@
   false if it returned a <i>negative</i> result.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -43589,7 +43629,7 @@
    <dd><code title=attr-fieldset-disabled><a href=#attr-fieldset-disabled>disabled</a></code></dd>
    <dd><code title=attr-fae-form><a href=#attr-fae-form>form</a></code></dd>
    <dd><code title=attr-fe-name><a href=#attr-fe-name>name</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlfieldsetelement>HTMLFieldSetElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-fieldset-disabled title=dom-fieldset-disabled>disabled</a>;
@@ -43607,7 +43647,7 @@
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(DOMString error);
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-fieldset-element>fieldset</a></code> element <a href=#represents>represents</a> a set
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-fieldset-element>fieldset</a></code> element <a href=#represents>represents</a> a set
   of form controls optionally grouped under a common name.</p>
 
   <p>The name of the group is given by the first <code><a href=#the-legend-element>legend</a></code>
@@ -43625,6 +43665,7 @@
   <a href=#form-owner>form owner</a>. The <code title=attr-fe-name><a href=#attr-fe-name>name</a></code>
   attribute represents the element's name.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">fieldset</var> . <code title=dom-fieldset-type><a href=#dom-fieldset-type>type</a></code></dt>
 
    <dd>
@@ -43667,6 +43708,7 @@
   validation</a>.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -43754,17 +43796,18 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class=idl>interface <dfn id=htmllegendelement>HTMLLegendElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   readonly attribute <a href=#htmlformelement>HTMLFormElement</a>? <a href=#dom-legend-form title=dom-legend-form>form</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-legend-element>legend</a></code> element <a href=#represents>represents</a> a caption
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-legend-element>legend</a></code> element <a href=#represents>represents</a> a caption
   for the rest of the contents of the <code><a href=#the-legend-element>legend</a></code> element's
   parent <code><a href=#the-fieldset-element>fieldset</a></code> element<span class=impl>, if
   any</span>.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">legend</var> . <code title=dom-legend-form><a href=#dom-legend-form>form</a></code></dt>
 
    <dd>
@@ -43785,6 +43828,7 @@
   <code><a href=#the-fieldset-element>fieldset</a></code> element. Otherwise, it must return null.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -43804,7 +43848,7 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-fae-form><a href=#attr-fae-form>form</a></code></dd>
    <dd><code title=attr-label-for><a href=#attr-label-for>for</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmllabelelement>HTMLLabelElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   readonly attribute <a href=#htmlformelement>HTMLFormElement</a>? <a href=#dom-fae-form title=dom-fae-form>form</a>;
@@ -43812,7 +43856,7 @@
   readonly attribute <a href=#htmlelement>HTMLElement</a>? <a href=#dom-label-control title=dom-label-control>control</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-label-element>label</a></code> <a href=#represents>represents</a> a caption in a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-label-element>label</a></code> <a href=#represents>represents</a> a caption in a
   user interface. The caption can be associated with a specific form
   control<span class=impl>, known as the <code><a href=#the-label-element>label</a></code>
   element's <dfn id=labeled-control>labeled control</dfn></span>, either using <code title=attr-label-for><a href=#attr-label-for>for</a></code> attribute, or by putting the form
@@ -43873,6 +43917,23 @@
 
   </div>
 
+  <p>The <code title=attr-fae-form><a href=#attr-fae-form>form</a></code> attribute is used to
+  explicitly associate the <code><a href=#the-label-element>label</a></code> element with its
+  <a href=#form-owner>form owner</a>.</p>
+
+  <div class=example>
+
+   <p>The following example shows three form controls each with a
+   label, two of which have small text showing the right format for
+   users to use.</p>
+
+   <pre><p><label>Full name: <input name=fn> <small>Format: First Last</small></label></p>
+<p><label>Age: <input name=age type=number min=0></label></p>
+<p><label>Post code: <input name=pc> <small>Format: AB12 3CD</small></label></p></pre>
+
+  </div>
+
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">label</var> . <code title=dom-label-control><a href=#dom-label-control>control</a></code></dt>
 
    <dd>
@@ -43881,12 +43942,8 @@
 
    </dd>
 
-  </dl><p>The <code title=attr-fae-form><a href=#attr-fae-form>form</a></code> attribute is used to
-  explicitly associate the <code><a href=#the-label-element>label</a></code> element with its
-  <a href=#form-owner>form owner</a>.</p>
+  </dl><div class=impl>
 
-  <div class=impl>
-
   <p>The <dfn id=dom-label-htmlfor title=dom-label-htmlFor><code>htmlFor</code></dfn> IDL
   attribute must <a href=#reflect>reflect</a> the <code title=attr-label-for><a href=#attr-label-for>for</a></code> content attribute.</p>
 
@@ -43894,6 +43951,9 @@
   attribute must return the <code><a href=#the-label-element>label</a></code> element's <a href=#labeled-control>labeled
   control</a>, if any, or null if there isn't one.</p>
 
+  <p>The <code title=dom-fae-form><a href=#dom-fae-form>form</a></code> IDL attribute is part
+  of the element's forms API.</p>
+
   </div>
 
   <hr><dl class=domintro><dt><var title="">control</var> . <code title=dom-lfe-labels><a href=#dom-lfe-labels>labels</a></code></dt>
@@ -43915,24 +43975,10 @@
   of <a href=#category-label title=category-label>labelable elements</a>, on
   getting, must return that <code><a href=#nodelist>NodeList</a></code> object.</p>
 
-  <p>The <code title=dom-fae-form><a href=#dom-fae-form>form</a></code> IDL attribute is part
-  of the element's forms API.</p>
-
   </div>
+<!--TOPIC:HTML-->
 
-  <div class=example>
 
-   <p>The following example shows three form controls each with a
-   label, two of which have small text showing the right format for
-   users to use.</p>
-
-   <pre><p><label>Full name: <input name=fn> <small>Format: First Last</small></label></p>
-<p><label>Age: <input name=age type=number min=0></label></p>
-<p><label>Post code: <input name=pc> <small>Format: AB12 3CD</small></label></p></pre>
-
-  </div>
-
-
   <h4 id=the-input-element><span class=secno>4.10.7 </span>The <dfn><code>input</code></dfn> element</h4>
 
   <dl class=element><dt>Categories</dt>
@@ -43978,7 +44024,7 @@
    <dd><code title=attr-input-type><a href=#attr-input-type>type</a></code></dd>
    <dd><code title=attr-input-value><a href=#attr-input-value>value</a></code></dd>
    <dd><code title=attr-dim-width><a href=#attr-dim-width>width</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlinputelement>HTMLInputElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-input-accept title=dom-input-accept>accept</a>;
@@ -44036,7 +44082,7 @@
   void <a href=#dom-textarea/input-setselectionrange title=dom-textarea/input-setSelectionRange>setSelectionRange</a>(unsigned long start, unsigned long end, optional DOMString direction);
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-input-element>input</a></code> element <a href=#represents>represents</a> a typed data field,
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-input-element>input</a></code> element <a href=#represents>represents</a> a typed data field,
   usually with a form control to allow the user to edit the data.</p>
 
   <p>The <dfn id=attr-input-type title=attr-input-type><code>type</code></dfn>
@@ -47609,6 +47655,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">input</var> . <code title=dom-input-indeterminate><a href=#dom-input-indeterminate>indeterminate</a></code> [ = <var title="">value</var> ]</dt>
 
    <dd>
@@ -47618,7 +47665,7 @@
 
    </dd>
 
-  </dl><div class=bookkeeping>
+  </dl><!--TOPIC:HTML--><div class=bookkeeping>
 
    <p>The following common <code><a href=#the-input-element>input</a></code> element content
    attributes and IDL attributes apply to the element:
@@ -48260,6 +48307,7 @@
   <p>The <code title=attr-fs-formaction><a href=#attr-fs-formaction>formaction</a></code>, <code title=attr-fs-formenctype><a href=#attr-fs-formenctype>formenctype</a></code>, <code title=attr-fs-formmethod><a href=#attr-fs-formmethod>formmethod</a></code>, <code title=attr-fs-formnovalidate><a href=#attr-fs-formnovalidate>formnovalidate</a></code>, and <code title=attr-fs-formtarget><a href=#attr-fs-formtarget>formtarget</a></code> attributes are <a href=#attributes-for-form-submission>attributes
   for form submission</a>.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">image</var> . <code title=dom-input-width><a href=#dom-input-width>width</a></code> [ = <var title="">value</var> ]</dt>
    <dt><var title="">image</var> . <code title=dom-input-height><a href=#dom-input-height>height</a></code> [ = <var title="">value</var> ]</dt>
 
@@ -48273,7 +48321,7 @@
 
    </dd>
 
-  </dl><div class=bookkeeping>
+  </dl><!--TOPIC:HTML--><div class=bookkeeping>
 
    <p>The following common <code><a href=#the-input-element>input</a></code> element content
    attributes and IDL attributes apply to the element:
@@ -49310,6 +49358,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h5 id=common-input-element-apis><span class=secno>4.10.7.3 </span>Common <code><a href=#the-input-element>input</a></code> element APIs</h5>
 
   <dl class=domintro><dt><var title="">input</var> . <code title=dom-input-value><a href=#dom-input-value>value</a></code> [ = <var title="">value</var> ]</dt>
@@ -49583,6 +49632,7 @@
   any, or null otherwise.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <div class=impl>
@@ -49680,7 +49730,7 @@
    <dd><code title=attr-fe-name><a href=#attr-fe-name>name</a></code></dd>
    <dd><code title=attr-button-type><a href=#attr-button-type>type</a></code></dd>
    <dd><code title=attr-button-value><a href=#attr-button-value>value</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlbuttonelement>HTMLButtonElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-fe-autofocus title=dom-fe-autofocus>autofocus</a>;
@@ -49704,7 +49754,7 @@
   readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-button-element>button</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-button-element>button</a></code> element <a href=#represents>represents</a> a
   button. <span class=impl>If the element is not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a>, then the user agent
   should allow the user to activate the button.</span></p>
 
@@ -49848,7 +49898,7 @@
    <dd><code title=attr-fe-name><a href=#attr-fe-name>name</a></code></dd>
    <dd><code title=attr-select-required><a href=#attr-select-required>required</a></code></dd>
    <dd><code title=attr-select-size><a href=#attr-select-size>size</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlselectelement>HTMLSelectElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-fe-autofocus title=dom-fe-autofocus>autofocus</a>;
@@ -49885,7 +49935,7 @@
   readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
-  </dl><!-- Proposals for v2:
+  </dl><!--TOPIC:HTML--><!-- Proposals for v2:
        * <select value=""> as an alternative to <option selected>
          http://developers.slashdot.org/comments.pl?sid=426306&cid=22142072
          <Philip`> http://www.ipiao.com.cn/ does <select size="1" name="to"><script>City_Default="PEK"</script><SCRIPT language=javascript
@@ -50052,6 +50102,7 @@
   submitted. The <code title=attr-fe-autofocus><a href=#attr-fe-autofocus>autofocus</a></code>
   attribute controls focus.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">select</var> . <code title=dom-select-type><a href=#dom-select-type>type</a></code></dt>
 
    <dd>
@@ -50238,6 +50289,7 @@
   element's forms API.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -50325,13 +50377,13 @@
    <dd>Or: Zero or more <code><a href=#the-option-element>option</a></code> elements.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmldatalistelement>HTMLDataListElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   readonly attribute <a href=#htmlcollection>HTMLCollection</a> <a href=#dom-datalist-options title=dom-datalist-options>options</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-datalist-element>datalist</a></code> element represents a set of
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-datalist-element>datalist</a></code> element represents a set of
   <code><a href=#the-option-element>option</a></code> elements that represent predefined options for
   other controls. The contents of the element represents fallback
   content for legacy user agents, intermixed with <code><a href=#the-option-element>option</a></code>
@@ -50348,6 +50400,7 @@
   <code><a href=#the-datalist-element>datalist</a></code> element, that is not <a href=#concept-option-disabled title=concept-option-disabled>disabled</a>, and whose <a href=#concept-option-value title=concept-option-value>value</a> is a string that isn't the
   empty string, represents a suggestion. Each suggestion has a <a href=#concept-option-value title=concept-option-value>value</a> and a <a href=#concept-option-label title=concept-option-label>label</a>.
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">datalist</var> . <code title=dom-datalist-options><a href=#dom-datalist-options>options</a></code></dt>
 
    <dd>
@@ -50366,6 +50419,7 @@
   constraint validation</a>.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <h4 id=the-optgroup-element><span class=secno>4.10.11 </span>The <dfn><code>optgroup</code></dfn> element</h4>
@@ -50380,14 +50434,14 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-optgroup-disabled><a href=#attr-optgroup-disabled>disabled</a></code></dd>
    <dd><code title=attr-optgroup-label><a href=#attr-optgroup-label>label</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmloptgroupelement>HTMLOptGroupElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-optgroup-disabled title=dom-optgroup-disabled>disabled</a>;
            attribute DOMString <a href=#dom-optgroup-label title=dom-optgroup-label>label</a>;
 };</pre>
    </dd>
-  </dl><!-- v2: make optgroups selectable if they have a value. --><p>The <code><a href=#the-optgroup-element>optgroup</a></code> element <a href=#represents>represents</a> a group of
+  </dl><!--TOPIC:HTML--><!-- v2: make optgroups selectable if they have a value. --><p>The <code><a href=#the-optgroup-element>optgroup</a></code> element <a href=#represents>represents</a> a group of
   <code><a href=#the-option-element>option</a></code> elements with a common label.</p>
 
   <p>The element's group of <code><a href=#the-option-element>option</a></code> elements consists of
@@ -50469,7 +50523,7 @@
    <dd><code title=attr-option-label><a href=#attr-option-label>label</a></code></dd>
    <dd><code title=attr-option-selected><a href=#attr-option-selected>selected</a></code></dd>
    <dd><code title=attr-option-value><a href=#attr-option-value>value</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>[NamedConstructor=<a href=#dom-option title=dom-option>Option</a>(),
  NamedConstructor=<a href=#dom-option-t title=dom-option-t>Option</a>(DOMString text),
@@ -50488,7 +50542,7 @@
   readonly attribute long <a href=#dom-option-index title=dom-option-index>index</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-option-element>option</a></code> element <a href=#represents>represents</a> an option
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-option-element>option</a></code> element <a href=#represents>represents</a> an option
   in a <code><a href=#the-select-element>select</a></code> element or as part of a list of suggestions
   in a <code><a href=#the-datalist-element>datalist</a></code> element.</p>
 
@@ -50567,6 +50621,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">option</var> . <code title=dom-option-selected><a href=#dom-option-selected>selected</a></code></dt>
 
    <dd>
@@ -50686,6 +50741,7 @@
   invoked constructor is found.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -50715,7 +50771,7 @@
    <dd><code title=attr-textarea-required><a href=#attr-textarea-required>required</a></code></dd>
    <dd><code title=attr-textarea-rows><a href=#attr-textarea-rows>rows</a></code></dd>
    <dd><code title=attr-textarea-wrap><a href=#attr-textarea-wrap>wrap</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmltextareaelement>HTMLTextAreaElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-fe-autofocus title=dom-fe-autofocus>autofocus</a>;
@@ -50751,7 +50807,7 @@
   void <a href=#dom-textarea/input-setselectionrange title=dom-textarea/input-setSelectionRange>setSelectionRange</a>(unsigned long start, unsigned long end, optional DOMString direction);
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-textarea-element>textarea</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-textarea-element>textarea</a></code> element <a href=#represents>represents</a> a
   multiline plain text edit control<span class=impl> for the
   element's <dfn id=concept-textarea-raw-value title=concept-textarea-raw-value>raw
   value</dfn></span>. The contents of the control represent the
@@ -51005,6 +51061,7 @@
   submitted. The <code title=attr-fe-autofocus><a href=#attr-fe-autofocus>autofocus</a></code>
   attribute controls focus.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">textarea</var> . <code title=attr-textarea-type>type</code></dt>
 
    <dd>
@@ -51072,6 +51129,7 @@
   element's forms API.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -51121,7 +51179,7 @@
    <dd><code title=attr-fae-form><a href=#attr-fae-form>form</a></code></dd>
    <dd><code title=attr-keygen-keytype><a href=#attr-keygen-keytype>keytype</a></code></dd>
    <dd><code title=attr-fe-name><a href=#attr-fe-name>name</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlkeygenelement>HTMLKeygenElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-fe-autofocus title=dom-fe-autofocus>autofocus</a>;
@@ -51142,7 +51200,7 @@
   readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-keygen-element>keygen</a></code> element <a href=#represents>represents</a> a key
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-keygen-element>keygen</a></code> element <a href=#represents>represents</a> a key
   pair generator control. When the control's form is submitted, the
   private key is stored in the local keystore, and the public key is
   packaged and sent to the server.</p>
@@ -51330,6 +51388,7 @@
   submitted. The <code title=attr-fe-autofocus><a href=#attr-fe-autofocus>autofocus</a></code>
   attribute controls focus.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">keygen</var> . <code title=attr-keygen-type>type</code></dt>
 
    <dd>
@@ -51359,6 +51418,7 @@
   element's forms API.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <p class=note>This specification does not specify how the private
   key generated is to be used. It is expected that after receiving the
@@ -51409,7 +51469,7 @@
    <dd><code title=attr-output-for><a href=#attr-output-for>for</a></code></dd>
    <dd><code title=attr-fae-form><a href=#attr-fae-form>form</a></code></dd>
    <dd><code title=attr-fe-name><a href=#attr-fe-name>name</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmloutputelement>HTMLOutputElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
   [PutForwards=<span title=dom-DOMSettableTokenList-value>value</span>] readonly attribute <a href=#domsettabletokenlist>DOMSettableTokenList</a> <a href=#dom-output-htmlfor title=dom-output-htmlFor>htmlFor</a>;
@@ -51429,7 +51489,7 @@
   readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-output-element>output</a></code> element <a href=#represents>represents</a> the result of a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-output-element>output</a></code> element <a href=#represents>represents</a> the result of a
   calculation.</p>
 
   <p>The <dfn id=attr-output-for title=attr-output-for><code>for</code></dfn> content
@@ -51486,6 +51546,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">output</var> . <code title=dom-output-value><a href=#dom-output-value>value</a></code> [ = <var title="">value</var> ]</dt>
 
    <dd>
@@ -51546,6 +51607,7 @@
   validation</a>.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class=example>
 
@@ -51577,7 +51639,7 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-progress-value><a href=#attr-progress-value>value</a></code></dd>
    <dd><code title=attr-progress-max><a href=#attr-progress-max>max</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlprogresselement>HTMLProgressElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute double <a href=#dom-progress-value title=dom-progress-value>value</a>;
@@ -51586,7 +51648,7 @@
   readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-progress-element>progress</a></code> element <a href=#represents>represents</a> the
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-progress-element>progress</a></code> element <a href=#represents>represents</a> the
   completion progress of a task. The progress is either indeterminate,
   indicating that progress is being made but that it is not clear how
   much more work remains to be done before the task is complete (e.g.
@@ -51682,6 +51744,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">progress</var> . <code title=dom-progress-position><a href=#dom-progress-position>position</a></code></dt>
 
    <dd>
@@ -51725,6 +51788,7 @@
   a list of the element's <code><a href=#the-label-element>label</a></code>s.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -51748,7 +51812,7 @@
    <dd><code title=attr-meter-low><a href=#attr-meter-low>low</a></code></dd>
    <dd><code title=attr-meter-high><a href=#attr-meter-high>high</a></code></dd>
    <dd><code title=attr-meter-optimum><a href=#attr-meter-optimum>optimum</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlmeterelement>HTMLMeterElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute double <a href=#dom-meter-value title=dom-meter-value>value</a>;
@@ -51760,7 +51824,7 @@
   readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-meter-element>meter</a></code> element <a href=#represents>represents</a> a scalar
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-meter-element>meter</a></code> element <a href=#represents>represents</a> a scalar
   measurement within a known range, or a fractional value; for example
   disk usage, the relevance of a query result, or the fraction of a
   voting population to have selected a particular candidate.</p>
@@ -52247,6 +52311,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">element</var> . <code title=dom-fae-form><a href=#dom-fae-form>form</a></code></dt>
 
    <dd>
@@ -52265,6 +52330,7 @@
   null if there isn't one.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -52626,6 +52692,7 @@
   string.</p>
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=textFieldSelection><span class=secno>4.10.20 </span>APIs for the text field selections</h4>
 
   <!-- v2 idea: DOM Range APIs to expose the textarea/input edited
@@ -52848,6 +52915,7 @@
    or <code><a href=#the-textarea-element>textarea</a></code> element.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -53027,6 +53095,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h5 id=the-constraint-validation-api><span class=secno>4.10.21.3 </span>The <dfn>constraint validation API</dfn></h5>
 
   <dl class=domintro><dt><var title="">element</var> . <code title=dom-cva-willValidate><a href=#dom-cva-willvalidate>willValidate</a></code></dt>
@@ -53256,8 +53325,10 @@
   value.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
+<!--ADD-TOPIC:Security-->
   <h5 id=security-forms><span class=secno>4.10.21.4 </span>Security</h5>
 
   <p id=security-0>Servers should not rely on client-side
@@ -53266,6 +53337,7 @@
   agents or automated tools that do not implement these features. The
   constraint validation features are only intended to improve the user
   experience, not to provide any kind of security mechanism.</p>
+<!--REMOVE-TOPIC:Security-->
 
 
 
@@ -54328,13 +54400,13 @@
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-details-open><a href=#attr-details-open>open</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmldetailselement>HTMLDetailsElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute boolean <a href=#dom-details-open title=dom-details-open>open</a>;
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-details-element>details</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-details-element>details</a></code> element <a href=#represents>represents</a> a
   disclosure widget from which the user can obtain additional
   information or controls.</p>
 
@@ -54454,9 +54526,9 @@
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt>Content attributes:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
-  </dl><p>The <code><a href=#the-summary-element>summary</a></code> element <a href=#represents>represents</a> a
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-summary-element>summary</a></code> element <a href=#represents>represents</a> a
   summary, caption, or legend for the rest of the contents of the
   <code><a href=#the-summary-element>summary</a></code> element's parent <code><a href=#the-details-element>details</a></code>
   element<span class=impl>, if any</span>.</p>
@@ -54485,7 +54557,7 @@
    <dd><code title=attr-command-radiogroup><a href=#attr-command-radiogroup>radiogroup</a></code></dd>
    <!--<dd><code title="attr-command-default">default</code></dd>-->
    <dd>Also, the <code title=attr-command-title><a href=#attr-command-title>title</a></code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlcommandelement>HTMLCommandElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-command-type title=dom-command-type>type</a>;
@@ -54497,7 +54569,7 @@
            attribute boolean <span title="dom-command-default">default</span>;-->
 };</pre>
    </dd>
-  </dl><p>The <code><a href=#the-command-element>command</a></code> element represents a command that the user
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-command-element>command</a></code> element represents a command that the user
   can invoke.</p>
 
   <p>A command can be part of a context menu or toolbar, using the
@@ -54699,13 +54771,13 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-menu-type><a href=#attr-menu-type>type</a></code></dd>
    <dd><code title=attr-menu-label><a href=#attr-menu-label>label</a></code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class=idl>interface <dfn id=htmlmenuelement>HTMLMenuElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-menu-type title=dom-menu-type>type</a>;
            attribute DOMString <a href=#dom-menu-label title=dom-menu-label>label</a>;
 };</pre>
-  </dl><p>The <code><a href=#the-menu-element>menu</a></code> element represents a list of commands.</p>
+  </dl><!--TOPIC:HTML--><p>The <code><a href=#the-menu-element>menu</a></code> element represents a list of commands.</p>
 
   <!-- v2 idea: <menu> should get an icon, like <command> -->
 
@@ -55109,7 +55181,7 @@
    way to refer to it.</dd>
 -->
 
-  </dl><p>These facets are exposed on elements using the <dfn id=command-api>command
+  </dl><!--TOPIC:DOM APIs--><p>These facets are exposed on elements using the <dfn id=command-api>command
   API</dfn>:</p>
 
   <dl class=domintro><dt><var title="">element</var> . <code title=dom-command-ro-commandType><a href=#dom-command-ro-commandtype>commandType</a></code></dt>
@@ -55271,6 +55343,7 @@
   node, whose filter matches only elements that <a href=#concept-command title=concept-command>define commands</a> and have <a href=#command-facet-id title=command-facet-ID>IDs</a>.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <hr><p>User agents may expose the <a href=#concept-command title=concept-command>commands</a> whose <a href=#command-facet-hiddenstate title=command-facet-HiddenState>Hidden State</a> facet is false
   (visible) and whose elements are <a href=#in-a-document>in a
@@ -62404,6 +62477,7 @@
   the user agent's interface, apart from the main content area.</p>
 
 
+<!--ADD-TOPIC:Security-->
   <div class=impl>
 
   <h4 id=security-nav><span class=secno>6.1.4 </span>Security</h4>
@@ -62446,6 +62520,7 @@
   the <a href=#origin>origin</a> of the element's <code><a href=#document>Document</a></code>.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <div class=impl>
@@ -62793,7 +62868,7 @@
 
 
 
-
+<!--TOPIC:DOM APIs-->
   <h3 id=the-window-object><span class=secno>6.2 </span>The <code><a href=#window>Window</a></code> object</h3>
 
   <pre class=idl>[ReplaceableNamedProperties]
@@ -62976,6 +63051,7 @@
   </div>
 
 
+<!--ADD-TOPIC:Security-->
   <div class=impl>
 
   <h4 id=security-window><span class=secno>6.2.1 </span>Security</h4>
@@ -63022,6 +63098,7 @@
   </div>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
 
@@ -63579,9 +63656,11 @@
   </div>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
+<!--TOPIC:Security-->
   <h3 id=origin-0><span class=secno>6.3 </span>Origin</h3>
   <!-- Hallowed are the Ori -->
 
@@ -64096,9 +64175,9 @@
   the same host will fail, as the ports are ignored when comparing
   origins after the <code title=dom-document-domain><a href=#dom-document-domain>document.domain</a></code> attribute has
   been used.</p>
+<!--TOPIC:HTML-->
 
 
-
   <h3 id=history><span class=secno>6.4 </span>Session history and navigation</h3>
 
   <h4 id=the-session-history-of-browsing-contexts><span class=secno>6.4.1 </span>The session history of browsing contexts</h4>
@@ -64244,6 +64323,7 @@
   </div>
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=the-history-interface><span class=secno>6.4.2 </span>The <code><a href=#history-0>History</a></code> interface</h4>
 
   <pre class=idl>interface <dfn id=history-0>History</dfn> {
@@ -64320,7 +64400,7 @@
 
    </dd>
 
-  </dl><p>The <dfn id=joint-session-history>joint session history</dfn> of a <code><a href=#history-0>History</a></code>
+  </dl><!--TOPIC:HTML--><p>The <dfn id=joint-session-history>joint session history</dfn> of a <code><a href=#history-0>History</a></code>
   object is the union of all the <a href=#session-history title="session history">session
   histories</a> of all <a href=#browsing-context title="browsing context">browsing
   contexts</a> of all the <a href=#fully-active>fully active</a>
@@ -64346,6 +64426,7 @@
   subsequent entries are numbered with consecutively increasing
   integers (1, 2, 3, etc).</p>
 
+<!--TOPIC:DOM APIs-->
   <div class=impl>
 
   <p>The <dfn id=dom-history-length title=dom-history-length><code>length</code></dfn>
@@ -64373,6 +64454,7 @@
   <p>When the <dfn id=dom-history-forward title=dom-history-forward><code>forward()</code></dfn>method is
   invoked, the user agent must <a href=#traverse-the-history-by-a-delta>traverse the history by a
   delta</a> +1.</p>
+<!--TOPIC:HTML-->
 
   <p>To <dfn id=traverse-the-history-by-a-delta>traverse the history by a delta</dfn> <var title="">delta</var>, the user agent must <a href=#queue-a-task>queue a task</a>
   to run the following steps. The <a href=#task-source>task source</a> for the
@@ -64420,7 +64502,7 @@
   <a href=#traverse-the-history-by-a-delta>traverse the history by a delta</a> equivalent to the
   action specified by the user.</p>
 
-  <hr><p>The <dfn id=dom-history-pushstate title=dom-history-pushState><code>pushState(<var title="">data</var>, <var title="">title</var>, <var title="">url</var>)</code></dfn> method adds a state object entry to
+  <hr><!--TOPIC:DOM APIs--><p>The <dfn id=dom-history-pushstate title=dom-history-pushState><code>pushState(<var title="">data</var>, <var title="">title</var>, <var title="">url</var>)</code></dfn> method adds a state object entry to
   the history.</p>
 
   <p>The <dfn id=dom-history-replacestate title=dom-history-replaceState><code>replaceState(<var title="">data</var>, <var title="">title</var>, <var title="">url</var>)</code></dfn> method updates the state object,
@@ -64557,6 +64639,7 @@
   that <code><a href=#document>Document</a></code> object in the session history after
   having added the new entry. (Thus the state history acts as a FIFO
   buffer for eviction, but as a LIFO buffer for navigation.)</p>
+<!--TOPIC:HTML-->
 
   </div>
 
@@ -64659,6 +64742,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=the-location-interface><span class=secno>6.4.3 </span>The <code><a href=#location>Location</a></code> interface</h4>
 
   <p>Each <code><a href=#document>Document</a></code> object in a <a href=#browsing-context>browsing
@@ -64853,8 +64937,10 @@
   attribute), and the <a href=#concept-uda-setter title=concept-uda-setter>common setter
   action</a> being the same as setting the <code title=dom-location-href><a href=#dom-location-href>href</a></code> attribute to the new output
   value.</span></p>
+<!--TOPIC:HTML-->
 
 
+<!--ADD-TOPIC:Security-->
   <div class=impl>
 
   <h5 id=security-location><span class=secno>6.4.3.1 </span>Security</h5>
@@ -64878,6 +64964,7 @@
    the <code><a href=#location>Location</a></code> object is associated
 
   </ul></div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <div class=impl>
@@ -64903,6 +64990,7 @@
   with just one "Back" button, with a session history that interleaves
   the navigation of the two inner frames and the outer page.</p>
 
+<!--ADD-TOPIC:Security-->
   <p><strong>Security</strong>: It is suggested that to avoid letting
   a page "hijack" the history navigation facilities of a UA by abusing
   <code title=dom-history-pushState><a href=#dom-history-pushstate>pushState()</a></code>, the UA
@@ -64917,6 +65005,7 @@
   <p>In addition, a user agent could ignore calls to <code title=dom-history-pushState><a href=#dom-history-pushstate>pushState()</a></code> that are invoked on
   a timer, or from event listeners that are not triggered in response
   to a clear user action, or that are invoked in rapid succession.</p>
+<!--REMOVE-TOPIC:Security-->
 
   </div>
 
@@ -70723,6 +70812,7 @@
 
   <h4 id=printing><span class=secno>7.4.2 </span>Printing</h4>
 
+<!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">window</var> . <code title=dom-print><a href=#dom-print>print</a></code>()</dt>
 
    <dd>
@@ -70742,6 +70832,7 @@
   the <a href=#printing-steps>printing steps</a>. Otherwise, the user agent must only
   set the <dfn id=print-when-loaded>print when loaded</dfn> flag on the
   <code><a href=#document>Document</a></code>.</p>
+<!--TOPIC:HTML-->
 
   <p>User agents should also run the <a href=#printing-steps>printing steps</a>
   whenever the user asks for the opportunity to <a href=#obtain-a-physical-form>obtain a
@@ -70819,6 +70910,7 @@
   </ol></div>
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=dialogs-implemented-using-separate-documents><span class=secno>7.4.3 </span>Dialogs implemented using separate documents</h4>
 
   <dl class=domintro><dt><var title="">result</var> = <var title="">window</var> . <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog</a></code>(<var title="">url</var> [, <var title="">argument</var>] )</dt>
@@ -71048,10 +71140,10 @@
 
   <p class=note>The <code title=dom-window-close><a href=#dom-window-close>window.close()</a></code> method can be used to
   close the browsing context.</p>
+<!--TOPIC:HTML-->
 
 
-
-
+<!--TOPIC:DOM APIs-->
   <h3 id=system-state-and-capabilities><span class=secno>7.5 </span>System state and capabilities</h3>
 
   <h4 id=the-navigator-object><span class=secno>7.5.1 </span>The <code><a href=#navigator>Navigator</a></code> object</h4>
@@ -71637,6 +71729,8 @@
   </ol></div>
 
 
+
+<!--ADD-TOPIC:Security-->
   <div class=impl>
 
   <h5 id=security-and-privacy><span class=secno>7.5.1.3 </span>Security and privacy</h5>
@@ -71719,6 +71813,7 @@
   decision many users are unable to make or even understand).</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <div class=impl>
@@ -71939,6 +72034,7 @@
     <li><p>Return 1.</li>
 
    </ol></div>
+<!--TOPIC:HTML-->
 
 
 
@@ -72025,6 +72121,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h3 id=activation><span class=secno>8.2 </span>Activation</h3>
 
   <!-- v2 idea: HTMLImageElement.click(x, y); or clickPoint(), if
@@ -72048,6 +72145,7 @@
   element.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <h3 id=focus><span class=secno>8.3 </span>Focus</h3>
@@ -72330,6 +72428,7 @@
   </div>
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id=document-level-focus-apis><span class=secno>8.3.3 </span>Document-level focus APIs</h4>
 
   <dl class=domintro><dt><var title="">document</var> . <code title=dom-document-activeElement><a href=#dom-document-activeelement>activeElement</a></code></dt>
@@ -72473,6 +72572,7 @@
   allow keyboard users to interact with the page.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -75459,6 +75559,7 @@
 -->
 
 
+<!--ADD-TOPIC:Security-->
   <div class=impl>
 
   <h4 id=security-risks-in-the-drag-and-drop-model><span class=secno>8.6.9 </span>Security risks in the drag-and-drop model</h4>
@@ -75485,10 +75586,11 @@
   documents without the user's consent.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
 <!--FIND-->
-
+<!--TOPIC:DOM APIs-->
   <h3 id=text-search-apis><span class=secno>8.7 </span>Text search APIs</h3> <!-- window.find() -->
 
   <p class=critical>This legacy API is not very interoperably
@@ -75542,12 +75644,12 @@
   <p class=XXX><dfn id=dom-find title=dom-find>window.find()</dfn> goes here</p>
 
 <!--FIND-->
+<!--TOPIC:HTML-->
 
 
 
-
 <!--PEERCONNECTION-->
-<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:HTML-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)">
 
   <h2 id=video-conferencing-and-peer-to-peer-communication><span class=secno>9 </span>Video conferencing and peer-to-peer communication</h2>
 
@@ -80226,7 +80328,7 @@
 
 
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 
 
@@ -80234,7 +80336,7 @@
 
   <h2 id=comms><span class=secno>11 </span>Communication</h2>
 
-  <div data-component="Web Messaging (editor: Ian Hickson)"><!--TOPIC:HTML-->
+  <div data-component="Web Messaging (editor: Ian Hickson)"><!--TOPIC:DOM APIs-->
 
 
 
@@ -80350,7 +80452,7 @@
 
   
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 <!--POSTMSG-->
 
@@ -81201,6 +81303,7 @@
     </dl></dd>
    <dt>Encoding considerations:</dt>
    <dd>8bit (always UTF-8)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
 
@@ -81220,6 +81323,7 @@
     prevent conforming clients from reconnecting automatically.</p>
 
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules for processing both conforming and non-conforming content
@@ -81277,7 +81381,7 @@
    </dd>
    <dt>Related information</dt>
    <dd>None.</dd>
-  </dl></div><!--data-component--><!--TOPIC:HTML-->
+  </dl></div><!--data-component-->
 
 
   <h3 id=network><span class=secno>11.3 </span><dfn>Web sockets</dfn></h3>
@@ -82015,14 +82119,14 @@
 
    </dd>
 
-  </dl></div><!--data-component--><!--TOPIC:HTML-->
+  </dl></div><!--data-component-->
 
 
 <!--POSTMSG-->
 
 
 
-  <div data-component="Web Messaging (editor: Ian Hickson)"><!--TOPIC:HTML-->
+  <div data-component="Web Messaging (editor: Ian Hickson)"><!--TOPIC:DOM APIs-->
 
   
 
@@ -82088,6 +82192,7 @@
   </div>
 
 
+<!--ADD-TOPIC:Security-->
   <h4 id=security-postmsg><span class=secno>11.4.2 </span>Security</h4>
 
   <div class=impl>
@@ -82147,6 +82252,7 @@
   protect naïve sites from denial-of-service attacks.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <h4 id=posting-messages><span class=secno>11.4.3 </span>Posting messages</h4>
@@ -82938,7 +83044,7 @@
 
 
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 <!--POSTMSG-->
 
@@ -83294,6 +83400,7 @@
   <a href=#obtain-the-storage-mutex>obtain the storage mutex</a>.</p>
 
 
+<!--ADD-TOPIC:Security-->
   <h5 id=security-localStorage><span class=secno>12.2.3.1 </span>Security</h5>
 
   <p>User agents must throw a <code><a href=#securityerror>SecurityError</a></code> exception
@@ -83308,6 +83415,7 @@
   <p class=note>This means <code><a href=#storage-0>Storage</a></code> objects are neutered
   when the <code title=dom-document-domain><a href=#dom-document-domain>document.domain</a></code>
   attribute is used.</p>
+<!--REMOVE-TOPIC:Security-->
 
 
 
@@ -83580,6 +83688,7 @@
   it is promptly deleted from the underlying storage.</p>
 
 
+<!--ADD-TOPIC:Security-->
   <h3 id=security-storage><span class=secno>12.5 </span>Security</h3>
 
   <h4 id=dns-spoofing-attacks><span class=secno>12.5.1 </span>DNS spoofing attacks</h4>
@@ -83631,10 +83740,11 @@
 
   <p>Thus, strictly following the <a href=#origin>origin</a> model described
   in this specification is important for user security.</p>
+<!--REMOVE-TOPIC:Security-->
 
 
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 
 
@@ -98290,6 +98400,7 @@
     8bit (see the section on <a href=#character-encoding-declaration title="character encoding
     declaration">character encoding declarations</a>)
    </dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
 
@@ -98332,6 +98443,7 @@
     rights granted to that origin.</p>
 
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules for processing both conforming and non-conforming content
@@ -98401,12 +98513,14 @@
    <dd>No optional parameters.</dd>
    <dt>Encoding considerations:</dt>
    <dd>binary</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     Subresources of a <code><a href=#multipart/x-mixed-replace>multipart/x-mixed-replace</a></code>
     resource can be of any type, including types with non-trivial
     security implications such as <code><a href=#text/html>text/html</a></code>.
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     None.
@@ -98469,8 +98583,10 @@
    <dd>Same as for <code>application/xml</code> <a href=#refsRFC3023>[RFC3023]</a></dd>
    <dt>Encoding considerations:</dt>
    <dd>Same as for <code>application/xml</code> <a href=#refsRFC3023>[RFC3023]</a></dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>Same as for <code>application/xml</code> <a href=#refsRFC3023>[RFC3023]</a></dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>Same as for <code>application/xml</code> <a href=#refsRFC3023>[RFC3023]</a></dd>
    <dt id=authors-using-xhtml>Published specification:</dt>
@@ -98529,6 +98645,7 @@
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
    <dd>7bit (US-ASCII encoding of octets that themselves can be encoding text using any <a href=#ascii-compatible-character-encoding>ASCII-compatible character encoding</a>)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     <p>In isolation, an <code><a href=#application/x-www-form-urlencoded>application/x-www-form-urlencoded</a></code>
@@ -98536,6 +98653,7 @@
     used as part of a form submission, all the risks that apply to
     HTML forms need to be considered in the context of this type.</p>
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules for generating and processing
@@ -98598,6 +98716,7 @@
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
    <dd>8bit (always UTF-8)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     <p>Cache manifests themselves pose no immediate risk unless
@@ -98609,6 +98728,7 @@
     information leakage, cross-site scripting attacks, and the
     like.</p>
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules for processing both conforming and non-conforming content
@@ -98669,12 +98789,14 @@
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
    <dd>Not applicable.</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     <p>If used exclusively in the fashion described in the context of
     <a href=#hyperlink-auditing>hyperlink auditing</a>, this type introduces no new
     security concerns.</p>
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules applicable to this type are defined in this specification.
@@ -98713,7 +98835,7 @@
 <!--PING-->
 
 <!--TTVTT-->
-<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:HTML-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:Video Text Tracks-->
   <h3 id=text/vtt><span class=secno>17.7 </span><dfn><code>text/vtt</code></dfn></h3>
 
   <p>This registration is for community review and will be submitted
@@ -98734,6 +98856,7 @@
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
    <dd>8bit (always UTF-8)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     <p>Text track files themselves pose no immediate risk unless
@@ -98744,6 +98867,7 @@
     implement these rules can result in information leakage,
     cross-site scripting attacks, and the like.</p>
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     <p>Rules for processing both conforming and non-conforming content
@@ -98791,7 +98915,7 @@
   </dl><p>Fragment identifiers have no meaning with
   <code><a href=#text/vtt>text/vtt</a></code> resources.</p>
 </div>
-<!--TTVTT-->
+<!--TTVTT--><!--TOPIC:HTML-->
 
 <!--MD-->
 
@@ -98816,8 +98940,10 @@
    <dd>Same as for <code>application/json</code> <a href=#refsJSON>[JSON]</a></dd>
    <dt>Encoding considerations:</dt>
    <dd>8bit (always UTF-8)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>Same as for <code>application/json</code> <a href=#refsJSON>[JSON]</a></dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>Same as for <code>application/json</code> <a href=#refsJSON>[JSON]</a></dd>
    <dt>Published specification:</dt>
@@ -99008,6 +99134,7 @@
    <dd>Scheme-specific.</dd>
    <dt>Interoperability considerations</dt>
    <dd>The scheme is expected to be used in the context of Web applications.</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations</dt>
    <dd>
     Any Web page is able to register a handler for all "<code title="">web+</code>" schemes. As such, these schemes must not be
@@ -99017,6 +99144,7 @@
     such as usernames, passwords, personal information, or
     confidential project names.
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Contact</dt>
    <dd>Ian Hickson <ian at hixie.ch></dd>
    <dt>Author/Change controller</dt>

Modified: source
===================================================================
--- source	2011-11-23 03:42:10 UTC (rev 6835)
+++ source	2011-11-23 20:01:48 UTC (rev 6836)
@@ -988,7 +988,7 @@
   language with a level of detail that might be difficult to
   understand at first.</p>
 
-
+<!--ADD-TOPIC:Security-->
   <h4>Writing secure applications with HTML</h4>
 
   <!--END dev-html--><p><i>This section is non-normative.</i></p><!--START dev-html-->
@@ -1116,9 +1116,9 @@
    </dd>
 
   </dl>
+<!--REMOVE-TOPIC:Security-->
 
 
-
   <h4>Common pitfalls to avoid when using the scripting APIs</h4>
 
   <!--END dev-html--><p><i>This section is non-normative.</i></p><!--START dev-html-->
@@ -1458,6 +1458,7 @@
    </dd>
 
 
+<!--ADD-TOPIC:Security-->
    <dt>Errors that risk exposing authors to security attacks</dt>
 
    <dd>
@@ -1474,6 +1475,7 @@
     </div>
 
    </dd>
+<!--REMOVE-TOPIC:Security-->
 
 
    <dt>Cases where the author's intent is unclear</dt>
@@ -3383,6 +3385,7 @@
   processors), and styling them according to CSS (for CSS processors),
   but not inferring any meaning from them.</p>
 
+<!--ADD-TOPIC:Security-->
   <p>When support for a feature is disabled (e.g. as an emergency
   measure to mitigate a security problem, or to aid in development, or
   for performance reasons), user agents must act as if they had no
@@ -3392,6 +3395,7 @@
   attribute itself would be omitted from the objects that implement
   that interface — leaving the attribute on the object but
   making it return null or throw an exception is insufficient.</p>
+<!--REMOVE-TOPIC:Security-->
 
   </div>
 
@@ -7603,7 +7607,7 @@
   </div>
 
 
-
+<!--TOPIC:DOM APIs-->
   <h4>Interfaces for URL manipulation</h4>
 
   <p>An interface that has a complement of <dfn>URL decomposition IDL
@@ -7884,6 +7888,7 @@
   </div>
 
 
+<!--TOPIC:HTML-->
   <div class="impl">
 
   <h3>Fetching resources</h3>
@@ -8174,6 +8179,7 @@
   protocol.</p>
 
 
+<!--ADD-TOPIC:Security-->
   <h4>Encrypted HTTP and related security concerns</h4>
 
   <p>Anything in this specification that refers to HTTP also applies
@@ -8218,6 +8224,7 @@
    simply acting as if the page was not encrypted.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <h4 id="content-type-sniffing">Determining the type of a resource</h4>
@@ -8777,6 +8784,7 @@
   </div>
 
 
+<!--TOPIC:DOM APIs-->
   <h4>Collections</h4>
 
   <p>The <code>HTMLAllCollection</code>,
@@ -9407,11 +9415,11 @@
 
   </div>
 <!--END microdata-->
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 <!--START w3c-html--><!--MD-->
 
 
-
+<!--TOPIC:DOM APIs-->
   <h4>DOMStringMap</h4>
 
   <p>The <code>DOMStringMap</code> interface represents a set of
@@ -9819,6 +9827,7 @@
   </div>
 
 
+<!--TOPIC:HTML Syntax and Parsing-->
   <h3>Namespaces</h3>
 
   <p>The <dfn>HTML namespace</dfn> is: <code>http://www.w3.org/1999/xhtml</code></p>
@@ -9850,6 +9859,7 @@
   names.</p>
 
 
+<!--TOPIC:DOM APIs-->
   <h2 id="dom">Semantics, structure, and APIs of HTML documents</h2>
 
   <h3>Documents</h3>
@@ -10023,6 +10033,7 @@
 };</pre>
 
 
+<!--ADD-TOPIC:Security-->
   <h4 id="security-document">Security</h4>
 
   <p id="security">User agents <span class="impl">must</span> throw a
@@ -10031,6 +10042,7 @@
   <span>effective script origin</span> is not the <span title="same
   origin">same</span> as the <code>Document</code>'s <span>effective
   script origin</span>.</p>
+<!--REMOVE-TOPIC:Security-->
 
 
 
@@ -10923,6 +10935,7 @@
   </div>
 
 
+<!--TOPIC:HTML-->
   <h3>Elements</h3>
 
   <h4>Semantics</h4>
@@ -11088,6 +11101,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h4>Elements in the DOM</h4>
 
   <p>The nodes representing <span>HTML elements</span> in the DOM
@@ -11226,7 +11240,7 @@
   </div>
 
 
-
+<!--TOPIC:HTML-->
   <h4><dfn>Global attributes</dfn></h4>
 
   <p>The following attributes are common to and may be specified on
@@ -14102,6 +14116,8 @@
   </div>
 
 
+
+<!--TOPIC:HTML Syntax and Parsing-->
   <h3><dfn>Dynamic markup insertion</dfn></h3>
 
   <p class="note">APIs for dynamically inserting markup into the
@@ -14577,7 +14593,7 @@
 
 
 
-
+<!--TOPIC:HTML-->
   <h2 id="semantics">The elements of HTML</h2>
 
   <h3>The root element</h3>
@@ -14595,11 +14611,11 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-html-manifest">manifest</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLHtmlElement</dfn> : <span>HTMLElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>html</code> element <span>represents</span> the root of
   an HTML document.</p>
@@ -14668,11 +14684,11 @@
    <dd>Otherwise: One or more elements of <span>metadata content</span>, of which exactly one is a <code>title</code> element.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLHeadElement</dfn> : <span>HTMLElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>head</code> element <span>represents</span> a
   collection of metadata for the <code>Document</code>.</p>
@@ -14727,13 +14743,13 @@
    <dd><span title="text content">Text</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLTitleElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-title-text">text</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>title</code> element <span>represents</span> the
   document's title or name. Authors should use titles that identify
@@ -14746,6 +14762,7 @@
   <p>There must be no more than one <code>title</code> element per
   document.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">title</var> . <code title="dom-title-text">text</code> [ = <var title="">value</var> ]</dt>
@@ -14773,6 +14790,7 @@
   <code>textContent</code> IDL attribute.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class="example">
 
@@ -14824,14 +14842,14 @@
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-base-href">href</code></dd>
    <dd><code title="attr-base-target">target</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLBaseElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-base-href">href</span>;
            attribute DOMString <span title="dom-base-target">target</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>base</code> element allows authors to specify the
   <span>document base URL</span> for the purposes of <span
@@ -14943,7 +14961,7 @@
    <dd><code title="attr-link-type">type</code></dd>
    <dd><code title="attr-link-sizes">sizes</code></dd>
    <dd>Also, the <code title="attr-link-title">title</code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLLinkElement</dfn> : <span>HTMLElement</span> {
            attribute boolean <span title="dom-link-disabled">disabled</span>;
@@ -14957,7 +14975,7 @@
 };
 <span>HTMLLinkElement</span> implements <span>LinkStyle</span>;</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>link</code> element allows authors to link their
   document to other resources.</p>
@@ -15407,7 +15425,7 @@
    <dd><code title="attr-meta-http-equiv">http-equiv</code></dd>
    <dd><code title="attr-meta-content">content</code></dd>
    <dd><code title="attr-meta-charset">charset</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLMetaElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-meta-name">name</span>;
@@ -15415,7 +15433,7 @@
            attribute DOMString <span title="dom-meta-content">content</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>meta</code> element <span>represents</span> various
   kinds of metadata that cannot be expressed using the
@@ -16505,7 +16523,7 @@
    <dd><code title="attr-style-type">type</code></dd>
    <dd><code title="attr-style-scoped">scoped</code></dd>
    <dd>Also, the <code title="attr-style-title">title</code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLStyleElement</dfn> : <span>HTMLElement</span> {
            attribute boolean <span title="dom-style-disabled">disabled</span>;
@@ -16515,7 +16533,7 @@
 };
 <span>HTMLStyleElement</span> implements <span>LinkStyle</span>;</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>style</code> element allows authors to embed style
   information in their documents. The <code>style</code> element is
@@ -16967,7 +16985,7 @@
    <dd><code title="attr-script-defer">defer</code></dd>
    <dd><code title="attr-script-type">type</code></dd>
    <dd><code title="attr-script-charset">charset</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLScriptElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-script-src">src</span>;
@@ -16978,7 +16996,7 @@
            attribute DOMString <span title="dom-script-text">text</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>script</code> element allows authors to include dynamic
   script and data blocks in their documents. The element does not
@@ -17844,6 +17862,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">script</var> . <code title="dom-script-text">text</code> [ = <var title="">value</var> ]</dt>
@@ -17871,6 +17890,7 @@
   <code>textContent</code> IDL attribute.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <p class="note">When inserted using the <code
   title="dom-document-write">document.write()</code> method,
@@ -18206,9 +18226,9 @@
    <dd>Otherwise: text that conforms to the requirements given in the prose.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>noscript</code> element <span>represents</span> nothing
   if <span title="concept-n-script">scripting is enabled</span>, and
@@ -18444,7 +18464,7 @@
    <dd><code title="handler-window-onscroll">onscroll</code></dd>
    <dd><code title="handler-window-onstorage">onstorage</code></dd>
    <dd><code title="handler-window-onunload">onunload</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLBodyElement</dfn> : <span>HTMLElement</span> {
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onafterprint">onafterprint</span>;
@@ -18467,7 +18487,7 @@
   [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onunload">onunload</span>;
 };</pre>
 </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>body</code> element <span>represents</span> the main
   content of the document.</p>
@@ -18561,9 +18581,9 @@
    <dd><span>Flow content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>section</code> element <span>represents</span> a
   generic section of a document or application. A section, in this
@@ -18735,9 +18755,9 @@
    <dd><span>Flow content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>nav</code> element <span>represents</span> a section of
   a page that links to other pages or to parts within the page: a
@@ -18905,9 +18925,9 @@
    <dd><span>Flow content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>article</code> element <span>represents</span> a
   self-contained composition in a document, page, application, or site
@@ -19018,9 +19038,9 @@
    <dd><span>Flow content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>aside</code> element <span>represents</span> a section
   of a page that consists of content that is tangentially related to
@@ -19174,11 +19194,11 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLHeadingElement</dfn> : <span>HTMLElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>These elements <span title="represents">represent</span> headings
   for their sections.</p>
@@ -19241,9 +19261,9 @@
    <dd>One or more <code>h1</code>, <code>h2</code>, <code>h3</code>, <code>h4</code>, <code>h5</code>, and/or <code>h6</code> elements.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>hgroup</code> element <span>represents</span> the
   heading of a section. The element is used to group a set of
@@ -19312,9 +19332,9 @@
    <code>footer</code> element descendants.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>header</code> element <span>represents</span> a group
   of introductory or navigational aids.</p>
@@ -19413,9 +19433,9 @@
    <code>footer</code> element descendants.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>footer</code> element <span>represents</span> a footer
   for its nearest ancestor <span>sectioning content</span> or
@@ -19565,9 +19585,9 @@
    <code>address</code> element descendants.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>address</code> element <span>represents</span> the
   contact information for its nearest <code>article</code> or
@@ -20258,11 +20278,11 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLParagraphElement</dfn> : <span>HTMLElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>p</code> element <span>represents</span> a
   <span>paragraph</span>.</p>
@@ -20338,11 +20358,11 @@
    <dd>Empty.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLHRElement</dfn> : <span>HTMLElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>hr</code> element <span>represents</span> a
   <span>paragraph</span>-level thematic break, e.g. a scene change in
@@ -20444,11 +20464,11 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLPreElement</dfn> : <span>HTMLElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>pre</code> element <span>represents</span> a block of
   preformatted text, in which structure is represented by typographic
@@ -20569,7 +20589,7 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-blockquote-cite">cite</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLQuoteElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-quote-cite">cite</span>;
@@ -20577,7 +20597,7 @@
     <p class="note">The <code>HTMLQuoteElement</code> interface is
     also used by the <code>q</code> element.</p>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>blockquote</code> element <span>represents</span> a
   section that is quoted from another source.</p>
@@ -20729,7 +20749,7 @@
    <dd><code title="attr-ol-reversed">reversed</code></dd>
    <dd><code title="attr-ol-start">start</code></dd>
    <dd><code title="attr-ol-type">type</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLOListElement</dfn> : <span>HTMLElement</span> {
            attribute boolean <span title="dom-ol-reversed">reversed</span>;
@@ -20737,7 +20757,7 @@
            attribute DOMString <span title="dom-ol-type">type</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>ol</code> element <span>represents</span> a list of
   items, where the items have been intentionally ordered, such that
@@ -20909,11 +20929,11 @@
    <dd>Zero or more <code>li</code> elements.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLUListElement</dfn> : <span>HTMLElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>ul</code> element <span>represents</span> a list of
   items, where the order of the items is not important — that
@@ -20970,13 +20990,13 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd>If the element is a child of an <code>ol</code> element: <code title="attr-li-value">value</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLLIElement</dfn> : <span>HTMLElement</span> {
            attribute long <span title="dom-li-value">value</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>li</code> element <span>represents</span> a list
   item. If its parent element is an <code>ol</code>, <code>ul</code>,
@@ -21078,11 +21098,11 @@
    elements.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLDListElement</dfn> : <span>HTMLElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>dl</code> element <span>represents</span> an
   association list consisting of zero or more name-value groups (a
@@ -21234,9 +21254,9 @@
    <dd><span>Flow content</span>, but with no <code>header</code>, <code>footer</code>, <span>sectioning content</span>, or <span>heading content</span> descendants.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>dt</code> element <span>represents</span> the term, or
   name, part of a term-description group in a description list
@@ -21280,9 +21300,9 @@
    <dd><span>Flow content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>dd</code> element <span>represents</span> the
   description, definition, or value, part of a term-description group
@@ -21325,9 +21345,9 @@
    <dd>Or: <span>Flow content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <!-- v2: Add a <credit> element for photo credits -->
 
@@ -21457,9 +21477,9 @@
    <dd><span>Flow content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>figcaption</code> element <span>represents</span> a
   caption or legend for the rest of the contents of the
@@ -21480,11 +21500,11 @@
    <dd><span>Flow content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLDivElement</dfn> : <span>HTMLElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>div</code> element has no special meaning at all. It
   <span>represents</span> its children. It can be used with the <code
@@ -21560,7 +21580,7 @@
    <dd><code title="attr-hyperlink-media">media</code></dd>
    <dd><code title="attr-hyperlink-hreflang">hreflang</code></dd>
    <dd><code title="attr-hyperlink-type">type</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLAnchorElement</dfn> : <span>HTMLElement</span> {
   stringifier attribute DOMString <span title="dom-a-href">href</span>;
@@ -21587,7 +21607,7 @@
            attribute DOMString <span title="dom-a-hash">hash</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>If the <code>a</code> element has an <code
   title="attr-hyperlink-href">href</code> attribute, then it
@@ -21722,6 +21742,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">a</var> . <code title="dom-a-text">text</code></dt>
@@ -21782,6 +21803,7 @@
   value.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class="example">
 
@@ -21825,9 +21847,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>em</code> element <span>represents</span> stress
   emphasis of its contents.</p>
@@ -21923,9 +21945,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>strong</code> element <span>represents</span> strong
   importance for its contents.</p>
@@ -21964,9 +21986,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>small</code> element <span>represents</span> side
   comments such as small print.</p>
@@ -22056,9 +22078,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>s</code> element <span>represents</span> contents that
   are no longer accurate or no longer relevant.</p>
@@ -22093,9 +22115,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>cite</code> element <span>represents</span> the title
   of a work (e.g.
@@ -22222,9 +22244,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-q-cite">cite</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLQuoteElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>q</code> element <span>represents</span> some <span
   title="phrasing content">phrasing content</span> quoted from another
@@ -22327,9 +22349,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd>Also, the <code title="attr-dfn-title">title</code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>dfn</code> element <span>represents</span> the defining
   instance of a term. The <span title="paragraph">paragraph</span>,
@@ -22402,9 +22424,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd>Also, the <code title="attr-abbr-title">title</code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>abbr</code> element <span>represents</span> an
   abbreviation or acronym, optionally with its expansion. The <dfn
@@ -22529,13 +22551,13 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-data-value">value</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLDataElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-data-value">value</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>data</code> element <span>represents</span> its
   contents, along with a machine-readable form of those contents in
@@ -22608,13 +22630,13 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-time-datetime">datetime</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLTimeElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-time-datetime">datetime</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>time</code> element <span>represents</span> its
   contents, along with a machine-readable form of those contents in
@@ -22943,9 +22965,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>code</code> element <span>represents</span> a fragment
   of computer code. This could be an XML element name, a filename, a
@@ -23009,9 +23031,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>var</code> element <span>represents</span> a variable.
   This could be an actual variable in a mathematical expression or
@@ -23083,9 +23105,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>samp</code> element <span>represents</span> (sample)
   output from a program or computing system.</p>
@@ -23125,9 +23147,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>kbd</code> element <span>represents</span> user input
   (typically keyboard input, although it may also be used to represent
@@ -23180,9 +23202,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Use <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>sup</code> element <span>represents</span> a
   superscript and the <code>sub</code> element <span>represents</span>
@@ -23247,9 +23269,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>i</code> element <span>represents</span> a span of text
   in an alternate voice or mood, or otherwise offset from the normal
@@ -23311,9 +23333,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>b</code> element <span>represents</span> a span of text
   to which attention is being drawn for utilitarian purposes without
@@ -23392,9 +23414,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>u</code> element <span>represents</span> a span of text
   with an unarticulated, though explicitly rendered, non-textual
@@ -23435,9 +23457,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <!-- v2: attribute that means "highlight this on the scrollbar" -->
 
@@ -23589,9 +23611,9 @@
    <dd>One or more groups of: <span>phrasing content</span> followed either by a single <code>rt</code> element, or an <code>rp</code> element, an <code>rt</code> element, and another <code>rp</code> element.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>ruby</code> element allows one or more spans of
   phrasing content to be marked with ruby annotations. Ruby
@@ -23674,9 +23696,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>rt</code> element marks the ruby text component of a
   ruby annotation.</p>
@@ -23711,9 +23733,9 @@
 -->
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>rp</code> element can be used to provide parentheses
   around a ruby text component of a ruby annotation, to be shown by
@@ -23763,9 +23785,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd>Also, the <code title="attr-dir">dir</code> global attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>bdi</code> element <span>represents</span> a span of
   text that is to be isolated from its surroundings for the purposes
@@ -23831,9 +23853,9 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd>Also, the <code title="attr-dir">dir</code> global attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>bdo</code> element <span>represents</span> explicit
   text directionality formatting control for its children. It allows
@@ -23885,11 +23907,11 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLSpanElement</dfn> : <span>HTMLElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>span</code> element doesn't mean anything on its own,
   but can be useful when used together with the <span>global
@@ -23929,11 +23951,11 @@
    <dd>Empty.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLBRElement</dfn> : <span>HTMLElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>br</code> element <span>represents</span> a line
   break.</p>
@@ -24015,9 +24037,9 @@
    <dd>Empty.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>wbr</code> element <span>represents</span> a line break
   opportunity.</p>
@@ -24230,9 +24252,9 @@
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-mod-cite">cite</code></dd>
    <dd><code title="attr-mod-datetime">datetime</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses the <code>HTMLModElement</code> interface.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>ins</code> element <span>represents</span> an addition
   to the document.</p>
@@ -24319,9 +24341,9 @@
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-mod-cite">cite</code></dd>
    <dd><code title="attr-mod-datetime">datetime</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses the <code>HTMLModElement</code> interface.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>del</code> element <span>represents</span> a removal
   from the document.</p>
@@ -24603,7 +24625,7 @@
    <dd><code title="attr-img-ismap">ismap</code></dd>
    <dd><code title="attr-dim-width">width</code></dd>
    <dd><code title="attr-dim-height">height</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">[NamedConstructor=<span title="dom-image">Image</span>(),
  NamedConstructor=<span title="dom-image-w">Image</span>(unsigned long width),
@@ -24621,7 +24643,7 @@
   readonly attribute boolean <span title="dom-img-complete">complete</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>An <code>img</code> element represents an image.</p>
 
@@ -25142,6 +25164,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">image</var> . <code title="dom-img-width">width</code> [ = <var title="">value</var> ]</dt>
@@ -25250,6 +25273,7 @@
   invoked constructor is found.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class="example">
 
@@ -26315,7 +26339,7 @@
    <dd><code title="attr-iframe-seamless">seamless</code></dd>
    <dd><code title="attr-dim-width">width</code></dd>
    <dd><code title="attr-dim-height">height</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLIFrameElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-iframe-src">src</span>;
@@ -26329,7 +26353,7 @@
   readonly attribute <span>WindowProxy</span>? <span title="dom-iframe-contentWindow">contentWindow</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>iframe</code> element <span>represents</span> a
   <span>nested browsing context</span>.</p>
@@ -27261,7 +27285,7 @@
    <dd><code title="attr-dim-width">width</code></dd>
    <dd><code title="attr-dim-height">height</code></dd>
    <dd>Any other attribute that has no namespace (see prose).</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLEmbedElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-embed-src">src</span>;
@@ -27275,7 +27299,7 @@
     interfaces.</p>
     </div>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>embed</code> element <span>represents</span> an
   integration point for an external (typically non-HTML) application
@@ -27573,7 +27597,7 @@
    <dd><code title="attr-fae-form">form</code></dd>
    <dd><code title="attr-dim-width">width</code></dd>
    <dd><code title="attr-dim-height">height</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLObjectElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-object-data">data</span>;
@@ -27599,7 +27623,7 @@
     interfaces.</p>
     </div>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>object</code> element can represent an external
   resource, which, depending on the type of the resource, will either
@@ -28440,14 +28464,14 @@
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-param-name">name</code></dd>
    <dd><code title="attr-param-value">value</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLParamElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-param-name">name</span>;
            attribute DOMString <span title="dom-param-value">value</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>param</code> element defines parameters for plugins
   invoked by <code>object</code> elements. It does not <span
@@ -28554,7 +28578,7 @@
    <dd><code title="attr-media-controls">controls</code></dd>
    <dd><code title="attr-dim-width">width</code></dd>
    <dd><code title="attr-dim-height">height</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLVideoElement</dfn> : <span>HTMLMediaElement</span> {
            attribute unsigned long <span title="dom-dim-width">width</span>;
@@ -28564,7 +28588,7 @@
            attribute DOMString <span title="dom-video-poster">poster</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>A <code>video</code> element is used for playing videos or
   movies, and audio files with captions.</p>
@@ -28948,13 +28972,13 @@
    <dd><code title="attr-media-loop">loop</code></dd>
    <dd><code title="attr-media-muted">muted</code></dd>
    <dd><code title="attr-media-controls">controls</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">[NamedConstructor=<span title="dom-Audio">Audio</span>(),
  NamedConstructor=<span title="dom-Audio-s">Audio</span>(DOMString src)]
 interface <dfn>HTMLAudioElement</dfn> : <span>HTMLMediaElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>An <code>audio</code> element <span>represents</span> a sound or
   audio stream.</p>
@@ -29107,7 +29131,7 @@
    <dd><code title="attr-source-src">src</code></dd>
    <dd><code title="attr-source-type">type</code></dd>
    <dd><code title="attr-source-media">media</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLSourceElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-source-src">src</span>;
@@ -29115,7 +29139,7 @@
            attribute DOMString <span title="dom-source-media">media</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>source</code> element allows authors to specify
   multiple alternative <span title="media resource">media
@@ -29315,7 +29339,7 @@
    <dd><code title="attr-track-srclang">srclang</code></dd>
    <dd><code title="attr-track-label">label</code></dd>
    <dd><code title="attr-track-default">default</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLTrackElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-track-kind">kind</span>;
@@ -29333,7 +29357,7 @@
   readonly attribute <span>TextTrack</span> <span title="dom-track-track">track</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>track</code> element allows authors to specify explicit
   external timed <span title="text track">text tracks</span> for <span
@@ -35308,7 +35332,7 @@
 
 
 <!--END w3c-html--><!--TTVTT-->
-<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:HTML-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)">
   <div class="impl">
 
   <h6><dfn>Guidelines for exposing cues</dfn> in various formats as
@@ -36435,7 +36459,7 @@
 
 <!--END w3c-html--><!--TTVTT-->
 <!--START webvtt-->
-<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:HTML-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)">
   <h5>WebVTT</h5>
 
   <p>The <dfn>WebVTT</dfn> format (Web Video Text Tracks) is a
@@ -39288,6 +39312,7 @@
   </table>
 
 
+<!--ADD-TOPIC:Security-->
   <div class="impl">
 
   <h5>Security and privacy considerations</h5>
@@ -39342,6 +39367,7 @@
   present a serious confidentiality breach.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <h5>Best practices for authors using media elements</h5>
@@ -39454,7 +39480,7 @@
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-canvas-width">width</code></dd>
    <dd><code title="attr-canvas-height">height</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--ADD-TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLCanvasElement</dfn> : <span>HTMLElement</span> {
            attribute unsigned long <span title="dom-canvas-width">width</span>;
@@ -39466,7 +39492,7 @@
   object? <span title="dom-canvas-getContext">getContext</span>(DOMString contextId, any... args);
 };</pre>
    </dd>
-  </dl>
+  </dl><!--REMOVE-TOPIC:DOM APIs-->
 
   <p>The <code>canvas</code> element provides scripts with a
   resolution-dependent bitmap canvas, which can be used for rendering
@@ -39588,6 +39614,7 @@
 
   <hr>
 
+  <!--ADD-TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">context</var> = <var title="">canvas</var> . <code title="dom-canvas-getContext">getContext</code>(<var title="">contextId</var> [, ... ])</dt>
@@ -39913,7 +39940,9 @@
   metadata, etc.</p>
 
   </div>
+  <!--REMOVE-TOPIC:DOM APIs-->
 
+
   <!--END w3c-html--><!--2DCONTEXT-->
 
   <div data-component="HTML Canvas 2D Context (editor: Ian Hickson)">
@@ -43512,7 +43541,7 @@
 
   <!--END 2dcontext-->
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
   <!--START w3c-html--><!--2DCONTEXT-->
 
@@ -43564,6 +43593,7 @@
   </div>
 
 
+<!--ADD-TOPIC:Security-->
   <div class="impl">
 
   <h5>Security with <code>canvas</code> elements</h5>
@@ -43666,6 +43696,7 @@
   the <i>origin-clean</i> flag.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
 <!--TOPIC:HTML-->
@@ -43684,7 +43715,7 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-map-name">name</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLMapElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-map-name">name</span>;
@@ -43692,7 +43723,7 @@
   readonly attribute <span>HTMLCollection</span> <span title="dom-map-images">images</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>map</code> element, in conjunction with any
   <code>area</code> element descendants, defines an <span>image
@@ -43709,6 +43740,7 @@
   document. If the <code title="attr-id">id</code> attribute is also
   specified, both attributes must have the same value.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">map</var> . <code title="dom-map-areas">areas</code></dt>
@@ -43748,6 +43780,7 @@
   <span>reflect</span> the content attribute of the same name.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class="example">
 
@@ -43808,7 +43841,7 @@
    <dd><code title="attr-hyperlink-media">media</code></dd>
    <dd><code title="attr-hyperlink-hreflang">hreflang</code></dd>
    <dd><code title="attr-hyperlink-type">type</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLAreaElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-area-alt">alt</span>;
@@ -43836,7 +43869,7 @@
            attribute DOMString <span title="dom-area-hash">hash</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>area</code> element <span>represents</span> either a
   hyperlink with some text and a corresponding area on an <span>image
@@ -44620,7 +44653,7 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-table-border">border</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLTableElement</dfn> : <span>HTMLElement</span> {
            attribute <span>HTMLTableCaptionElement</span>? <span title="dom-table-caption">caption</span>;
@@ -44640,7 +44673,7 @@
            attribute DOMString <span title="dom-table-border">border</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>table</code> element <span>represents</span> data with
   more than one dimension, in the form of a <span
@@ -44823,6 +44856,7 @@
 
   <hr>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">table</var> . <code title="dom-table-caption">caption</code> [ = <var title="">value</var> ]</dt>
@@ -45103,6 +45137,7 @@
   same name.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class="example">
 
@@ -45409,11 +45444,11 @@
    <dd><span>Flow content</span>, but with no descendant <code>table</code> elements.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLTableCaptionElement</dfn> : <span>HTMLElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>caption</code> element <span>represents</span> the title of the
   <code>table</code> that is its parent, if it has a parent and that
@@ -45502,13 +45537,13 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-colgroup-span">span</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLTableColElement</dfn> : <span>HTMLElement</span> {
            attribute unsigned long <span title="dom-colgroup-span">span</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>colgroup</code> element <span>represents</span> a <span
   title="concept-column-group">group</span> of one or more <span
@@ -45550,13 +45585,13 @@
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-col-span">span</code></dd>
    <!-- v2: char, to specify the decimal character used in numeric data cells in the column (not header cells) -->
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <p><code>HTMLTableColElement</code>, same as for
     <code>colgroup</code> elements. This interface defines one member,
     <code title="dom-col-span">span</code>.</p>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>If a <code>col</code> element has a parent and that is a
   <code>colgroup</code> element that itself has a parent that is a
@@ -45600,7 +45635,7 @@
    <dd>Zero or more <code>tr</code> elements</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLTableSectionElement</dfn> : <span>HTMLElement</span> {
   readonly attribute <span>HTMLCollection</span> <span title="dom-tbody-rows">rows</span>;
@@ -45610,7 +45645,7 @@
     <p>The <code>HTMLTableSectionElement</code> interface is also
     used for <code>thead</code> and <code>tfoot</code> elements.</p>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>tbody</code> element <span>represents</span> a <span
   title="concept-row-group">block</span> of <span
@@ -45625,6 +45660,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">tbody</var> . <code title="dom-tbody-rows">rows</code></dt>
@@ -45688,6 +45724,7 @@
   instead throw an <code>IndexSizeError</code> exception.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <h4>The <dfn><code>thead</code></dfn> element</h4>
@@ -45706,10 +45743,10 @@
    <dd>Zero or more <code>tr</code> elements</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd><code>HTMLTableSectionElement</code>, as defined for
    <code>tbody</code> elements.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>thead</code> element <span>represents</span> the <span
   title="concept-row-group">block</span> of <span
@@ -45785,10 +45822,10 @@
    <dd>Zero or more <code>tr</code> elements</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd><code>HTMLTableSectionElement</code>, as defined for
    <code>tbody</code> elements.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>tfoot</code> element <span>represents</span> the <span
   title="concept-row-group">block</span> of <span
@@ -45822,7 +45859,7 @@
    <dd>Zero or more <code>td</code> or <code>th</code> elements</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLTableRowElement</dfn> : <span>HTMLElement</span> {
   readonly attribute long <span title="dom-tr-rowIndex">rowIndex</span>;
@@ -45832,7 +45869,7 @@
   void <span title="dom-tr-deleteCell">deleteCell</span>(long index);
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>tr</code> element <span>represents</span> a <span
   title="concept-row">row</span> of <span
@@ -45846,6 +45883,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">tr</var> . <code title="dom-tr-rowIndex">rowIndex</code></dt>
@@ -45973,6 +46011,7 @@
   instead throw an <code>IndexSizeError</code> exception.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <h4>The <dfn><code>td</code></dfn> element</h4>
@@ -45990,11 +46029,11 @@
    <dd><code title="attr-tdth-rowspan">rowspan</code></dd>
    <dd><code title="attr-tdth-headers">headers</code></dd>
    <!-- v2 char, to specify the decimal character used in numeric cells -->
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLTableDataCellElement</dfn> : <span>HTMLTableCellElement</span> {};</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>td</code> element <span>represents</span> a data <span
   title="concept-cell">cell</span> in a table.</p>
@@ -46026,13 +46065,13 @@
    <dd><code title="attr-tdth-rowspan">rowspan</code></dd>
    <dd><code title="attr-tdth-headers">headers</code></dd>
    <dd><code title="attr-th-scope">scope</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLTableHeaderCellElement</dfn> : <span>HTMLTableCellElement</span> {
            attribute DOMString <span title="dom-th-scope">scope</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>th</code> element <span>represents</span> a header <span
   title="concept-cell">cell</span> in a table.</p>
@@ -46230,6 +46269,7 @@
   readonly attribute long <span title="dom-tdth-cellIndex">cellIndex</span>;
 };</pre>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">cell</var> . <code title="dom-tdth-cellIndex">cellIndex</code></dt>
@@ -46275,6 +46315,7 @@
   0.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <div class="impl">
@@ -48276,7 +48317,7 @@
    <dd><code title="attr-form-name">name</code></dd>
    <dd><code title="attr-fs-novalidate">novalidate</code></dd>
    <dd><code title="attr-fs-target">target</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">[OverrideBuiltins]
 interface <dfn>HTMLFormElement</dfn> : <span>HTMLElement</span> {
@@ -48300,7 +48341,7 @@
   boolean <span title="dom-form-checkValidity">checkValidity</span>();
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>form</code> element <span>represents</span> a
   collection of <span title="form-associated element">form-associated
@@ -48352,6 +48393,7 @@
   title="attr-fs-target">target</code> attributes are <span>attributes
   for form submission</span>.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">form</var> . <code title="dom-form-elements">elements</code></dt>
@@ -48608,6 +48650,7 @@
   false if it returned a <i>negative</i> result.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class="example">
 
@@ -48642,7 +48685,7 @@
    <dd><code title="attr-fieldset-disabled">disabled</code></dd>
    <dd><code title="attr-fae-form">form</code></dd>
    <dd><code title="attr-fe-name">name</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLFieldSetElement</dfn> : <span>HTMLElement</span> {
            attribute boolean <span title="dom-fieldset-disabled">disabled</span>;
@@ -48660,7 +48703,7 @@
   void <span title="dom-cva-setCustomValidity">setCustomValidity</span>(DOMString error);
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>fieldset</code> element <span>represents</span> a set
   of form controls optionally grouped under a common name.</p>
@@ -48682,6 +48725,7 @@
   <span>form owner</span>. The <code title="attr-fe-name">name</code>
   attribute represents the element's name.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">fieldset</var> . <code title="dom-fieldset-type">type</code></dt>
@@ -48736,6 +48780,7 @@
   validation</span>.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class="example">
 
@@ -48824,19 +48869,20 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
     <pre class="idl">interface <dfn>HTMLLegendElement</dfn> : <span>HTMLElement</span> {
   readonly attribute <span>HTMLFormElement</span>? <span title="dom-legend-form">form</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>legend</code> element <span>represents</span> a caption
   for the rest of the contents of the <code>legend</code> element's
   parent <code>fieldset</code> element<span class="impl">, if
   any</span>.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">legend</var> . <code title="dom-legend-form">form</code></dt>
@@ -48862,6 +48908,7 @@
   <code>fieldset</code> element. Otherwise, it must return null.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -48882,7 +48929,7 @@
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-fae-form">form</code></dd>
    <dd><code title="attr-label-for">for</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLLabelElement</dfn> : <span>HTMLElement</span> {
   readonly attribute <span>HTMLFormElement</span>? <span title="dom-fae-form">form</span>;
@@ -48890,7 +48937,7 @@
   readonly attribute <span>HTMLElement</span>? <span title="dom-label-control">control</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>label</code> <span>represents</span> a caption in a
   user interface. The caption can be associated with a specific form
@@ -48959,6 +49006,23 @@
 
   </div>
 
+  <p>The <code title="attr-fae-form">form</code> attribute is used to
+  explicitly associate the <code>label</code> element with its
+  <span>form owner</span>.</p>
+
+  <div class="example">
+
+   <p>The following example shows three form controls each with a
+   label, two of which have small text showing the right format for
+   users to use.</p>
+
+   <pre><p><label>Full name: <input name=fn> <small>Format: First Last</small></label></p>
+<p><label>Age: <input name=age type=number min=0></label></p>
+<p><label>Post code: <input name=pc> <small>Format: AB12 3CD</small></label></p></pre>
+
+  </div>
+
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">label</var> . <code title="dom-label-control">control</code></dt>
@@ -48971,10 +49035,6 @@
 
   </dl>
 
-  <p>The <code title="attr-fae-form">form</code> attribute is used to
-  explicitly associate the <code>label</code> element with its
-  <span>form owner</span>.</p>
-
   <div class="impl">
 
   <p>The <dfn title="dom-label-htmlFor"><code>htmlFor</code></dfn> IDL
@@ -48985,6 +49045,9 @@
   attribute must return the <code>label</code> element's <span>labeled
   control</span>, if any, or null if there isn't one.</p>
 
+  <p>The <code title="dom-fae-form">form</code> IDL attribute is part
+  of the element's forms API.</p>
+
   </div>
 
   <hr>
@@ -49012,24 +49075,10 @@
   of <span title="category-label">labelable elements</span>, on
   getting, must return that <code>NodeList</code> object.</p>
 
-  <p>The <code title="dom-fae-form">form</code> IDL attribute is part
-  of the element's forms API.</p>
-
   </div>
+<!--TOPIC:HTML-->
 
-  <div class="example">
 
-   <p>The following example shows three form controls each with a
-   label, two of which have small text showing the right format for
-   users to use.</p>
-
-   <pre><p><label>Full name: <input name=fn> <small>Format: First Last</small></label></p>
-<p><label>Age: <input name=age type=number min=0></label></p>
-<p><label>Post code: <input name=pc> <small>Format: AB12 3CD</small></label></p></pre>
-
-  </div>
-
-
   <h4>The <dfn><code>input</code></dfn> element</h4>
 
   <dl class="element">
@@ -49076,7 +49125,7 @@
    <dd><code title="attr-input-type">type</code></dd>
    <dd><code title="attr-input-value">value</code></dd>
    <dd><code title="attr-dim-width">width</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLInputElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-input-accept">accept</span>;
@@ -49134,7 +49183,7 @@
   void <span title="dom-textarea/input-setSelectionRange">setSelectionRange</span>(unsigned long start, unsigned long end, optional DOMString direction);
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>input</code> element <span>represents</span> a typed data field,
   usually with a form control to allow the user to edit the data.</p>
@@ -53202,6 +53251,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">input</var> . <code title="dom-input-indeterminate">indeterminate</code> [ = <var title="">value</var> ]</dt>
@@ -53215,6 +53265,7 @@
    </dd>
 
   </dl>
+<!--TOPIC:HTML-->
 
   <div class="bookkeeping">
 
@@ -53970,6 +54021,7 @@
   title="attr-fs-formtarget">formtarget</code> attributes are <span>attributes
   for form submission</span>.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">image</var> . <code title="dom-input-width">width</code> [ = <var title="">value</var> ]</dt>
@@ -53986,6 +54038,7 @@
    </dd>
 
   </dl>
+<!--TOPIC:HTML-->
 
   <div class="bookkeeping">
 
@@ -55150,6 +55203,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h5>Common <code>input</code> element APIs</h5>
 
   <dl class="domintro">
@@ -55510,6 +55564,7 @@
   any, or null otherwise.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <div class="impl">
@@ -55624,7 +55679,7 @@
    <dd><code title="attr-fe-name">name</code></dd>
    <dd><code title="attr-button-type">type</code></dd>
    <dd><code title="attr-button-value">value</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLButtonElement</dfn> : <span>HTMLElement</span> {
            attribute boolean <span title="dom-fe-autofocus">autofocus</span>;
@@ -55648,7 +55703,7 @@
   readonly attribute <span>NodeList</span> <span title="dom-lfe-labels">labels</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>button</code> element <span>represents</span> a
   button. <span class="impl">If the element is not <span
@@ -55835,7 +55890,7 @@
    <dd><code title="attr-fe-name">name</code></dd>
    <dd><code title="attr-select-required">required</code></dd>
    <dd><code title="attr-select-size">size</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLSelectElement</dfn> : <span>HTMLElement</span> {
            attribute boolean <span title="dom-fe-autofocus">autofocus</span>;
@@ -55872,7 +55927,7 @@
   readonly attribute <span>NodeList</span> <span title="dom-lfe-labels">labels</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <!-- Proposals for v2:
        * <select value=""> as an alternative to <option selected>
@@ -56078,6 +56133,7 @@
   submitted. The <code title="attr-fe-autofocus">autofocus</code>
   attribute controls focus.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">select</var> . <code title="dom-select-type">type</code></dt>
@@ -56316,6 +56372,7 @@
   element's forms API.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class="example">
 
@@ -56404,13 +56461,13 @@
    <dd>Or: Zero or more <code>option</code> elements.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLDataListElement</dfn> : <span>HTMLElement</span> {
   readonly attribute <span>HTMLCollection</span> <span title="dom-datalist-options">options</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>datalist</code> element represents a set of
   <code>option</code> elements that represent predefined options for
@@ -56434,6 +56491,7 @@
   title="concept-option-value">value</span> and a <span
   title="concept-option-label">label</span>.
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">datalist</var> . <code title="dom-datalist-options">options</code></dt>
@@ -56456,6 +56514,7 @@
   constraint validation</span>.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <h4>The <dfn><code>optgroup</code></dfn> element</h4>
@@ -56471,14 +56530,14 @@
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-optgroup-disabled">disabled</code></dd>
    <dd><code title="attr-optgroup-label">label</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLOptGroupElement</dfn> : <span>HTMLElement</span> {
            attribute boolean <span title="dom-optgroup-disabled">disabled</span>;
            attribute DOMString <span title="dom-optgroup-label">label</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <!-- v2: make optgroups selectable if they have a value. -->
 
@@ -56569,7 +56628,7 @@
    <dd><code title="attr-option-label">label</code></dd>
    <dd><code title="attr-option-selected">selected</code></dd>
    <dd><code title="attr-option-value">value</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">[NamedConstructor=<span title="dom-option">Option</span>(),
  NamedConstructor=<span title="dom-option-t">Option</span>(DOMString text),
@@ -56588,7 +56647,7 @@
   readonly attribute long <span title="dom-option-index">index</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>option</code> element <span>represents</span> an option
   in a <code>select</code> element or as part of a list of suggestions
@@ -56691,6 +56750,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">option</var> . <code title="dom-option-selected">selected</code></dt>
@@ -56842,6 +56902,7 @@
   invoked constructor is found.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -56872,7 +56933,7 @@
    <dd><code title="attr-textarea-required">required</code></dd>
    <dd><code title="attr-textarea-rows">rows</code></dd>
    <dd><code title="attr-textarea-wrap">wrap</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLTextAreaElement</dfn> : <span>HTMLElement</span> {
            attribute boolean <span title="dom-fe-autofocus">autofocus</span>;
@@ -56908,7 +56969,7 @@
   void <span title="dom-textarea/input-setSelectionRange">setSelectionRange</span>(unsigned long start, unsigned long end, optional DOMString direction);
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>textarea</code> element <span>represents</span> a
   multiline plain text edit control<span class="impl"> for the
@@ -57217,6 +57278,7 @@
   submitted. The <code title="attr-fe-autofocus">autofocus</code>
   attribute controls focus.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">textarea</var> . <code title="attr-textarea-type">type</code></dt>
@@ -57312,6 +57374,7 @@
   element's forms API.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class="example">
 
@@ -57363,7 +57426,7 @@
    <dd><code title="attr-fae-form">form</code></dd>
    <dd><code title="attr-keygen-keytype">keytype</code></dd>
    <dd><code title="attr-fe-name">name</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLKeygenElement</dfn> : <span>HTMLElement</span> {
            attribute boolean <span title="dom-fe-autofocus">autofocus</span>;
@@ -57384,7 +57447,7 @@
   readonly attribute <span>NodeList</span> <span title="dom-lfe-labels">labels</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>keygen</code> element <span>represents</span> a key
   pair generator control. When the control's form is submitted, the
@@ -57619,6 +57682,7 @@
   submitted. The <code title="attr-fe-autofocus">autofocus</code>
   attribute controls focus.</p>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">keygen</var> . <code title="attr-keygen-type">type</code></dt>
@@ -57661,6 +57725,7 @@
   element's forms API.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <p class="note">This specification does not specify how the private
   key generated is to be used. It is expected that after receiving the
@@ -57712,7 +57777,7 @@
    <dd><code title="attr-output-for">for</code></dd>
    <dd><code title="attr-fae-form">form</code></dd>
    <dd><code title="attr-fe-name">name</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLOutputElement</dfn> : <span>HTMLElement</span> {
   [PutForwards=<span title="dom-DOMSettableTokenList-value">value</span>] readonly attribute <span>DOMSettableTokenList</span> <span title="dom-output-htmlFor">htmlFor</span>;
@@ -57732,7 +57797,7 @@
   readonly attribute <span>NodeList</span> <span title="dom-lfe-labels">labels</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>output</code> element <span>represents</span> the result of a
   calculation.</p>
@@ -57798,6 +57863,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">output</var> . <code title="dom-output-value">value</code> [ = <var title="">value</var> ]</dt>
@@ -57875,6 +57941,7 @@
   validation</span>.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <div class="example">
 
@@ -57907,7 +57974,7 @@
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-progress-value">value</code></dd>
    <dd><code title="attr-progress-max">max</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLProgressElement</dfn> : <span>HTMLElement</span> {
            attribute double <span title="dom-progress-value">value</span>;
@@ -57916,7 +57983,7 @@
   readonly attribute <span>NodeList</span> <span title="dom-lfe-labels">labels</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>progress</code> element <span>represents</span> the
   completion progress of a task. The progress is either indeterminate,
@@ -58032,6 +58099,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">progress</var> . <code title="dom-progress-position">position</code></dt>
@@ -58082,6 +58150,7 @@
   a list of the element's <code>label</code>s.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -58106,7 +58175,7 @@
    <dd><code title="attr-meter-low">low</code></dd>
    <dd><code title="attr-meter-high">high</code></dd>
    <dd><code title="attr-meter-optimum">optimum</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLMeterElement</dfn> : <span>HTMLElement</span> {
            attribute double <span title="dom-meter-value">value</span>;
@@ -58118,7 +58187,7 @@
   readonly attribute <span>NodeList</span> <span title="dom-lfe-labels">labels</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>meter</code> element <span>represents</span> a scalar
   measurement within a known range, or a fractional value; for example
@@ -58667,6 +58736,7 @@
 
   </div>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">element</var> . <code title="dom-fae-form">form</code></dt>
@@ -58690,6 +58760,7 @@
   null if there isn't one.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -59139,6 +59210,7 @@
   string.</p>
 
 
+<!--TOPIC:DOM APIs-->
   <h4 id="textFieldSelection">APIs for the text field selections</h4>
 
   <!-- v2 idea: DOM Range APIs to expose the textarea/input edited
@@ -59388,6 +59460,7 @@
    or <code>textarea</code> element.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -59617,6 +59690,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h5>The <dfn>constraint validation API</dfn></h5>
 
   <dl class="domintro">
@@ -59863,8 +59937,10 @@
   value.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
+<!--ADD-TOPIC:Security-->
   <h5 id="security-forms">Security</h5>
 
   <p id="security-0">Servers should not rely on client-side
@@ -59873,6 +59949,7 @@
   agents or automated tools that do not implement these features. The
   constraint validation features are only intended to improve the user
   experience, not to provide any kind of security mechanism.</p>
+<!--REMOVE-TOPIC:Security-->
 
 
 
@@ -61203,13 +61280,13 @@
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-details-open">open</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLDetailsElement</dfn> : <span>HTMLElement</span> {
            attribute boolean <span title="dom-details-open">open</span>;
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>details</code> element <span>represents</span> a
   disclosure widget from which the user can obtain additional
@@ -61335,9 +61412,9 @@
    <dd><span>Phrasing content</span>.</dd>
    <dt>Content attributes:</dt>
    <dd><span>Global attributes</span></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>Uses <code>HTMLElement</code>.</dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>summary</code> element <span>represents</span> a
   summary, caption, or legend for the rest of the contents of the
@@ -61369,7 +61446,7 @@
    <dd><code title="attr-command-radiogroup">radiogroup</code></dd>
    <!--<dd><code title="attr-command-default">default</code></dd>-->
    <dd>Also, the <code title="attr-command-title">title</code> attribute has special semantics on this element.</dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLCommandElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-command-type">type</span>;
@@ -61381,7 +61458,7 @@
            attribute boolean <span title="dom-command-default">default</span>;-->
 };</pre>
    </dd>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>command</code> element represents a command that the user
   can invoke.</p>
@@ -61624,13 +61701,13 @@
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-menu-type">type</code></dd>
    <dd><code title="attr-menu-label">label</code></dd>
-   <dt>DOM interface:</dt>
+   <dt>DOM interface:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLMenuElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-menu-type">type</span>;
            attribute DOMString <span title="dom-menu-label">label</span>;
 };</pre>
-  </dl>
+  </dl><!--TOPIC:HTML-->
 
   <p>The <code>menu</code> element represents a list of commands.</p>
 
@@ -62084,6 +62161,7 @@
 
   </dl>
 
+<!--TOPIC:DOM APIs-->
   <p>These facets are exposed on elements using the <dfn>command
   API</dfn>:</p>
 
@@ -62273,6 +62351,7 @@
   title="command-facet-ID">IDs</span>.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
   <hr>
 
@@ -70800,6 +70879,7 @@
   the user agent's interface, apart from the main content area.</p>
 
 
+<!--ADD-TOPIC:Security-->
   <div class="impl">
 
   <h4 id="security-nav">Security</h4>
@@ -70850,6 +70930,7 @@
   the <span>origin</span> of the element's <code>Document</code>.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <div class="impl">
@@ -71259,7 +71340,7 @@
 
 
 
-
+<!--TOPIC:DOM APIs-->
   <h3>The <code>Window</code> object</h3>
 
   <pre class="idl">[ReplaceableNamedProperties]
@@ -71451,6 +71532,7 @@
   </div>
 
 
+<!--ADD-TOPIC:Security-->
   <div class="impl">
 
   <h4 id="security-window">Security</h4>
@@ -71502,6 +71584,7 @@
   </div>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
 
@@ -72144,9 +72227,11 @@
   </div>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
+<!--TOPIC:Security-->
   <h3>Origin</h3>
   <!-- Hallowed are the Ori -->
 
@@ -72744,9 +72829,9 @@
   origins after the <code
   title="dom-document-domain">document.domain</code> attribute has
   been used.</p>
+<!--TOPIC:HTML-->
 
 
-
   <h3 id="history">Session history and navigation</h3>
 
   <h4>The session history of browsing contexts</h4>
@@ -72899,6 +72984,7 @@
   </div>
 
 
+<!--TOPIC:DOM APIs-->
   <h4>The <code>History</code> interface</h4>
 
   <pre class="idl">interface <dfn>History</dfn> {
@@ -72978,6 +73064,7 @@
    </dd>
 
   </dl>
+<!--TOPIC:HTML-->
 
   <p>The <dfn>joint session history</dfn> of a <code>History</code>
   object is the union of all the <span title="session history">session
@@ -73005,6 +73092,7 @@
   subsequent entries are numbered with consecutively increasing
   integers (1, 2, 3, etc).</p>
 
+<!--TOPIC:DOM APIs-->
   <div class="impl">
 
   <p>The <dfn title="dom-history-length"><code>length</code></dfn>
@@ -73035,6 +73123,7 @@
   title="dom-history-forward"><code>forward()</code></dfn>method is
   invoked, the user agent must <span>traverse the history by a
   delta</span> +1.</p>
+<!--TOPIC:HTML-->
 
   <p>To <dfn>traverse the history by a delta</dfn> <var
   title="">delta</var>, the user agent must <span>queue a task</span>
@@ -73097,6 +73186,7 @@
 
   <hr>
 
+<!--TOPIC:DOM APIs-->
   <p>The <dfn title="dom-history-pushState"><code>pushState(<var
   title="">data</var>, <var title="">title</var>, <var
   title="">url</var>)</code></dfn> method adds a state object entry to
@@ -73267,6 +73357,7 @@
   that <code>Document</code> object in the session history after
   having added the new entry. (Thus the state history acts as a FIFO
   buffer for eviction, but as a LIFO buffer for navigation.)</p>
+<!--TOPIC:HTML-->
 
   </div>
 
@@ -73369,6 +73460,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h4>The <code>Location</code> interface</h4>
 
   <p>Each <code>Document</code> object in a <span>browsing
@@ -73600,8 +73692,10 @@
   action</span> being the same as setting the <code
   title="dom-location-href">href</code> attribute to the new output
   value.</span></p>
+<!--TOPIC:HTML-->
 
 
+<!--ADD-TOPIC:Security-->
   <div class="impl">
 
   <h5 id="security-location">Security</h5>
@@ -73629,6 +73723,7 @@
   </ul>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <div class="impl">
@@ -73655,6 +73750,7 @@
   with just one "Back" button, with a session history that interleaves
   the navigation of the two inner frames and the outer page.</p>
 
+<!--ADD-TOPIC:Security-->
   <p><strong>Security</strong>: It is suggested that to avoid letting
   a page "hijack" the history navigation facilities of a UA by abusing
   <code title="dom-history-pushState">pushState()</code>, the UA
@@ -73670,6 +73766,7 @@
   title="dom-history-pushState">pushState()</code> that are invoked on
   a timer, or from event listeners that are not triggered in response
   to a clear user action, or that are invoked in rapid succession.</p>
+<!--REMOVE-TOPIC:Security-->
 
   </div>
 
@@ -80436,6 +80533,7 @@
 
   <h4>Printing</h4>
 
+<!--TOPIC:DOM APIs-->
   <dl class="domintro">
 
    <dt><var title="">window</var> . <code title="dom-print">print</code>()</dt>
@@ -80460,6 +80558,7 @@
   the <span>printing steps</span>. Otherwise, the user agent must only
   set the <dfn>print when loaded</dfn> flag on the
   <code>Document</code>.</p>
+<!--TOPIC:HTML-->
 
   <p>User agents should also run the <span>printing steps</span>
   whenever the user asks for the opportunity to <span>obtain a
@@ -80544,6 +80643,7 @@
   </div>
 
 
+<!--TOPIC:DOM APIs-->
   <h4>Dialogs implemented using separate documents</h4>
 
   <dl class="domintro">
@@ -80806,10 +80906,10 @@
   <p class="note">The <code
   title="dom-window-close">window.close()</code> method can be used to
   close the browsing context.</p>
+<!--TOPIC:HTML-->
 
 
-
-
+<!--TOPIC:DOM APIs-->
   <h3>System state and capabilities</h3>
 
   <h4>The <code>Navigator</code> object</h4>
@@ -81475,6 +81575,8 @@
   </div>
 
 
+
+<!--ADD-TOPIC:Security-->
   <div class="impl">
 
   <h5>Security and privacy</h5>
@@ -81562,6 +81664,7 @@
   decision many users are unable to make or even understand).</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <div class="impl">
@@ -81824,6 +81927,7 @@
    </ol>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -81920,6 +82024,7 @@
 
 
 
+<!--TOPIC:DOM APIs-->
   <h3>Activation</h3>
 
   <!-- v2 idea: HTMLImageElement.click(x, y); or clickPoint(), if
@@ -81947,6 +82052,7 @@
   element.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
   <h3>Focus</h3>
@@ -82276,6 +82382,7 @@
   </div>
 
 
+<!--TOPIC:DOM APIs-->
   <h4>Document-level focus APIs</h4>
 
   <dl class="domintro">
@@ -82438,6 +82545,7 @@
   allow keyboard users to interact with the page.</p>
 
   </div>
+<!--TOPIC:HTML-->
 
 
 
@@ -85992,6 +86100,7 @@
 -->
 
 
+<!--ADD-TOPIC:Security-->
   <div class="impl">
 
   <h4>Security risks in the drag-and-drop model</h4>
@@ -86019,10 +86128,11 @@
   documents without the user's consent.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
 <!--END w3c-html--><!--FIND-->
-
+<!--TOPIC:DOM APIs-->
   <h3>Text search APIs</h3> <!-- window.find() -->
 
   <p class="critical">This legacy API is not very interoperably
@@ -86077,12 +86187,12 @@
   <p class="XXX"><dfn title="dom-find">window.find()</dfn> goes here</p>
 
 <!--START w3c-html--><!--FIND-->
+<!--TOPIC:HTML-->
 
 
 
-
 <!--START rtc--><!--END w3c-html--><!--PEERCONNECTION-->
-<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:HTML-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)">
 
   <h2>Video conferencing and peer-to-peer communication</h2>
 
@@ -90729,7 +90839,7 @@
 <!--END workers-->
 <!--END whatwg-workers-->
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 
 <!--START html--><!--START dev-html--><!--START w3c-html-->
@@ -90737,7 +90847,7 @@
 
   <h2 id="comms">Communication</h2>
 
-  <div data-component="Web Messaging (editor: Ian Hickson)"><!--TOPIC:HTML-->
+  <div data-component="Web Messaging (editor: Ian Hickson)"><!--TOPIC:DOM APIs-->
 
 <!--START postmsg-->
 <!--END complete--><!--END epub--><!--END html--><!--END dev-html-->
@@ -90872,7 +90982,7 @@
 
   <!--END postmsg-->
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 <!--START w3c-html--><!--POSTMSG-->
 <!--END html--><!--END dev-html--><!--END w3c-html-->
@@ -91871,6 +91981,7 @@
    </dd>
    <dt>Encoding considerations:</dt>
    <dd>8bit (always UTF-8)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
 
@@ -91890,6 +92001,7 @@
     prevent conforming clients from reconnecting automatically.</p>
 
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules for processing both conforming and non-conforming content
@@ -91957,7 +92069,7 @@
 
   <!--END eventsource-->
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 
   <h3 id="network"><dfn>Web sockets</dfn></h3>
@@ -92895,14 +93007,14 @@
 
 <!--END websocket-api-->
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 <!--START html--><!--START dev-html--><!--START w3c-html-->
 <!--END w3c-html--><!--POSTMSG-->
 
 
 
-  <div data-component="Web Messaging (editor: Ian Hickson)"><!--TOPIC:HTML-->
+  <div data-component="Web Messaging (editor: Ian Hickson)"><!--TOPIC:DOM APIs-->
 
   <!--START postmsg-->
 
@@ -92969,6 +93081,7 @@
   </div>
 
 
+<!--ADD-TOPIC:Security-->
   <h4 id="security-postmsg">Security</h4>
 
   <div class="impl">
@@ -93037,6 +93150,7 @@
   protect naïve sites from denial-of-service attacks.</p>
 
   </div>
+<!--REMOVE-TOPIC:Security-->
 
 
   <h4>Posting messages</h4>
@@ -93972,7 +94086,7 @@
 
 <!--END postmsg-->
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 <!--START w3c-html--><!--POSTMSG-->
 <!--END html--><!--END dev-html--><!--END w3c-html-->
@@ -94365,6 +94479,7 @@
   <span>obtain the storage mutex</span>.</p>
 
 
+<!--ADD-TOPIC:Security-->
   <h6 id="security-localStorage">Security</h6>
 
   <p>User agents must throw a <code>SecurityError</code> exception
@@ -94380,6 +94495,7 @@
   <p class="note">This means <code>Storage</code> objects are neutered
   when the <code title="dom-document-domain">document.domain</code>
   attribute is used.</p>
+<!--REMOVE-TOPIC:Security-->
 
 
 
@@ -94668,6 +94784,7 @@
   it is promptly deleted from the underlying storage.</p>
 
 
+<!--ADD-TOPIC:Security-->
   <h4 id="security-storage">Security</h4>
 
   <h5>DNS spoofing attacks</h5>
@@ -94719,11 +94836,12 @@
 
   <p>Thus, strictly following the <span>origin</span> model described
   in this specification is important for user security.</p>
+<!--REMOVE-TOPIC:Security-->
 
 <!--END storage-->
 <!--FIXUP complete +1-->
 
-  </div><!--data-component--><!--TOPIC:HTML-->
+  </div><!--data-component-->
 
 
 
@@ -111350,6 +111468,7 @@
     8bit (see the section on <span title="character encoding
     declaration">character encoding declarations</span>)
    </dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
 
@@ -111392,6 +111511,7 @@
     rights granted to that origin.</p>
 
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules for processing both conforming and non-conforming content
@@ -111469,12 +111589,14 @@
    <dd>No optional parameters.</dd>
    <dt>Encoding considerations:</dt>
    <dd>binary</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     Subresources of a <code>multipart/x-mixed-replace</code>
     resource can be of any type, including types with non-trivial
     security implications such as <code>text/html</code>.
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     None.
@@ -111542,8 +111664,10 @@
    <dd>Same as for <code>application/xml</code> <a href="#refsRFC3023">[RFC3023]</a></dd>
    <dt>Encoding considerations:</dt>
    <dd>Same as for <code>application/xml</code> <a href="#refsRFC3023">[RFC3023]</a></dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>Same as for <code>application/xml</code> <a href="#refsRFC3023">[RFC3023]</a></dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>Same as for <code>application/xml</code> <a href="#refsRFC3023">[RFC3023]</a></dd>
    <dt id="authors-using-xhtml">Published specification:</dt>
@@ -111608,6 +111732,7 @@
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
    <dd>7bit (US-ASCII encoding of octets that themselves can be encoding text using any <span>ASCII-compatible character encoding</span>)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     <p>In isolation, an <code>application/x-www-form-urlencoded</code>
@@ -111615,6 +111740,7 @@
     used as part of a form submission, all the risks that apply to
     HTML forms need to be considered in the context of this type.</p>
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules for generating and processing
@@ -111682,6 +111808,7 @@
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
    <dd>8bit (always UTF-8)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     <p>Cache manifests themselves pose no immediate risk unless
@@ -111693,6 +111820,7 @@
     information leakage, cross-site scripting attacks, and the
     like.</p>
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules for processing both conforming and non-conforming content
@@ -111758,12 +111886,14 @@
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
    <dd>Not applicable.</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     <p>If used exclusively in the fashion described in the context of
     <span>hyperlink auditing</span>, this type introduces no new
     security concerns.</p>
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules applicable to this type are defined in this specification.
@@ -111807,7 +111937,7 @@
 <!--START w3c-html--><!--PING-->
 
 <!--END w3c-html--><!--TTVTT-->
-<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:HTML-->
+<div data-component="other Hixie drafts (editor: Ian Hickson)"><!--TOPIC:Video Text Tracks-->
   <h3><dfn><code>text/vtt</code></dfn></h3>
 
   <p>This registration is for community review and will be submitted
@@ -111829,6 +111959,7 @@
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
    <dd>8bit (always UTF-8)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>
     <p>Text track files themselves pose no immediate risk unless
@@ -111839,6 +111970,7 @@
     implement these rules can result in information leakage,
     cross-site scripting attacks, and the like.</p>
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>
     <p>Rules for processing both conforming and non-conforming content
@@ -111892,7 +112024,7 @@
   <p>Fragment identifiers have no meaning with
   <code>text/vtt</code> resources.</p>
 </div>
-<!--START w3c-html--><!--TTVTT-->
+<!--START w3c-html--><!--TTVTT--><!--TOPIC:HTML-->
 
 <!--END w3c-html--><!--MD--><!--START microdata-->
 
@@ -111921,8 +112053,10 @@
    <dd>Same as for <code>application/json</code> <a href="#refsJSON">[JSON]</a></dd>
    <dt>Encoding considerations:</dt>
    <dd>8bit (always UTF-8)</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations:</dt>
    <dd>Same as for <code>application/json</code> <a href="#refsJSON">[JSON]</a></dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Interoperability considerations:</dt>
    <dd>Same as for <code>application/json</code> <a href="#refsJSON">[JSON]</a></dd>
    <dt>Published specification:</dt>
@@ -112140,6 +112274,7 @@
    <dd>Scheme-specific.</dd>
    <dt>Interoperability considerations</dt>
    <dd>The scheme is expected to be used in the context of Web applications.</dd>
+<!--ADD-TOPIC:Security-->
    <dt>Security considerations</dt>
    <dd>
     Any Web page is able to register a handler for all "<code
@@ -112150,6 +112285,7 @@
     such as usernames, passwords, personal information, or
     confidential project names.
    </dd>
+<!--REMOVE-TOPIC:Security-->
    <dt>Contact</dt>
    <dd>Ian Hickson <ian at hixie.ch></dd>
    <dt>Author/Change controller</dt>




More information about the Commit-Watchers mailing list