[html5] r4748 - [e] (0) Add some <dfn>s to make DOM Core and DOM Events xrefs work a bit. If you [...]

whatwg at whatwg.org whatwg at whatwg.org
Tue Feb 16 00:32:32 PST 2010


Author: ianh
Date: 2010-02-16 00:32:30 -0800 (Tue, 16 Feb 2010)
New Revision: 4748

Modified:
   complete.html
   index
   source
Log:
[e] (0) Add some <dfn>s to make DOM Core and DOM Events xrefs work a bit. If you find other cross-spec things in complete.html that aren't linking, let me know and I'll add them here. (cross-spec links for internal things, like html to microdata, postmsg to websocket, or whatnot, will be dealt with automatically at some later date)
Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=8925

Modified: complete.html
===================================================================
--- complete.html	2010-02-16 08:22:23 UTC (rev 4747)
+++ complete.html	2010-02-16 08:32:30 UTC (rev 4748)
@@ -2033,12 +2033,12 @@
   <p>A node's <dfn id=home-subtree>home subtree</dfn> is the subtree rooted at that
   node's <a href=#root-element>root element</a>.</p>
 
-  <p>The <code>Document</code> of a <code>Node</code> (such as an
-  element) is the <code>Document</code> that the <code>Node</code>'s
+  <p>The <code><a href=#document>Document</a></code> of a <code>Node</code> (such as an
+  element) is the <code><a href=#document>Document</a></code> that the <code>Node</code>'s
   <code title="">ownerDocument</code> IDL attribute returns.</p>
 
   <p>When an element's <a href=#root-element>root element</a> is the <a href=#root-element>root
-  element</a> of a <code>Document</code>, it is said to be <dfn id=in-a-document>in
+  element</a> of a <code><a href=#document>Document</a></code>, it is said to be <dfn id=in-a-document>in
   a <code>Document</code></dfn>. An element is said to have been <dfn id=insert-an-element-into-a-document title="insert an element into a document">inserted into a
   document</dfn> when its <a href=#root-element>root element</a> changes and is now
   the document's <a href=#root-element>root element</a>. Analogously, an element is
@@ -2048,9 +2048,9 @@
   element</a> to being another element.</p>
 
   <p>If a <code>Node</code> is <a href=#in-a-document>in a <code>Document</code></a>
-  then that <code>Document</code> is always the <code>Node</code>'s
-  <code>Document</code>, and the <code>Node</code>'s <code title="">ownerDocument</code> IDL attribute thus always returns that
-  <code>Document</code>.</p>
+  then that <code><a href=#document>Document</a></code> is always the <code>Node</code>'s
+  <code><a href=#document>Document</a></code>, and the <code>Node</code>'s <code title="">ownerDocument</code> IDL attribute thus always returns that
+  <code><a href=#document>Document</a></code>.</p>
 
   <p>The term <dfn id=tree-order>tree order</dfn> means a pre-order, depth-first
   traversal of DOM nodes involved (through the <code title="">parentNode</code>/<code title="">childNodes</code>
@@ -2099,10 +2099,10 @@
 
   <p>The term <dfn id=plugin>plugin</dfn> is used to mean any content handler
   that supports displaying content as part of the user agent's
-  rendering of a <code>Document</code> object, but that neither acts
+  rendering of a <code><a href=#document>Document</a></code> object, but that neither acts
   as a <a href=#child-browsing-context>child browsing context</a> of the
-  <code>Document</code> nor introduces any <code>Node</code> objects
-  to the <code>Document</code>'s DOM.</p>
+  <code><a href=#document>Document</a></code> nor introduces any <code>Node</code> objects
+  to the <code><a href=#document>Document</a></code>'s DOM.</p>
 
   <p>Typically such content handlers are provided by third parties,
   though a user agent can designate content handlers to be
@@ -2495,9 +2495,19 @@
     <p>Implementations must support some version of DOM Core and DOM
     Events, because this specification is defined in terms of the DOM,
     and some of the features are defined as extensions to the DOM Core
-    interfaces. <a href=#refsDOMCORE>[DOMCORE]</a> <a href=#refsDOMCORE>[DOMEVENTS]</a></p>
+    interfaces. <a href=#refsDOMCORE>[DOMCORE]</a> <a href=#refsDOMEVENTS>[DOMEVENTS]</a></p>
 
-   </dd>
+    <p>In particular, the following features are defined in the DOM
+    Core specification: <a href=#refsDOMCORE>[DOMCORE]</a></p>
+    <ul class=brief><li><dfn id=document>Document</dfn></li>
+     <li><dfn id=element>Element</dfn></li>
+     <li><dfn id=nodelist>NodeList</dfn></li>
+     <li><dfn id=textcontent>textContent</dfn></li>
+    </ul><p>The following features are defined in the DOM Events
+    specification: <a href=#refsDOMEVENTS>[DOMEVENTS]</a></p>
+    <ul class=brief><li><dfn id=event>Event</dfn></li>
+     <li><dfn id=eventtarget>EventTarget</dfn></li>
+    </ul></dd>
 
    <dt>Web IDL</dt>
 
@@ -4859,7 +4869,7 @@
   the user agent must use the <span>resolve a Web address</span>
   algorithm defined by the Web addresses specification. <a href=#refsWEBADDRESSES>[WEBADDRESSES]</a></p>
 
-  <p>The <dfn id=document-base-url>document base URL</dfn> of a <code>Document</code>
+  <p>The <dfn id=document-base-url>document base URL</dfn> of a <code><a href=#document>Document</a></code>
   object is the <a href=#absolute-url>absolute URL</a> obtained by running these
   substeps:</p>
 
@@ -4876,7 +4886,7 @@
     context's creation. -->
 
     <p>If <var title="">fallback base url</var> is
-    <code><a href=#about:blank>about:blank</a></code>, and the <code>Document</code>'s
+    <code><a href=#about:blank>about:blank</a></code>, and the <code><a href=#document>Document</a></code>'s
     <a href=#browsing-context>browsing context</a> has a <a href=#creator-browsing-context>creator browsing
     context</a>, then let <var title="">fallback base url</var>
     be the <a href=#document-base-url>document base URL</a> of the <a href=#creator-document>creator
@@ -5216,7 +5226,7 @@
     <p>Generate the <i>address of the resource from which Request-URIs
     are obtained</i> as required by HTTP for the <code title=http-referer>Referer</code> (sic) header from <a href="#the-document's-current-address">the
     document's current address</a> of the appropriate
-    <code>Document</code> as given by the following list. <a href=#refsHTTP>[HTTP]</a></p>
+    <code><a href=#document>Document</a></code> as given by the following list. <a href=#refsHTTP>[HTTP]</a></p>
 
     <dl class=switch><dt>When <a href=#navigate title=navigate>navigating</a></dt>
 
@@ -5225,7 +5235,7 @@
 
      <dt>When fetching resources for an element</dt>
 
-     <dd>The element's <code>Document</code>.</dd>
+     <dd>The element's <code><a href=#document>Document</a></code>.</dd>
 
      <dt>When fetching resources in response to a call to an API</dt>
 
@@ -5239,7 +5249,7 @@
     NOT include a fragment." (section 14.36) -->
 
     <p>If the <a href=#origin>origin</a> of the appropriate
-    <code>Document</code> is not a scheme/host/port tuple, then the
+    <code><a href=#document>Document</a></code> is not a scheme/host/port tuple, then the
     <code title=http-referer>Referer</code> (sic) header must be
     omitted, regardless of its value.</p>
 
@@ -5878,7 +5888,7 @@
   caller getter object <a href=#dom-htmlformcontrolscollection-nameditem title=dom-HTMLFormControlsCollection-namedItem>namedItem</a>(in DOMString name); // overrides inherited namedItem()
 };
 
-interface <dfn id=radionodelist>RadioNodeList</dfn> : <span>NodeList</span> {
+interface <dfn id=radionodelist>RadioNodeList</dfn> : <a href=#nodelist>NodeList</a> {
           attribute DOMString <a href=#dom-radionodelist-value title=dom-RadioNodeList-value>value</a>;
 };</pre>
 
@@ -5942,8 +5952,8 @@
    <li>Return that <code><a href=#radionodelist>RadioNodeList</a></code> object.</li>
 
   </ol><hr><p>Members of the <code><a href=#radionodelist>RadioNodeList</a></code> interface inherited
-  from the <code>NodeList</code> interface must behave as they would
-  on a <code>NodeList</code> object.</p>
+  from the <code><a href=#nodelist>NodeList</a></code> interface must behave as they would
+  on a <code><a href=#nodelist>NodeList</a></code> object.</p>
 
   <p>The <dfn id=dom-radionodelist-value title=dom-RadioNodeList-value><code>value</code></dfn>
   IDL attribute on the <code><a href=#radionodelist>RadioNodeList</a></code> object, on getting,
@@ -6021,7 +6031,7 @@
    <dt><var title="">collection</var>(<var title="">name</var>)</dt>
    <dd>
     <p>Returns the item with <a href=#concept-id title=concept-id>ID</a> or <code title=attr-option-name>name</code> <var title="">name</var> from the collection.</p>
-    <p>If there are multiple matching items, then a <code>NodeList</code> object containing all those elements is returned.</p>
+    <p>If there are multiple matching items, then a <code><a href=#nodelist>NodeList</a></code> object containing all those elements is returned.</p>
     <p>Returns null if no element with that <a href=#concept-id title=concept-id>ID</a> could be found.</p>
    </dd>
 
@@ -6086,16 +6096,16 @@
    either an <code title=attr-id><a href=#the-id-attribute>id</a></code> attribute or a <code title=attr-option-name>name</code> attribute equal to <var title="">name</var>, then return null and stop the algorithm.</li>
 
    <!-- IE returns an HTMLCollection instead; we may need to change to that for compat -->
-   <li>Otherwise, create a <code>NodeList</code> object representing a
+   <li>Otherwise, create a <code><a href=#nodelist>NodeList</a></code> object representing a
    live view of the <code><a href=#htmloptionscollection>HTMLOptionsCollection</a></code> object, further
-   filtered so that the only nodes in the <code>NodeList</code> object
+   filtered so that the only nodes in the <code><a href=#nodelist>NodeList</a></code> object
    are those that have either an <code title=attr-id><a href=#the-id-attribute>id</a></code>
    attribute or a <code title=attr-option-name>name</code> attribute
    equal to <var title="">name</var>. The nodes in the
-   <code>NodeList</code> object must be sorted in <a href=#tree-order>tree
+   <code><a href=#nodelist>NodeList</a></code> object must be sorted in <a href=#tree-order>tree
    order</a>.</li>
 
-   <li>Return that <code>NodeList</code> object.</li>
+   <li>Return that <code><a href=#nodelist>NodeList</a></code> object.</li>
 
   </ol><p>The <dfn id=dom-htmloptionscollection-add title=dom-HTMLOptionsCollection-add><code>add(<var title="">element</var>, <var title="">before</var>)</code></dfn>
   method must act according to the following algorithm:</p>
@@ -6161,7 +6171,7 @@
 
 typedef sequence<any> <dfn id=propertyvaluearray>PropertyValueArray</dfn>;
 
-interface <dfn id=propertynodelist>PropertyNodeList</dfn> : <span>NodeList</span> {
+interface <dfn id=propertynodelist>PropertyNodeList</dfn> : <a href=#nodelist>NodeList</a> {
   readonly attribute <a href=#propertyvaluearray>PropertyValueArray</a> <a href=#dom-propertynodelist-values title=dom-PropertyNodeList-values>values</a>;
 };</pre>
 
@@ -6224,8 +6234,8 @@
   particular <var title="">name</var> is queried.</p>
 
   <hr><p>Members of the <code><a href=#propertynodelist>PropertyNodeList</a></code> interface inherited
-  from the <code>NodeList</code> interface must behave as they would
-  on a <code>NodeList</code> object.</p>
+  from the <code><a href=#nodelist>NodeList</a></code> interface must behave as they would
+  on a <code><a href=#nodelist>NodeList</a></code> object.</p>
 
   <p>The <dfn id=dom-propertynodelist-values title=dom-PropertyNodeList-values><code>values</code></dfn>
   IDL attribute on the <code><a href=#propertynodelist>PropertyNodeList</a></code> object, on
@@ -6726,11 +6736,11 @@
   <div class=example>
 
    <p>For example, the <code>document.location</code> attribute means
-   that there is a strong reference from a <code>Document</code>
+   that there is a strong reference from a <code><a href=#document>Document</a></code>
    object to its <code><a href=#location>Location</a></code> object. Similarly, there is
-   always a strong reference from a <code>Document</code> to any
+   always a strong reference from a <code><a href=#document>Document</a></code> to any
    descendant nodes, and from any node to its owner
-   <code>Document</code>.</p>
+   <code><a href=#document>Document</a></code>.</p>
 
   </div>
 
@@ -6764,29 +6774,29 @@
   <h3 id=documents><span class=secno>3.1 </span>Documents</h3>
 
   <p>Every XML and HTML document in an HTML UA is represented by a
-  <code>Document</code> object. <a href=#refsDOMCORE>[DOMCORE]</a></p>
+  <code><a href=#document>Document</a></code> object. <a href=#refsDOMCORE>[DOMCORE]</a></p>
 
   <p><dfn id="the-document's-address">The document's address</dfn> is an <a href=#absolute-url>absolute URL</a>
-  that is set when the <code>Document</code> is created. <dfn id="the-document's-current-address">The
+  that is set when the <code><a href=#document>Document</a></code> is created. <dfn id="the-document's-current-address">The
   document's current address</dfn> is an <a href=#absolute-url>absolute URL</a>
-  that can change during the lifetime of the <code>Document</code>,
+  that can change during the lifetime of the <code><a href=#document>Document</a></code>,
   for example when the user <a href=#navigate title=navigate>navigates</a> to
   a <a href=#scroll-to-fragid title=navigate-fragid>fragment identifier</a> on the
   page or when the <code title=dom-history-pushState><a href=#dom-history-pushstate>pushState()</a></code> method is called
   with a new <a href=#url>URL</a>. <span class=impl><a href="#the-document's-current-address">The document's
   current address</a> must be set to <a href="#the-document's-address">the document's
-  address</a> when the <code>Document</code> is created.</span></p>
+  address</a> when the <code><a href=#document>Document</a></code> is created.</span></p>
 
   <p class=note>Interactive user agents typically expose <a href="#the-document's-current-address">the
   document's current address</a> in their user interface.</p>
 
-  <p>When a <code>Document</code> is created by a <a href=#concept-script title=concept-script>script</a> using the <code title=dom-DOMImplementation-createDocument>createDocument()</code>
+  <p>When a <code><a href=#document>Document</a></code> is created by a <a href=#concept-script title=concept-script>script</a> using the <code title=dom-DOMImplementation-createDocument>createDocument()</code>
   or <code title=dom-DOMHTMLImplementation-createHTMLDocument><a href=#dom-domhtmlimplementation-createhtmldocument>createHTMLDocument()</a></code>
   APIs, <a href="#the-document's-address">the document's address</a> is the same as <a href="#the-document's-address">the
   document's address</a> of the <a href=#active-document>active document</a> of the
   <a href="#script's-browsing-context">script's browsing context</a>.</p>
 
-  <p><code>Document</code> objects are assumed to be <dfn id=xml-documents>XML
+  <p><code><a href=#document>Document</a></code> objects are assumed to be <dfn id=xml-documents>XML
   documents</dfn> unless they are flagged as being <dfn id=html-documents>HTML
   documents</dfn> when they are created. Whether a document is an
   <a href=#html-documents title="HTML documents">HTML document</a> or an <a href=#xml-documents title="XML documents">XML document</a> affects the behavior of
@@ -6796,23 +6806,23 @@
 
   <h4 id=documents-in-the-dom><span class=secno>3.1.1 </span>Documents in the DOM</h4>
 
-  <p>All <code>Document</code> objects (in user agents implementing
+  <p>All <code><a href=#document>Document</a></code> objects (in user agents implementing
   this specification) <span class=impl>must</span> also implement
   the <code><a href=#htmldocument>HTMLDocument</a></code> interface, available using
   binding-specific methods. (This is the case whether or not the
   document in question is an <a href=#html-documents title="HTML documents">HTML
   document</a> or indeed whether it contains any <a href=#html-elements>HTML
-  elements</a> at all.) <code>Document</code> objects <span class=impl>must</span> also implement the document-level interface
+  elements</a> at all.) <code><a href=#document>Document</a></code> objects <span class=impl>must</span> also implement the document-level interface
   of any other namespaces that the UA supports.</p>
 
   <p class=example>For example, if an HTML implementation also
-  supports SVG, then the <code>Document</code> object implements both
+  supports SVG, then the <code><a href=#document>Document</a></code> object implements both
   <code><a href=#htmldocument>HTMLDocument</a></code> and <code>SVGDocument</code>.</p>
 
   <p class=note>Because the <code><a href=#htmldocument>HTMLDocument</a></code> interface is
   now obtained using binding-specific casting methods instead of
   simply being the primary interface of the document object, it is no
-  longer defined as inheriting from <code>Document</code>.</p>
+  longer defined as inheriting from <code><a href=#document>Document</a></code>.</p>
 
   <pre class=idl>[OverrideBuiltins]
 interface <dfn id=htmldocument>HTMLDocument</dfn> {
@@ -6855,7 +6865,7 @@
 
   // <a href=#editing>user interaction</a>
   <a href=#selection-0>Selection</a> <a href=#dom-document-getselection title=dom-document-getSelection>getSelection</a>();
-  readonly attribute <span>Element</span> <a href=#dom-document-activeelement title=dom-document-activeElement>activeElement</a>;
+  readonly attribute <a href=#element>Element</a> <a href=#dom-document-activeelement title=dom-document-activeElement>activeElement</a>;
   boolean <a href=#dom-document-hasfocus title=dom-document-hasFocus>hasFocus</a>();
            attribute DOMString <a href=#designMode title=dom-document-designMode>designMode</a>;
   boolean <a href=#execCommand title=dom-document-execCommand>execCommand</a>(in DOMString commandId);
@@ -6924,7 +6934,7 @@
            attribute <a href=#function>Function</a> <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
            attribute <a href=#function>Function</a> <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
 };
-<span>Document</span> implements <a href=#htmldocument>HTMLDocument</a>;</pre>
+<a href=#document>Document</a> implements <a href=#htmldocument>HTMLDocument</a>;</pre>
 
   <p>Since the <code><a href=#htmldocument>HTMLDocument</a></code> interface holds methods and
   attributes related to a number of disparate features, the members of
@@ -6937,7 +6947,7 @@
   <code><a href=#security_err>SECURITY_ERR</a></code> exception whenever any of the members of
   an <code><a href=#htmldocument>HTMLDocument</a></code> object are accessed by scripts whose
   <a href=#effective-script-origin>effective script origin</a> is not the <a href=#same-origin title="same
-  origin">same</a> as the <code>Document</code>'s <a href=#effective-script-origin>effective
+  origin">same</a> as the <code><a href=#document>Document</a></code>'s <a href=#effective-script-origin>effective
   script origin</a>.</p>
 
 
@@ -6952,7 +6962,7 @@
    <dt><var title="">document</var> . <code title=dom-document-referrer><a href=#dom-document-referrer>referrer</a></code></dt>
    <dd>
     <p>Returns <a href="#the-document's-current-address" title="the document's current address">the
-    address</a> of the <code>Document</code> from which the user
+    address</a> of the <code><a href=#document>Document</a></code> from which the user
     navigated to this one, unless it was blocked or there was no such
     document, in which case it returns the empty string.</p>
     <p>The <code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code> link
@@ -6989,11 +6999,11 @@
   <hr><dl class=domintro><dt><var title="">document</var> . <code title=dom-document-cookie><a href=#dom-document-cookie>cookie</a></code> [ = <var title="">value</var> ]</dt>
    <dd>
     <p>Returns the HTTP cookies that apply to the
-    <code>Document</code>. If there are no cookies or cookies can't be
+    <code><a href=#document>Document</a></code>. If there are no cookies or cookies can't be
     applied to this resource, the empty string will be returned.</p>
     <p>Can be set, to add a new cookie to the element's set of HTTP
     cookies.</p>
-    <p>If the <code>Document</code> has no <a href=#browsing-context>browsing
+    <p>If the <code><a href=#document>Document</a></code> has no <a href=#browsing-context>browsing
     context</a> an <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception will be
     thrown. If the contents are <a href=#sandboxed-origin-browsing-context-flag title="sandboxed origin browsing
     context flag">sandboxed into a unique origin</a>, a
@@ -7009,8 +7019,8 @@
   with a <a href=#browsing-context>browsing context</a> then the user agent must raise
   an <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception. Otherwise, if the
   <a href=#sandboxed-origin-browsing-context-flag>sandboxed origin browsing context flag</a> was set on the
-  <a href=#browsing-context>browsing context</a> of the <code>Document</code> when the
-  <code>Document</code> was created, the user agent must raise a
+  <a href=#browsing-context>browsing context</a> of the <code><a href=#document>Document</a></code> when the
+  <code><a href=#document>Document</a></code> was created, the user agent must raise a
   <code><a href=#security_err>SECURITY_ERR</a></code> exception. Otherwise, if <a href="#the-document's-address">the
   document's address</a> does not use a server-based naming
   authority, it must return the empty string. Otherwise, it must first
@@ -7022,8 +7032,8 @@
   <a href=#browsing-context>browsing context</a> then the user agent must raise an
   <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception. Otherwise, if the
   <a href=#sandboxed-origin-browsing-context-flag>sandboxed origin browsing context flag</a> was set on the
-  <a href=#browsing-context>browsing context</a> of the <code>Document</code> when the
-  <code>Document</code> was created, the user agent must raise a
+  <a href=#browsing-context>browsing context</a> of the <code><a href=#document>Document</a></code> when the
+  <code><a href=#document>Document</a></code> was created, the user agent must raise a
   <code><a href=#security_err>SECURITY_ERR</a></code> exception. Otherwise, if <a href="#the-document's-address">the
   document's address</a> does not use a server-based naming
   authority, it must do nothing. Otherwise, the user agent must
@@ -7052,7 +7062,7 @@
 
   <p>The <dfn id=dom-document-lastmodified title=dom-document-lastModified><code>lastModified</code></dfn>
   attribute, on getting, must return the date and time of the
-  <code>Document</code>'s source file's last modification, in the
+  <code><a href=#document>Document</a></code>'s source file's last modification, in the
   user's local time zone, in the following format:</p>
 
   <ol><li> The month component of the date. </li>
@@ -7085,7 +7095,7 @@
   DIGIT NINE (9) representing the number in base ten, zero-padded if
   necessary.</p>
 
-  <p>The <code>Document</code>'s source file's last modification date
+  <p>The <code><a href=#document>Document</a></code>'s source file's last modification date
   and time must be derived from relevant features of the networking
   protocols used, e.g. from the value of the HTTP <code title=http-last-modified>Last-Modified</code> header of the
   document, or from metadata in the file system for local files. If
@@ -7104,7 +7114,7 @@
 
   </dl><div class=impl>
 
-  <p>A <code>Document</code> is always set to one of three modes:
+  <p>A <code><a href=#document>Document</a></code> is always set to one of three modes:
   <dfn id=no-quirks-mode>no quirks mode</dfn>, the default; <dfn id=quirks-mode>quirks mode</dfn>, used
   typically for legacy documents; and <dfn id=limited-quirks-mode>limited quirks mode</dfn>,
   also known as "almost standards" mode. The mode is only ever changed
@@ -7142,7 +7152,7 @@
   </dl><div class=impl>
 
   <p>Documents have an associated <dfn id="document's-character-encoding" title="document's character
-  encoding">character encoding</dfn>. When a <code>Document</code>
+  encoding">character encoding</dfn>. When a <code><a href=#document>Document</a></code>
   object is created, the <a href="#document's-character-encoding">document's character encoding</a>
   must be initialized to UTF-16. Various algorithms during page
   loading affect this value, as does the <code title=dom-document-charset><a href=#dom-document-charset>charset</a></code> setter. <a href=#refsIANACHARSET>[IANACHARSET]</a></p>
@@ -7169,23 +7179,23 @@
 
   <dl class=domintro><dt><var title="">document</var> . <code title=dom-document-readyState><a href=#dom-document-readystate>readyState</a></code></dt>
    <dd>
-    <p>Returns "loading" while the <code>Document</code> is loading, and "complete" once it has loaded.</p>
-    <p>The <code title=event-readystatechange>readystatechange</code> event fires on the <code>Document</code> object when this value changes.</p>
+    <p>Returns "loading" while the <code><a href=#document>Document</a></code> is loading, and "complete" once it has loaded.</p>
+    <p>The <code title=event-readystatechange>readystatechange</code> event fires on the <code><a href=#document>Document</a></code> object when this value changes.</p>
    </dd>
 
   </dl><div class=impl>
 
   <p>Each document has a <dfn id=current-document-readiness>current document readiness</dfn>. When a
-  <code>Document</code> object is created, it must have its
+  <code><a href=#document>Document</a></code> object is created, it must have its
   <a href=#current-document-readiness>current document readiness</a> set to the string "loading"
   if the document is associated with an <a href=#html-parser>HTML parser</a> or an
   <a href=#xml-parser>XML parser</a>, or to the string "complete"
   otherwise. Various algorithms during page loading affect this
   value. When the value is set, the user agent must <a href=#fire-a-simple-event>fire a
   simple event</a> named <code title=event-readystatechange>readystatechange</code> at the
-  <code>Document</code> object.</p>
+  <code><a href=#document>Document</a></code> object.</p>
 
-  <p>A <code>Document</code> is said to have an <dfn id=active-parser>active
+  <p>A <code><a href=#document>Document</a></code> is said to have an <dfn id=active-parser>active
   parser</dfn> if it is associated with an <a href=#html-parser>HTML parser</a> or
   an <a href=#xml-parser>XML parser</a> that has not yet been <a href=#stop-parsing title="stop
   parsing">stopped</a> or aborted.</p>
@@ -7308,7 +7318,7 @@
   there is no such element, it is null. <span class=impl>If the body
   element is null, then when the specification requires that events be
   fired at "the body element", they must instead be fired at the
-  <code>Document</code> object.</span></p>
+  <code><a href=#document>Document</a></code> object.</span></p>
 
   <div class=impl>
 
@@ -7347,28 +7357,28 @@
 
   <hr><dl class=domintro><dt><var title="">document</var> . <code title=dom-document-images><a href=#dom-document-images>images</a></code></dt>
    <dd>
-    <p>Returns an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-img-element>img</a></code> elements in the <code>Document</code>.</p>
+    <p>Returns an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-img-element>img</a></code> elements in the <code><a href=#document>Document</a></code>.</p>
    </dd>
 
    <dt><var title="">document</var> . <code title=dom-document-embeds><a href=#dom-document-embeds>embeds</a></code></dt>
    <dt><var title="">document</var> . <code title=dom-document-plugins><a href=#dom-document-plugins>plugins</a></code></dt>
    <dd>
-    <p>Return an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-embed-element>embed</a></code> elements in the <code>Document</code>.</p>
+    <p>Return an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-embed-element>embed</a></code> elements in the <code><a href=#document>Document</a></code>.</p>
    </dd>
 
    <dt><var title="">document</var> . <code title=dom-document-links><a href=#dom-document-links>links</a></code></dt>
    <dd>
-    <p>Returns an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements in the <code>Document</code> that have <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attributes.</p>
+    <p>Returns an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements in the <code><a href=#document>Document</a></code> that have <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attributes.</p>
    </dd>
 
    <dt><var title="">document</var> . <code title=dom-document-forms><a href=#dom-document-forms>forms</a></code></dt>
    <dd>
-    <p>Return an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-form-element>form</a></code> elements in the <code>Document</code>.</p>
+    <p>Return an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-form-element>form</a></code> elements in the <code><a href=#document>Document</a></code>.</p>
    </dd>
 
    <dt><var title="">document</var> . <code title=dom-document-scripts><a href=#dom-document-scripts>scripts</a></code></dt>
    <dd>
-    <p>Return an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#script>script</a></code> elements in the <code>Document</code>.</p>
+    <p>Return an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#script>script</a></code> elements in the <code><a href=#document>Document</a></code>.</p>
    </dd>
 
   </dl><div class=impl>
@@ -7378,12 +7388,12 @@
 
   <p>The <dfn id=dom-document-images title=dom-document-images><code>images</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only
+  <code><a href=#document>Document</a></code> node, whose filter matches only
   <code><a href=#the-img-element>img</a></code> elements.</p>
 
   <p>The <dfn id=dom-document-embeds title=dom-document-embeds><code>embeds</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only
+  <code><a href=#document>Document</a></code> node, whose filter matches only
   <code><a href=#the-embed-element>embed</a></code> elements.</p>
 
   <p>The <dfn id=dom-document-plugins title=dom-document-plugins><code>plugins</code></dfn>
@@ -7391,75 +7401,75 @@
 
   <p>The <dfn id=dom-document-links title=dom-document-links><code>links</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only <code><a href=#the-a-element>a</a></code>
+  <code><a href=#document>Document</a></code> node, whose filter matches only <code><a href=#the-a-element>a</a></code>
   elements with <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code>
   attributes and <code><a href=#the-area-element>area</a></code> elements with <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attributes.</p>
 
   <p>The <dfn id=dom-document-forms title=dom-document-forms><code>forms</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only
+  <code><a href=#document>Document</a></code> node, whose filter matches only
   <code><a href=#the-form-element>form</a></code> elements.</p>
 
   <p>The <dfn id=dom-document-scripts title=dom-document-scripts><code>scripts</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only
+  <code><a href=#document>Document</a></code> node, whose filter matches only
   <code><a href=#script>script</a></code> elements.</p>
 
   <hr></div>
 
   <dl class=domintro><dt><var title="">collection</var> = <var title="">document</var> . <code title=dom-document-getElementsByName><a href=#dom-document-getelementsbyname>getElementsByName</a></code>(<var title="">name</var>)</dt>
    <dd>
-    <p>Returns a <code>NodeList</code> of elements in the
-    <code>Document</code> that have a <code title="">name</code>
+    <p>Returns a <code><a href=#nodelist>NodeList</a></code> of elements in the
+    <code><a href=#document>Document</a></code> that have a <code title="">name</code>
     attribute with the value <var title="">name</var>.</p>
    </dd>
 
    <dt><var title="">collection</var> = <var title="">document</var> . <code title=dom-document-getElementsByClassName><a href=#dom-document-getelementsbyclassname>getElementsByClassName(<var title="">classes</var>)</a></code></dt>
    <dt><var title="">collection</var> = <var title="">element</var> . <code title=dom-getElementsByClassName><a href=#dom-getelementsbyclassname>getElementsByClassName(<var title="">classes</var>)</a></code></dt>
    <dd>
-    <p>Returns a <code>NodeList</code> of the elements in the object
-    on which the method was invoked (a <code>Document</code> or an
-    <code>Element</code>) that have all the classes given by <var title="">classes</var>.</p>
+    <p>Returns a <code><a href=#nodelist>NodeList</a></code> of the elements in the object
+    on which the method was invoked (a <code><a href=#document>Document</a></code> or an
+    <code><a href=#element>Element</a></code>) that have all the classes given by <var title="">classes</var>.</p>
     <p>The <var title="">classes</var> argument is interpreted as a
     space-separated list of classes.</p>
    </dd>
 
   </dl><div class=impl>
 
-  <p>The <dfn id=dom-document-getelementsbyname title=dom-document-getElementsByName><code>getElementsByName(<var title="">name</var>)</code></dfn> method takes a string <var title="">name</var>, and must return a live <code>NodeList</code>
+  <p>The <dfn id=dom-document-getelementsbyname title=dom-document-getElementsByName><code>getElementsByName(<var title="">name</var>)</code></dfn> method takes a string <var title="">name</var>, and must return a live <code><a href=#nodelist>NodeList</a></code>
   containing all the <a href=#html-elements>HTML elements</a> in that document that
   have a <code title="">name</code> attribute whose value is equal to
   the <var title="">name</var> argument (in a
   <a href=#case-sensitive>case-sensitive</a> manner), in <a href=#tree-order>tree order</a>. A
-  new <code>NodeList</code> object must be returned each time unless
+  new <code><a href=#nodelist>NodeList</a></code> object must be returned each time unless
   the argument is the same as the last time the method was invoked on
-  this <code>Document</code> object, in which case the object must be
+  this <code><a href=#document>Document</a></code> object, in which case the object must be
   the same as the object returned by the previous call.</p>
 
   <p>The <dfn id=dom-document-getelementsbyclassname title=dom-document-getElementsByClassName><code>getElementsByClassName(<var title="">classNames</var>)</code></dfn> method takes a string that
   contains a <a href=#set-of-space-separated-tokens>set of space-separated tokens</a> representing
   classes. When called, the method must return a live
-  <code>NodeList</code> object containing all the elements in the
+  <code><a href=#nodelist>NodeList</a></code> object containing all the elements in the
   document, in <a href=#tree-order>tree order</a>, that have all the classes
   specified in that argument, having obtained the classes by <a href=#split-a-string-on-spaces title="split a string on spaces">splitting a string on
   spaces</a>. (Duplicates are ignored.) If there are no tokens
   specified in the argument, then the method must return an empty
-  <code>NodeList</code>. If the document is in <a href=#quirks-mode>quirks
+  <code><a href=#nodelist>NodeList</a></code>. If the document is in <a href=#quirks-mode>quirks
   mode</a>, then the comparisons for the classes must be done in an
   <a href=#ascii-case-insensitive>ASCII case-insensitive</a> manner, otherwise, the
   comparisons must be done in a <a href=#case-sensitive>case-sensitive</a> manner. A
-  new <code>NodeList</code> object must be returned each time unless
+  new <code><a href=#nodelist>NodeList</a></code> object must be returned each time unless
   the argument is the same as the last time the method was invoked on
-  this <code>Document</code> object, in which case the object must be
+  this <code><a href=#document>Document</a></code> object, in which case the object must be
   the same as the object returned by the previous call.</p>
 
   <p>The <dfn id=dom-getelementsbyclassname title=dom-getElementsByClassName><code>getElementsByClassName(<var title="">classNames</var>)</code></dfn> method on the
   <code><a href=#htmlelement>HTMLElement</a></code> interface must return a live
-  <code>NodeList</code> with the nodes that the
+  <code><a href=#nodelist>NodeList</a></code> with the nodes that the
   <code><a href=#htmldocument>HTMLDocument</a></code> <code title=dom-document-getElementsByClassName><a href=#dom-document-getelementsbyclassname>getElementsByClassName()</a></code>
   method would return when passed the same argument(s), excluding any
   elements that are not descendants of the <code><a href=#htmlelement>HTMLElement</a></code>
-  object on which the method was invoked. A new <code>NodeList</code>
+  object on which the method was invoked. A new <code><a href=#nodelist>NodeList</a></code>
   object must be returned each time unless the argument is the same as
   the last time the method was invoked on this
   <code><a href=#htmlelement>HTMLElement</a></code> object, in which case the object must be
@@ -7485,7 +7495,7 @@
 
    <p>A call to
    <code>document.getElementById('example').getElementsByClassName('aaa')</code>
-   would return a <code>NodeList</code> with the two paragraphs
+   would return a <code><a href=#nodelist>NodeList</a></code> with the two paragraphs
    <code>p1</code> and <code>p2</code> in it.</p>
 
    <p>A call to <code>getElementsByClassName('ccc bbb')</code>
@@ -7515,13 +7525,13 @@
   attributes of all the <code><a href=#the-applet-element>applet</a></code>, <code><a href=#the-embed-element>embed</a></code>,
   <code><a href=#the-form-element>form</a></code>, <code><a href=#the-iframe-element>iframe</a></code>, <code><a href=#the-img-element>img</a></code>, and
   <a href=#fallback-free>fallback-free</a> <code><a href=#the-object-element>object</a></code> elements in the
-  <code>Document</code> that have <code title=attr-name>name</code>
+  <code><a href=#document>Document</a></code> that have <code title=attr-name>name</code>
   content attributes, and the values of the <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes of all the
   <code><a href=#the-applet-element>applet</a></code> and <a href=#fallback-free>fallback-free</a>
-  <code><a href=#the-object-element>object</a></code> elements in the <code>Document</code> that have
+  <code><a href=#the-object-element>object</a></code> elements in the <code><a href=#document>Document</a></code> that have
   <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes, and the values
   of the <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes of all the
-  <code><a href=#the-img-element>img</a></code> elements in the <code>Document</code> that have
+  <code><a href=#the-img-element>img</a></code> elements in the <code><a href=#document>Document</a></code> that have
   both <code title=attr-name>name</code> content attributes and
   <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes.</p>
 
@@ -7533,7 +7543,7 @@
   <ol><li>
 
     <p>Let <var title="">elements</var> be the list of <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with
-    the name <var title="">name</var> in the <code>Document</code>.
+    the name <var title="">name</var> in the <code><a href=#document>Document</a></code>.
 
     <p class=note>There will be at least one such element, by
     definition.<!-- (If there wasn't, then this algorithm wouldn't
@@ -7561,7 +7571,7 @@
    <li>
 
     <p>Otherwise return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-    <code>Document</code> node, whose filter matches only <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with
+    <code><a href=#document>Document</a></code> node, whose filter matches only <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with
     the name <var title="">name</var>.</p> <!-- the same one each time
     is returned, because of the rule under collections -->
 
@@ -7612,7 +7622,7 @@
 
   <pre class=idl>[Supplemental, NoInterfaceObject]
 interface <dfn id=domhtmlimplementation>DOMHTMLImplementation</dfn> {
-  <span>Document</span> <a href=#dom-domhtmlimplementation-createhtmldocument title=dom-DOMHTMLImplementation-createHTMLDocument>createHTMLDocument</a>(in DOMString title);
+  <a href=#document>Document</a> <a href=#dom-domhtmlimplementation-createhtmldocument title=dom-DOMHTMLImplementation-createHTMLDocument>createHTMLDocument</a>(in DOMString title);
 };
 <span>DOMImplementation</span> implements <a href=#domhtmlimplementation>DOMHTMLImplementation</a>;</pre>
 
@@ -7620,7 +7630,7 @@
   following steps:</p>
 
   <ol><li><p>Let <var title="">doc</var> be a newly created
-   <code>Document</code> object.</li>
+   <code><a href=#document>Document</a></code> object.</li>
 
    <li><p>Mark <var title="">doc</var> as being an <a href=#html-documents title="HTML
    documents">HTML document</a>.</li>
@@ -7771,7 +7781,7 @@
   must be used by elements that have no additional
   requirements,</span> is the <code><a href=#htmlelement>HTMLElement</a></code> interface.</p>
 
-  <pre class=idl>interface <dfn id=htmlelement>HTMLElement</dfn> : <span>Element</span> {
+  <pre class=idl>interface <dfn id=htmlelement>HTMLElement</dfn> : <a href=#element>Element</a> {
   // <a href=#dom-tree-accessors>DOM tree accessors</a>
   NodeList <a href=#dom-getelementsbyclassname title=dom-getElementsByClassName>getElementsByClassName</a>(in DOMString classNames);
 
@@ -9866,27 +9876,27 @@
 
    <dd>
 
-    <p>Causes the <code>Document</code> to be replaced in-place, as if
-    it was a new <code>Document</code> object, but reusing the
+    <p>Causes the <code><a href=#document>Document</a></code> to be replaced in-place, as if
+    it was a new <code><a href=#document>Document</a></code> object, but reusing the
     previous object, which is then returned.</p>
 
     <p>If the <var title="">type</var> argument is omitted or has the
     value "<code><a href=#text/html>text/html</a></code>", then the resulting
-    <code>Document</code> has an HTML parser associated with it, which
+    <code><a href=#document>Document</a></code> has an HTML parser associated with it, which
     can be given data to parse using <code title=dom-document-write><a href=#dom-document-write>document.write()</a></code>. Otherwise, all
     content passed to <code title=dom-document-write><a href=#dom-document-write>document.write()</a></code> will be parsed
     as plain text.</p>
 
     <p>If the <var title="">replace</var> argument is present and has
     the value "<code title="">replace</code>", the existing entries in
-    the session history for the <code>Document</code> object are
+    the session history for the <code><a href=#document>Document</a></code> object are
     removed.</p>
 
-    <p>The method has no effect if the <code>Document</code> is still
+    <p>The method has no effect if the <code><a href=#document>Document</a></code> is still
     being parsed.</p>
 
     <p>Throws an <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception if the
-    <code>Document</code> is an <a href=#xml-documents title="XML documents">XML
+    <code><a href=#document>Document</a></code> is an <a href=#xml-documents title="XML documents">XML
     document</a>.</p>
 
    </dd>
@@ -9905,7 +9915,7 @@
   <p>When called with two or fewer arguments, the method must act as
   follows:</p>
 
-  <ol><li>If the <code>Document</code> object is not flagged as an <a href=#html-documents title="HTML documents">HTML document</a>, throw an
+  <ol><li>If the <code><a href=#document>Document</a></code> object is not flagged as an <a href=#html-documents title="HTML documents">HTML document</a>, throw an
    <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception and abort these
    steps.</li>
 
@@ -9924,7 +9934,7 @@
     point</a> associated with that parser's <a href=#the-input-stream>input
     stream</a> is not undefined (that is, it <em>does</em> point to
     somewhere in the input stream), then the method does
-    nothing. Abort these steps and return the <code>Document</code>
+    nothing. Abort these steps and return the <code><a href=#document>Document</a></code>
     object on which the method was invoked.</p>
 
     <p class=note>This basically causes <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> to be ignored
@@ -9938,12 +9948,12 @@
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
    <li><p><a href=#prompt-to-unload-a-document title="prompt to unload a document">Prompt to
-   unload</a> the <code>Document</code> object. If the user
+   unload</a> the <code><a href=#document>Document</a></code> object. If the user
    <a href=#refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be unloaded</a>, then
    these steps must be aborted.</li>
 
    <li><p><a href=#unload-a-document title="unload a document">Unload</a> the
-   <code>Document</code> object, with the <var title="">recycle</var>
+   <code><a href=#document>Document</a></code> object, with the <var title="">recycle</var>
    parameter set to true.</li>
 
    <li><p>If the document has an <a href=#active-parser>active parser</a>, then
@@ -9951,10 +9961,10 @@
    <a href=#the-input-stream>input stream</a>.</li>
 
    <li><p>Unregister all event listeners registered on the
-   <code>Document</code> node and its descendants.</p>
+   <code><a href=#document>Document</a></code> node and its descendants.</p>
 
    <li><p>Remove any <a href=#concept-task title=concept-task>tasks</a>
-   associated with the <code>Document</code> in any <a href=#task-source>task
+   associated with the <code><a href=#document>Document</a></code> in any <a href=#task-source>task
    source</a>.</li> <!-- removes callbacks that fired between
    this algorithm starting and the times and databases being aborted
    in the "unload" step above -->
@@ -9963,7 +9973,7 @@
    mutation events.</li> <!-- as of 2009-03-30, only WebKit fired
    mutation events here. -->
 
-   <li><p>Replace the <code>Document</code>'s singleton objects with
+   <li><p>Replace the <code><a href=#document>Document</a></code>'s singleton objects with
    new instances of those objects. (This includes in particular the
    <code><a href=#window>Window</a></code>, <code><a href=#location>Location</a></code>, <code><a href=#history-0>History</a></code>,
    <code><a href=#applicationcache>ApplicationCache</a></code>, <code><a href=#undomanager>UndoManager</a></code>,
@@ -9971,7 +9981,7 @@
    various <code><a href=#barprop>BarProp</a></code> objects, the two <code><a href=#storage-0>Storage</a></code>
    objects, and the various <code><a href=#htmlcollection>HTMLCollection</a></code> objects. It
    also includes all the Web IDL prototypes in the JavaScript binding,
-   including the <code>Document</code> object's prototype.)</li>
+   including the <code><a href=#document>Document</a></code> object's prototype.)</li>
 
    <!-- http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E...%3Ciframe%20src%3D%22document%22%3E%3C%2Fiframe%3E%0A%3Cscript%3Eonload%20%3D%20function%20()%20%7B%20f%20%3D%20document.getElementsByTagName('iframe')%5B0%5D%3B%20d%20%3D%20f.contentWindow.document%3B%20%7D%3C%2Fscript%3E%0A%3Cinput%20type%3Dbutton%20onclick%3D%22w(d.documentElement.innerHTML)%22%20value%3D%22dump%22%3E%0A%3Cinput%20type%3Dbutton%20onclick%3D%22d.open()%3B%20d.write('%3Cscript%3Evar%20x%20%3D%20new%20XMLHttpRequest()%3Bx.open(%26quot%3BGET%26quot%3B%2C%20%26quot%3BGET%26quot%3B)%3Bx.onreadystatechange%3Dfunction()%20%7B%20alert(x.readyState)%3B%20%7D%3Bx.send(null)%3B%3C%2Fscript%3E')%3Bd.close()%3B%20setTimeout(function()%20%7B%20d.open()%3B%20d.write('%3Cp%3Etest%3C%2Fp%3E')%3B%20d.close()%20%7D%2C%200)%3B%22%20value%3D%22xhr%22%3E%0A%3Cinput%20type%3Dbutton%20onclick%3D%22d.onclick%20%3D%20function()%20%7B%20w('click')%20%7D%22%20value%3D%22add%20click%20handler%22%3E%
 0A%3Cinput%20type%3Dbutton%20onclick%3D%22d.open()%3B%20d.write('%3Cp%3Etest%3C%2Fp%3E')%3B%20d.close()%22%20value%3D%22replace%22%3E%0A%3Cinput%20type%3Dbutton%20onclick%3D%22d.open()%3B%20d.write('%3Cp%3E%3Cscript%3Ei%20%3D%200%3B%20setTimeout(%26quot%3Bparent.w(i%2B%2B)%26quot%3B%2C%202000)%3C%2Fscript%3E%3C%2Fp%3E')%3B%20d.close()%22%20value%3D%22replace%20with%20timer%22%3E -->
    <!-- http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0D%0A...%3Ciframe%3E%3C%2Fiframe%3E%0D%0A%3Cscript%3E%0D%0Aonload%20%3D%20function%20()%20%7B%0D%0A%20frames%5B0%5D.test%20%3D%201%0D%0A%20w(frames%5B0%5D.test)%3B%0D%0A%20var%20a%20%3D%20frames%5B0%5D.document.location.assign%3B%0D%0A%20w(a)%3B%0D%0A%20w(frames%5B0%5D.document.location.assign%20%3D%3D%3D%20a)%3B%0D%0A%20frames%5B0%5D.document.open()%3B%0D%0A%20frames%5B0%5D.document.write('%3Cscript%3Edocument.write(test)%3C%5C%2Fscript%3E')%3B%0D%0A%20frames%5B0%5D.document.close()%3B%0D%0A%20w(frames%5B0%5D.test)%3B%0D%0A%20w(frames%5B0%5D.document.location.assign%20%3D%3D%3D%20a)%3B%0D%0A%7D%0D%0A%3C%2Fscript%3E -->
@@ -10035,12 +10045,12 @@
    the <a href=#history-traversal-task-source>history traversal task source</a>.</li>
 
    <li>Remove any earlier entries that share the same
-   <code>Document</code>.</li>
+   <code><a href=#document>Document</a></code>.</li>
 
    <li><p>If <var title="">replace</var> is false, then add a new
    entry, just before the last entry, and associate with the new entry
    the text that was parsed by the previous parser associated with the
-   <code>Document</code> object, as well as the state of the document
+   <code><a href=#document>Document</a></code> object, as well as the state of the document
    at the start of these steps. (This allows the user to step
    backwards in the session history to see the page before it was
    blown away by the <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> call.)</li>
@@ -10049,7 +10059,7 @@
    just before the end of the <a href=#the-input-stream>input stream</a> (which at this
    point will be empty).</li>
 
-   <li><p>Return the <code>Document</code> on which the method was
+   <li><p>Return the <code><a href=#document>Document</a></code> on which the method was
    invoked.</li>
 
   </ol><p>When called with three or more arguments, the <code title=dom-document-open><a href=#dom-document-open>open()</a></code> method on the
@@ -10073,7 +10083,7 @@
     <p>Closes the input stream that was opened by the <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> method.</p>
 
     <p>Throws an <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception if the
-    <code>Document</code> is an <a href=#xml-documents title="XML documents">XML
+    <code><a href=#document>Document</a></code> is an <a href=#xml-documents title="XML documents">XML
     document</a>.</p>
 
    </dd>
@@ -10083,7 +10093,7 @@
   <p>The <dfn id=dom-document-close title=dom-document-close><code>close()</code></dfn>
   method must run the following steps:</p>
 
-  <ol><li><p>If the <code>Document</code> object is not flagged as an
+  <ol><li><p>If the <code><a href=#document>Document</a></code> object is not flagged as an
    <a href=#html-documents title="HTML documents">HTML document</a>, throw an
    <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception and abort these
    steps.</li>
@@ -10112,7 +10122,7 @@
 
    <dd>
 
-    <p>Adds the given string(s) to the <code>Document</code>'s input
+    <p>Adds the given string(s) to the <code><a href=#document>Document</a></code>'s input
     stream. If necessary, calls the <code title=dom-document-open><a href=#dom-document-open>open()</a></code> method implicitly
     first.</p>
 
@@ -10142,7 +10152,7 @@
    <li>
 
     <p>If the <a href=#insertion-point>insertion point</a> is undefined, the <code title=dom-document-open><a href=#dom-document-open>open()</a></code> method must be called
-    (with no arguments) on the <code title=Document>document</code>
+    (with no arguments) on the <code title=Document><a href=#document>document</a></code>
     object. If the user <a href=#refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be
     unloaded</a>, then these steps must be aborted. Otherwise, the
     <a href=#insertion-point>insertion point</a> will point at just before the end of
@@ -10198,7 +10208,7 @@
 
    <dd>
 
-    <p>Adds the given string(s) to the <code>Document</code>'s input
+    <p>Adds the given string(s) to the <code><a href=#document>Document</a></code>'s input
     stream, followed by a newline character. If necessary, calls the
     <code title=dom-document-open><a href=#dom-document-open>open()</a></code> method implicitly
     first.</p>
@@ -10229,13 +10239,13 @@
    <dd>
 
     <p>Returns a fragment of HTML or XML that represents the
-    <code>Document</code>.</p>
+    <code><a href=#document>Document</a></code>.</p>
 
-    <p>Can be set, to replace the <code>Document</code>'s contents
+    <p>Can be set, to replace the <code><a href=#document>Document</a></code>'s contents
     with the result of parsing the given string.</p>
 
     <p>In the case of <a href=#xml-documents>XML documents</a>, will throw an
-    <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> if the <code>Document</code> cannot
+    <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> if the <code><a href=#document>Document</a></code> cannot
     be serialized to XML, and a <code><a href=#syntax_err>SYNTAX_ERR</a></code> if the given
     string is not well-formed.</p>
 
@@ -10282,7 +10292,7 @@
     algorithm</a>.</p>
 
     <p>In either case, the algorithm must be invoked with the string
-    being assigned into the <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> attribute as the <var title="">input</var>. If the node is an <code>Element</code>
+    being assigned into the <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> attribute as the <var title="">input</var>. If the node is an <code><a href=#element>Element</a></code>
     node, then, in addition, that element must be passed as the <var title="">context</var> element.</p>
 
     <p>If this raises an exception, then abort these steps.</p>
@@ -10294,7 +10304,7 @@
 
    <li>
 
-    <p>If the attribute is being set on a <code>Document</code> node,
+    <p>If the attribute is being set on a <code><a href=#document>Document</a></code> node,
     and that document has an <a href=#active-parser>active parser</a>, then abort
     that parser.</p>
 
@@ -10309,12 +10319,12 @@
 
    <li>
 
-    <p>If the attribute is being set on a <code>Document</code>
+    <p>If the attribute is being set on a <code><a href=#document>Document</a></code>
     node, let <var title="">target document</var> be that
-    <code>Document</code> node. Otherwise, the attribute is being
-    set on an <code>Element</code> node; let <var title="">target
+    <code><a href=#document>Document</a></code> node. Otherwise, the attribute is being
+    set on an <code><a href=#element>Element</a></code> node; let <var title="">target
     document</var> be the <code title="">ownerDocument</code> of
-    that <code>Element</code>.</p>
+    that <code><a href=#element>Element</a></code>.</p>
 
    </li>
 
@@ -10360,7 +10370,7 @@
     well-formed.</p>
 
     <p>Throws a <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception if
-    the parent of the element is the <code>Document</code>
+    the parent of the element is the <code><a href=#document>Document</a></code>
     node.</p>
 
    </dd>
@@ -10397,7 +10407,7 @@
    <li>
 
     <p>If <var title="">target</var>'s parent node is a
-    <code>Document</code> object, throw a
+    <code><a href=#document>Document</a></code> object, throw a
     <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception and abort these
     steps.</p>
 
@@ -10479,7 +10489,7 @@
 
     <p>Throws a <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception if
     the given position isn't possible (e.g. inserting elements after
-    the root element of a <code>Document</code>).</p>
+    the root element of a <code><a href=#document>Document</a></code>).</p>
 
    </dd>
 
@@ -10517,7 +10527,7 @@
       these steps.</p>
 
       <p>If <var title="">target</var>'s parent node is a
-      <code>Document</code> object, then throw a
+      <code><a href=#document>Document</a></code> object, then throw a
       <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception and abort
       these steps.
 
@@ -10707,7 +10717,7 @@
     <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-0>head</a></code> element <a href=#represents>represents</a> a
-  collection of metadata for the <code>Document</code>.</p>
+  collection of metadata for the <code><a href=#document>Document</a></code>.</p>
 
   <div class=example>
 
@@ -10794,7 +10804,7 @@
   node">text nodes</a> that are direct children of the
   <code><a href=#the-title-element-0>title</a></code> element (ignoring any other nodes such as
   comments or elements), in tree order. On setting, it must act the
-  same way as the <code>textContent</code> IDL attribute.</p>
+  same way as the <code><a href=#textcontent>textContent</a></code> IDL attribute.</p>
 
   </div>
 
@@ -10876,7 +10886,7 @@
   <p>The <dfn id=attr-base-target title=attr-base-target><code>target</code></dfn>
   attribute, if specified, must contain a <a href=#valid-browsing-context-name-or-keyword>valid browsing context
   name or keyword</a>, which specifies which <a href=#browsing-context>browsing
-  context</a> is to be used as the default when <a href=#hyperlink title=hyperlink>hyperlinks</a> and <a href=#the-form-element title=form>forms</a> in the <code>Document</code> cause <a href=#navigate title=navigate>navigation</a>.</p>
+  context</a> is to be used as the default when <a href=#hyperlink title=hyperlink>hyperlinks</a> and <a href=#the-form-element title=form>forms</a> in the <code><a href=#document>Document</a></code> cause <a href=#navigate title=navigate>navigation</a>.</p>
 
   <p>A <code><a href=#the-base-element>base</a></code> element, if it has a <code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute, must come before
   any elements in the tree that represent <a href=#hyperlink title=hyperlink>hyperlinks</a>.</p>
@@ -12188,7 +12198,7 @@
   attribute is a <a href=#boolean-attribute>boolean attribute</a>. If set, it indicates
   that the styles are intended just for the subtree rooted at the
   <code><a href=#the-style-element>style</a></code> element's parent element, as opposed to the whole
-  <code>Document</code>.</p>
+  <code><a href=#document>Document</a></code>.</p>
 
   <div class=impl>
 
@@ -12212,7 +12222,7 @@
   <code><a href=#the-style-element>style</a></code> block without a title does not inherit the title
   of the parent element: it merely has no title.</p>
 
-  <p>The <code>textContent</code> of a <code><a href=#the-style-element>style</a></code> element must
+  <p>The <code><a href=#textcontent>textContent</a></code> of a <code><a href=#the-style-element>style</a></code> element must
   match the <code title="">style</code> production in the following
   ABNF, the character set for which is Unicode. <a href=#refsABNF>[ABNF]</a></p>
 
@@ -12432,10 +12442,10 @@
   script once the <a href=#event-loop>event loop</a> reaches its "update the
   rendering" step.</p>
 
-  <p>A style sheet in the context of the <code>Document</code> of an
+  <p>A style sheet in the context of the <code><a href=#document>Document</a></code> of an
   <a href=#html-parser>HTML parser</a> or <a href=#xml-parser>XML parser</a> is said to be
   <dfn id=a-style-sheet-blocking-scripts>a style sheet blocking scripts</dfn> if the element was created
-  by that <code>Document</code>'s parser, and the element is either a
+  by that <code><a href=#document>Document</a></code>'s parser, and the element is either a
   <code><a href=#the-style-element>style</a></code> element or a <code><a href=#the-link-element>link</a></code> element that was
   an <a href=#link-type-stylesheet title=rel-stylesheet>external resource link that
   contributes to the styling processing model</a> when the element
@@ -12719,7 +12729,7 @@
     <p>If the element has a <code title=attr-script-src><a href=#attr-script-src>src</a></code>
     attribute, then the value of that attribute must be <a href=#resolve-a-url title="resolve a url">resolved</a> relative to the element, and
     if that is successful, the specified resource must then be <a href=#fetch title=fetch>fetched</a>, from the <a href=#origin>origin</a> of the
-    element's <code>Document</code>.</p> <!-- not http-origin privacy
+    element's <code><a href=#document>Document</a></code>.</p> <!-- not http-origin privacy
     sensitive -->
 
     <p>For historical reasons, if the <a href=#url>URL</a> is a <a href=#javascript-protocol title="javascript protocol"><code title="">javascript:</code>
@@ -12990,7 +13000,7 @@
   node">text nodes</a> that are direct children of the
   <code><a href=#script>script</a></code> element (ignoring any other nodes such as
   comments or elements), in tree order. On setting, it must act the
-  same way as the <code>textContent</code> IDL attribute.</p>
+  same way as the <code><a href=#textcontent>textContent</a></code> IDL attribute.</p>
 
   </div>
 
@@ -13117,7 +13127,7 @@
 
   <h5 id=restrictions-for-contents-of-script-elements><span class=secno>4.3.1.2 </span><dfn title="script content restrictions">Restrictions for contents of <code>script</code> elements</dfn></h5>
 
-  <p>The <code>textContent</code> of a <code><a href=#script>script</a></code> element must match the
+  <p>The <code><a href=#textcontent>textContent</a></code> of a <code><a href=#script>script</a></code> element must match the
   <code title="">script</code> production in the following ABNF, the
   character set for which is Unicode. <a href=#refsABNF>[ABNF]</a></p>
 
@@ -13497,14 +13507,14 @@
   elements</a>.</p>
 
   <p class=example>Thus, for example, a bubbling <code title=event-error>error</code> event fired on a child of <a href=#the-body-element>the
-  body element</a> of a <code>Document</code> would first trigger
+  body element</a> of a <code><a href=#document>Document</a></code> would first trigger
   the <code title=handler-onerror><a href=#handler-onerror>onerror</a></code> <a href=#event-handler-content-attributes>event handler
   content attributes</a> of that element, then that of the root
   <code><a href=#the-html-element-0>html</a></code> element, and only <em>then</em> would it trigger
   the <code title=handler-window-onerror><a href=#handler-window-onerror>onerror</a></code> <a href=#event-handler-content-attributes title="event handler content attributes">event handler content
   attribute</a> on the <code><a href=#the-body-element-0>body</a></code> element. This is because
   the event would bubble from the target, to the <code><a href=#the-body-element-0>body</a></code>, to
-  the <code><a href=#the-html-element-0>html</a></code>, to the <code>Document</code>, to the
+  the <code><a href=#the-html-element-0>html</a></code>, to the <code><a href=#document>Document</a></code>, to the
   <code><a href=#window>Window</a></code>, and the <a href=#event-handlers title="event handlers">event
   handler</a> on the <code><a href=#the-body-element-0>body</a></code> is watching the
   <code><a href=#window>Window</a></code> not the <code><a href=#the-body-element-0>body</a></code>. A regular event
@@ -14455,13 +14465,13 @@
 
    </dd>
 
-   <dt>If <var title="">node</var>'s <code>Document</code> has <a href=#the-body-element title="the body element">a body element</a></dt>
+   <dt>If <var title="">node</var>'s <code><a href=#document>Document</a></code> has <a href=#the-body-element title="the body element">a body element</a></dt>
 
    <dd>
 
     <p>The contact information of <var title="">node</var> is the same
     as the contact information <a href=#the-body-element>the body element</a> of the
-    <code>Document</code>.</p>
+    <code><a href=#document>Document</a></code>.</p>
 
    </dd>
 
@@ -14883,7 +14893,7 @@
   are ancestors of <var title="">section</var> in the
   <a href=#outline>outline</a> that <var title="">section</var> finds itself
   in when the <a href=#outline title=outline>outlines</a> of its
-  <code>Document</code>'s elements are created, plus 1. The
+  <code><a href=#document>Document</a></code>'s elements are created, plus 1. The
   <a href=#outline-depth>outline depth</a> of a <a href=#heading-content>heading content</a> element
   not associated with a <a href=#concept-section title=concept-section>section</a>
   is 1.</p>
@@ -16179,7 +16189,7 @@
 
    <dd>
 
-    <p>Same as <code>textContent</code>.</p>
+    <p>Same as <code><a href=#textcontent>textContent</a></code>.</p>
 
    </dd>
 
@@ -16195,8 +16205,8 @@
 
   <p>The <dfn id=dom-a-text title=dom-a-text><code>text</code></dfn> IDL
   attribute, on getting, must return the same value as the
-  <code>textContent</code> IDL attribute on the element, and on
-  setting, must act as if the <code>textContent</code> IDL attribute
+  <code><a href=#textcontent>textContent</a></code> IDL attribute on the element, and on
+  setting, must act as if the <code><a href=#textcontent>textContent</a></code> IDL attribute
   on the element had been set to the new value.</p>
 
   <p>The <code><a href=#the-a-element>a</a></code> element also supports the complement of
@@ -16707,7 +16717,7 @@
   child <a href=#text-node title="text node">text nodes</a>, and that child
   element is an <code><a href=#the-abbr-element>abbr</a></code> element with a <code title=attr-abbr-title><a href=#attr-abbr-title>title</a></code> attribute, then the exact value
   of <em>that</em> attribute is the term being defined. Otherwise, it
-  is the exact <code>textContent</code> of the <code><a href=#the-dfn-element>dfn</a></code>
+  is the exact <code><a href=#textcontent>textContent</a></code> of the <code><a href=#the-dfn-element>dfn</a></code>
   element that gives the term being defined.</p>
 
   <!-- note that this means <dfn>x \n x</dfn> won't match <span>x x</span> -->
@@ -16926,7 +16936,7 @@
   each <code><a href=#the-article-element>article</a></code> element, there must no more than one
   <code><a href=#the-time-element>time</a></code> element with a <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code> attribute whose nearest
   ancestor is that <code><a href=#the-article-element>article</a></code> element. Furthermore, for each
-  <code>Document</code>, there must be no more than one
+  <code><a href=#document>Document</a></code>, there must be no more than one
   <code><a href=#the-time-element>time</a></code> element with a <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code> attribute that does not
   have an ancestor <code><a href=#the-article-element>article</a></code> element.</p>
 
@@ -16940,7 +16950,7 @@
   optional time</a>.</p>
 
   <p>If the element <i><a href=#needs-a-date>needs a date</a></i>, but the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute is not present,
-  then the element's <code>textContent</code> must be a <a href=#valid-date-string-in-content-with-optional-time>valid
+  then the element's <code><a href=#textcontent>textContent</a></code> must be a <a href=#valid-date-string-in-content-with-optional-time>valid
   date string in content with optional time</a>.</p>
 
   <p>If the element does not <i>need a date</i>, and the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute is present,
@@ -16948,7 +16958,7 @@
   string</a>.</p>
 
   <p>If the element does not <i>need a date</i>, but the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute is not present,
-  then the element's <code>textContent</code> must be a <a href=#valid-date-or-time-string-in-content>valid
+  then the element's <code><a href=#textcontent>textContent</a></code> must be a <a href=#valid-date-or-time-string-in-content>valid
   date or time string in content</a>.</p>
 
   <p>The date, if any, must be expressed using the Gregorian
@@ -17023,7 +17033,7 @@
 
    <li>Otherwise, use the rules to <a href=#parse-a-date-or-time-string>parse a date or time
    string</a> with the flag <i>in content</i> from the element's
-   <code>textContent</code>, and let the result be <var title="">result</var>.</li>
+   <code><a href=#textcontent>textContent</a></code>, and let the result be <var title="">result</var>.</li>
 
    <li>If <var title="">result</var> is empty (because the parsing
    failed), then the <a href=#concept-time-date title=concept-time-date>date</a> is
@@ -18458,7 +18468,7 @@
   <em>not</em> <i title=img-available><a href=#img-available>available</a></i>.</p>
 
   <p class=note>An image might be <i title=img-available><a href=#img-available>available</a></i> in one <a href=#view>view</a> but not
-  another. For instance, a <code>Document</code> could be rendered by
+  another. For instance, a <code><a href=#document>Document</a></code> could be rendered by
   a screen reader providing a speech synthesis view of the output of a
   Web browser using the screen media. In this case, the image would be
   <i title=img-available><a href=#img-available>available</a></i> in the Web browser's screen
@@ -19793,7 +19803,7 @@
 
   </ol><p>For <code><a href=#the-iframe-element>iframe</a></code> elements in <a href=#xml-documents>XML documents</a>,
   the attribute, if present, must have a value that matches the
-  production labeled <code>document</code> in the XML
+  production labeled <code><a href=#document>document</a></code> in the XML
   specification. <a href=#refsXML>[XML]</a></p>
 
   <p>If the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute and the
@@ -19889,7 +19899,7 @@
   <p class=note>If the user <a href=#navigate title=navigate>navigates</a>
   away from this page, the <code><a href=#the-iframe-element>iframe</a></code>'s corresponding
   <code><a href=#windowproxy>WindowProxy</a></code> object will proxy new <code><a href=#window>Window</a></code>
-  objects for new <code>Document</code> objects, but the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute will not change.</p>
+  objects for new <code><a href=#document>Document</a></code> objects, but the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute will not change.</p>
 
   <div class=example>
 
@@ -20027,8 +20037,8 @@
   the following list set.  In addition, any browsing contexts <a href=#nested-browsing-context title="nested browsing context">nested</a> within an
   <code><a href=#the-iframe-element>iframe</a></code>, either directly or indirectly, must have all
   the flags set on them as were set on the <code><a href=#the-iframe-element>iframe</a></code>'s
-  <code>Document</code>'s <a href=#browsing-context>browsing context</a> when the
-  <code><a href=#the-iframe-element>iframe</a></code>'s <code>Document</code> was created.</p>
+  <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> when the
+  <code><a href=#the-iframe-element>iframe</a></code>'s <code><a href=#document>Document</a></code> was created.</p>
 
   <dl><dt>The <dfn id=sandboxed-navigation-browsing-context-flag>sandboxed navigation browsing context flag</dfn></dt>
 
@@ -20245,7 +20255,7 @@
   <p class=warning>If the <code title=attr-iframe-sandbox-allow-scripts><a href=#attr-iframe-sandbox-allow-scripts>allow-scripts</a></code>
   keyword is set along with <code title=attr-iframe-sandbox-allow-same-origin><a href=#attr-iframe-sandbox-allow-same-origin>allow-same-origin</a></code>
   keyword, and the file is from the <a href=#same-origin>same origin</a> as the
-  <code><a href=#the-iframe-element>iframe</a></code>'s <code>Document</code>, then a script in the
+  <code><a href=#the-iframe-element>iframe</a></code>'s <code><a href=#document>Document</a></code>, then a script in the
   "sandboxed" iframe could just reach out, remove the <code title=attr-iframe-sandbox><a href=#attr-iframe-sandbox>sandbox</a></code> attribute, and then
   reload itself, effectively breaking out of the sandbox
   altogether.</p>
@@ -20260,9 +20270,9 @@
   be part of the containing document (seamlessly included in the
   parent document). <span class=impl>Specifically, when the
   attribute is set on an <code><a href=#the-iframe-element>iframe</a></code> element whose owner
-  <code>Document</code>'s <a href=#browsing-context>browsing context</a> did not have
+  <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> did not have
   the <a href=#sandboxed-seamless-iframes-flag>sandboxed seamless iframes flag</a> set when that
-  <code>Document</code> was created, and while either the
+  <code><a href=#document>Document</a></code> was created, and while either the
   <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active document</a> has the
   <a href=#same-origin>same origin</a> as the <code><a href=#the-iframe-element>iframe</a></code> element's
   document, or the <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active
@@ -20419,7 +20429,7 @@
   name.</p>
 
   <p>The <dfn id=dom-iframe-contentdocument title=dom-iframe-contentDocument><code>contentDocument</code></dfn>
-  IDL attribute must return the <code>Document</code> object of the
+  IDL attribute must return the <code><a href=#document>Document</a></code> object of the
   <a href=#active-document>active document</a> of the <code><a href=#the-iframe-element>iframe</a></code> element's
   <a href=#nested-browsing-context>nested browsing context</a>.</p>
 
@@ -20522,11 +20532,11 @@
 
   <ul><li>the <a href=#sandboxed-plugins-browsing-context-flag>sandboxed plugins browsing context flag</a> was
    set on the <a href=#browsing-context>browsing context</a> for which the
-   <code><a href=#the-embed-element>embed</a></code> element's <code>Document</code> is the
-   <a href=#active-document>active document</a> when that <code>Document</code> was
+   <code><a href=#the-embed-element>embed</a></code> element's <code><a href=#document>Document</a></code> is the
+   <a href=#active-document>active document</a> when that <code><a href=#document>Document</a></code> was
    created, or</li>
 
-   <li>the <code><a href=#the-embed-element>embed</a></code> element's <code>Document</code> was
+   <li>the <code><a href=#the-embed-element>embed</a></code> element's <code><a href=#document>Document</a></code> was
    parsed from a resource whose <a href=#content-type-sniffing-0 title="Content-Type
    sniffing">sniffed type</a> as determined during <a href=#navigate title=navigate>navigation</a> is
    <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code></li>
@@ -20549,10 +20559,10 @@
   following conditions are all met simultaneously:</p>
 
   <ul class=brief><li>The element is <a href=#in-a-document title="in a document">in a <code>Document</code></a>.</li>
-   <li>The element's <code>Document</code> is <a href=#fully-active>fully active</a>.</li>
+   <li>The element's <code><a href=#document>Document</a></code> is <a href=#fully-active>fully active</a>.</li>
    <li>The element has either a <code title=attr-embed-src><a href=#attr-embed-src>src</a></code> attribute set or a <code title=attr-embed-type><a href=#attr-embed-type>type</a></code> attribute set (or both).</li>
-   <li>The element is not in a <code>Document</code> whose <a href=#browsing-context>browsing context</a> had the <a href=#sandboxed-plugins-browsing-context-flag>sandboxed plugins browsing context flag</a> set when the <code>Document</code> was created (unless this has been overrriden as described above).</li>
-   <li>The element's <code>Document</code> was not parsed from a resource whose <a href=#content-type-sniffing-0 title="Content-Type sniffing">sniffed type</a> as determined during <a href=#navigate title=navigate>navigation</a> is <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code> (unless this has been overrriden as described above).</li>
+   <li>The element is not in a <code><a href=#document>Document</a></code> whose <a href=#browsing-context>browsing context</a> had the <a href=#sandboxed-plugins-browsing-context-flag>sandboxed plugins browsing context flag</a> set when the <code><a href=#document>Document</a></code> was created (unless this has been overrriden as described above).</li>
+   <li>The element's <code><a href=#document>Document</a></code> was not parsed from a resource whose <a href=#content-type-sniffing-0 title="Content-Type sniffing">sniffed type</a> as determined during <a href=#navigate title=navigate>navigation</a> is <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code> (unless this has been overrriden as described above).</li>
    <li>The element is not a descendant of a <a href=#media-element>media element</a>.</li>
    <li>The element is not a descendant of an <code><a href=#the-object-element>object</a></code> element that is not showing its <a href=#fallback-content>fallback content</a>.</li>
   </ul><p>Whenever an <code><a href=#the-embed-element>embed</a></code> element that was not <a href=#concept-embed-active title=concept-embed-active>potentially active</a> becomes <a href=#concept-embed-active title=concept-embed-active>potentially active</a>, and whenever
@@ -20801,7 +20811,7 @@
   element is <a href=#insert-an-element-into-a-document title="insert an element into a document">inserted
   into a document</a> or <a href=#remove-an-element-from-a-document title="remove an element from a
   document">removed from a document</a>; and whenever the element's
-  <code>Document</code> changes whether it is <a href=#fully-active>fully
+  <code><a href=#document>Document</a></code> changes whether it is <a href=#fully-active>fully
   active</a>; and whenever an ancestor <code><a href=#the-object-element>object</a></code> element
   changes to or from showing its <a href=#fallback-content>fallback content</a>; and
   whenever the element's <code title=attr-object-classid><a href=#attr-object-classid>classid</a></code> attribute is set,
@@ -20835,7 +20845,7 @@
     has an ancestor <code><a href=#the-object-element>object</a></code> element that is <em>not</em>
     showing its <a href=#fallback-content>fallback content</a>, or if the element is
     not <a href=#in-a-document title="in a document">in a <code>Document</code></a>,
-    or if the element's <code>Document</code> is not <a href=#fully-active>fully
+    or if the element's <code><a href=#document>Document</a></code> is not <a href=#fully-active>fully
     active</a>, then jump to the last step in the overall set of
     steps (fallback).</p>
 
@@ -21184,11 +21194,11 @@
   <p id=sandboxPluginObject>If either:</p>
 
   <ul><li>the <a href=#sandboxed-plugins-browsing-context-flag>sandboxed plugins browsing context flag</a> was
-   set on the <code><a href=#the-object-element>object</a></code> element's <code>Document</code>'s
-   <a href=#browsing-context>browsing context</a> when the <code>Document</code> was
+   set on the <code><a href=#the-object-element>object</a></code> element's <code><a href=#document>Document</a></code>'s
+   <a href=#browsing-context>browsing context</a> when the <code><a href=#document>Document</a></code> was
    created, or</li>
 
-   <li>the <code><a href=#the-object-element>object</a></code> element's <code>Document</code> was
+   <li>the <code><a href=#the-object-element>object</a></code> element's <code><a href=#document>Document</a></code> was
    parsed from a resource whose <a href=#content-type-sniffing-0 title="Content-Type
    sniffing">sniffed type</a> as determined during <a href=#navigate title=navigate>navigation</a> is
    <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code></li>
@@ -21249,7 +21259,7 @@
   name.</p>
 
   <p>The <dfn id=dom-object-contentdocument title=dom-object-contentDocument><code>contentDocument</code></dfn>
-  IDL attribute must return the <code>Document</code> object of the
+  IDL attribute must return the <code><a href=#document>Document</a></code> object of the
   <a href=#active-document>active document</a> of the <code><a href=#the-object-element>object</a></code> element's
   <a href=#nested-browsing-context>nested browsing context</a>, if it has one; otherwise, it
   must return null.</p>
@@ -21437,7 +21447,7 @@
   is set, its value must be <a href=#resolve-a-url title="resolve a
   url">resolved</a> relative to the element, and if that is
   successful, the resulting <a href=#absolute-url>absolute URL</a> must be <a href=#fetch title=fetch>fetched</a>, from the element's
-  <code>Document</code>'s <a href=#origin>origin</a>; this must <a href=#delay-the-load-event>delay
+  <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a>; this must <a href=#delay-the-load-event>delay
   the load event</a> of the element's document. The <dfn id=poster-frame>poster
   frame</dfn> is then the image obtained from that resource, if
   any.</span></p> <!-- thus it is unaffected by changes to the base
@@ -22716,7 +22726,7 @@
 
     <p>Begin to <a href=#fetch>fetch</a> the <var title="">current media
     resource</var>, from the <a href=#media-element>media element</a>'s
-    <code>Document</code>'s <a href=#origin>origin</a>.</p> <!-- not
+    <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a>.</p> <!-- not
     http-origin privacy sensitive (looking forward to CORS here) -->
 
     <p>Every 350ms (±200ms) or for every byte received, whichever
@@ -23883,8 +23893,8 @@
     </ol></li>
 
   </ol><hr><p id=media-playback>When a <a href=#media-element>media element</a> is
-  <a href=#potentially-playing>potentially playing</a> and its <code>Document</code> is a
-  <a href=#fully-active>fully active</a> <code>Document</code>, its <a href=#current-playback-position>current
+  <a href=#potentially-playing>potentially playing</a> and its <code><a href=#document>Document</a></code> is a
+  <a href=#fully-active>fully active</a> <code><a href=#document>Document</a></code>, its <a href=#current-playback-position>current
   playback position</a> must increase monotonically at <code title=dom-media-playbackRate><a href=#dom-media-playbackrate>playbackRate</a></code> units of media
   time per unit time of wall clock time.</p>
 
@@ -24011,7 +24021,7 @@
   agent must act as if the <code title=dom-media-pause><a href=#dom-media-pause>pause()</a></code> method had been invoked.</p>
 
   <p class=note>If the <a href=#media-element>media element</a>'s
-  <code>Document</code> stops being a <a href=#fully-active>fully active</a>
+  <code><a href=#document>Document</a></code> stops being a <a href=#fully-active>fully active</a>
   document, then the playback will <a href=#media-playback>stop</a>
   until the document is active again.</p>
 
@@ -24331,97 +24341,97 @@
      <th>Preconditions
 
    <tbody><tr><td><dfn id=event-media-loadstart title=event-media-loadstart><code>loadstart</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent begins looking for <a href=#media-data>media data</a>, as part of the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection algorithm</a>.
      <td><code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> equals <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>
     <tr><td><dfn id=event-media-progress title=event-media-progress><code>progress</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent is fetching <a href=#media-data>media data</a>.
      <td><code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> equals <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>
     <tr><td><dfn id=event-media-suspend title=event-media-suspend><code>suspend</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent is intentionally not currently fetching <a href=#media-data>media data</a>, but does not have the entire <a href=#media-resource>media resource</a> downloaded.
      <td><code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> equals <code title=dom-media-NETWORK_IDLE><a href=#dom-media-network_idle>NETWORK_IDLE</a></code>
     <tr><td><dfn id=event-media-abort title=event-media-abort><code>abort</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent stops fetching the <a href=#media-data>media data</a> before it is completely downloaded, but not due to an error.
      <td><code title=dom-media-error><a href=#dom-media-error>error</a></code> is an object with the code <code title=dom-MediaError-MEDIA_ERR_ABORTED><a href=#dom-mediaerror-media_err_aborted>MEDIA_ERR_ABORTED</a></code>.
          <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> equals either <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code> or <code title=dom-media-NETWORK_IDLE><a href=#dom-media-network_idle>NETWORK_IDLE</a></code>, depending on when the download was aborted.
     <tr><td><dfn id=event-media-error title=event-media-error><code>error</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>An error occurs while fetching the <a href=#media-data>media data</a>.
      <td><code title=dom-media-error><a href=#dom-media-error>error</a></code> is an object with the code <code title=dom-MediaError-MEDIA_ERR_NETWORK><a href=#dom-mediaerror-media_err_network>MEDIA_ERR_NETWORK</a></code> or higher.
          <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> equals either <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code> or <code title=dom-media-NETWORK_IDLE><a href=#dom-media-network_idle>NETWORK_IDLE</a></code>, depending on when the download was aborted.
     <tr><td><dfn id=event-media-emptied title=event-media-emptied><code>emptied</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>A <a href=#media-element>media element</a> whose <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> was previously not in the <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code> state has just switched to that state (either because of a fatal error during load that's about to be reported, or because the <code title=dom-media-load><a href=#dom-media-load>load()</a></code> method was invoked while the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection algorithm</a> was already running, in which case it is fired synchronously during the <code title=dom-media-load><a href=#dom-media-load>load()</a></code> method call).
      <td><code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> is <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code>; all the IDL attributes are in their initial states.
     <tr><td><dfn id=event-media-stalled title=event-media-stalled><code>stalled</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent is trying to fetch <a href=#media-data>media data</a>, but data is unexpectedly not forthcoming.
      <td><code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> is <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>.
 
    <tbody><tr><td><dfn id=event-media-play title=event-media-play><code>play</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Playback has begun. Fired after the <code title=dom-media-play><a href=#dom-media-play>play()</a></code> method has returned.
      <td><code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is newly false.
     <tr><td><dfn id=event-media-pause title=event-media-pause><code>pause</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Playback has been paused. Fired after the <code title=dom-media-pause><a href=#dom-media-pause>pause</a></code> method has returned.
      <td><code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is newly true.
 
    <tbody><tr><td><dfn id=event-media-loadedmetadata title=event-media-loadedmetadata><code>loadedmetadata</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent has just determined the duration and dimensions of the <a href=#media-resource>media resource</a>.
      <td><code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> is newly equal to <code title=dom-media-HAVE_METADATA><a href=#dom-media-have_metadata>HAVE_METADATA</a></code> or greater for the first time.
     <tr><td><dfn id=event-media-loadeddata title=event-media-loadeddata><code>loadeddata</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent can render the <a href=#media-data>media data</a> at the <a href=#current-playback-position>current playback position</a> for the first time.
      <td><code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> newly increased to <code title=dom-media-HAVE_CURRENT_DATA><a href=#dom-media-have_current_data>HAVE_CURRENT_DATA</a></code> or greater for the first time.
     <tr><td><dfn id=event-media-waiting title=event-media-waiting><code>waiting</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Playback has stopped because the next frame is not available, but the user agent expects that frame to become available in due course.
      <td><code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> is newly equal to or less than <code title=dom-media-HAVE_CURRENT_DATA><a href=#dom-media-have_current_data>HAVE_CURRENT_DATA</a></code>, and <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is false. Either <code title=dom-media-seeking><a href=#dom-media-seeking>seeking</a></code> is true, or the <a href=#current-playback-position>current playback position</a> is not contained in any of the ranges in <code title=dom-media-buffered><a href=#dom-media-buffered>buffered</a></code>. It is possible for playback to stop for two other reasons without <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> being false, but those two reasons do not fire this event: maybe <a href=#ended-playback title="ended playback">playback ended</a>, or playback <a href=#stopped-due-to-errors>stopped due to errors</a>.
     <tr><td><dfn id=event-media-playing title=event-media-playing><code>playing</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Playback has started.
      <td><code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> is newly equal to or greater than <code title=dom-media-HAVE_FUTURE_DATA><a href=#dom-media-have_future_data>HAVE_FUTURE_DATA</a></code>, <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is false, <code title=dom-media-seeking><a href=#dom-media-seeking>seeking</a></code> is false, or the <a href=#current-playback-position>current playback position</a> is contained in one of the ranges in <code title=dom-media-buffered><a href=#dom-media-buffered>buffered</a></code>.
     <tr><td><dfn id=event-media-canplay title=event-media-canplay><code>canplay</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent can resume playback of the <a href=#media-data>media data</a>, but estimates that if playback were to be started now, the <a href=#media-resource>media resource</a> could not be rendered at the current playback rate up to its end without having to stop for further buffering of content.
      <td><code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> newly increased to <code title=dom-media-HAVE_FUTURE_DATA><a href=#dom-media-have_future_data>HAVE_FUTURE_DATA</a></code> or greater.
     <tr><td><dfn id=event-media-canplaythrough title=event-media-canplaythrough><code>canplaythrough</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent estimates that if playback were to be started now, the <a href=#media-resource>media resource</a> could be rendered at the current playback rate all the way to its end without having to stop for further buffering.
      <td><code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> is newly equal to <code title=dom-media-HAVE_ENOUGH_DATA><a href=#dom-media-have_enough_data>HAVE_ENOUGH_DATA</a></code>.
 
    <tbody><tr><td><dfn id=event-media-seeking title=event-media-seeking><code>seeking</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The <code title=dom-media-seeking><a href=#dom-media-seeking>seeking</a></code> IDL attribute changed to true and the seek operation is taking long enough that the user agent has time to fire the event.
      <td>
     <tr><td><dfn id=event-media-seeked title=event-media-seeked><code>seeked</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The <code title=dom-media-seeking><a href=#dom-media-seeking>seeking</a></code> IDL attribute changed to false.
      <td>
     <tr><td><dfn id=event-media-timeupdate title=event-media-timeupdate><code>timeupdate</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The <a href=#current-playback-position>current playback position</a> changed as part of normal playback or in an especially interesting way, for example discontinuously.
      <td>
     <tr><td><dfn id=event-media-ended title=event-media-ended><code>ended</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Playback has stopped because the end of the <a href=#media-resource>media resource</a> was reached.
      <td><code title=dom-media-currentTime><a href=#dom-media-currenttime>currentTime</a></code> equals the end of the <a href=#media-resource>media resource</a>; <code title=dom-media-ended><a href=#dom-media-ended>ended</a></code> is true.
 
    <tbody><tr><td><dfn id=event-media-ratechange title=event-media-ratechange><code>ratechange</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Either the <code title=dom-media-defaultPlaybackRate><a href=#dom-media-defaultplaybackrate>defaultPlaybackRate</a></code> or the <code title=dom-media-playbackRate><a href=#dom-media-playbackrate>playbackRate</a></code> attribute has just been updated.
      <td>
     <tr><td><dfn id=event-media-durationchange title=event-media-durationchange><code>durationchange</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The <code title=dom-media-duration><a href=#dom-media-duration>duration</a></code> attribute has just been updated.
      <td>
     <tr><td><dfn id=event-media-volumechange title=event-media-volumechange><code>volumechange</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Either the <code title=dom-media-volume><a href=#dom-media-volume>volume</a></code> attribute or the <code title=dom-media-muted><a href=#dom-media-muted>muted</a></code> attribute has changed. Fired after the relevant attribute's setter has returned.
      <td>
   </table><div class=impl>
@@ -24436,7 +24446,7 @@
 
   <hr><p>If a victim page embeds hostile content, the threat is that the
   content might contain scripted code that attempts to interact with
-  the <code>Document</code> that embeds the content. To avoid this,
+  the <code><a href=#document>Document</a></code> that embeds the content. To avoid this,
   user agents must ensure that there is no access from the content to
   the embedding page. In the case of media content that uses DOM
   concepts, the embedded content must be treated as if it was in its
@@ -24826,7 +24836,7 @@
   boolean <a href=#dom-context-2d-ispointinpath title=dom-context-2d-isPointInPath>isPointInPath</a>(in float x, in float y);
 
   // focus management
-  boolean <a href=#dom-context-2d-drawfocusring title=dom-context-2d-drawFocusRing>drawFocusRing</a>(in <span>Element</span> element, in float xCaret, in float yCaret, in optional boolean canDrawCustom);
+  boolean <a href=#dom-context-2d-drawfocusring title=dom-context-2d-drawFocusRing>drawFocusRing</a>(in <a href=#element>Element</a> element, in float xCaret, in float yCaret, in optional boolean canDrawCustom);
 
   // text
            attribute DOMString <a href=#dom-context-2d-font title=dom-context-2d-font>font</a>; // (default 10px sans-serif)
@@ -27622,7 +27632,7 @@
    called with an <code><a href=#htmlimageelement>HTMLImageElement</a></code> or an
    <code><a href=#htmlvideoelement>HTMLVideoElement</a></code> whose <a href=#origin>origin</a> is not the
    <a href=#same-origin title="same origin">same</a> as that of the
-   <code>Document</code> object that owns the <code><a href=#the-canvas-element>canvas</a></code>
+   <code><a href=#document>Document</a></code> object that owns the <code><a href=#the-canvas-element>canvas</a></code>
    element.</li>
 
    <li><p>The element's 2D context's <code title=dom-context-2d-drawImage><a href=#dom-context-2d-drawimage>drawImage()</a></code> method is
@@ -27633,7 +27643,7 @@
    to a <code><a href=#canvaspattern>CanvasPattern</a></code> object that was created from an
    <code><a href=#htmlimageelement>HTMLImageElement</a></code> or an <code><a href=#htmlvideoelement>HTMLVideoElement</a></code>
    whose <a href=#origin>origin</a> was not the <a href=#same-origin title="same
-   origin">same</a> as that of the <code>Document</code> object
+   origin">same</a> as that of the <code><a href=#document>Document</a></code> object
    that owns the <code><a href=#the-canvas-element>canvas</a></code> element when the pattern was
    created.</li>
 
@@ -27646,7 +27656,7 @@
    set to a <code><a href=#canvaspattern>CanvasPattern</a></code> object that was created from an
    <code><a href=#htmlimageelement>HTMLImageElement</a></code> or an <code><a href=#htmlvideoelement>HTMLVideoElement</a></code>
    whose <a href=#origin>origin</a> was not the <a href=#same-origin title="same
-   origin">same</a> as that of the <code>Document</code> object
+   origin">same</a> as that of the <code><a href=#document>Document</a></code> object
    that owns the <code><a href=#the-canvas-element>canvas</a></code> element when the pattern was
    created.</li>
 
@@ -27733,7 +27743,7 @@
 
   <p>The <dfn id=dom-map-images title=dom-map-images><code>images</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only
+  <code><a href=#document>Document</a></code> node, whose filter matches only
   <code><a href=#the-img-element>img</a></code> and <code><a href=#the-object-element>object</a></code> elements that are
   associated with this <code><a href=#the-map-element>map</a></code> element according to the
   <a href=#image-map>image map</a> processing model.</p>
@@ -28183,7 +28193,7 @@
   </ol><p>Mouse clicks on an image associated with a set of layered shapes
   per the above algorithm must be dispatched to the top-most shape
   covering the point that the pointing device indicated (if any), and
-  then, must be dispatched again (with a new <code>Event</code>
+  then, must be dispatched again (with a new <code><a href=#event>Event</a></code>
   object) to the image element itself. User agents may also allow
   individual <code><a href=#the-area-element>area</a></code> elements representing <a href=#hyperlink title=hyperlink>hyperlinks</a> to be selected and activated
   (e.g. using a keyboard); events from this are not also propagated to
@@ -30365,7 +30375,7 @@
         <!-- support headers="" to <td> for legacy compat -->
         <!-- note that it's not conforming though -->
         <p>For each token in the <var title="">id list</var>, if the
-        first element in the <code>Document</code> with an ID equal to
+        first element in the <code><a href=#document>Document</a></code> with an ID equal to
         the token is a cell in the same <a href=#concept-table title=concept-table>table</a>, and that cell is not the
         <var title="">principal cell</var>, then add that cell to <var title="">header list</var>.</p>
 
@@ -31068,10 +31078,10 @@
     <p>Once an element has been referenced using a particular name,
     that name will continue being available as a way to reference that
     element in this method, even if the element's actual ID or <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> changes, for as long as the
-    element remains in the <code>Document</code>.</p>
+    element remains in the <code><a href=#document>Document</a></code>.</p>
 
     <p>If there are multiple matching items, then a
-    <code>NodeList</code> object containing all those elements is
+    <code><a href=#nodelist>NodeList</a></code> object containing all those elements is
     returned.</p>
 
     <p>Returns null if no element with that <a href=#concept-id title=concept-id>ID</a> or <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> could be found.</p>
@@ -31132,7 +31142,7 @@
 
   <hr><p>The <dfn id=dom-form-elements title=dom-form-elements><code>elements</code></dfn>
   IDL attribute must return an <code><a href=#htmlformcontrolscollection>HTMLFormControlsCollection</a></code>
-  rooted at the <code>Document</code> node, whose filter matches <a href=#category-listed title=category-listed>listed</a> elements whose <a href=#form-owner>form
+  rooted at the <code><a href=#document>Document</a></code> node, whose filter matches <a href=#category-listed title=category-listed>listed</a> elements whose <a href=#form-owner>form
   owner</a> is the <code><a href=#the-form-element>form</a></code> element, with the exception of
   <code><a href=#the-input-element>input</a></code> elements whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#image-button-state title=attr-input-type-image>Image Button</a> state, which must,
   for historical reasons, be excluded from this particular
@@ -31191,7 +31201,7 @@
    map</a>: return the object associated with <var title="">name</var> in that map.</li>
 
   </ol><p>If an element listed in the <code><a href=#the-form-element>form</a></code> element's <a href=#past-names-map>past
-  names map</a> is removed from the <code>Document</code>, then its
+  names map</a> is removed from the <code><a href=#document>Document</a></code>, then its
   entries must be removed from the map.</p>
 
   <!--
@@ -31465,9 +31475,9 @@
   may be specified to indicate a form control with which the caption
   is to be associated. If the attribute is specified, the attribute's
   value must be the ID of a <a href=#category-label title=category-label>labelable
-  form-associated element</a> in the same <code>Document</code> as
+  form-associated element</a> in the same <code><a href=#document>Document</a></code> as
   the <code><a href=#the-label-element>label</a></code> element. <span class=impl>If the attribute
-  is specified and there is an element in the <code>Document</code>
+  is specified and there is an element in the <code><a href=#document>Document</a></code>
   whose ID is equal to the value of the <code title=attr-label-for><a href=#attr-label-for>for</a></code> attribute, and the first such
   element is a <a href=#category-label title=category-label>labelable form-associated
   element</a>, then that element is the <code><a href=#the-label-element>label</a></code>
@@ -31532,7 +31542,7 @@
 
    <dd>
 
-    <p>Returns a <code>NodeList</code> of all the <code><a href=#the-label-element>label</a></code>
+    <p>Returns a <code><a href=#nodelist>NodeList</a></code> of all the <code><a href=#the-label-element>label</a></code>
     elements that the form control is associated with.</p>
 
    </dd>
@@ -31540,12 +31550,12 @@
   </dl><div class=impl>
 
   <p><a href=#category-label title=category-label>Labelable form-associated
-  elements</a> have a <code>NodeList</code> object associated with
+  elements</a> have a <code><a href=#nodelist>NodeList</a></code> object associated with
   them that represents the list of <code><a href=#the-label-element>label</a></code> elements, in
   <a href=#tree-order>tree order</a>, whose <a href=#labeled-control>labeled control</a> is the
   element in question. The <dfn id=dom-lfe-labels title=dom-lfe-labels><code>labels</code></dfn> IDL attribute of
   <a href=#category-label title=category-label>labelable form-associated
-  elements</a>, on getting, must return that <code>NodeList</code>
+  elements</a>, on getting, must return that <code><a href=#nodelist>NodeList</a></code>
   object.</p>
 
   </div>
@@ -31654,7 +31664,7 @@
   boolean <a href=#dom-cva-checkvalidatity title=dom-cva-checkValidatity>checkValidity</a>();
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(in DOMString error);
 
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 
   void <a href=#dom-textarea/input-select title=dom-textarea/input-select>select</a>();
            attribute unsigned long <a href=#dom-textarea/input-selectionstart title=dom-textarea/input-selectionStart>selectionStart</a>;
@@ -32815,7 +32825,7 @@
   <p>When an <code><a href=#the-input-element>input</a></code> element is <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a>, it is <i title=concept-input-immutable><a href=#concept-input-immutable>immutable</a></i>.</p>
 
   <p>When an <code><a href=#the-input-element>input</a></code> element does not have a
-  <code>Document</code> node as one of its ancestors (i.e. when it is
+  <code><a href=#document>Document</a></code> node as one of its ancestors (i.e. when it is
   not in the document), it is <i title=concept-input-immutable><a href=#concept-input-immutable>immutable</a></i>.</p> <!-- XBL2 spec
   point -->
 
@@ -36855,7 +36865,7 @@
   boolean <a href=#dom-cva-checkvalidatity title=dom-cva-checkValidatity>checkValidity</a>();
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(in DOMString error);
 
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  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
@@ -37026,7 +37036,7 @@
   boolean <a href=#dom-cva-checkvalidatity title=dom-cva-checkValidatity>checkValidity</a>();
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(in DOMString error);
 
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
   </dl><!-- Proposals for v2:
@@ -37179,7 +37189,7 @@
    <dt><var title="">select</var>(<var title="">name</var>)</dt>
    <dd>
     <p>Returns the item with ID or <code title=attr-option-name>name</code> <var title="">name</var> from the <a href=#concept-select-option-list title=concept-select-option-list>list of options</a>.</p>
-    <p>If there are multiple matching items, then a <code>NodeList</code> object containing all those elements is returned.</p>
+    <p>If there are multiple matching items, then a <code><a href=#nodelist>NodeList</a></code> object containing all those elements is returned.</p>
     <p>Returns null if no element with that ID could be found.</p>
    </dd>
 
@@ -37561,12 +37571,12 @@
   <p>The <dfn id=attr-option-label title=attr-option-label><code>label</code></dfn>
   attribute provides a label for element. The <dfn id=concept-option-label title=concept-option-label>label</dfn> of an <code><a href=#the-option-element>option</a></code>
   element is the value of the <code title=attr-option-label><a href=#attr-option-label>label</a></code> attribute, if there is one,
-  or the <code>textContent</code> of the element, if there isn't.</p>
+  or the <code><a href=#textcontent>textContent</a></code> of the element, if there isn't.</p>
 
   <p>The <dfn id=attr-option-value title=attr-option-value><code>value</code></dfn>
   attribute provides a value for element. The <dfn id=concept-option-value title=concept-option-value>value</dfn> of an <code><a href=#the-option-element>option</a></code>
   element is the value of the <code title=attr-option-value><a href=#attr-option-value>value</a></code> attribute, if there is one,
-  or the <code>textContent</code> of the element, if there isn't.</p>
+  or the <code><a href=#textcontent>textContent</a></code> of the element, if there isn't.</p>
 
   <p>The <dfn id=attr-option-selected title=attr-option-selected><code>selected</code></dfn>
   attribute represents the default <a href=#concept-option-selectedness title=concept-option-selectedness>selectedness</a> of the
@@ -37633,7 +37643,7 @@
 
    <dd>
 
-    <p>Same as <code>textContent</code>.</p>
+    <p>Same as <code><a href=#textcontent>textContent</a></code>.</p>
 
    </dd>
 
@@ -37660,7 +37670,7 @@
 
   <p>The <dfn id=dom-option-value title=dom-option-value><code>value</code></dfn> IDL
   attribute, on getting, must return the value of the element's <code title=attr-option-value><a href=#attr-option-value>value</a></code> content attribute, if it has
-  one, or else the value of the element's <code>textContent</code> IDL
+  one, or else the value of the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute. On setting, the element's <code title=attr-option-value><a href=#attr-option-value>value</a></code> content attribute must be set
   to the new value.</p>
 
@@ -37673,8 +37683,8 @@
 
   <p>The <dfn id=dom-option-text title=dom-option-text><code>text</code></dfn> IDL
   attribute, on getting, must return the same value as the
-  <code>textContent</code> IDL attribute on the element, and on
-  setting, must act as if the <code>textContent</code> IDL attribute
+  <code><a href=#textcontent>textContent</a></code> IDL attribute on the element, and on
+  setting, must act as if the <code><a href=#textcontent>textContent</a></code> IDL attribute
   on the element had been set to the new value.</p>
 
   <p>The <dfn id=dom-option-form title=dom-option-form><code>form</code></dfn> IDL
@@ -37763,7 +37773,7 @@
   boolean <a href=#dom-cva-checkvalidatity title=dom-cva-checkValidatity>checkValidity</a>();
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(in DOMString error);
 
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 
   void <a href=#dom-textarea/input-select title=dom-textarea/input-select>select</a>();
            attribute unsigned long <a href=#dom-textarea/input-selectionstart title=dom-textarea/input-selectionStart>selectionStart</a>;
@@ -37815,16 +37825,16 @@
   initially set to false, and must be set to true whenever the user
   interacts with the control in a way that changes the <a href=#concept-textarea-raw-value title=concept-textarea-raw-value>raw value</a>.</p>
 
-  <p>When the <code><a href=#the-textarea-element>textarea</a></code> element's <code>textContent</code>
+  <p>When the <code><a href=#the-textarea-element>textarea</a></code> element's <code><a href=#textcontent>textContent</a></code>
   IDL attribute changes value, if the element's <a href=#concept-textarea-dirty title=concept-textarea-dirty>dirty value flag</a> is false,
   then the element's <a href=#concept-textarea-raw-value title=concept-textarea-raw-value>raw
   value</a> must be set to the value of the element's
-  <code>textContent</code> IDL attribute.</p>
+  <code><a href=#textcontent>textContent</a></code> IDL attribute.</p>
 
   <p>The <a href=#concept-form-reset-control title=concept-form-reset-control>reset
   algorithm</a> for <code><a href=#the-textarea-element>textarea</a></code> elements is to set the
   element's <a href=#concept-textarea-raw-value title=concept-textarea-raw-value>value</a> to
-  the value of the element's <code>textContent</code> IDL
+  the value of the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute.</p>
 
   </div>
@@ -37912,7 +37922,7 @@
   <p>If the <code><a href=#the-textarea-element>textarea</a></code> element has a <a href=#maximum-allowed-value-length>maximum allowed
   value length</a>, then the element's children must be such that
   the <a href=#code-point-length>code-point length</a> of the value of the element's
-  <code>textContent</code> IDL attribute is equal to or less than the
+  <code><a href=#textcontent>textContent</a></code> IDL attribute is equal to or less than the
   element's <a href=#maximum-allowed-value-length>maximum allowed value length</a>.</p>
 
   <p>The <dfn id=attr-textarea-required title=attr-textarea-required><code>required</code></dfn> attribute
@@ -37998,7 +38008,7 @@
   attribute must return the value "<code title="">textarea</code>".</p>
 
   <p>The <dfn id=dom-textarea-defaultvalue title=dom-textarea-defaultValue><code>defaultValue</code></dfn>
-  IDL attribute must act like the element's <code>textContent</code>
+  IDL attribute must act like the element's <code><a href=#textcontent>textContent</a></code>
   IDL attribute.</p>
 
   <p>The <dfn id=dom-textarea-value title=dom-textarea-value><code>value</code></dfn>
@@ -38069,7 +38079,7 @@
   boolean <a href=#dom-cva-checkvalidatity title=dom-cva-checkValidatity>checkValidity</a>();
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(in DOMString error);
 
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  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
@@ -38354,7 +38364,7 @@
   boolean <a href=#dom-cva-checkvalidatity title=dom-cva-checkValidatity>checkValidity</a>();
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(in DOMString error);
 
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  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
@@ -38368,7 +38378,7 @@
   if specified, must contain a string consisting of an <a href=#unordered-set-of-unique-space-separated-tokens>unordered
   set of unique space-separated tokens</a>, each of which must have
   the value of an ID of an element in the same
-  <code>Document</code>.</p>
+  <code><a href=#document>Document</a></code>.</p>
 
   <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-output-element>output</a></code> element with its
@@ -38399,12 +38409,12 @@
   <a href=#concept-output-mode title=concept-output-mode>value mode flag</a> is in mode
   <i title=concept-output-mode-default>default</i>, the element's
   <a href=#concept-output-defaultvalue title=concept-output-defaultValue>default value</a> must
-  be set to the value of the element's <code>textContent</code> IDL
+  be set to the value of the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute.</p>
 
   <p>The <a href=#concept-form-reset-control title=concept-form-reset-control>reset
   algorithm</a> for <code><a href=#the-output-element>output</a></code> elements is to set the
-  element's <code>textContent</code> IDL attribute to the value of the
+  element's <code><a href=#textcontent>textContent</a></code> IDL attribute to the value of the
   element's <code title=dom-output-defaultValue><a href=#dom-output-defaultvalue>defaultValue</a></code>
   IDL attribute (thus replacing the element's child nodes), and then
   to set the element's <a href=#concept-output-mode title=concept-output-mode>value mode
@@ -38443,7 +38453,7 @@
   </dl><div class=impl>
 
   <p>The <dfn id=dom-output-value title=dom-output-value><code>value</code></dfn> IDL
-  attribute must act like the element's <code>textContent</code> IDL
+  attribute must act like the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute, except that on setting, in addition, before the child
   nodes are changed, the element's <a href=#concept-output-mode title=concept-output-mode>value mode flag</a> must be set to <i title=concept-output-mode-value>value</i>.</p>
 
@@ -38452,7 +38462,7 @@
   setting, the attribute must set the element's <a href=#concept-output-defaultvalue title=concept-output-defaultValue>default value</a>, and, if
   the element's <a href=#concept-output-mode title=concept-output-mode>value mode
   flag</a> is in the mode <i title=concept-output-mode-default>default</i>, set the element's
-  <code>textContent</code> IDL attribute as well.</p>
+  <code><a href=#textcontent>textContent</a></code> IDL attribute as well.</p>
 
   <p>The <dfn id=dom-output-type title=dom-output-type><code>type</code></dfn>
   attribute must return the string "<code title="">output</code>".</p>
@@ -38511,7 +38521,7 @@
            attribute float <a href=#dom-progress-max title=dom-progress-max>max</a>;
   readonly attribute float <a href=#dom-progress-position title=dom-progress-position>position</a>;
   readonly attribute <a href=#htmlformelement>HTMLFormElement</a> <a href=#dom-fae-form title=dom-fae-form>form</a>;
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  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
@@ -38673,7 +38683,7 @@
            attribute float <a href=#dom-meter-high title=dom-meter-high>high</a>;
            attribute float <a href=#dom-meter-optimum title=dom-meter-optimum>optimum</a>;
   readonly attribute <a href=#htmlformelement>HTMLFormElement</a> <a href=#dom-fae-form title=dom-fae-form>form</a>;
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  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
@@ -39010,7 +39020,7 @@
 
   <p>If a <a href=#form-associated-element>form-associated element</a> has a <code title=attr-fae-form><a href=#attr-fae-form>form</a></code> attribute specified, then its
   value must be the ID of a <code><a href=#the-form-element>form</a></code> element in the element's
-  owner <code>Document</code>.</p>
+  owner <code><a href=#document>Document</a></code>.</p>
 
   <div class=impl>
 
@@ -39022,7 +39032,7 @@
 
   <p>When a <a href=#form-associated-element>form-associated element</a>'s ancestor chain
   changes, e.g. because it or one of its ancestors was <a href=#insert-an-element-into-a-document title="insert an element into a document">inserted</a> or <a href=#remove-an-element-from-a-document title="remove an element from a document">removed</a> from a
-  <code>Document</code>, then the user agent must <a href=#reset-the-form-owner>reset the form
+  <code><a href=#document>Document</a></code>, then the user agent must <a href=#reset-the-form-owner>reset the form
   owner</a> of that element.</p>
 
   <p>When a <a href=#form-associated-element>form-associated element</a>'s <code title=attr-fae-form><a href=#attr-fae-form>form</a></code> attribute is added, removed, or
@@ -39030,7 +39040,7 @@
   owner</a> of that element.</p>
 
   <p>When a <a href=#form-associated-element>form-associated element</a> has a <code title=attr-fae-form><a href=#attr-fae-form>form</a></code> attribute and the ID of any of the
-  <code><a href=#the-form-element>form</a></code> elements in the <code>Document</code> changes,
+  <code><a href=#the-form-element>form</a></code> elements in the <code><a href=#document>Document</a></code> changes,
   then the user agent must <a href=#reset-the-form-owner>reset the form owner</a> of that
   <a href=#form-associated-element>form-associated element</a>.</p>
 
@@ -39052,7 +39062,7 @@
     content attribute, then run these substeps:</p>
 
     <ol><!-- note that this ignores the name="" attribute and is
-     unaffected by quirks mode (it's always case sensitive) --><li><p>If the first element in the <code>Document</code> to have
+     unaffected by quirks mode (it's always case sensitive) --><li><p>If the first element in the <code><a href=#document>Document</a></code> to have
      an ID that is <a href=#case-sensitive title=case-sensitive>case-sensitively</a> equal to the
      element's <code title=attr-fae-form><a href=#attr-fae-form>form</a></code> content
      attribute's value is a <code><a href=#the-form-element>form</a></code> element, then <a href=#concept-form-association title=concept-form-association>associate</a> the
@@ -39934,10 +39944,10 @@
   run the following steps:</p>
 
   <ol><li id=sandboxSubmitBlocked><p>If <var title="">form</var> is in
-   a <code>Document</code> that has no associated <a href=#browsing-context>browsing
+   a <code><a href=#document>Document</a></code> that has no associated <a href=#browsing-context>browsing
    context</a> or whose <a href=#browsing-context>browsing context</a> had its
    <a href=#sandboxed-forms-browsing-context-flag>sandboxed forms browsing context flag</a> set when the
-   <code>Document</code> was created, then abort these steps without
+   <code><a href=#document>Document</a></code> was created, then abort these steps without
    doing anything.</li>
 
    <li><p>If <var title="">form</var> is already being submitted
@@ -40254,7 +40264,7 @@
       </dl><p>If <var title="">method</var> is anything but GET or POST,
       and the <a href=#origin>origin</a> of <var title="">action</var> is not
       the <a href=#same-origin>same origin</a> as that of the <code><a href=#the-form-element>form</a></code>
-      element's <code>Document</code>, then abort these steps.</p>
+      element's <code><a href=#document>Document</a></code>, then abort these steps.</p>
       <!-- CORS, one day -->
 
       <p>Otherwise, <a href=#navigate>navigate</a> <var title="">target
@@ -40274,7 +40284,7 @@
 
       <p>If the <a href=#origin>origin</a> of <var title="">action</var> is
       not the <a href=#same-origin>same origin</a> as that of the
-      <code><a href=#the-form-element>form</a></code> element's <code>Document</code>, then abort
+      <code><a href=#the-form-element>form</a></code> element's <code><a href=#document>Document</a></code>, then abort
       these steps.</p> <!-- CORS, one day -->
 
       <p>Otherwise, <a href=#navigate>navigate</a> <var title="">target
@@ -43796,7 +43806,7 @@
    <dt>An <code><a href=#the-hr-element>hr</a></code> element</dt>
    <dt>An <code><a href=#the-option-element>option</a></code> element that has a <code title=attr-option-value><a href=#attr-option-value>value</a></code> attribute set to the empty
    string, and has a <code title=attr-option-disabled><a href=#attr-option-disabled>disabled</a></code> attribute, and whose
-   <code>textContent</code> consists of a string of one or more
+   <code><a href=#textcontent>textContent</a></code> consists of a string of one or more
    hyphens (U+002D HYPHEN-MINUS)</dt>
 
    <dd>Append a separator to the menu.</dd>
@@ -44182,14 +44192,14 @@
   <hr><dl class=domintro><dt><var title="">document</var> . <code title=dom-document-commands><a href=#dom-document-commands>commands</a></code></dt>
    <dd>
     <p>Returns an <code><a href=#htmlcollection>HTMLCollection</a></code> of the elements in the
-    <code>Document</code> that define commands and have IDs.</p>
+    <code><a href=#document>Document</a></code> that define commands and have IDs.</p>
    </dd>
 
   </dl><div class=impl>
 
   <p>The <dfn id=dom-document-commands title=dom-document-commands><code>commands</code></dfn> attribute
   of the document's <code><a href=#htmldocument>HTMLDocument</a></code> interface must return an
-  <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the <code>Document</code>
+  <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the <code><a href=#document>Document</a></code>
   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>
@@ -44215,7 +44225,7 @@
   command is an <a href=#anonymous-command>anonymous command</a>.</p>
 
   <p>The <a href=#command-facet-label title=command-facet-Label>Label</a> of the command
-  is the string given by the element's <code>textContent</code> IDL
+  is the string given by the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
@@ -44285,7 +44295,7 @@
 
   <p>Otherwise, the <a href=#command-facet-type title=command-facet-Type>Type</a> is
   "radio" or "checkbox". If the element is a <a href=#labeled-control>labeled
-  control</a>, the <code>textContent</code> of the first
+  control</a>, the <code><a href=#textcontent>textContent</a></code> of the first
   <code><a href=#the-label-element>label</a></code> element in <a href=#tree-order>tree order</a> whose
   <a href=#labeled-control>labeled control</a> is the element in question is the <a href=#command-facet-label title=command-facet-Label>Label</a> (in DOM terms, this is the
   string given by <code><var title="">element</var>.labels[0].textContent</code>). Otherwise,
@@ -44351,7 +44361,7 @@
   <p>The <a href=#command-facet-label title=command-facet-Label>Label</a> of the command
   is the value of the <code><a href=#the-option-element>option</a></code> element's <code title=attr-option-label><a href=#attr-option-label>label</a></code> attribute, if there is one,
   or the value of the <code><a href=#the-option-element>option</a></code> element's
-  <code>textContent</code> IDL attribute if there isn't.</p>
+  <code><a href=#textcontent>textContent</a></code> IDL attribute if there isn't.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
   is the string given by the element's <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute, if any, and the empty
@@ -44458,7 +44468,7 @@
   command is an <a href=#anonymous-command>anonymous command</a>.</p>
 
   <p>The <a href=#command-facet-label title=command-facet-Label>Label</a> of the command
-  is the string given by the element's <code>textContent</code> IDL
+  is the string given by the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
@@ -44499,7 +44509,7 @@
   command is an <a href=#anonymous-command>anonymous command</a>.</p>
 
   <p>The <a href=#command-facet-label title=command-facet-Label>Label</a> of the command
-  is the string given by the element's <code>textContent</code> IDL
+  is the string given by the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
@@ -44545,12 +44555,12 @@
 
   <p>The <a href=#command-facet-label title=command-facet-Label>Label</a> of the command
   depends on the element. If the element is a <a href=#labeled-control>labeled
-  control</a>, the <code>textContent</code> of the first
+  control</a>, the <code><a href=#textcontent>textContent</a></code> of the first
   <code><a href=#the-label-element>label</a></code> element in <a href=#tree-order>tree order</a> whose
   <a href=#labeled-control>labeled control</a> is the element in question is the <a href=#command-facet-label title=command-facet-Label>Label</a> (in DOM terms, this is the
   string given by <code><var title="">element</var>.labels[0].textContent</code>). Otherwise, the
   <a href=#command-facet-label title=command-facet-Label>Label</a> is the
-  <code>textContent</code> of the element itself.</p>
+  <code><a href=#textcontent>textContent</a></code> of the element itself.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
   is the value of the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
@@ -44841,7 +44851,7 @@
   is in.</p>
 
   <p>The navigation must be done with the <a href=#browsing-context>browsing
-  context</a> that contains the <code>Document</code> object with
+  context</a> that contains the <code><a href=#document>Document</a></code> object with
   which the hyperlink's element in question is associated as the
   <a href=#source-browsing-context>source browsing context</a>.</p>
 
@@ -44874,13 +44884,13 @@
   POST method, with an entity body with the <a href=#mime-type>MIME type</a>
   <code><a href=#text/ping>text/ping</a></code> consisting of the four-character string
   "<code title="">PING</code>", from the <a href=#origin>origin</a> of the
-  <code>Document</code> containing the <a href=#hyperlink>hyperlink</a>. <!--
+  <code><a href=#document>Document</a></code> containing the <a href=#hyperlink>hyperlink</a>. <!--
   not http-origin privacy sensitive --> All relevant cookie and HTTP
   authentication headers must be included in the request. Which other
   headers are required depends on the URLs involved.</p>
 
   <dl class=switch><dt>If both the <a href="#the-document's-address" title="the document's address">address</a>
-   of the <code>Document</code> object containing the hyperlink being
+   of the <code><a href=#document>Document</a></code> object containing the hyperlink being
    audited and the ping URL have the <a href=#same-origin>same origin</a></dt>
 
    <dd>The request must include a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP header with, as its
@@ -47037,7 +47047,7 @@
 
   <p>The <code title=dom-document-getItems><a href=#dom-document-getitems>document.getItems(<var title="">typeNames</var>)</a></code> method provides access to the
   <a href=#top-level-microdata-items>top-level microdata items</a>. It returns a
-  <code>NodeList</code> containing the items with the specified types,
+  <code><a href=#nodelist>NodeList</a></code> containing the items with the specified types,
   or all types if no argument is specified.</p>
 
   <p>Each <a href=#concept-item title=concept-item>item</a> is represented in the
@@ -47434,7 +47444,7 @@
    <dt>Otherwise</dt>
 
    <dd><p>The value is the element's
-   <code>textContent</code>.</dd>
+   <code><a href=#textcontent>textContent</a></code>.</dd>
 
   </dl><p>The <dfn id=url-property-elements>URL property elements</dfn> are the <code><a href=#the-a-element>a</a></code>,
   <code><a href=#the-area-element>area</a></code>, <code><a href=#audio>audio</a></code>, <code><a href=#the-embed-element>embed</a></code>,
@@ -47631,7 +47641,7 @@
 
    <dd>
 
-    <p>Returns a <code>NodeList</code> of the elements in the <code>Document</code> that create <a href=#concept-item title=concept-item>items</a>, that are not part of other <a href=#concept-item title=concept-item>items</a>, and that are of one of the types given in the argument, if any are listed.</p>
+    <p>Returns a <code><a href=#nodelist>NodeList</a></code> of the elements in the <code><a href=#document>Document</a></code> that create <a href=#concept-item title=concept-item>items</a>, that are not part of other <a href=#concept-item title=concept-item>items</a>, and that are of one of the types given in the argument, if any are listed.</p>
 
     <p>The <var title="">types</var> argument is interpreted as a space-separated list of types.</p>
 
@@ -47666,17 +47676,17 @@
   <p>The <dfn id=dom-document-getitems title=dom-document-getItems><code>document.getItems(<var title="">typeNames</var>)</code></dfn> method takes an optional
   string that contains an <a href=#unordered-set-of-unique-space-separated-tokens>unordered set of unique
   space-separated tokens</a> representing types. When called, the
-  method must return a live <code>NodeList</code> object containing
+  method must return a live <code><a href=#nodelist>NodeList</a></code> object containing
   all the elements in the document, in <a href=#tree-order>tree order</a>, that
   are each <a href=#top-level-microdata-items>top-level microdata items</a> with a <a href=#item-type title="item type">type</a> equal to one of the types specified in
   that argument, having obtained the types by <a href=#split-a-string-on-spaces title="split a
   string on spaces">splitting the string on spaces</a>. If there
   are no tokens specified in the argument, or if the argument is
-  missing, then the method must return a <code>NodeList</code>
+  missing, then the method must return a <code><a href=#nodelist>NodeList</a></code>
   containing all the <a href=#top-level-microdata-items>top-level microdata items</a> in the
-  document.  A new <code>NodeList</code> object must be returned each
+  document.  A new <code><a href=#nodelist>NodeList</a></code> object must be returned each
   time unless the argument is the same as the last time the method was
-  invoked on this <code>Document</code> object, in which case the
+  invoked on this <code><a href=#document>Document</a></code> object, in which case the
   object must be the same as the object returned by the previous
   call.</p>
 
@@ -47695,7 +47705,7 @@
   <p>The <dfn id=dom-properties title=dom-properties><code>properties</code></dfn> IDL
   attribute on <a href=#html-elements>HTML elements</a> must return an
   <code><a href=#htmlpropertiescollection>HTMLPropertiesCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only elements that
+  <code><a href=#document>Document</a></code> node, whose filter matches only elements that
   have <a href=#property-names>property names</a> and are <a href=#the-properties-of-an-item title="the properties
   of an item">the properties of the item</a> created by the element
   on which the attribute was invoked, while that element is an <a href=#concept-item title=concept-item>item</a>, and matches nothing the rest of
@@ -47749,11 +47759,11 @@
    <dt>Otherwise</dt>
 
    <dd><p>The attribute must act the same as the element's
-   <code>textContent</code> attribute.</dd>
+   <code><a href=#textcontent>textContent</a></code> attribute.</dd>
 
   </dl><p>When the <code title=dom-itemValue><a href=#dom-itemvalue>itemValue</a></code> IDL
   attribute is <a href=#reflect title=reflect>reflecting</a> a content
-  attribute or acting like the element's <code>textContent</code>
+  attribute or acting like the element's <code><a href=#textcontent>textContent</a></code>
   attribute, the user agent must, on setting, convert the new value to
   the IDL <code title="">DOMString</code> value before using it
   according to the mappings described above.</p>
@@ -48926,7 +48936,7 @@
   </dl><h5 id=conversion-to-vcard><span class=secno>5.4.1.1 </span>Conversion to vCard</h5>
 
   <p>Given a list of nodes <var title="">nodes</var> in a
-  <code>Document</code>, a user agent must run the following algorithm
+  <code><a href=#document>Document</a></code>, a user agent must run the following algorithm
   to <dfn id=extracting-a-vcard title="extracting a vCard">extract any vCard data
   represented by those nodes</dfn> (only the first vCard is
   returned):</p>
@@ -48954,7 +48964,7 @@
 
    <li><p>If <a href=#the-title-element>the <code>title</code> element</a> is not null,
    <a href=#add-a-vcard-line>add a vCard line</a> with the type "<code title="">NAME</code>" and with the result of <a href=#escaping-the-vcard-text-string>escaping the
-   vCard text string</a> obtained from the <code>textContent</code>
+   vCard text string</a> obtained from the <code><a href=#textcontent>textContent</a></code>
    of <a href=#the-title-element>the <code>title</code> element</a> as the value to <var title="">output</var>.</li>
 
    <li><p>If <var title="">node</var> has a <a href=#global-identifier>global
@@ -50075,7 +50085,7 @@
   </ol><h5 id=conversion-to-icalendar><span class=secno>5.4.2.1 </span>Conversion to iCalendar</h5>
 
   <p>Given a list of nodes <var title="">nodes</var> in a
-  <code>Document</code>, a user agent must run the following algorithm
+  <code><a href=#document>Document</a></code>, a user agent must run the following algorithm
   to <dfn id=extracting-vevent-data title="extracting vEvent data">extract any vEvent data
   represented by those nodes</dfn>:</p>
 
@@ -50481,7 +50491,7 @@
   <h4 id=json><span class=secno>5.5.1 </span>JSON</h4>
 
   <p>Given a list of nodes <var title="">nodes</var> in a
-  <code>Document</code>, a user agent must run the following algorithm
+  <code><a href=#document>Document</a></code>, a user agent must run the following algorithm
   to <dfn id=extracting-json title="extracting JSON">extract the microdata from those
   nodes into a JSON form</dfn>:</p>
 
@@ -50569,7 +50579,7 @@
    <li>
 
     <p>For each <code><a href=#the-a-element>a</a></code>, <code><a href=#the-area-element>area</a></code>, and
-    <code><a href=#the-link-element>link</a></code> element in the <code>Document</code>, run these
+    <code><a href=#the-link-element>link</a></code> element in the <code><a href=#document>Document</a></code>, run these
     substeps:</p>
 
     <ol><li><p>If the element does not have a <code title="">rel</code>
@@ -50621,7 +50631,7 @@
 
    <li>
 
-    <p>For each <code><a href=#meta>meta</a></code> element in the <code>Document</code>
+    <p>For each <code><a href=#meta>meta</a></code> element in the <code><a href=#document>Document</a></code>
     that has a <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute and
     a <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, if the
     value of the <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute
@@ -50631,7 +50641,7 @@
     <dl class=triple><dt>subject   <dd> <a href="#the-document's-current-address">the document's current address</a>
      <dt>predicate <dd> the concatenation of the string "<code title="">http://www.w3.org/1999/xhtml/vocab#</code>" and the value of the element's <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute, <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>, with any characters in the value that are not valid in the <ifragment> production of the IRI syntax being %-escaped <a href=#refsRFC3987>[RFC3987]</a>
      <dt>object    <dd> the value of the element's <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, as a plain literal, with the language information set from the <a href=#language>language</a> of the element, if it is not unknown
-    </dl><p>For each <code><a href=#meta>meta</a></code> element in the <code>Document</code>
+    </dl><p>For each <code><a href=#meta>meta</a></code> element in the <code><a href=#document>Document</a></code>
     that has a <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute and
     a <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, if the
     value of the <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute is
@@ -50645,7 +50655,7 @@
    <li>
 
     <p>For each <code><a href=#the-blockquote-element>blockquote</a></code> and <code><a href=#the-q-element>q</a></code> element in
-    the <code>Document</code> that has a <code title="">cite</code>
+    the <code><a href=#document>Document</a></code> that has a <code title="">cite</code>
     attribute that <a href=#resolve-a-url title="resolve a url">resolves</a>
     successfully relative to the element, generate the following
     triple:</p>
@@ -50947,19 +50957,19 @@
 
   <h4 id=atom><span class=secno>5.5.3 </span>Atom</h4>
 
-  <p>Given a <code>Document</code> <var title="">source</var>, a user
+  <p>Given a <code><a href=#document>Document</a></code> <var title="">source</var>, a user
   agent may run the following algorithm to <dfn id=extracting-atom title="extracting
   Atom">extract an Atom feed</dfn>. This is not the only algorithm
   that can be used for this purpose; for instance, a user agent might
   instead use the hAtom algorithm. <a href=#refsHATOM>[HATOM]</a></p>
 
-  <ol><li><p>If the <code>Document</code> <var title="">source</var> does
+  <ol><li><p>If the <code><a href=#document>Document</a></code> <var title="">source</var> does
    not contain any <code><a href=#the-article-element>article</a></code> elements, then return nothing
    and abort these steps. This algorithm can only be used with
    documents that contain distinct articles.</p>
 
    <li><p>Let <var title="">R</var> be an empty <a href=#xml-documents title="XML
-   documents">XML</a> <code>Document</code> object whose <a href="#the-document's-address" title="the document's address">address</a> is user-agent
+   documents">XML</a> <code><a href=#document>Document</a></code> object whose <a href="#the-document's-address" title="the document's address">address</a> is user-agent
    defined.</li>
 
    <li><p>Append a <code title="">feed</code> element in the
@@ -51056,7 +51066,7 @@
      <dd>
 
       <p>Let <var title="">heading text</var> be the
-      <code>textContent</code> of <a href=#the-title-element>the <code>title</code>
+      <code><a href=#textcontent>textContent</a></code> of <a href=#the-title-element>the <code>title</code>
       element</a>, if there is one, or the empty string
       otherwise.</p>
 
@@ -51074,10 +51084,10 @@
       of <var title="">heading</var>, sorted first by descending
       <a href=#rank>rank</a> and then in <a href=#tree-order>tree order</a> (so
       <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>s first, then <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>s, etc, with each
-      group in the order they appear in the document). Then, let <var title="">heading text</var> be the <code>textContent</code> of
+      group in the order they appear in the document). Then, let <var title="">heading text</var> be the <code><a href=#textcontent>textContent</a></code> of
       the first entry in <var title="">headings list</var>, and if
       there are multiple entries, let <var title="">subheading
-      text</var> be the <code>textContent</code> of the second entry
+      text</var> be the <code><a href=#textcontent>textContent</a></code> of the second entry
       in <var title="">headings list</var>.</p>
 
      </dd>
@@ -51087,7 +51097,7 @@
      <dd>
 
       <p>Let <var title="">heading text</var> be the
-      <code>textContent</code> of <var title="">heading</var>.</p>
+      <code><a href=#textcontent>textContent</a></code> of <var title="">heading</var>.</p>
 
      </dd>
 
@@ -51155,7 +51165,7 @@
         order</a> (so <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>s first, then
         <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>s, etc, with each group in the order they
         appear in the document). Then, let <var title="">heading
-        text</var> be the <code>textContent</code> of the first entry
+        text</var> be the <code><a href=#textcontent>textContent</a></code> of the first entry
         in <var title="">headings list</var>.</p>
 
        </dd>
@@ -51165,7 +51175,7 @@
        <dd>
 
         <p>Let <var title="">heading text</var> be the
-        <code>textContent</code> of <var title="">heading</var>.</p>
+        <code><a href=#textcontent>textContent</a></code> of <var title="">heading</var>.</p>
 
        </dd>
 
@@ -51368,7 +51378,7 @@
     <p>If <var title="">global update date</var> has no value, then
     let it have a value that is a <a href=#valid-global-date-and-time-string>valid global date and time
     string</a> representing the <a href=#concept-datetime title=concept-datetime>global date and time</a> of the date
-    and time of the <code>Document</code>'s source file's last
+    and time of the <code><a href=#document>Document</a></code>'s source file's last
     modification, if it is known, or else of the moment that this
     algorithm was invoked.</p>
 
@@ -51418,7 +51428,7 @@
   <h3 id=windows><span class=secno>6.1 </span>Browsing contexts</h3>
 
   <p>A <dfn id=browsing-context>browsing context</dfn> is an environment in which
-  <code>Document</code> objects are presented to the user.</p>
+  <code><a href=#document>Document</a></code> objects are presented to the user.</p>
 
   <p class=note>A tab or window in a Web browser typically contains
   a <a href=#browsing-context>browsing context</a>, as does an <code><a href=#the-iframe-element>iframe</a></code><span class=impl> or <code><a href=#frame>frame</a></code>s in a
@@ -51428,24 +51438,24 @@
   <code><a href=#windowproxy>WindowProxy</a></code> object.</p>
 
   <p>A <a href=#browsing-context>browsing context</a> has a <a href=#session-history>session
-  history</a>, which lists the <code>Document</code> objects that
+  history</a>, which lists the <code><a href=#document>Document</a></code> objects that
   that <a href=#browsing-context>browsing context</a> has presented, is presenting, or
-  will present. At any time, one <code>Document</code> in each
+  will present. At any time, one <code><a href=#document>Document</a></code> in each
   <a href=#browsing-context>browsing context</a> is designated the <dfn id=active-document>active
   document</dfn>.</p>
 
-  <p>Each <code>Document</code> has a collection of one or more <a href=#view title=view>views</a>.</p>
+  <p>Each <code><a href=#document>Document</a></code> has a collection of one or more <a href=#view title=view>views</a>.</p>
 
   <p>A <dfn id=view>view</dfn> is a user agent interface tied to a particular
   media used for the presentation of a particular
-  <code>Document</code> object in some media. A view may be
+  <code><a href=#document>Document</a></code> object in some media. A view may be
   interactive. Each view is represented by an
   <code>AbstractView</code> object. <a href=#refsDOMVIEWS>[DOMVIEWS]</a></p>
 
   <p>The main <a href=#view>view</a> through which a user primarily
   interacts with a user agent is the <dfn id=default-view>default view</dfn>. The
   <code>AbstractView</code> object that represents this view <span class=impl>must also implement the <code><a href=#window>Window</a></code> interface,
-  and</span> is referred to as the <code>Document</code>'s
+  and</span> is referred to as the <code><a href=#document>Document</a></code>'s
   <code><a href=#window>Window</a></code> object. <code><a href=#windowproxy>WindowProxy</a></code> objects forward
   everything to the <a href=#active-document>active document</a>'s <a href=#default-view>default
   view</a>'s <code><a href=#window>Window</a></code> object.</p>
@@ -51453,7 +51463,7 @@
   <div class=impl>
 
   <p>The <code title=dom-document-defaultView>defaultView</code>
-  attribute on the <code>Document</code> object's
+  attribute on the <code><a href=#document>Document</a></code> object's
   <code>DocumentView</code> interface must return the <a href=#browsing-context>browsing
   context</a>'s <code><a href=#windowproxy>WindowProxy</a></code> object, not the actual
   <code>AbstractView</code> object of the <a href=#default-view>default
@@ -51464,15 +51474,15 @@
   <p class=note>The <code title=dom-document>document</code>
   attribute of an <code>AbstractView</code> object representing a
   <a href=#view>view</a> gives the view's corresponding
-  <code>Document</code> object. <a href=#refsDOMVIEWS>[DOMVIEWS]</a></p>
+  <code><a href=#document>Document</a></code> object. <a href=#refsDOMVIEWS>[DOMVIEWS]</a></p>
 
   <p class=note>In general, there is a 1-to-1 mapping from the
-  <code><a href=#window>Window</a></code> object to the <code>Document</code> object. In
+  <code><a href=#window>Window</a></code> object to the <code><a href=#document>Document</a></code> object. In
   one particular case, a set of <a href=#view title=view>views</a> can be
-  reused for the presentation of a second <code>Document</code> in the
+  reused for the presentation of a second <code><a href=#document>Document</a></code> in the
   same <a href=#browsing-context>browsing context</a>, such that the mapping is then
   2-to-1. This occurs when a <a href=#browsing-context>browsing context</a> is <a href=#navigate title=navigate>navigated</a> from the initial
-  <code><a href=#about:blank>about:blank</a></code> <code>Document</code> to another, with
+  <code><a href=#about:blank>about:blank</a></code> <code><a href=#document>Document</a></code> to another, with
   <a href=#replacement-enabled>replacement enabled</a>.</p>
 
   <div class=impl>
@@ -51489,15 +51499,15 @@
   </div>
 
   <p class=note>A typical Web browser has one obvious
-  <a href=#view>view</a> per <code>Document</code>: the browser's window
+  <a href=#view>view</a> per <code><a href=#document>Document</a></code>: the browser's window
   (screen media). This is typically the <a href=#default-view>default view</a>. If
   a page is printed, however, a second view becomes evident, that of
   the print media. The two views always share the same underlying
-  <code>Document</code> object, but they have a different presentation
+  <code><a href=#document>Document</a></code> object, but they have a different presentation
   of that object. A speech browser might have a different
   <a href=#default-view>default view</a>, using the speech media.</p>
 
-  <p class=note>A <code>Document</code> does not necessarily have a
+  <p class=note>A <code><a href=#document>Document</a></code> does not necessarily have a
   <a href=#browsing-context>browsing context</a> associated with it. In particular,
   data mining tools are likely to never instantiate browsing
   contexts.</p>
@@ -51514,17 +51524,17 @@
 
   <p>If a <a href=#browsing-context>browsing context</a> <var title="">A</var> has a
   <a href=#creator-browsing-context>creator browsing context</a>, then the
-  <code>Document</code> that was the <a href=#active-document>active document</a> of
+  <code><a href=#document>Document</a></code> that was the <a href=#active-document>active document</a> of
   that <a href=#creator-browsing-context>creator browsing context</a> at the time <var title="">A</var> was created is the <dfn id=creator-document>creator
   <code>Document</code></dfn>.</p>
 
   <div class=impl>
 
   <p>When a <a href=#browsing-context>browsing context</a> is first created, it must be
-  created with a single <code>Document</code> in its session history,
+  created with a single <code><a href=#document>Document</a></code> in its session history,
   whose <a href="#the-document's-address" title="the document's address">address</a> is
   <code><a href=#about:blank>about:blank</a></code>, which is marked as being an <a href=#html-documents title="HTML documents">HTML document</a>, and whose <a href="#document's-character-encoding" title="document's character encoding">character encoding</a> is
-  UTF-8. The <code>Document</code> must have a single child
+  UTF-8. The <code><a href=#document>Document</a></code> must have a single child
   <code><a href=#the-html-element-0>html</a></code> node, which itself has a single child
   <code><a href=#the-body-element-0>body</a></code> node.</p>
 
@@ -51533,14 +51543,14 @@
   navigation will have <a href=#replacement-enabled>replacement enabled</a>.</p>
 
   <p id=about-blank-origin>The <a href=#origin>origin</a> of the
-  <code><a href=#about:blank>about:blank</a></code> <code>Document</code> is set when the
-  <code>Document</code> is created. If the new <a href=#browsing-context>browsing
+  <code><a href=#about:blank>about:blank</a></code> <code><a href=#document>Document</a></code> is set when the
+  <code><a href=#document>Document</a></code> is created. If the new <a href=#browsing-context>browsing
   context</a> has a <a href=#creator-browsing-context>creator browsing context</a>, then the
   <a href=#origin>origin</a> of the <code><a href=#about:blank>about:blank</a></code>
-  <code>Document</code> is the <a href=#origin>origin</a> of the
+  <code><a href=#document>Document</a></code> is the <a href=#origin>origin</a> of the
   <a href=#creator-document>creator <code>Document</code></a>. Otherwise, the
   <a href=#origin>origin</a> of the <code><a href=#about:blank>about:blank</a></code>
-  <code>Document</code> is a globally unique identifier assigned when
+  <code><a href=#document>Document</a></code> is a globally unique identifier assigned when
   the new <a href=#browsing-context>browsing context</a> is created.</p>
 
   </div>
@@ -51552,7 +51562,7 @@
   instantiate further <a href=#browsing-context title="browsing context">browsing
   contexts</a>. These are called <dfn id=nested-browsing-context title="nested browsing
   context">nested browsing contexts</dfn>. If a browsing context <var title="">P</var> has an element <var title="">E</var> in one of its
-  <code>Document</code>s <var title="">D</var> that nests another
+  <code><a href=#document>Document</a></code>s <var title="">D</var> that nests another
   browsing context <var title="">C</var> inside it, then <var title="">P</var> is said to be the <dfn id=parent-browsing-context>parent browsing
   context</dfn> of <var title="">C</var>, <var title="">C</var> is
   said to be a <dfn id=child-browsing-context>child browsing context</dfn> of <var title="">P</var>, <var title="">C</var> is said to be <dfn id=browsing-context-nested-through title="browsing context nested through">nested through</dfn> <var title="">D</var>, and <var title="">E</var> is said to be the
@@ -51579,7 +51589,7 @@
   context">ancestor browsing contexts</dfn>.</p>
 
   <p>The <dfn id=list-of-the-descendant-browsing-contexts>list of the descendant browsing contexts</dfn> of a
-  <code>Document</code> <var title="">d</var> is the list returned by
+  <code><a href=#document>Document</a></code> <var title="">d</var> is the list returned by
   the following algorithm:</p>
 
   <ol><li><p>Let <var title="">list</var> be an empty list.</li>
@@ -51595,19 +51605,19 @@
 
    <li><p>Return the constructed <var title="">list</var>.</li>
 
-  </ol><hr><p>A <code>Document</code> is said to be <dfn id=fully-active>fully active</dfn>
+  </ol><hr><p>A <code><a href=#document>Document</a></code> is said to be <dfn id=fully-active>fully active</dfn>
   when it is the <a href=#active-document>active document</a> of its <a href=#browsing-context>browsing
   context</a>, and either its browsing context is a <a href=#top-level-browsing-context>top-level
-  browsing context</a>, or the <code>Document</code> <a href=#browsing-context-nested-through title="browsing context nested through">through which</a> that
+  browsing context</a>, or the <code><a href=#document>Document</a></code> <a href=#browsing-context-nested-through title="browsing context nested through">through which</a> that
   browsing context is <a href=#nested-browsing-context title="nested browsing
   context">nested</a> is itself <a href=#fully-active>fully active</a>.</p>
 
   <p>Because they are nested through an element, <a href=#child-browsing-context title="child
   browsing context">child browsing contexts</a> are always tied to
-  a specific <code>Document</code> in their <a href=#parent-browsing-context>parent browsing
+  a specific <code><a href=#document>Document</a></code> in their <a href=#parent-browsing-context>parent browsing
   context</a>. User agents must not allow the user to interact with
   <a href=#child-browsing-context title="child browsing context">child browsing contexts</a>
-  of elements that are in <code>Document</code>s that are not
+  of elements that are in <code><a href=#document>Document</a></code>s that are not
   themselves <a href=#fully-active>fully active</a>.</p>
 
   <p>A <a href=#nested-browsing-context>nested browsing context</a> can have a <a href=#seamless-browsing-context-flag>seamless
@@ -51637,7 +51647,7 @@
 
    <dd>
 
-    <p>Returns the <code>Element</code> for the <a href=#browsing-context-container>browsing context container</a>.</p>
+    <p>Returns the <code><a href=#element>Element</a></code> for the <a href=#browsing-context-container>browsing context container</a>.</p>
 
     <p>Returns null if there isn't one.</p>
 
@@ -51648,7 +51658,7 @@
   </dl><div class=impl>
 
   <p>The <dfn id=dom-top title=dom-top><code>top</code></dfn> IDL attribute on
-  the <code><a href=#window>Window</a></code> object of a <code>Document</code> in a
+  the <code><a href=#window>Window</a></code> object of a <code><a href=#document>Document</a></code> in a
   <a href=#browsing-context>browsing context</a> <var title="">b</var> must return the
   <code><a href=#windowproxy>WindowProxy</a></code> object of its <a href=#top-level-browsing-context>top-level browsing
   context</a> (which would be its own <code><a href=#windowproxy>WindowProxy</a></code>
@@ -51657,7 +51667,7 @@
 
   <p>The <dfn id=dom-parent title=dom-parent><code>parent</code></dfn> IDL
   attribute on the <code><a href=#window>Window</a></code> object of a
-  <code>Document</code> in a <a href=#browsing-context>browsing context</a> <var title="">b</var> must return the <code><a href=#windowproxy>WindowProxy</a></code> object of
+  <code><a href=#document>Document</a></code> in a <a href=#browsing-context>browsing context</a> <var title="">b</var> must return the <code><a href=#windowproxy>WindowProxy</a></code> object of
   the <a href=#parent-browsing-context>parent browsing context</a>, if there is one (i.e. if
   <var title="">b</var> is a <a href=#child-browsing-context>child browsing context</a>), or
   the <code><a href=#windowproxy>WindowProxy</a></code> object of the <a href=#browsing-context>browsing
@@ -51666,10 +51676,10 @@
 
   <p>The <dfn id=dom-frameelement title=dom-frameElement><code>frameElement</code></dfn>
   IDL attribute on the <code><a href=#window>Window</a></code> object of a
-  <code>Document</code> <var title="">d</var>, on getting, must run
+  <code><a href=#document>Document</a></code> <var title="">d</var>, on getting, must run
   the following algorithm:</p>
 
-  <ol><li><p>If <var title="">d</var> is not a <code>Document</code> in a
+  <ol><li><p>If <var title="">d</var> is not a <code><a href=#document>Document</a></code> in a
    <a href=#child-browsing-context>child browsing context</a>, return null and abort these
    steps.</li>
 
@@ -51754,14 +51764,14 @@
    <var title="">A</var> itself).</li>
 
   </ul><hr><p>An element has a <dfn id=browsing-context-scope-origin>browsing context scope origin</dfn> if its
-  <code>Document</code>'s <a href=#browsing-context>browsing context</a> is a
+  <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> is a
   <a href=#top-level-browsing-context>top-level browsing context</a> or if all of its
-  <code>Document</code>'s <a href=#ancestor-browsing-context title="ancestor browsing
+  <code><a href=#document>Document</a></code>'s <a href=#ancestor-browsing-context title="ancestor browsing
   context">ancestor browsing contexts</a> all have <a href=#active-document title="active document">active documents</a> whose
   <a href=#origin>origin</a> are the <a href=#same-origin>same origin</a> as the
-  element's <code>Document</code>'s <a href=#origin>origin</a>. If an element
+  element's <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a>. If an element
   has a <a href=#browsing-context-scope-origin>browsing context scope origin</a>, then its value is
-  the <a href=#origin>origin</a> of the element's <code>Document</code>.</p>
+  the <a href=#origin>origin</a> of the element's <code><a href=#document>Document</a></code>.</p>
 
   </div>
 
@@ -51965,7 +51975,7 @@
   readonly attribute <a href=#windowproxy>WindowProxy</a> <a href=#dom-top title=dom-top>top</a>;
   [Replaceable] readonly attribute <a href=#windowproxy>WindowProxy</a> <a href=#dom-opener title=dom-opener>opener</a>;
   readonly attribute <a href=#windowproxy>WindowProxy</a> <a href=#dom-parent title=dom-parent>parent</a>;
-  readonly attribute <span>Element</span> <a href=#dom-frameelement title=dom-frameElement>frameElement</a>;
+  readonly attribute <a href=#element>Element</a> <a href=#dom-frameelement title=dom-frameElement>frameElement</a>;
   <a href=#windowproxy>WindowProxy</a> <a href=#dom-open title=dom-open>open</a>(in optional DOMString url, in optional DOMString target, in optional DOMString features, in optional DOMString replace);
   <a href=#dom-window-item title=dom-window-item>getter</a> <a href=#windowproxy>WindowProxy</a> (in unsigned long index);
   <a href=#dom-window-nameditem title=dom-window-namedItem>getter</a> <a href=#windowproxy>WindowProxy</a> (in DOMString name);
@@ -52056,7 +52066,7 @@
            attribute <a href=#function>Function</a> <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
            attribute <a href=#function>Function</a> <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
 };
-<a href=#window>Window</a> implements <span>EventTarget</span>;</pre>
+<a href=#window>Window</a> implements <a href=#eventtarget>EventTarget</a>;</pre>
 
 <!-- for more features to add here, look here:
  http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_window.asp
@@ -52092,7 +52102,7 @@
   whenever any of the members of a <code><a href=#window>Window</a></code> object are
   accessed by scripts whose <a href=#effective-script-origin>effective script origin</a> is
   not the same as the <code><a href=#window>Window</a></code> object's
-  <code>Document</code>'s <a href=#effective-script-origin>effective script origin</a>, with
+  <code><a href=#document>Document</a></code>'s <a href=#effective-script-origin>effective script origin</a>, with
   the following exceptions:</p>
 
   <ul><li>The <code title=dom-location><a href=#dom-location>location</a></code> object
@@ -52108,7 +52118,7 @@
    <li>The <a href=#dynamic-nested-browsing-context-properties>dynamic nested browsing context properties</a>
 
   </ul><p>When a script whose <a href=#effective-script-origin>effective script origin</a> is not
-  the same as the <code><a href=#window>Window</a></code> object's <code>Document</code>'s
+  the same as the <code><a href=#window>Window</a></code> object's <code><a href=#document>Document</a></code>'s
   <a href=#effective-script-origin>effective script origin</a> attempts to access that
   <code><a href=#window>Window</a></code> object's methods or attributes, the user agent
   must act as if any changes to the <code><a href=#window>Window</a></code> object's
@@ -52116,7 +52126,7 @@
 
   <p>For members that return objects (including function objects),
   each distinct <a href=#effective-script-origin>effective script origin</a> that is not the
-  same as the <code><a href=#window>Window</a></code> object's <code>Document</code>'s
+  same as the <code><a href=#window>Window</a></code> object's <code><a href=#document>Document</a></code>'s
   <a href=#effective-script-origin>effective script origin</a> must be provided with a
   separate set of objects. These objects must have the prototype chain
   appropriate for the script for which the objects are created (not
@@ -52126,7 +52136,7 @@
 
   <div class=example>
 
-   <p>For instance, if two frames containing <code>Document</code>s
+   <p>For instance, if two frames containing <code><a href=#document>Document</a></code>s
    from different <a href=#origin title=origin>origins</a> access the same
    <code><a href=#window>Window</a></code> object's <code title=dom-window-postMessage-2><a href=#dom-window-postmessage-2>postMessage()</a></code> method, they
    will get distinct objects that are not equal.</p>
@@ -52304,7 +52314,7 @@
   <p>When a <code><a href=#window>Window</a></code> object is <dfn id=dom-window-item title=dom-window-item>indexed to retrieve an indexed
   property</dfn> <var title="">index</var>, the value returned must be
   the <var title="">index</var>th <a href=#child-browsing-context>child browsing context</a>
-  of the <code>Document</code> that is nested through an element that
+  of the <code><a href=#document>Document</a></code> that is nested through an element that
   is <a href=#in-a-document title="in a document">in the <code>Document</code></a>,
   sorted in the <a href=#tree-order>tree order</a> of the elements nesting those
   <a href=#browsing-context title="browsing context">browsing contexts</a>.</p>
@@ -52378,7 +52388,7 @@
    <li>
 
     <p>Otherwise return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-    <code>Document</code> node, whose filter matches only <a href=#dom-window-nameditem-filter title=dom-window-namedItem-filter>named elements</a> with
+    <code><a href=#document>Document</a></code> node, whose filter matches only <a href=#dom-window-nameditem-filter title=dom-window-namedItem-filter>named elements</a> with
     the name <var title="">name</var>.</p> <!-- the same one each time
     is returned, because of the rule under collections -->
 
@@ -52403,11 +52413,11 @@
   <h4 id=garbage-collection-and-browsing-contexts><span class=secno>6.2.5 </span>Garbage collection and browsing contexts</h4>
 
   <p>A <a href=#browsing-context>browsing context</a> has a strong reference to each of
-  its <code>Document</code>s and its <code><a href=#windowproxy>WindowProxy</a></code> object,
+  its <code><a href=#document>Document</a></code>s and its <code><a href=#windowproxy>WindowProxy</a></code> object,
   and the user agent itself has a strong reference to its <a href=#top-level-browsing-context title="top-level browsing context">top-level browsing
   contexts</a>.</p>
 
-  <p>A <code>Document</code> has a strong reference to each of its
+  <p>A <code><a href=#document>Document</a></code> has a strong reference to each of its
   <a href=#view title=view>views</a> and their <code>AbstractView</code>
   objects.</p>
 
@@ -52416,36 +52426,36 @@
   steps:</p>
 
   <ol><li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for
-   the <code>Document</code> that are defined by this specification or
+   the <code><a href=#document>Document</a></code> that are defined by this specification or
    any other relevant specifications.</li>
 
    <li><p>Remove any <a href=#concept-task title=concept-task>tasks</a>
-   associated with the <code>Document</code> in any <a href=#task-source>task
+   associated with the <code><a href=#document>Document</a></code> in any <a href=#task-source>task
    source</a>, without running those tasks.</li>
 
    <li><p><a href=#a-browsing-context-is-discarded title="a browsing context is discarded">Discard</a>
    all the <a href=#child-browsing-context title="child browsing context">child browsing
-   contexts</a> of the <code>Document</code>.</li>
+   contexts</a> of the <code><a href=#document>Document</a></code>.</li>
 
-   <li><p>Lose the strong reference from the <code>Document</code>'s
+   <li><p>Lose the strong reference from the <code><a href=#document>Document</a></code>'s
    <a href=#browsing-context>browsing context</a> to the
-   <code>Document</code>.</li>
+   <code><a href=#document>Document</a></code>.</li>
 
   </ol><p class=note>The <a href=#browsing-context>browsing context</a>'s <a href=#default-view>default
   view</a>'s <code><a href=#window>Window</a></code> object <a href=#implied-strong-reference title="implied strong
   reference">has a strong reference</a> to its
-  <code>Document</code> object through the <code title=dom-document>document</code> attribute of the
+  <code><a href=#document>Document</a></code> object through the <code title=dom-document>document</code> attribute of the
   <code>AbstractView</code> interface. Thus, references from other
   scripts to either of those objects will keep both alive. <a href=#refsDOMVIEWS>[DOMVIEWS]</a></p>
 
-  <p class=note>Whenever a <code>Document</code> object is <a href=#discard-a-document title="discard a Document">discarded</a>, it is also removed from
+  <p class=note>Whenever a <code><a href=#document>Document</a></code> object is <a href=#discard-a-document title="discard a Document">discarded</a>, it is also removed from
   the list of <a href="#the-worker's-documents">the worker's <code>Document</code>s</a> of each
-  worker whose list contains that <code>Document</code>.</p>
+  worker whose list contains that <code><a href=#document>Document</a></code>.</p>
 
   <p>When <dfn id=a-browsing-context-is-discarded>a <em><span>browsing context</span></em> is
   discarded</dfn>, the strong reference from the user agent itself to
   the <a href=#browsing-context>browsing context</a> must be severed, and all the
-  <code>Document</code> objects for all the entries in the
+  <code><a href=#document>Document</a></code> objects for all the entries in the
   <a href=#browsing-context>browsing context</a>'s session history must be <a href=#discard-a-document title="discard a document">discarded</a> as well.</p>
 
   <p>User agents may <a href=#a-browsing-context-is-discarded title="a browsing context is
@@ -52514,7 +52524,7 @@
   setting, the new value must be discarded.</p>
 
   <p>The following <code><a href=#barprop>BarProp</a></code> objects exist for each
-  <code>Document</code> object in a <a href=#browsing-context>browsing
+  <code><a href=#document>Document</a></code> object in a <a href=#browsing-context>browsing
   context</a>. Some of the user interface elements represented by
   these objects might have no equivalent in some user agents; for
   those user agents, except when otherwise specified, the object must
@@ -52612,7 +52622,7 @@
   <p class=note>The <code><a href=#windowproxy>WindowProxy</a></code> object allows scripts
   to act as if each <a href=#browsing-context>browsing context</a> had a single
   <code><a href=#window>Window</a></code> object, while still keeping separate
-  <code><a href=#window>Window</a></code> objects for each <code>Document</code>.</p>
+  <code><a href=#window>Window</a></code> objects for each <code><a href=#document>Document</a></code>.</p>
 
   <div class=example>
 
@@ -52712,7 +52722,7 @@
      <li><p>Return the tuple (<var title="">scheme</var>, <var title="">host</var>, <var title="">port</var>).</li>
 
     </ol><p>In addition, if the <a href=#url>URL</a> is in fact associated with
-    a <code>Document</code> object that was created by parsing the
+    a <code><a href=#document>Document</a></code> object that was created by parsing the
     resource obtained from fetching <a href=#url>URL</a>, and this was
     done over a secure connection, then the server's secure
     certificate may be added to the origin as additional data.</p>
@@ -52729,14 +52739,14 @@
 
     <dl class=switch><dt>If a script is in a <code><a href=#script>script</a></code> element</dt>
 
-     <dd>The owner is the <code>Document</code> to which the
+     <dd>The owner is the <code><a href=#document>Document</a></code> to which the
      <code><a href=#script>script</a></code> element belongs.</dd>
 
 
      <dt>If a script is in an <a href=#event-handler-content-attributes title="event handler content
      attributes">event handler content attribute</a></dt>
 
-     <dd>The owner is the <code>Document</code> to which the
+     <dd>The owner is the <code><a href=#document>Document</a></code> to which the
      attribute node belongs.</dd>
 
 
@@ -52756,7 +52766,7 @@
 
      <dt>If a script is a <a href=#javascript-protocol title="javascript protocol"><code title="">javascript:</code> URL</a> in an attribute</dt>
 
-     <dd>The owner is the <code>Document</code> of the element on
+     <dd>The owner is the <code><a href=#document>Document</a></code> of the element on
      which the attribute is found.</dd>
 
 
@@ -52770,7 +52780,7 @@
      the URL having been provided by the user (e.g. by using a
      <i>bookmarklet</i>)</dt>
 
-     <dd>The owner is the <code>Document</code> of the <a href=#browsing-context>browsing
+     <dd>The owner is the <code><a href=#document>Document</a></code> of the <a href=#browsing-context>browsing
      context</a>'s <a href=#active-document>active document</a>.</dd>
 
 
@@ -52778,7 +52788,7 @@
      context</a> is being <a href=#navigate title=navigate>navigated</a>,
      the URL having been declared in markup</dt>
 
-     <dd>The owner is the <code>Document</code> of the element
+     <dd>The owner is the <code><a href=#document>Document</a></code> of the element
      (e.g. an <code><a href=#the-a-element>a</a></code> or <code><a href=#the-area-element>area</a></code> element) that
      declared the URL.</dd>
 
@@ -52796,30 +52806,30 @@
 
    </dd>
 
-   <dt>For <code>Document</code> objects and images</dt>
+   <dt>For <code><a href=#document>Document</a></code> objects and images</dt>
 
    <dd>
 
-    <dl class=switch><dt id=sandboxOrigin>If a <code>Document</code> is in a
+    <dl class=switch><dt id=sandboxOrigin>If a <code><a href=#document>Document</a></code> is in a
      <a href=#browsing-context>browsing context</a> whose <a href=#sandboxed-origin-browsing-context-flag>sandboxed origin
      browsing context flag</a> was set when the
-     <code>Document</code> was created</dt>
+     <code><a href=#document>Document</a></code> was created</dt>
 
-     <dt>If a <code>Document</code> was generated from a resource
+     <dt>If a <code><a href=#document>Document</a></code> was generated from a resource
      labeled as <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code></dt>
 
      <dd>The <a href=#origin>origin</a> is a globally unique identifier
-     assigned when the <code>Document</code> is created.</dd>
+     assigned when the <code><a href=#document>Document</a></code> is created.</dd>
 
 
-     <dt>If a <code>Document</code> or image was returned by the
+     <dt>If a <code><a href=#document>Document</a></code> or image was returned by the
      <code>XMLHttpRequest</code> API</dt>
 
      <dd>The <a href=#origin>origin</a> is equal to the <span>XMLHttpRequest
      origin</span> of the <code>XMLHttpRequest</code> object. <a href=#refsXHR>[XHR]</a></dd>
 
 
-     <dt>If a <code>Document</code> or image was generated from a
+     <dt>If a <code><a href=#document>Document</a></code> or image was generated from a
      <a href=#javascript-protocol title="javascript protocol"><code>javascript:</code>
      URL</a></dt>
 
@@ -52828,17 +52838,17 @@
      protocol"><code>javascript:</code> URL</a>.</dd>
 
 
-     <dt>If a <code>Document</code> or image was served over the
+     <dt>If a <code><a href=#document>Document</a></code> or image was served over the
      network and has an address that uses a URL scheme with a
      server-based naming authority</dt>
 
      <dd>The <a href=#origin>origin</a> is the <a href=#origin>origin</a> of the
      <a href="#the-document's-address" title="the document's address">address</a> of the
-     <code>Document</code> or the <a href=#url>URL</a> of the image, as
+     <code><a href=#document>Document</a></code> or the <a href=#url>URL</a> of the image, as
      appropriate.</dd>
 
 
-     <dt>If a <code>Document</code> or image was generated from a
+     <dt>If a <code><a href=#document>Document</a></code> or image was generated from a
      <code title="">data:</code> URL that was returned as the location
      of an HTTP redirect (<a href=#concept-http-equivalent-codes title=concept-http-equivalent-codes>or equivalent</a> in
      other protocols)</dt>
@@ -52847,41 +52857,41 @@
      <a href=#url>URL</a> that redirected to the <code title="">data:</code> URL.</dd>
 
 
-     <dt>If a <code>Document</code> or image was generated from a
+     <dt>If a <code><a href=#document>Document</a></code> or image was generated from a
      <code title="">data:</code> URL found in another
-     <code>Document</code> or in a script</dt>
+     <code><a href=#document>Document</a></code> or in a script</dt>
 
      <dd>The <a href=#origin>origin</a> is the <a href=#origin>origin</a> of the
-     <code>Document</code> or script that initiated the <a href=#navigate title=navigate>navigation</a> to that <a href=#url>URL</a>.</dd>
+     <code><a href=#document>Document</a></code> or script that initiated the <a href=#navigate title=navigate>navigation</a> to that <a href=#url>URL</a>.</dd>
 
 
-     <dt>If a <code>Document</code> has the <a href="#the-document's-address" title="the
+     <dt>If a <code><a href=#document>Document</a></code> has the <a href="#the-document's-address" title="the
      document's address">address</a>
      "<code><a href=#about:blank>about:blank</a></code>"</dt>
 
-     <dd>The <a href=#origin>origin</a> of the <code>Document</code> is <a href=#about-blank-origin>the <span>origin</span> it was
+     <dd>The <a href=#origin>origin</a> of the <code><a href=#document>Document</a></code> is <a href=#about-blank-origin>the <span>origin</span> it was
      assigned when its browsing context was created</a>.</dd>
 
 
-     <dt>If a <code>Document</code> is <a href=#an-iframe-srcdoc-document>an <code>iframe</code> <code title=attr-iframe-srcdoc>srcdoc</code> document</a></dt>
+     <dt>If a <code><a href=#document>Document</a></code> is <a href=#an-iframe-srcdoc-document>an <code>iframe</code> <code title=attr-iframe-srcdoc>srcdoc</code> document</a></dt>
 
-     <dd>The <a href=#origin>origin</a> of the <code>Document</code> is the
-     <a href=#origin>origin</a> of the <code>Document</code>'s <a href=#browsing-context>browsing
+     <dd>The <a href=#origin>origin</a> of the <code><a href=#document>Document</a></code> is the
+     <a href=#origin>origin</a> of the <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing
      context</a>'s <a href=#browsing-context-container>browsing context container</a>'s
-     <code>Document</code>.</dd>
+     <code><a href=#document>Document</a></code>.</dd>
 
 
-     <dt>If a <code>Document</code> or image was obtained in some
+     <dt>If a <code><a href=#document>Document</a></code> or image was obtained in some
      other manner (e.g. a <code title="">data:</code> URL typed in by
-     the user, a <code>Document</code> created using the <code title=dom-DOMImplementation-createDocument>createDocument()</code>
+     the user, a <code><a href=#document>Document</a></code> created using the <code title=dom-DOMImplementation-createDocument>createDocument()</code>
      API, etc)</dt>
 
      <dd>The <a href=#origin>origin</a> is a globally unique identifier
-     assigned when the <code>Document</code> or image is created.</dd>
+     assigned when the <code><a href=#document>Document</a></code> or image is created.</dd>
 
-    </dl><p>When a <code>Document</code> is created, its <a href=#effective-script-origin>effective
+    </dl><p>When a <code><a href=#document>Document</a></code> is created, its <a href=#effective-script-origin>effective
     script origin</a> is initialized to the <a href=#origin>origin</a> of
-    the <code>Document</code>. However, the <code title=dom-document-domain><a href=#dom-document-domain>document.domain</a></code> attribute can
+    the <code><a href=#document>Document</a></code>. However, the <code title=dom-document-domain><a href=#dom-document-domain>document.domain</a></code> attribute can
     be used to change it.</p>
 
    </dd>
@@ -52892,7 +52902,7 @@
 
     <p>If value of the <a href=#media-element>media element</a>'s <code title=dom-media-currentSrc><a href=#dom-media-currentsrc>currentSrc</a></code> attribute is the
     empty string, the <a href=#origin>origin</a> is the same as the
-    <a href=#origin>origin</a> of the element's <code>Document</code>'s
+    <a href=#origin>origin</a> of the element's <code><a href=#document>Document</a></code>'s
     <a href=#origin>origin</a>.</p>
 
     <p>Otherwise, the <a href=#origin>origin</a> is equal to the
@@ -53008,7 +53018,7 @@
   </dl><div class=impl>
 
   <p>The <dfn id=dom-document-domain title=dom-document-domain><code>domain</code></dfn>
-  attribute on <code>Document</code> objects must be initialized to
+  attribute on <code><a href=#document>Document</a></code> objects must be initialized to
   <a href="#the-document's-domain">the document's domain</a>, if it has one, and the empty
   string otherwise. If the value is an IPv6 address, then the square
   brackets from the host portion of the <a href=#url-host title=url-host><host></a> component must be omitted from
@@ -53094,7 +53104,7 @@
    <li>
 
     <p>Set the host part of the <a href=#effective-script-origin>effective script origin</a>
-    tuple of the <code>Document</code> to <var title="">new
+    tuple of the <code><a href=#document>Document</a></code> to <var title="">new
     value</var>.</p>
 
    </li>
@@ -53102,7 +53112,7 @@
    <li>
 
     <p>Set the port part of the <a href=#effective-script-origin>effective script origin</a>
-    tuple of the <code>Document</code> to "manual override" (a value
+    tuple of the <code><a href=#document>Document</a></code> to "manual override" (a value
     that, for the purposes of <a href=#same-origin title="same origin">comparing
     origins</a>, is identical to "manual override" but not
     identical to any other value).</p>
@@ -53110,7 +53120,7 @@
    </li>
 
   </ol><p>The <dfn id="the-document's-domain" title="the document's domain">domain</dfn> of a
-  <code>Document</code> is the host part of the document's
+  <code><a href=#document>Document</a></code> is the host part of the document's
   <a href=#origin>origin</a>, if that is a scheme/host/port tuple. If it
   isn't, then the document does not have a domain.</p>
 
@@ -53134,7 +53144,7 @@
 
   <h4 id=the-session-history-of-browsing-contexts><span class=secno>6.4.1 </span>The session history of browsing contexts</h4>
 
-  <p>The sequence of <code>Document</code>s in a <a href=#browsing-context>browsing
+  <p>The sequence of <code><a href=#document>Document</a></code>s in a <a href=#browsing-context>browsing
   context</a> is its <dfn id=session-history>session history</dfn>.</p>
 
   <p><code><a href=#history-0>History</a></code> objects provide a representation of the
@@ -53143,7 +53153,7 @@
   context</a>, including <a href=#nested-browsing-context>nested browsing context</a>, has
   a distinct session history.</p>
 
-  <p>Each <code>Document</code> object in a <a href=#browsing-context>browsing
+  <p>Each <code><a href=#document>Document</a></code> object in a <a href=#browsing-context>browsing
   context</a>'s <a href=#session-history>session history</a> is associated with a
   unique instance of the <code><a href=#history-0>History</a></code> object, although they
   all must model the same underlying <a href=#session-history>session history</a>.</p>
@@ -53153,7 +53163,7 @@
   <p>The <dfn id=dom-history title=dom-history><code>history</code></dfn> attribute
   of the <code><a href=#window>Window</a></code> interface must return the object
   implementing the <code><a href=#history-0>History</a></code> interface for that
-  <code><a href=#window>Window</a></code> object's <code>Document</code>.</p>
+  <code><a href=#window>Window</a></code> object's <code><a href=#document>Document</a></code>.</p>
 
   </div>
 
@@ -53161,7 +53171,7 @@
   context</a>'s session history as a flat list of <a href=#session-history-entry title="session history entry">session history entries</a>. Each
   <dfn id=session-history-entry>session history entry</dfn> consists of either a
   <a href=#url>URL</a> or a <a href=#state-object>state object</a>, or both<span class=impl>, and may in addition have a title, a
-  <code>Document</code> object, form data, a scroll position, and
+  <code><a href=#document>Document</a></code> object, form data, a scroll position, and
   other information associated with it</span>.</p>
 
   <div class=impl>
@@ -53174,7 +53184,7 @@
   <p class=note>Titles associated with <a href=#session-history-entry title="session history
   entry">session history entries</a> need not have any relation
   with the current <code><a href=#the-title-element-0>title</a></code> of the
-  <code>Document</code>. The title of a <a href=#session-history-entry>session history
+  <code><a href=#document>Document</a></code>. The title of a <a href=#session-history-entry>session history
   entry</a> is intended to explain the state of the document at
   that point, so that the user can navigate the document's
   history.</p>
@@ -53196,36 +53206,36 @@
   <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing
   context</a>. The <a href=#current-entry>current entry</a> is usually an entry
   for the <a href=#dom-location-href title=dom-location-href>location</a> of the
-  <code>Document</code>. However, it can also be one of the entries
+  <code><a href=#document>Document</a></code>. However, it can also be one of the entries
   for <a href=#state-object title="state object">state objects</a> added to the
   history by that document.</p>
 
   <p>Entries that consist of <a href=#state-object title="state object">state
-  objects</a> share the same <code>Document</code> as the entry for
+  objects</a> share the same <code><a href=#document>Document</a></code> as the entry for
   the page that was active when they were added.</p>
 
   <p>Contiguous entries that differ just by fragment identifier also
-  share the same <code>Document</code>.</p>
+  share the same <code><a href=#document>Document</a></code>.</p>
 
   <p class=note>All entries that share the same
-  <code>Document</code> (and that are therefore merely different
+  <code><a href=#document>Document</a></code> (and that are therefore merely different
   states of one particular document) are contiguous by definition.</p>
 
   <div class=impl>
 
   <p>User agents may <a href=#discard-a-document title="discard a Document">discard</a>
-  the <code>Document</code> objects of entries other than the
+  the <code><a href=#document>Document</a></code> objects of entries other than the
   <a href=#current-entry>current entry</a> that are not referenced from any script,
   reloading the pages afresh when the user or script navigates back to
   such pages. This specification does not specify when user agents
-  should discard <code>Document</code> objects and when they should
+  should discard <code><a href=#document>Document</a></code> objects and when they should
   cache them.</p>
 
-  <p>Entries that have had their <code>Document</code> objects
+  <p>Entries that have had their <code><a href=#document>Document</a></code> objects
   discarded must, for the purposes of the algorithms given below, act
   as if they had not. When the user or script navigates back or
   forwards to a page which has no in-memory DOM objects, any other
-  entries that shared the same <code>Document</code> object with it
+  entries that shared the same <code><a href=#document>Document</a></code> object with it
   must share the new object as well.</p>
 
   </div>
@@ -53302,7 +53312,7 @@
   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>
-  <code>Document</code> objects that share the <code><a href=#history-0>History</a></code>
+  <code><a href=#document>Document</a></code> objects that share the <code><a href=#history-0>History</a></code>
   object's <a href=#top-level-browsing-context>top-level browsing context</a>, with all the
   entries that are <a href=#current-entry title="current entry">current entries</a>
   in their respective <a href=#session-history title="session history">session
@@ -53482,7 +53492,7 @@
   <p>User agents may limit the number of state objects added to the
   session history per page. If a page hits the UA-defined limit, user
   agents must remove the entry immediately after the first entry for
-  that <code>Document</code> object in the session history after
+  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>
 
@@ -53589,7 +53599,7 @@
 
   <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>Document</code> object in a <a href=#browsing-context>browsing
+  <p>Each <code><a href=#document>Document</a></code> object in a <a href=#browsing-context>browsing
   context</a>'s session history is associated with a unique
   instance of a <code><a href=#location>Location</a></code> object.</p>
 
@@ -53608,13 +53618,13 @@
 
   <p>The <dfn id=dom-document-location title=dom-document-location><code>location</code></dfn> attribute
   of the <code><a href=#htmldocument>HTMLDocument</a></code> interface must return the
-  <code><a href=#location>Location</a></code> object for that <code>Document</code> object,
+  <code><a href=#location>Location</a></code> object for that <code><a href=#document>Document</a></code> object,
   if it is in a <a href=#browsing-context>browsing context</a>, and null otherwise.</p>
 
   <p>The <dfn id=dom-location title=dom-location><code>location</code></dfn>
   attribute of the <code><a href=#window>Window</a></code> interface must return the
   <code><a href=#location>Location</a></code> object for that <code><a href=#window>Window</a></code> object's
-  <code>Document</code>.</p>
+  <code><a href=#document>Document</a></code>.</p>
 
   </div>
 
@@ -53689,7 +53699,7 @@
   <p>The <dfn id=dom-location-href title=dom-location-href><code>href</code></dfn>
   attribute must return <a href="#the-document's-current-address" title="the document's current
   address">the current address</a> of the associated
-  <code>Document</code> object, as an <a href=#absolute-url>absolute URL</a>.</p>
+  <code><a href=#document>Document</a></code> object, as an <a href=#absolute-url>absolute URL</a>.</p>
 
   <p>On setting, <!-- READ ME WHEN EDITING THIS: Mozilla does this,
   but IE doesn't. What should we do?: the behavior depends on the
@@ -53713,8 +53723,8 @@
   URL</a>, and if that is successful, must <a href=#navigate>navigate</a>
   the <a href=#browsing-context>browsing context</a> to the specified <var title="">url</var>. If the <a href=#browsing-context>browsing context</a>'s
   <a href=#session-history>session history</a> contains only one
-  <code>Document</code>, and that was the <code><a href=#about:blank>about:blank</a></code>
-  <code>Document</code> created when the <a href=#browsing-context>browsing context</a>
+  <code><a href=#document>Document</a></code>, and that was the <code><a href=#about:blank>about:blank</a></code>
+  <code><a href=#document>Document</a></code> created when the <a href=#browsing-context>browsing context</a>
   was created, then the navigation must be done with
   <a href=#replacement-enabled>replacement enabled</a>.</p> <!-- READ ME WHEN EDITING
   THIS: IE and Firefox only seem to treat it that way if the DOM is
@@ -53763,7 +53773,7 @@
   </dl><p>When a user requests that the current page be reloaded through a
   user interface element, the user agent should <a href=#navigate>navigate</a>
   the <a href=#browsing-context>browsing context</a> to the same resource as
-  <code>Document</code>, with <a href=#replacement-enabled>replacement enabled</a>. In the
+  <code><a href=#document>Document</a></code>, with <a href=#replacement-enabled>replacement enabled</a>. In the
   case of non-idempotent methods (e.g. HTTP POST), the user agent
   should prompt the user to confirm the operation first, since
   otherwise transactions (e.g. purchases or database modifications)
@@ -53776,7 +53786,7 @@
   <a href=#url-decomposition-idl-attributes>URL decomposition IDL attributes</a>, <dfn id=dom-location-protocol title=dom-location-protocol><code>protocol</code></dfn>, <dfn id=dom-location-host title=dom-location-host><code>host</code></dfn>, <dfn id=dom-location-port title=dom-location-port><code>port</code></dfn>, <dfn id=dom-location-hostname title=dom-location-hostname><code>hostname</code></dfn>, <dfn id=dom-location-pathname title=dom-location-pathname><code>pathname</code></dfn>, <dfn id=dom-location-search title=dom-location-search><code>search</code></dfn>, and <dfn id=dom-location-hash title=dom-location-hash><code>hash</code></dfn>. <span class=impl>These must follow the rules given for URL decomposition IDL
   attributes, with the <a href=#concept-uda-input title=concept-uda-input>input</a>
   being <a href="#the-document's-current-address" title="the document's current address">the current
-  address</a> of the associated <code>Document</code> object, as an
+  address</a> of the associated <code><a href=#document>Document</a></code> object, as an
   <a href=#absolute-url>absolute URL</a> (same as the <code title=dom-location-href><a href=#dom-location-href>href</a></code> 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>
@@ -53800,7 +53810,7 @@
   <p>User agents must raise a <code><a href=#security_err>SECURITY_ERR</a></code> exception whenever
   any of the members of a <code><a href=#location>Location</a></code> object are accessed by
   scripts whose <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=#location>Location</a></code>
-  object's associated <code>Document</code>'s <a href=#effective-script-origin>effective script
+  object's associated <code><a href=#document>Document</a></code>'s <a href=#effective-script-origin>effective script
   origin</a>, with the following exceptions:</p>
 
   <ul><li>The <code title=dom-location-href><a href=#dom-location-href>href</a></code> setter, if the
@@ -53923,7 +53933,7 @@
    <li><p>If there is a preexisting attempt to navigate the
    <a href=#browsing-context>browsing context</a>, and either that attempt has not yet
    <a href=#concept-navigate-mature title=concept-navigate-mature>matured</a> (i.e. it has
-   not passed the point of making its <code>Document</code> the
+   not passed the point of making its <code><a href=#document>Document</a></code> the
    <a href=#active-document>active document</a>), or that navigation's resource is not
    to be fetched using HTTP GET <a href=#concept-http-equivalent-get title=concept-http-equivalent-get>or equivalent</a>, or its
    resource's <a href=#absolute-url>absolute URL</a> differs from this attempt's by
@@ -53953,7 +53963,7 @@
    mechanism instead.</li>
 
    <li><p><a href=#prompt-to-unload-a-document title="prompt to unload a document">Prompt to
-   unload</a> the <code>Document</code> object. If the user
+   unload</a> the <code><a href=#document>Document</a></code> object. If the user
    <a href=#refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be unloaded</a>, then
    these steps must be aborted.</li>
 
@@ -54149,7 +54159,7 @@
 
     </dl><p><dfn id="set-the-document's-address" title="set the document's address">Setting the document's
     address</dfn>: If there is no <dfn id=override-url>override URL</dfn>, then any
-    <code>Document</code> created by these steps must have its <a href="#the-document's-address" title="the document's address">address</a> set to the
+    <code><a href=#document>Document</a></code> created by these steps must have its <a href="#the-document's-address" title="the document's address">address</a> set to the
     <a href=#url>URL</a> that was originally to be <a href=#fetch title=fetch>fetched</a>, ignoring any other data that was
     used to obtain the resource (e.g. the entity body in the case of a
     POST submission is not part of <a href="#the-document's-address">the document's
@@ -54157,7 +54167,7 @@
     case of the original load having failed and that URL having been
     found to match a <a href=#concept-appcache-fallback-ns title=concept-appcache-fallback-ns>fallback
     namespace</a>). However, if there <em>is</em> an <a href=#override-url>override
-    URL</a>, then any <code>Document</code> created by these steps
+    URL</a>, then any <code><a href=#document>Document</a></code> created by these steps
     must have its <a href="#the-document's-address" title="the document's address">address</a>
     set to that <a href=#url>URL</a> instead.</p>
 
@@ -54166,20 +54176,20 @@
     <code>javascript:</code> URL</a>.</p>
 
     <p><dfn id=create-a-document-object title="create a Document object">Creating a new
-    <code>Document</code> object</dfn>: When a <code>Document</code>
+    <code>Document</code> object</dfn>: When a <code><a href=#document>Document</a></code>
     is created as part of the above steps, a new set of <a href=#view title=view>views</a> along with the associated
     <code><a href=#window>Window</a></code> object must be created and associated with the
-    <code>Document</code>, with one exception: if the <a href=#browsing-context>browsing
+    <code><a href=#document>Document</a></code>, with one exception: if the <a href=#browsing-context>browsing
     context</a>'s only entry in its <a href=#session-history>session history</a> is
-    the <code><a href=#about:blank>about:blank</a></code> <code>Document</code> that was added
+    the <code><a href=#about:blank>about:blank</a></code> <code><a href=#document>Document</a></code> that was added
     when the <a href=#browsing-context>browsing context</a> was created, and navigation
     is occurring with <a href=#replacement-enabled>replacement enabled</a>, and that
-    <code>Document</code> has the <a href=#same-origin>same origin</a> as the new
-    <code>Document</code>, then the <code><a href=#window>Window</a></code> object and
+    <code><a href=#document>Document</a></code> has the <a href=#same-origin>same origin</a> as the new
+    <code><a href=#document>Document</a></code>, then the <code><a href=#window>Window</a></code> object and
     associated <a href=#view title=view>views</a> of that
-    <code>Document</code> must be used instead, and the <code title=dom-document>document</code> attribute of the
+    <code><a href=#document>Document</a></code> must be used instead, and the <code title=dom-document>document</code> attribute of the
     <code>AbstractView</code> objects of those <a href=#view title=view>views</a> must be changed to point to the new
-    <code>Document</code> instead.</p>
+    <code><a href=#document>Document</a></code> instead.</p>
 
    </li>
 
@@ -54210,7 +54220,7 @@
   steps:</p>
 
   <ol><li><p><a href=#unload-a-document title="unload a document">Unload</a> the
-   <code>Document</code> object of the <a href=#current-entry>current entry</a>,
+   <code><a href=#document>Document</a></code> object of the <a href=#current-entry>current entry</a>,
    with the <var title="">recycle</var> parameter set to
    false.</li>
 
@@ -54221,10 +54231,10 @@
 
      <dd>
 
-      <ol><li><p>Replace the <code>Document</code> of the entry being
+      <ol><li><p>Replace the <code><a href=#document>Document</a></code> of the entry being
        updated, and any other entries that referenced the same
        document as that entry, with the new
-       <code>Document</code>.</li>
+       <code><a href=#document>Document</a></code>.</li>
 
        <li><p><a href=#traverse-the-history>Traverse the history</a> to the new
        entry.</li>
@@ -54233,7 +54243,7 @@
       is no the <a href=#current-entry>current entry</a>, and can never happen with
       <a href=#replacement-enabled>replacement enabled</a>. (It happens when the user
       tried to traverse to a session history entry that no longer had
-      a <code>Document</code> object.)</p>
+      a <code><a href=#document>Document</a></code> object.)</p>
 
      </dd>
 
@@ -54264,7 +54274,7 @@
 
        <li><p>Append a new entry at the end of the <code><a href=#history-0>History</a></code>
        object representing the new resource and its
-       <code>Document</code> object and related state.</li>
+       <code><a href=#document>Document</a></code> object and related state.</li>
 
        <li><p><a href=#traverse-the-history>Traverse the history</a> to the new entry. If
        the navigation was initiated with <a href=#replacement-enabled>replacement
@@ -54286,7 +54296,7 @@
    agent to optimize the user experience in the face of performance
    concerns.)</li>
 
-   <li><p>If the <code>Document</code> object has no parser, or its
+   <li><p>If the <code><a href=#document>Document</a></code> object has no parser, or its
    parser has <a href=#stop-parsing title="stop parsing">stopped parsing</a>, or
    the user agent has reason to believe the user is no longer
    interested in scrolling to the fragment identifier, then abort
@@ -54329,7 +54339,7 @@
   which eventually causes a <code title=event-load>load</code> event
   to be fired.</p>
 
-  <p>After creating the <code>Document</code> object, but before any
+  <p>After creating the <code><a href=#document>Document</a></code> object, but before any
   script execution, certainly before the parser <a href=#stop-parsing title="stop
   parsing">stops</a>, the user agent must <a href=#update-the-session-history-with-the-new-page>update the session
   history with the new page</a>.</p>
@@ -54368,11 +54378,11 @@
   algorithm</a> with the resulting <a href=#absolute-url>absolute URL</a> with
   any <a href=#url-fragment title=url-fragment><fragment></a> component
   removed as the manifest URL, and passing in the newly-created
-  <code>Document</code>. Otherwise, if the attribute is absent or
+  <code><a href=#document>Document</a></code>. Otherwise, if the attribute is absent or
   resolving it fails, then as soon as the root element is <a href=#insert-an-element-into-a-document title="insert an element into a document">inserted into the
   document</a>, the user agent must run the <a href=#concept-appcache-init title=concept-appcache-init>application cache selection
   algorithm</a> with no manifest, and passing in the
-  <code>Document</code>.</p>
+  <code><a href=#document>Document</a></code>.</p>
 
   <p class=note>Because the processing of the <code title=attr-html-manifest><a href=#attr-html-manifest>manifest</a></code> attribute happens
   only once the root element is parsed, any URLs referenced by
@@ -54380,7 +54390,7 @@
   cannot be cached.</p><!-- v2: fix this somehow -->
 
   <p>User agents may examine the namespace of the root
-  <code>Element</code> node of this <code>Document</code> object to
+  <code><a href=#element>Element</a></code> node of this <code><a href=#document>Document</a></code> object to
   perform namespace-based dispatch to alternative processing tools,
   e.g. determining that the content is actually a syndication feed and
   passing it to a feed handler. If such processing is to take place,
@@ -54388,7 +54398,7 @@
   "non-document content") in the <a href=#navigate>navigate</a> steps
   above.</p>
 
-  <p>Otherwise, then, with the newly created <code>Document</code>,
+  <p>Otherwise, then, with the newly created <code><a href=#document>Document</a></code>,
   the user agents must <a href=#update-the-session-history-with-the-new-page>update the session history with the new
   page</a>. User agents may do this before the complete document
   has been parsed (thus achieving <i>incremental rendering</i>), and
@@ -54396,7 +54406,7 @@
 
   <p>Error messages from the parse process (e.g. XML namespace
   well-formedness errors) may be reported inline by mutating the
-  <code>Document</code>.</p>
+  <code><a href=#document>Document</a></code>.</p>
 
 
   <h4 id=read-text><span class=secno>6.5.4 </span><dfn title=navigate-text>Page load processing model for text files</dfn></h4>
@@ -54423,10 +54433,10 @@
   <p>The <a href="#document's-character-encoding">document's character encoding</a> must be set to the
   character encoding used to decode the document.</p>
 
-  <p>Upon creation of the <code>Document</code> object, the user agent
+  <p>Upon creation of the <code><a href=#document>Document</a></code> object, the user agent
   must run the <a href=#concept-appcache-init title=concept-appcache-init>application cache
   selection algorithm</a> with no manifest, and passing in the
-  newly-created <code>Document</code>.</p>
+  newly-created <code><a href=#document>Document</a></code>.</p>
 
   <!-- next two paragraphs are nearly identical to the navigate-html
   section and similar to the "navigate-ua-inline" section, and the
@@ -54438,12 +54448,12 @@
   which eventually causes a <code title=event-load>load</code> event
   to be fired.</p>
 
-  <p>After creating the <code>Document</code> object, but potentially
+  <p>After creating the <code><a href=#document>Document</a></code> object, but potentially
   before the page has finished parsing, the user agent must
   <a href=#update-the-session-history-with-the-new-page>update the session history with the new page</a>.</p>
 
   <p>User agents may add content to the <code><a href=#the-head-element-0>head</a></code> element of
-  the <code>Document</code>, e.g. linking to a style sheet or an XBL
+  the <code><a href=#document>Document</a></code>, e.g. linking to a style sheet or an XBL
   binding, providing script, giving the document a <code><a href=#the-title-element-0>title</a></code>,
   etc.</p>
 
@@ -54456,7 +54466,7 @@
   <p>When an image resource is to be loaded in a <a href=#browsing-context>browsing
   context</a>, the user agent should <a href=#create-a-document-object>create a
   <code>Document</code> object</a>, mark it as being an <a href=#html-documents title="HTML documents">HTML document</a>, append an
-  <code><a href=#the-html-element-0>html</a></code> element to the <code>Document</code>, append a
+  <code><a href=#the-html-element-0>html</a></code> element to the <code><a href=#document>Document</a></code>, append a
   <code><a href=#the-head-element-0>head</a></code> element and a <code><a href=#the-body-element-0>body</a></code> element to the
   <code><a href=#the-html-element-0>html</a></code> element, append an <code><a href=#the-img-element>img</a></code> to the
   <code><a href=#the-body-element-0>body</a></code> element, and set the <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute of the <code><a href=#the-img-element>img</a></code>
@@ -54468,17 +54478,17 @@
   <p>Then, the user agent must act as if it had <a href=#stop-parsing title="stop
   parsing">stopped parsing</a>.</p>
 
-  <p>Upon creation of the <code>Document</code> object, the user agent
+  <p>Upon creation of the <code><a href=#document>Document</a></code> object, the user agent
   must run the <a href=#concept-appcache-init title=concept-appcache-init>application cache
   selection algorithm</a> with no manifest, and passing in the
-  newly-created <code>Document</code>.</p>
+  newly-created <code><a href=#document>Document</a></code>.</p>
 
-  <p>After creating the <code>Document</code> object, but potentially
+  <p>After creating the <code><a href=#document>Document</a></code> object, but potentially
   before the page has finished fully loading, the user agent must
   <a href=#update-the-session-history-with-the-new-page>update the session history with the new page</a>.</p>
 
   <p>User agents may add content to the <code><a href=#the-head-element-0>head</a></code> element of
-  the <code>Document</code>, or attributes to the <code><a href=#the-img-element>img</a></code>
+  the <code><a href=#document>Document</a></code>, or attributes to the <code><a href=#the-img-element>img</a></code>
   element, e.g. to link to a style sheet or an XBL binding, to provide
   a script, to give the document a <code><a href=#the-title-element-0>title</a></code>, etc.</p>
 
@@ -54489,7 +54499,7 @@
   is to be loaded in a <a href=#browsing-context>browsing context</a>, the user agent
   should <a href=#create-a-document-object>create a <code>Document</code> object</a>, mark it
   as being an <a href=#html-documents title="HTML documents">HTML document</a>,
-  append an <code><a href=#the-html-element-0>html</a></code> element to the <code>Document</code>,
+  append an <code><a href=#the-html-element-0>html</a></code> element to the <code><a href=#document>Document</a></code>,
   append a <code><a href=#the-head-element-0>head</a></code> element and a <code><a href=#the-body-element-0>body</a></code> element
   to the <code><a href=#the-html-element-0>html</a></code> element, append an <code><a href=#the-embed-element>embed</a></code> to
   the <code><a href=#the-body-element-0>body</a></code> element, and set the <code title=attr-embed-src><a href=#attr-embed-src>src</a></code> attribute of the
@@ -54501,23 +54511,23 @@
   <p>Then, the user agent must act as if it had <a href=#stop-parsing title="stop
   parsing">stopped parsing</a>.</p>
 
-  <p>Upon creation of the <code>Document</code> object, the user agent
+  <p>Upon creation of the <code><a href=#document>Document</a></code> object, the user agent
   must run the <a href=#concept-appcache-init title=concept-appcache-init>application cache
   selection algorithm</a> with no manifest, and passing in the
-  newly-created <code>Document</code>.</p>
+  newly-created <code><a href=#document>Document</a></code>.</p>
 
-  <p>After creating the <code>Document</code> object, but potentially
+  <p>After creating the <code><a href=#document>Document</a></code> object, but potentially
   before the page has finished fully loading, the user agent must
   <a href=#update-the-session-history-with-the-new-page>update the session history with the new page</a>.</p>
 
   <p>User agents may add content to the <code><a href=#the-head-element-0>head</a></code> element of
-  the <code>Document</code>, or attributes to the <code><a href=#the-embed-element>embed</a></code>
+  the <code><a href=#document>Document</a></code>, or attributes to the <code><a href=#the-embed-element>embed</a></code>
   element, e.g. to link to a style sheet or an XBL binding, or to give
   the document a <code><a href=#the-title-element-0>title</a></code>.</p>
 
   <p class=note id=sandboxPluginNavigate>If the <a href=#sandboxed-plugins-browsing-context-flag>sandboxed
   plugins browsing context flag</a> was set on the <a href=#browsing-context>browsing
-  context</a> when the <code>Document</code> was created, the
+  context</a> when the <code><a href=#document>Document</a></code> was created, the
   synthesized <code><a href=#the-embed-element>embed</a></code> element will <a href=#sandboxPluginEmbed>fail to render the content</a>.</p>
 
 
@@ -54526,9 +54536,9 @@
   <p>When the user agent is to display a user agent page inline in a
   <a href=#browsing-context>browsing context</a>, the user agent should <a href=#create-a-document-object>create a
   <code>Document</code> object</a>, mark it as being an <a href=#html-documents title="HTML documents">HTML document</a>, and then either
-  associate that <code>Document</code> with a custom rendering that is
-  not rendered using the normal <code>Document</code> rendering rules,
-  or mutate that <code>Document</code> until it represents the content
+  associate that <code><a href=#document>Document</a></code> with a custom rendering that is
+  not rendered using the normal <code><a href=#document>Document</a></code> rendering rules,
+  or mutate that <code><a href=#document>Document</a></code> until it represents the content
   the user agent wants to render.</p>
 
   <!-- next two paragraphs are similar to the navigate-text section,
@@ -54537,12 +54547,12 @@
   <p>Once the page has been set up, the user agent must act as if it
   had <a href=#stop-parsing title="stop parsing">stopped parsing</a>.</p>
 
-  <p>Upon creation of the <code>Document</code> object, the user agent
+  <p>Upon creation of the <code><a href=#document>Document</a></code> object, the user agent
   must run the <a href=#concept-appcache-init title=concept-appcache-init>application cache
   selection algorithm</a> with no manifest, passing in the
-  newly-created <code>Document</code>.</p>
+  newly-created <code><a href=#document>Document</a></code>.</p>
 
-  <p>After creating the <code>Document</code> object, but potentially
+  <p>After creating the <code><a href=#document>Document</a></code> object, but potentially
   before the page has been completely set up, the user agent must
   <a href=#update-the-session-history-with-the-new-page>update the session history with the new page</a>.</p>
 
@@ -54570,7 +54580,7 @@
    the <a href=#history-traversal-task-source>history traversal task source</a>.</li>
 
    <li><p>Append a new entry at the end of the <code><a href=#history-0>History</a></code>
-   object representing the new resource and its <code>Document</code>
+   object representing the new resource and its <code><a href=#document>Document</a></code>
    object and related state. Its <a href=#url>URL</a> must be set to the
    address to which the user agent was <a href=#navigate title=navigate>navigating</a>. The title must be left
    unset.</li>
@@ -54595,7 +54605,7 @@
   fragment identifier, if any, identifies. The semantics of the
   fragment identifier in terms of mapping it to a specific DOM Node is
   defined by the specification that defines the <a href=#mime-type>MIME type</a>
-  used by the <code>Document</code> (for example, the processing of
+  used by the <code><a href=#document>Document</a></code> (for example, the processing of
   fragment identifiers for <a href=#xml-mime-type title="XML MIME type">XML MIME
   types</a> is the responsibility of RFC3023). <a href=#refsRFC3023>[RFC3023]</a></p>
 
@@ -54656,13 +54666,13 @@
   to a <i>specified entry</i>, optionally with <a href=#replacement-enabled>replacement
   enabled</a>, the user agent must act as follows:</p>
 
-  <ol><li><p>If there is no longer a <code>Document</code> object for the
+  <ol><li><p>If there is no longer a <code><a href=#document>Document</a></code> object for the
    entry in question, the user agent must <a href=#navigate>navigate</a> the
    browsing context to the location for that entry to perform an
    <a href=#entry-update>entry update</a> of that entry, and abort these steps. The
    "<a href=#navigate>navigate</a>" algorithm reinvokes this "traverse"
    algorithm to complete the traversal, at which point there
-   <em>is</em> a <code>Document</code> object and so this step gets
+   <em>is</em> a <code><a href=#document>Document</a></code> object and so this step gets
    skipped. The navigation must be done using the same <a href=#source-browsing-context>source
    browsing context</a> as was used the first time this entry was
    created. (This can never happen with <a href=#replacement-enabled>replacement
@@ -54676,7 +54686,7 @@
    <li>
 
     <p>If appropriate, update the <a href=#current-entry>current entry</a> in the
-    <a href=#browsing-context>browsing context</a>'s <code>Document</code> object's
+    <a href=#browsing-context>browsing context</a>'s <code><a href=#document>Document</a></code> object's
     <code><a href=#history-0>History</a></code> object to reflect any state that the user
     agent wishes to persist. The entry is then said to be <dfn id=an-entry-with-persisted-user-state>an
     entry with persisted user state</dfn>.</p>
@@ -54687,20 +54697,20 @@
    </li>
 
    <li><p>If the <i>specified entry</i> has a different
-   <code>Document</code> object than the <a href=#current-entry>current entry</a>
+   <code><a href=#document>Document</a></code> object than the <a href=#current-entry>current entry</a>
    then the user agent must run the following substeps:</p>
 
     <ol><li>If the browsing context is a <a href=#top-level-browsing-context>top-level browsing
      context</a>, but not an <a href=#auxiliary-browsing-context>auxiliary browsing
      context</a>, and the <a href=#origin>origin</a> of the
-     <code>Document</code> of the <i>specified entry</i> is not the
+     <code><a href=#document>Document</a></code> of the <i>specified entry</i> is not the
      <a href=#same-origin title="same origin">same</a> as the <a href=#origin>origin</a>
-     of the <code>Document</code> of the <a href=#current-entry>current entry</a>,
+     of the <code><a href=#document>Document</a></code> of the <a href=#current-entry>current entry</a>,
      then the following sub-sub-steps must be run:
 
       <ol><li>The current <a href=#browsing-context-name>browsing context name</a> must be
        stored with all the entries in the history that are associated
-       with <code>Document</code> objects with the <a href=#same-origin>same
+       with <code><a href=#document>Document</a></code> objects with the <a href=#same-origin>same
        origin</a> as the <a href=#active-document>active document</a> <em>and</em>
        that are contiguous with the <a href=#current-entry>current entry</a>.</li>
 
@@ -54710,7 +54720,7 @@
       </ol></li>
 
      <li id=appcache-history-2>The user agent must make the
-     <i>specified entry</i>'s <code>Document</code> object the
+     <i>specified entry</i>'s <code><a href=#document>Document</a></code> object the
      <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing
      context</a>.</li>
 
@@ -54723,22 +54733,22 @@
 
        <li>Any <a href=#browsing-context-name>browsing context name</a> stored with the
        entries in the history that are associated with
-       <code>Document</code> objects with the <a href=#same-origin>same origin</a>
+       <code><a href=#document>Document</a></code> objects with the <a href=#same-origin>same origin</a>
        as the new <a href=#active-document>active document</a>, and that are
        contiguous with the specified entry, must be cleared.</li>
 
       </ol></li>
 
      <li id=history-autocomplete><p>If the <i>specified entry</i>'s
-     <code>Document</code> has any <code><a href=#the-input-element>input</a></code> elements whose
+     <code><a href=#document>Document</a></code> has any <code><a href=#the-input-element>input</a></code> elements whose
      <a href=#resulting-autocompletion-state>resulting autocompletion state</a> is <i title="">off</i>, invoke the <a href=#concept-form-reset-control title=concept-form-reset-control>reset algorithm</a> of each
      of those elements.</li>
 
      <li><p>If the <a href=#current-document-readiness>current document readiness</a> of the
-     <i>specified entry</i>'s <code>Document</code> is "complete",
+     <i>specified entry</i>'s <code><a href=#document>Document</a></code> is "complete",
      <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a>
      named <code title=event-pageshow>pageshow</code> at that
-     <code>Document</code>'s <code><a href=#window>Window</a></code> object.</li>
+     <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
     </ol></li>
 
@@ -54747,7 +54757,7 @@
 
    <li><p>If the <i>specified entry</i> has a URL that differs from
    the <a href=#current-entry>current entry</a>'s only by its fragment identifier,
-   and the two share the same <code>Document</code> object, then let
+   and the two share the same <code><a href=#document>Document</a></code> object, then let
    <var title="">hash changed</var> be true, and let <var title="">old
    URL</var> be the URL of the <a href=#current-entry>current entry</a> and <var title="">new URL</var> be the URL of the <i>specified
    entry</i>. Otherwise, let <var title="">hash changed</var> be
@@ -54769,7 +54779,7 @@
    <li>
 
     <p>If the <i>specified entry</i> is a state object or the first
-    entry for a <code>Document</code>, the user agent must run the
+    entry for a <code><a href=#document>Document</a></code>, the user agent must run the
     following substeps:</p>
 
     <ol><li><p>If the entry is a <a href=#state-object>state object</a> entry, let <var title="">state</var> be a <a href=#structured-clone>structured clone</a> of that
@@ -54785,14 +54795,14 @@
        string "complete"</dt>
 
        <dd><p><a href=#queue-a-task>Queue a task</a> to fire a <code title=event-popstate><a href=#event-popstate>popstate</a></code> event at the
-       <code><a href=#window>Window</a></code> object of the <code>Document</code>, using
+       <code><a href=#window>Window</a></code> object of the <code><a href=#document>Document</a></code>, using
        the <code><a href=#popstateevent>PopStateEvent</a></code> interface, with the <code title=dom-PopStateEvent-state><a href=#dom-popstateevent-state>state</a></code> attribute set to
        the value of <var title="">state</var>. This event must bubble
        but not be cancelable and has no default action.</dd>
 
        <dt>Otherwise</dt>
 
-       <dd><p>Let the <code>Document</code>'s <dfn id=pending-state-object>pending state
+       <dd><p>Let the <code><a href=#document>Document</a></code>'s <dfn id=pending-state-object>pending state
        object</dfn> be <var title="">state</var>. (If there was already
        a <a href=#pending-state-object>pending state object</a>, the previous one is
        discarded.)</p>
@@ -54850,7 +54860,7 @@
   <p>The <dfn id=dom-popstateevent-state title=dom-PopStateEvent-state><code>state</code></dfn>
   attribute represents the context information for the event, or null,
   if the state represented is the initial state of the
-  <code>Document</code>.</p>
+  <code><a href=#document>Document</a></code>.</p>
 
   </div>
 
@@ -54908,7 +54918,7 @@
 
   <div class=impl>
 
-  <p>A <code>Document</code> has a <var title="">salvageable</var>
+  <p>A <code><a href=#document>Document</a></code> has a <var title="">salvageable</var>
   state, which is initially true.</p>
 
   <p>When a user agent is to <dfn id=prompt-to-unload-a-document>prompt to unload a document</dfn>,
@@ -54919,12 +54929,12 @@
    bubble but is cancelable.</li>
 
    <li><p><i>Dispatch</i>: Dispatch <var title="">event</var> at the
-   <code>Document</code>'s <code><a href=#window>Window</a></code> object.</li>
+   <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
    <li><p>If any event listeners were triggered by the earlier
-   <i>dispatch</i> step, then set the <code>Document</code>'s <var title="">salvageable</var> state to false.</li>
+   <i>dispatch</i> step, then set the <code><a href=#document>Document</a></code>'s <var title="">salvageable</var> state to false.</li>
 
    <li>
 
@@ -54954,7 +54964,7 @@
 
    <li><p>Let <var title="">descendants</var> be the <a href=#list-of-the-descendant-browsing-contexts>list of the
    descendant browsing contexts</a> of the
-   <code>Document</code>.</li>
+   <code><a href=#document>Document</a></code>.</li>
 
    <li>
 
@@ -54979,24 +54989,24 @@
 
   </ol><p>When a user agent is to <dfn id=unload-a-document>unload a document</dfn>, it must run
   the following steps. These steps are passed an argument, <var title="">recycle</var>, which is either true or false, indicating
-  whether the <code>Document</code> object is going to be
+  whether the <code><a href=#document>Document</a></code> object is going to be
   re-used. (This is set by the <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> method.)</p>
 
   <ol><li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-pagehide>pagehide</code> at the
-   <code>Document</code>'s <code><a href=#window>Window</a></code> object.</li>
+   <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
    <li><p><i>Unload event</i>: <a href=#fire-a-simple-event>Fire a simple event</a> named
    <code title=event-unload>unload</code> at the
-   <code>Document</code>'s <code><a href=#window>Window</a></code> object.</li>
+   <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
    <li><p>If any event listeners were triggered by the earlier
-   <i>unload event</i> step, then set the <code>Document</code>
+   <i>unload event</i> step, then set the <code><a href=#document>Document</a></code>
    object's <var title="">salvageable</var> state to false.</li>
 
    <li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for
-   <code>Document</code> that are defined by this specification or any
+   <code><a href=#document>Document</a></code> that are defined by this specification or any
    other relevant specifications.</li>
 
    <li><p>If this algorithm was invoked by another instance of the
@@ -55006,7 +55016,7 @@
 
    <li><p>Let <var title="">descendants</var> be the <a href=#list-of-the-descendant-browsing-contexts>list of the
    descendant browsing contexts</a> of the
-   <code>Document</code>.</li>
+   <code><a href=#document>Document</a></code>.</li>
 
    <li>
 
@@ -55027,13 +55037,13 @@
     </ol></li>
 
    <li><p>If <var title="">salvageable</var> and <var title="">recycle</var> are both false, then the
-   <code>Document</code>'s <a href=#browsing-context>browsing context</a> must <a href=#discard-a-document title="discard a document">discard the
+   <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> must <a href=#discard-a-document title="discard a document">discard the
    <code>Document</code></a>.</li>
 
   </ol><p>This specification defines the following <dfn id=unloading-document-cleanup-steps>unloading document
   cleanup steps</dfn>. Other specifications can define more.</p>
 
-  <ol><li><p>Empty the <code>Document</code>'s <code><a href=#window>Window</a></code>'s
+  <ol><li><p>Empty the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code>'s
    <a href=#list-of-active-timeouts>list of active timeouts</a> and its <a href=#list-of-active-intervals>list of active
    intervals</a>.</li> <!-- XXX Should this affect <var
    title="">salvageable</var>? Should it happen at all? -->
@@ -55041,14 +55051,14 @@
    <li><p>If there are any outstanding transactions that have
    callbacks that involve <a href=#concept-script title=concept-script>scripts</a>
    whose <a href="#script's-global-object" title="script's global object">global object</a> is
-   the <code>Document</code>'s <code><a href=#window>Window</a></code> object, roll them
+   the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object, roll them
    back (without invoking any of the callbacks) and set <var title="">salvageable</var> to false.
    <a href=#refsWEBSQL>[WEBSQL]</a>
    </li>
 
    <li><p><a href=#close-the-web-socket-connection>Close the Web Socket connection</a> of any
    <code><a href=#websocket>WebSocket</a></code> objects that were created by the <code title=dom-WebSocket><a href=#dom-websocket>WebSocket()</a></code> constructor visible on the
-   <code>Document</code>'s <code><a href=#window>Window</a></code> object. If this
+   <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object. If this
    affected any <code><a href=#websocket>WebSocket</a></code> objects, set <var title="">salvageable</var> to false.
    </li>
 
@@ -55089,11 +55099,11 @@
   <h4 id=aborting-a-document-load><span class=secno>6.5.11 </span>Aborting a document load</h4>
 
   <p>If the user cancels any instance of the <a href=#fetch title=fetch>fetching algorithm</a> in the context of a
-  <code>Document</code> in a <a href=#browsing-context>browsing context</a>, then, if
-  that <code>Document</code> is an <a href=#active-document>active document</a>, the
+  <code><a href=#document>Document</a></code> in a <a href=#browsing-context>browsing context</a>, then, if
+  that <code><a href=#document>Document</a></code> is an <a href=#active-document>active document</a>, the
   user agent must <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple
   event</a> named <code title=event-abort>abort</code> at that
-  <code>Document</code>'s <code><a href=#window>Window</a></code> object.</p>
+  <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</p>
 
   <!-- I'd love to make this more precise, anyone have any suggestions
   on what it should say? -->
@@ -55245,15 +55255,15 @@
      <th> Dispatched when...
      <th> Next events
    <tbody><tr><td> <dfn id=event-appcache-checking title=event-appcache-checking><code>checking</code></dfn>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> The user agent is checking for an update, or attempting to download the manifest for the first time. <strong>This is always the first event in the sequence.</strong>
      <td> <code title=event-appcache-noupdate><a href=#event-appcache-noupdate>noupdate</a></code>, <code title=event-appcache-downloading><a href=#event-appcache-downloading>downloading</a></code>, <code title=event-appcache-obsolete><a href=#event-appcache-obsolete>obsolete</a></code>, <code title=event-appcache-error><a href=#event-appcache-error>error</a></code>
     <tr><td> <dfn id=event-appcache-noupdate title=event-appcache-noupdate><code>noupdate</code></dfn>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> The manifest hadn't changed.
      <td> Last event in sequence.
     <tr><td> <dfn id=event-appcache-downloading title=event-appcache-downloading><code>downloading</code></dfn>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> The user agent has found an update and is fetching it, or is downloading the resources listed by the manifest for the first time.
      <td> <code title=event-appcache-progress><a href=#event-appcache-progress>progress</a></code>, <code title=event-appcache-error><a href=#event-appcache-error>error</a></code>, <code title=event-appcache-cached><a href=#event-appcache-cached>cached</a></code>, <code title=event-appcache-updateready><a href=#event-appcache-updateready>updateready</a></code>
     <tr><td> <dfn id=event-appcache-progress title=event-appcache-progress><code>progress</code></dfn>
@@ -55261,19 +55271,19 @@
      <td> The user agent is downloading resources listed by the manifest.
      <td> <code title=event-appcache-progress><a href=#event-appcache-progress>progress</a></code>, <code title=event-appcache-error><a href=#event-appcache-error>error</a></code>, <code title=event-appcache-cached><a href=#event-appcache-cached>cached</a></code>, <code title=event-appcache-updateready><a href=#event-appcache-updateready>updateready</a></code>
     <tr><td> <dfn id=event-appcache-cached title=event-appcache-cached><code>cached</code></dfn>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> The resources listed in the manifest have been downloaded, and the application is now cached.
      <td> Last event in sequence.
     <tr><td> <dfn id=event-appcache-updateready title=event-appcache-updateready><code>updateready</code></dfn>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> The resources listed in the manifest have been newly redownloaded, and the script can use <code title=dom-appcache-swapCache><a href=#dom-appcache-swapcache>swapCache()</a></code> to switch to the new cache.
      <td> Last event in sequence.
     <tr><td> <dfn id=event-appcache-obsolete title=event-appcache-obsolete><code>obsolete</code></dfn>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> The manifest was found to have become a 404 or 410 page, so the application cache is being deleted.
      <td> Last event in sequence.
     <tr><td rowspan=4> <dfn id=event-appcache-error title=event-appcache-error><code>error</code></dfn>
-     <td rowspan=4> <code>Event</code>
+     <td rowspan=4> <code><a href=#event>Event</a></code>
      <td> The manifest was a 404 or 410 page, so the attempt to cache the application has been aborted.
      <td rowspan=3> Last event in sequence.
     <tr><td> The manifest hadn't changed, but the page referencing the manifest failed to download properly.
@@ -55367,7 +55377,7 @@
 
   <p>Each <a href=#application-cache-group>application cache group</a> has a <dfn id=concept-appcache-pending-masters title=concept-appcache-pending-masters>list of pending master
   entries</dfn>. Each entry in this list consists of a resource and a
-  corresponding <code>Document</code> object. It is used during the
+  corresponding <code><a href=#document>Document</a></code> object. It is used during the
   <a href=#application-cache-download-process>application cache download process</a> to ensure that new
   master entries are cached even if the <a href=#application-cache-download-process>application cache
   download process</a> was already running for their
@@ -55377,13 +55387,13 @@
   must be ignored when looking at what <a href=#application-cache-group title="application cache
   group">application cache groups</a> exist.</p>
 
-  <hr><p>A <dfn id=cache-host>cache host</dfn> is a <code>Document</code> or a
+  <hr><p>A <dfn id=cache-host>cache host</dfn> is a <code><a href=#document>Document</a></code> or a
   <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> object. A <a href=#cache-host>cache
   host</a> can be associated with an <a href=#application-cache>application
   cache</a>.
   </p>
 
-  <p>A <code>Document</code> initially is not associated with an
+  <p>A <code><a href=#document>Document</a></code> initially is not associated with an
   <a href=#application-cache>application cache</a>, but can become associated with one
   early during the page load process, when steps <a href=#parser-appcache>in the parser</a> and in the <a href=#navigate title=navigate>navigation</a> sections cause <a href=#concept-appcache-init title=concept-appcache-init>cache selection</a> to occur.</p>
 
@@ -56028,7 +56038,7 @@
      <a href=#application-cache-group>application cache group</a> identified by <var title="">manifest URL</var>.</li>
 
      <li><p>If these steps were invoked with a <a href=#concept-appcache-master title=concept-appcache-master>master</a> resource, then add
-     the resource, along with the resource's <code>Document</code>, to
+     the resource, along with the resource's <code><a href=#document>Document</a></code>, to
      <var title="">cache group</var>'s <a href=#concept-appcache-pending-masters title=concept-appcache-pending-masters>list of pending master
      entries</a>.</li>
 
@@ -56116,7 +56126,7 @@
     equivalent</a>, then run these substeps:</p>
 
     <ol><li><p>Mark <var title="">cache group</var> as <a href=#concept-appcache-obsolete title=concept-appcache-obsolete>obsolete</a>. This <var title="">cache group</var> no longer exists for any purpose other
-     than the processing of <code>Document</code> objects already
+     than the processing of <code><a href=#document>Document</a></code> objects already
      associated with an <a href=#application-cache>application cache</a> in the <var title="">cache group</var>.</li>
 
      <li><p>Let <var title="">task list</var> be an empty list of
@@ -56138,7 +56148,7 @@
      to <a href=#fire-a-simple-event>fire a simple event</a> that is cancelable named
      <code title=event-appcache-error><a href=#event-appcache-error>error</a></code> (not <code title=event-appcache-obsolete><a href=#event-appcache-obsolete>obsolete</a></code>!) at the
      <code><a href=#applicationcache>ApplicationCache</a></code> singleton of the <a href=#cache-host>cache
-     host</a> the <code>Document</code> for this entry, if there
+     host</a> the <code><a href=#document>Document</a></code> for this entry, if there
      still is one, and add it to <var title="">task list</var>. The
      default action of this event must be, if the user agent
      <a href=#shows-caching-progress>shows caching progress</a>, the display of some sort of
@@ -56201,14 +56211,14 @@
       user cancels the download), then create a <a href=#concept-task title=concept-task>task</a> to <a href=#fire-a-simple-event>fire a simple
       event</a> that is cancelable named <code title=event-appcache-error><a href=#event-appcache-error>error</a></code> at the
       <code><a href=#applicationcache>ApplicationCache</a></code> singleton of the <a href=#cache-host>cache
-      host</a> the <code>Document</code> for this entry, if there
+      host</a> the <code><a href=#document>Document</a></code> for this entry, if there
       still is one, and add it to <var title="">task list</var>. The
       default action of this event must be, if the user agent
       <a href=#shows-caching-progress>shows caching progress</a>, the display of some sort of
       user interface indicating to the user that the user agent failed
       to save the application for offline use.</p>
 
-      <p>Otherwise, associate the <code>Document</code> for this entry
+      <p>Otherwise, associate the <code><a href=#document>Document</a></code> for this entry
       with <var title="">cache</var>; store the resource for this
       entry in <var title="">cache</var>, if it isn't already there,
       and categorize its entry as a <a href=#concept-appcache-master title=concept-appcache-master>master entry</a>. If the
@@ -56255,7 +56265,7 @@
    <i>incomplete</i>.</li>
 
    <li><p>For each entry in <var title="">cache group</var>'s <a href=#concept-appcache-pending-masters title=concept-appcache-pending-masters>list of pending master
-   entries</a>, associate the <code>Document</code> for this entry
+   entries</a>, associate the <code><a href=#document>Document</a></code> for this entry
    with <var title="">new cache</var>.</li>
 
    <li><p>Set the <a href=#concept-appcache-status title=concept-appcache-status>status</a>
@@ -56473,13 +56483,13 @@
     <p>If the download failed (e.g. the connection times out, or the
     user cancels the download), then run these substeps:</p>
 
-    <ol><li><p>Unassociate the <code>Document</code> for this entry from
+    <ol><li><p>Unassociate the <code><a href=#document>Document</a></code> for this entry from
      <var title="">new cache</var>.</li>
 
      <li><p><a href=#queue-a-post-load-task>Queue a post-load task</a> to <a href=#fire-a-simple-event>fire a simple
      event</a> that is cancelable named <code title=event-appcache-error><a href=#event-appcache-error>error</a></code> at the
      <code><a href=#applicationcache>ApplicationCache</a></code> singleton of the
-     <code>Document</code> for this entry, if there still is one. The
+     <code><a href=#document>Document</a></code> for this entry, if there still is one. The
      default action of this event must be, if the user agent
      <a href=#shows-caching-progress>shows caching progress</a>, the display of some sort of
      user interface indicating to the user that the user agent failed
@@ -56594,13 +56604,13 @@
     <ol><li><p>Wait for the resource for this entry to have either
      completely downloaded or failed.</p>
 
-     <li><p>Unassociate the <code>Document</code> for this entry from
+     <li><p>Unassociate the <code><a href=#document>Document</a></code> for this entry from
      its <a href=#application-cache>application cache</a>, if it has one.</li>
 
      <li><p>Create a <a href=#concept-task title=concept-task>task</a> to
      <a href=#fire-a-simple-event>fire a simple event</a> that is cancelable named <code title=event-appcache-error><a href=#event-appcache-error>error</a></code> at the
      <code><a href=#applicationcache>ApplicationCache</a></code> singleton of the
-     <code>Document</code> for this entry, if there still is one, and
+     <code><a href=#document>Document</a></code> for this entry, if there still is one, and
      add it to <var title="">task list</var>. The default action of
      these events must be, if the user agent <a href=#shows-caching-progress>shows caching
      progress</a>, the display of some sort of user interface
@@ -56655,17 +56665,17 @@
   allows user agents to keep caches primed and to update caches even
   before the user visits a site.</p>
 
-  <hr><p>Each <code>Document</code> has a list of <dfn id=pending-application-cache-download-process-tasks>pending application
+  <hr><p>Each <code><a href=#document>Document</a></code> has a list of <dfn id=pending-application-cache-download-process-tasks>pending application
   cache download process tasks</dfn> that is used to delay events
   fired by the algorithm above until the document's <code title=event-load>load</code> event has fired. When the
-  <code>Document</code> is created, the list must be empty.</p>
+  <code><a href=#document>Document</a></code> is created, the list must be empty.</p>
 
   <p>When the steps above say to <dfn id=queue-a-post-load-task>queue a post-load task</dfn>
   <var title="">task</var>, where <var title="">task</var> is a <a href=#concept-task title=concept-task>task</a> that dispatches an event on a
   target <code><a href=#applicationcache>ApplicationCache</a></code> object <var title="">target</var>, the user agent must run the appropriate steps
   from the following list:</p>
 
-  <dl><dt>If <var title="">target</var>'s <code>Document</code> has
+  <dl><dt>If <var title="">target</var>'s <code><a href=#document>Document</a></code> has
    <a href=#completely-loaded>completely loaded</a></dt>
 
    <dd><p><a href=#queue-a-task title="queue a task">Queue</a> the task <var title="">task</var>.</dd>
@@ -56673,7 +56683,7 @@
    <dt>Otherwise</dt>
 
    <dd><p>Add <var title="">task</var> to <var title="">target</var>'s
-   <code>Document</code>'s list of <a href=#pending-application-cache-download-process-tasks>pending application cache
+   <code><a href=#document>Document</a></code>'s list of <a href=#pending-application-cache-download-process-tasks>pending application cache
    download process tasks</a>.</dd>
 
   </dl><p>The <a href=#task-source>task source</a> for these <a href=#concept-task title=concept-task>tasks</a> is the <a href=#networking-task-source>networking task
@@ -56686,7 +56696,7 @@
 
   <p>When the <dfn id=concept-appcache-init title=concept-appcache-init>application cache
   selection algorithm</dfn> algorithm is invoked with a
-  <code>Document</code> <var title="">document</var> and optionally a
+  <code><a href=#document>Document</a></code> <var title="">document</var> and optionally a
   manifest <a href=#url>URL</a> <var title="">manifest URL</var>, the user
   agent must run the first applicable set of steps from the following
   list:</p>
@@ -56760,7 +56770,7 @@
 
    <dd>
 
-    <p>The <code>Document</code> is not associated with any
+    <p>The <code><a href=#document>Document</a></code> is not associated with any
     <a href=#application-cache>application cache</a>.</p>
 
     <p>If there was a <var title="">manifest URL</var>, the user agent
@@ -56884,7 +56894,7 @@
            attribute <a href=#function>Function</a> <a href=#handler-appcache-oncached title=handler-appcache-oncached>oncached</a>;
            attribute <a href=#function>Function</a> <a href=#handler-appcache-onobsolete title=handler-appcache-onobsolete>onobsolete</a>;
 };
-<a href=#applicationcache>ApplicationCache</a> implements <span>EventTarget</span>;</pre>
+<a href=#applicationcache>ApplicationCache</a> implements <a href=#eventtarget>EventTarget</a>;</pre>
 
   <dl class=domintro><dt><var title="">cache</var> = <var title="">window</var> . <code title=dom-applicationCache><a href=#dom-applicationcache>applicationCache</a></code></dt>
    <dd>
@@ -57166,8 +57176,8 @@
   false (i.e. when scripting is not <a href=#concept-bc-script title=concept-bc-script>enabled</a>).</p>
 
   <hr><p><dfn id=concept-n-script title=concept-n-script>Scripting is enabled</dfn> for a
-  <em>node</em> if the <code>Document</code> object of the node (the
-  node itself, if it is itself a <code>Document</code> object) has an
+  <em>node</em> if the <code><a href=#document>Document</a></code> object of the node (the
+  node itself, if it is itself a <code><a href=#document>Document</a></code> object) has an
   associated <a href=#browsing-context>browsing context</a>, and <a href=#concept-bc-script title=concept-bc-script>scripting is enabled</a> in that
   <a href=#browsing-context>browsing context</a>.</p>
 
@@ -57307,7 +57317,7 @@
   following steps:</p>
 
   <ol><li><p>If the <a href="#script's-global-object">script's global object</a> is a
-   <code><a href=#window>Window</a></code> object whose <code>Document</code> object is
+   <code><a href=#window>Window</a></code> object whose <code><a href=#document>Document</a></code> object is
    not <a href=#fully-active>fully active</a>, then abort these steps without doing
    anything. The callback is not fired.</p>
 
@@ -57378,8 +57388,8 @@
   <p><dfn id=the-script-settings-determined-from-the-node>The script settings determined from the node</dfn> <var title="">node</var> are computed as follows:</p>
 
   <ol><li><p>Let <var title="">document</var> be the
-   <code>Document</code> of <var title="">node</var> (or <var title="">node</var> itself if it is a
-   <code>Document</code>).</li>
+   <code><a href=#document>Document</a></code> of <var title="">node</var> (or <var title="">node</var> itself if it is a
+   <code><a href=#document>Document</a></code>).</li>
 
    <li><p>The browsing context is the <a href=#browsing-context>browsing context</a> of
    <var title="">document</var>.</p>
@@ -57460,8 +57470,8 @@
 
    <dd>
 
-    <p>Asynchronously dispatching an <code>Event</code> object at a
-    particular <code>EventTarget</code> object is a task.</p>
+    <p>Asynchronously dispatching an <code><a href=#event>Event</a></code> object at a
+    particular <code><a href=#eventtarget>EventTarget</a></code> object is a task.</p>
 
     <p class=note>Not all events are dispatched using the <a href=#task-queue>task
     queue</a>, many are dispatched synchronously during other
@@ -57515,9 +57525,9 @@
 
   <p>Each <a href=#concept-task title=concept-task>task</a> that is <a href=#queue-a-task title="queue a task">queued</a> onto a <a href=#task-queue>task queue</a> of
   an <a href=#event-loop>event loop</a> defined by this specification is
-  associated with a <code>Document</code>; if the task was queued in
+  associated with a <code><a href=#document>Document</a></code>; if the task was queued in
   the context of an element, then it is the element's
-  <code>Document</code>; if the task was queued in the context of a
+  <code><a href=#document>Document</a></code>; if the task was queued in the context of a
   <a href=#browsing-context>browsing context</a>, then it is the <a href=#browsing-context>browsing
   context</a>'s <a href=#active-document>active document</a> at the time the task
   was queued; if the task was queued by or for a <a href=#concept-script title=concept-script>script</a> then the document is the
@@ -57544,7 +57554,7 @@
   <ol><li><p>Run the oldest <a href=#concept-task title=concept-task>task</a> on one
    of the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task queue">task
    queues</a>, ignoring tasks whose associated
-   <code>Document</code>s are not <a href=#fully-active>fully active</a>. The user
+   <code><a href=#document>Document</a></code>s are not <a href=#fully-active>fully active</a>. The user
    agent may pick any <a href=#task-queue>task queue</a>.</li>
 
    <li><p>If the <a href=#storage-mutex>storage mutex</a> is now owned by the
@@ -57565,7 +57575,7 @@
    ⌛.</li>
 
    <li><p>If necessary, update the rendering or user interface of any
-   <code>Document</code> or <a href=#browsing-context>browsing context</a> to reflect
+   <code><a href=#document>Document</a></code> or <a href=#browsing-context>browsing context</a> to reflect
    the current state.</li>
 
    <li><p>Return to the first step of the <a href=#event-loop>event
@@ -57718,7 +57728,7 @@
       <code>Document</code></a> instead.</p>
 
       <p><a href=#create-a-script-from-a-node title="create a script from a node">Create a
-      script</a> from the <code>Document</code> node of the
+      script</a> from the <code><a href=#document>Document</a></code> node of the
       <a href=#active-document>active document</a>, using the aforementioned script
       source, and assuming the scripting language is JavaScript.</p>
 
@@ -57734,7 +57744,7 @@
 
      </dd>
 
-     <dt>If the <code>Document</code> object of the element,
+     <dt>If the <code><a href=#document>Document</a></code> object of the element,
      attribute, or style sheet from which the <code>javascript:</code>
      URL was reached has an associated <a href=#browsing-context>browsing
      context</a></dt>
@@ -57743,7 +57753,7 @@
 
       <p><a href=#create-an-impotent-script>Create an impotent script</a> using the
       aforementioned script source, with the scripting language set to
-      JavaScript, and with the <code>Document</code>'s object's
+      JavaScript, and with the <code><a href=#document>Document</a></code>'s object's
       <a href=#browsing-context>browsing context</a> as the browsing context.</p>
 
       <p>Let <var title="">result</var> be the return value of the
@@ -57864,7 +57874,7 @@
   <!-- SCRIPT EXEC -->
   <p>When an <a href=#event-handler-content-attributes title="event handler content attributes">event
   handler content attribute</a> is set, if the element is owned by
-  a <code>Document</code> that is in a <a href=#browsing-context>browsing context</a>,
+  a <code><a href=#document>Document</a></code> that is in a <a href=#browsing-context>browsing context</a>,
   and <a href=#concept-bc-script title=concept-bc-script>scripting is enabled</a> for
   that <a href=#browsing-context>browsing context</a>, the user agent must run the
   following steps to create a <a href=#concept-script title=concept-script>script</a> after setting the content
@@ -57904,7 +57914,7 @@
      <dd>
 
       <ol><li>Let <var title="">Scope</var> be the result of
-       NewObjectEnvironment(the element's <code>Document</code>, the
+       NewObjectEnvironment(the element's <code><a href=#document>Document</a></code>, the
        <var title="">global environment</var>).</li>
 
        <li>If the element has a <a href=#form-owner>form owner</a>, let <var title="">Scope</var> be the result of NewObjectEnvironment(the
@@ -57953,7 +57963,7 @@
 
   <p class=note>When an <a href=#event-handler-content-attributes title="event handler content
   attributes">event handler content attribute</a> is set on an
-  element owned by a <code>Document</code> that is not in a
+  element owned by a <code><a href=#document>Document</a></code> that is not in a
   <a href=#browsing-context>browsing context</a>, the corresponding event handler is
   not changed.</p>
 
@@ -57965,7 +57975,7 @@
   or some other object, and whether set to null or to a
   <code><a href=#function>Function</a></code> object, must be registered as event listeners
   on the object when it is created, as if the <code title=dom-EventTarget-addEventListener>addEventListener()</code>
-  method on the object's <code>EventTarget</code> interface had been
+  method on the object's <code><a href=#eventtarget>EventTarget</a></code> interface had been
   invoked, with the event type (<var title=dom-event-type>type</var>
   argument) equal to the type corresponding to the event handler (the
   <dfn id=event-handler-event-type>event handler event type</dfn>), the listener set to be a
@@ -57993,7 +58003,7 @@
 
   <p>When an <a href=#event-handlers title="event handlers">event handler</a>'s
   <code><a href=#function>Function</a></code> object is invoked, its <code title=dom-function-call><a href=#dom-function-call>call()</a></code> callback must be invoked
-  with one argument, set to the <code>Event</code> object of the event
+  with one argument, set to the <code><a href=#event>Event</a></code> object of the event
   in question.</p>
 
   <p>The handler's return value must then be processed as follows:</p>
@@ -58060,13 +58070,13 @@
 
   <div class=impl>
 
-  <h5 id=event-handlers-on-elements,-document-objects,-and-window-objects><span class=secno>7.1.6.2 </span>Event handlers on elements, <code>Document</code> objects, and <code><a href=#window>Window</a></code> objects</h5>
+  <h5 id=event-handlers-on-elements,-document-objects,-and-window-objects><span class=secno>7.1.6.2 </span>Event handlers on elements, <code><a href=#document>Document</a></code> objects, and <code><a href=#window>Window</a></code> objects</h5>
 
   <p>The following are the <a href=#event-handlers>event handlers</a> (and their
   corresponding <a href=#event-handler-event-type title="event handler event type">event handler
   event types</a>) that must be supported by all <a href=#html-elements>HTML
   elements</a>, as both content attributes and IDL attributes, and
-  on <code>Document</code> and <code><a href=#window>Window</a></code> objects, as IDL
+  on <code><a href=#document>Document</a></code> and <code><a href=#window>Window</a></code> objects, as IDL
   attributes.</p>
 
   <table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
@@ -58131,7 +58141,7 @@
   corresponding <a href=#event-handler-event-type title="event handler event type">event handler
   event types</a>) that must be supported by all <a href=#html-elements>HTML
   elements</a> other than <code><a href=#the-body-element-0>body</a></code>, as both content
-  attributes and IDL attributes, and on <code>Document</code> objects,
+  attributes and IDL attributes, and on <code><a href=#document>Document</a></code> objects,
   as IDL attributes:</p>
 
   <table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
@@ -58195,7 +58205,7 @@
 
   <p><dfn id=fire-a-simple-event title="fire a simple event">Firing a simple event named <var title="">e</var></dfn> means that an event with the name <var title="">e</var>, which does not bubble (except where otherwise
   stated) and is not cancelable (except where otherwise stated), and
-  which uses the <code>Event</code> interface, must be dispatched at
+  which uses the <code><a href=#event>Event</a></code> interface, must be dispatched at
   the given target.</p>
 
 <!--
@@ -58241,7 +58251,7 @@
   <h5 id=events-and-the-window-object><span class=secno>7.1.6.4 </span>Events and the <code><a href=#window>Window</a></code> object</h5>
 
   <p>When an event is dispatched at a DOM node in a
-  <code>Document</code> in a <a href=#browsing-context>browsing context</a>, if the
+  <code><a href=#document>Document</a></code> in a <a href=#browsing-context>browsing context</a>, if the
   event is not a <code title=event-load>load</code> event, the user
   agent must also dispatch the event to the <code><a href=#window>Window</a></code>, as
   follows:</p>
@@ -58249,12 +58259,12 @@
   <ol><li>In the capture phase, the event must propagate to the
    <code><a href=#window>Window</a></code> object before propagating to any of the nodes,
    as if the <code><a href=#window>Window</a></code> object was the parent of the
-   <code>Document</code> in the dispatch chain.</li>
+   <code><a href=#document>Document</a></code> in the dispatch chain.</li>
 
    <li>In the bubble phase, the event must propagate up to the
    <code><a href=#window>Window</a></code> object at the end of the phase, unless bubbling
    has been prevented, again as if the <code><a href=#window>Window</a></code> object was
-   the parent of the <code>Document</code> in the dispatch chain.</li>
+   the parent of the <code><a href=#document>Document</a></code> in the dispatch chain.</li>
 
   </ol></div>
 
@@ -58267,7 +58277,7 @@
   scripting in general and JavaScript in particular.</i></p>
 
   <p>Whenever an uncaught runtime script error occurs in one of the
-  scripts associated with a <code>Document</code>, the user agent must
+  scripts associated with a <code><a href=#document>Document</a></code>, the user agent must
   <a href=#report-the-error>report the error</a> using the <code title=handler-window-onerror><a href=#handler-window-onerror>onerror</a></code> <a href=#event-handlers title="event
   handlers">event handler</a> of the <a href="#script's-global-object">script's global
   object</a>. If the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i> after this, then
@@ -58418,7 +58428,7 @@
    <li>
 
     <p>If the <a href=#method-context>method context</a> is a <code><a href=#window>Window</a></code>
-    object, wait until the <code>Document</code> associated with the
+    object, wait until the <code><a href=#document>Document</a></code> associated with the
     <a href=#method-context>method context</a> has been <a href=#fully-active>fully active</a> for
     a further <var title="">timeout</var> milliseconds (not
     necessarily consecutively).</p>
@@ -58475,7 +58485,7 @@
    <li>
 
     <p><i title="">Wait</i>: If the <a href=#method-context>method context</a> is a
-    <code><a href=#window>Window</a></code> object, wait until the <code>Document</code>
+    <code><a href=#window>Window</a></code> object, wait until the <code><a href=#document>Document</a></code>
     associated with the <a href=#method-context>method context</a> has been <a href=#fully-active>fully
     active</a> for a further <var title="">interval</var>
     milliseconds (not necessarily consecutively).</p>
@@ -58539,10 +58549,10 @@
     <a href=#browsing-context>browsing context</a> with which <var title="">global
     object</var> is associated, let <var title="">character
     encoding</var> be the <a href="#document's-character-encoding" title="document's character
-    encoding">character encoding</a> of the <code>Document</code>
+    encoding">character encoding</a> of the <code><a href=#document>Document</a></code>
     associated with <var title="">global object</var> (<a href=#sce-not-copy>this is a reference, not a copy</a>), and let
     <var title="">base URL</var> be the <a href=#document-base-url title="document base
-    URL">base URL</a> of the <code>Document</code> associated with
+    URL">base URL</a> of the <code><a href=#document>Document</a></code> associated with
     <var title="">global object</var> (<a href=#sbu-not-copy>this is
     a reference, not a copy</a>).</p>
 
@@ -58715,7 +58725,7 @@
 
     <p>The user agent must <a href=#fire-a-simple-event>fire a simple event</a> named
     <code title=event-beforeprint>beforeprint</code> at the
-    <code><a href=#window>Window</a></code> object of the <code>Document</code> that is
+    <code><a href=#window>Window</a></code> object of the <code><a href=#document>Document</a></code> that is
     being printed, as well as any <a href=#nested-browsing-context title="nested browsing
     context">nested browsing contexts</a> in it.</p>
 
@@ -58749,7 +58759,7 @@
 
     <p>The user agent must <a href=#fire-a-simple-event>fire a simple event</a> named
     <code title=event-afterprint>afterprint</code> at the
-    <code><a href=#window>Window</a></code> object of the <code>Document</code> that is
+    <code><a href=#window>Window</a></code> object of the <code><a href=#document>Document</a></code> that is
     being printed, as well as any <a href=#nested-browsing-context title="nested browsing
     context">nested browsing contexts</a> in it.</p>
 
@@ -58860,7 +58870,7 @@
     called. The new auxiliary browsing context has no name.</p>
 
     <p class=note>This <a href=#browsing-context>browsing context</a>'s
-    <code>Document</code>s' <code><a href=#window>Window</a></code> objects all implement
+    <code><a href=#document>Document</a></code>s' <code><a href=#window>Window</a></code> objects all implement
     the <code><a href=#windowmodal>WindowModal</a></code> interface.</p>
 
    </li>
@@ -58913,7 +58923,7 @@
 
    </li>
 
-  </ol><p>The <code><a href=#window>Window</a></code> objects of <code>Document</code>s hosted
+  </ol><p>The <code><a href=#window>Window</a></code> objects of <code><a href=#document>Document</a></code>s hosted
   by <a href=#browsing-context title="browsing context">browsing contexts</a> created
   by the above algorithm must all have the <code><a href=#windowmodal>WindowModal</a></code>
   interface added to their <code><a href=#window>Window</a></code> interface:</p>
@@ -59654,7 +59664,7 @@
   document must be targeted at <a href=#the-body-element>the body element</a>.</p>
 
   <p>User agents may track focus for each <a href=#browsing-context>browsing
-  context</a> or <code>Document</code> individually, or may support
+  context</a> or <code><a href=#document>Document</a></code> individually, or may support
   only one focused element per <a href=#top-level-browsing-context>top-level browsing context</a>
   — user agents should follow platform conventions in this
   regard.</p>
@@ -59873,7 +59883,7 @@
   steps</a> for the affected element only.</p>
 
   <p class=example>For example, this might happen because the
-  element is removed from its <code>Document</code>, or has a <code title=attr-hidden><a href=#the-hidden-attribute>hidden</a></code> attribute added. It would also
+  element is removed from its <code><a href=#document>Document</a></code>, or has a <code title=attr-hidden><a href=#the-hidden-attribute>hidden</a></code> attribute added. It would also
   happen to an <code><a href=#the-input-element>input</a></code> element when the element gets <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a>.</p>
 
   </div>
@@ -59918,7 +59928,7 @@
   <p>The <dfn id=dom-document-activeelement title=dom-document-activeElement><code>activeElement</code></dfn>
   attribute on <code><a href=#htmldocument>HTMLDocument</a></code> objects must return the
   element in the document that is focused. If no element in the
-  <code>Document</code> is focused, this must return <a href=#the-body-element>the body
+  <code><a href=#document>Document</a></code> is focused, this must return <a href=#the-body-element>the body
   element</a>.</p>
 
   <p>The <dfn id=dom-document-hasfocus title=dom-document-hasFocus><code>hasFocus()</code></dfn> method
@@ -60076,7 +60086,7 @@
   </ol><p>Once a user agent has selected and assigned an access key for an
   element, the user agent should not change the element's
   <a href=#assigned-access-key>assigned access key</a> unless the <code title=attr-accesskey><a href=#the-accesskey-attribute>accesskey</a></code> content attribute is changed
-  or the element is moved to another <code>Document</code>.</p>
+  or the element is moved to another <code><a href=#document>Document</a></code>.</p>
 
   <p>When the user presses the key combination corresponding to the
   <a href=#assigned-access-key>assigned access key</a> for an element, if the element
@@ -60481,7 +60491,7 @@
 
   <p>The <dfn id=dom-selection-collapse title=dom-selection-collapse><code>collapse(<var title="">parentNode</var>, <var title="">offset</var>)</code></dfn>
   method must raise a <code><a href=#wrong_document_err>WRONG_DOCUMENT_ERR</a></code> DOM exception if
-  <var title="">parentNode</var>'s <code>Document</code> is not the
+  <var title="">parentNode</var>'s <code><a href=#document>Document</a></code> is not the
   <code><a href=#htmldocument>HTMLDocument</a></code> object with which the
   <code><a href=#selection-0>Selection</a></code> object is associated. Otherwise it is, and
   the method must remove all the ranges in the <code><a href=#selection-0>Selection</a></code>
@@ -60709,7 +60719,7 @@
   elements">HTML element</a> with the <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
   a state other than the inherit state has its attribute set to the
   true state, or if it and its ancestors all have their <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
-  the inherit state but the <code>Document</code> has <code title=dom-document-designMode><a href=#designMode>designMode</a></code> enabled, then the
+  the inherit state but the <code><a href=#document>Document</a></code> has <code title=dom-document-designMode><a href=#designMode>designMode</a></code> enabled, then the
   UA must treat the element as <dfn id=editable>editable</dfn> (as described
   below).</p>
 
@@ -60720,7 +60730,7 @@
   elements">HTML element</a> with the <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
   a state other than the inherit state has its attribute set to the
   false state, or all its ancestors have their <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
-  the inherit state and the <code>Document</code> itself has <code title=dom-document-designMode><a href=#designMode>designMode</a></code> disabled; either
+  the inherit state and the <code><a href=#document>Document</a></code> itself has <code title=dom-document-designMode><a href=#designMode>designMode</a></code> disabled; either
   way, the element is not editable.</p>
 
   </div>
@@ -60970,7 +60980,7 @@
 
   <p>User agents may add <a href=#dom-changes>DOM changes</a> entries to the
   <a href=#undo-transaction-history>undo transaction history</a> of the <a href=#editing-host>editing
-  host</a>'s <code>Document</code> object each time an action is
+  host</a>'s <code><a href=#document>Document</a></code> object each time an action is
   triggered.</p>
 
   <p>All of the actions defined above, whether triggered by the user
@@ -61004,7 +61014,7 @@
   </dl><div class=impl>
 
   <p>The <code title=dom-document-designMode><a href=#designMode>designMode</a></code> IDL
-  attribute on the <code>Document</code> object takes two values,
+  attribute on the <code><a href=#document>Document</a></code> object takes two values,
   "<code title="">on</code>" and "<code title="">off</code>". When it
   is set, the new value must be compared in an <a href=#ascii-case-insensitive>ASCII
   case-insensitive</a> manner to these two values. If it matches
@@ -61650,7 +61660,7 @@
 
   <p>The <dfn id=dom-datatransfer-setdragimage title=dom-DataTransfer-setDragImage><code>setDragImage(<var title="">element</var>, <var title="">x</var>, <var title="">y</var>)</code></dfn> method sets which element to use <a href=#base-dnd-feedback>to generate the drag feedback</a>. The
   <var title="">element</var> argument can be any
-  <code>Element</code>; if it is an <code><a href=#the-img-element>img</a></code> element, then the
+  <code><a href=#element>Element</a></code>; if it is an <code><a href=#the-img-element>img</a></code> element, then the
   user agent should use the element's image (at its intrinsic size) to
   generate the feedback, otherwise the user agent should base the
   feedback on the given element (but the exact mechanism for doing so
@@ -62111,7 +62121,7 @@
          regardless of whether that event was canceled or not. (If
          <a href=#the-body-element>the body element</a> is null, then the <a href=#current-target-element>current
          target element</a> would be set to null too in this case,
-         it wouldn't be set to the <code>Document</code>
+         it wouldn't be set to the <code><a href=#document>Document</a></code>
          object.)</dd>
 
         </dl></dd>
@@ -62323,7 +62333,7 @@
   document</h5>
 
   <p>The model described above is independent of which
-  <code>Document</code> object the nodes involved are from; the events
+  <code><a href=#document>Document</a></code> object the nodes involved are from; the events
   must be fired as described above and the rest of the processing
   model must be followed as described above, irrespective of how many
   documents are involved in the operation.</p>
@@ -62553,7 +62563,7 @@
   history</a> consists of batches of one or more of the
   following:</p>
 
-  <ul><li>Changes to the content attributes of an <code>Element</code>
+  <ul><li>Changes to the content attributes of an <code><a href=#element>Element</a></code>
    node.</li>
 
    <li>Changes to the DOM hierarchy of nodes that are descendants of
@@ -63126,7 +63136,7 @@
      deleted</a>.</li>
      <li><p>Invoke the <a href=#html-fragment-parsing-algorithm>HTML fragment parsing algorithm</a>
      with an arbitrary orphan <code><a href=#the-body-element-0>body</a></code> element owned by the
-     same <code>Document</code> as the <i><a href=#context>context</a></i> element and with
+     same <code><a href=#document>Document</a></code> as the <i><a href=#context>context</a></i> element and with
      the <var title="">value</var> argument as <i><a href=#the-input-element>input</a></i>.</li>
      <li><p>Insert the nodes returned by the previous step into the
      document at the location of the caret, firing any mutation events
@@ -64210,7 +64220,7 @@
 -->           attribute <a href=#function>Function</a> <a href=#handler-workerglobalscope-onerror title=handler-WorkerGlobalScope-onerror>onerror</a>;
 };
 <a href=#workerglobalscope>WorkerGlobalScope</a> implements <a href=#workerutils>WorkerUtils</a>;
-<a href=#workerglobalscope>WorkerGlobalScope</a> implements <span>EventTarget</span>;</pre>
+<a href=#workerglobalscope>WorkerGlobalScope</a> implements <a href=#eventtarget>EventTarget</a>;</pre>
 
   <p>The <dfn id=dom-workerglobalscope-self title=dom-WorkerGlobalScope-self><code>self</code></dfn> attribute
   must return the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object itself.</p>
@@ -64396,7 +64406,7 @@
   <dfn id="the-worker's-documents">the worker's <code>Document</code>s</dfn>. Initially this list
   is empty; it is populated when the worker is created.</p>
 
-  <p>Whenever a <code>Document</code> <var title="">d</var> is <dfn id="add-a-document-to-the-worker's-documents" title="add a document to the worker's documents">added to the
+  <p>Whenever a <code><a href=#document>Document</a></code> <var title="">d</var> is <dfn id="add-a-document-to-the-worker's-documents" title="add a document to the worker's documents">added to the
   worker's <code>Document</code>s</dfn>, the user agent must, for each
   worker in the list of <a href="#the-worker's-workers">the worker's workers</a> whose list
   of <a href="#the-worker's-documents">the worker's <code>Document</code>s</a> does not contain
@@ -64406,20 +64416,20 @@
   <code>Document</code>s</span></a>.</p> <!-- suggestions welcome
   on making this sentence into understandable English -->
 
-  <p>Whenever a <code>Document</code> object is <a href=#discard-a-document title="discard a
+  <p>Whenever a <code><a href=#document>Document</a></code> object is <a href=#discard-a-document title="discard a
   Document">discarded</a>, it must be removed from the list of
   <a href="#the-worker's-documents">the worker's <code>Document</code>s</a> of each worker
-  whose list contains that <code>Document</code>.</p>
+  whose list contains that <code><a href=#document>Document</a></code>.</p>
 
   <p>Given a <a href="#script's-global-object">script's global object</a> <var title="">o</var>
   when creating or obtaining a worker, the <dfn id=list-of-relevant-document-objects-to-add>list of relevant
   <code>Document</code> objects to add</dfn> depends on the type of
   <var title="">o</var>. If <var title="">o</var> is a
   <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object (i.e. if we are creating a
-  nested worker), then the relevant <code>Document</code>s are the
-  <code>Document</code>s that are in <var title="">o</var>'s own list
+  nested worker), then the relevant <code><a href=#document>Document</a></code>s are the
+  <code><a href=#document>Document</a></code>s that are in <var title="">o</var>'s own list
   of <a href="#the-worker's-documents">the worker's <code>Document</code>s</a>. Otherwise, <var title="">o</var> is a <code><a href=#window>Window</a></code> object, and the relevant
-  <code>Document</code> is just the <code>Document</code> that is the
+  <code><a href=#document>Document</a></code> is just the <code><a href=#document>Document</a></code> that is the
   <a href=#active-document>active document</a> of the <code><a href=#window>Window</a></code> object <var title="">o</var>.</p>
 
   <hr><p>A worker is said to be a <dfn id=permissible-worker>permissible worker</dfn> if its
@@ -64435,7 +64445,7 @@
   shared worker).</p>
 
   <p>A worker is said to be an <dfn id=active-needed-worker>active needed worker</dfn> if any
-  of the <code>Document</code> objects in <a href="#the-worker's-documents">the worker's
+  of the <code><a href=#document>Document</a></code> objects in <a href="#the-worker's-documents">the worker's
   <code>Document</code>s</a> are <a href=#fully-active>fully active</a>.</p>
 
   <p>A worker is said to be a <dfn id=suspendable-worker>suspendable worker</dfn> if it is
@@ -64778,7 +64788,7 @@
            attribute <a href=#function>Function</a> <a href=#handler-abstractworker-onerror title=handler-AbstractWorker-onerror>onerror</a>;
 <!-- v2-onclose           attribute <span>Function</span> <span title="handler-AbstractWorker-onclose">onclose</span>; -->
 };
-<a href=#abstractworker>AbstractWorker</a> implements <span>EventTarget</span>;</pre>
+<a href=#abstractworker>AbstractWorker</a> implements <a href=#eventtarget>EventTarget</a>;</pre>
 
   <p>The following are the <a href=#event-handlers>event handlers</a> (and their
   corresponding <a href=#event-handler-event-type title="event handler event type">event handler
@@ -64899,7 +64909,7 @@
     <p><a href="#add-a-document-to-the-worker's-documents" title="add a document to the worker's documents">Add to
     <var title="">worker global scope</var>'s list of <span>the
     worker's <code>Document</code>s</span></a> the
-    <code>Document</code> objects in <var title="">docs</var>.</p>
+    <code><a href=#document>Document</a></code> objects in <var title="">docs</var>.</p>
 
    </li>
 
@@ -65051,7 +65061,7 @@
         <p><a href="#add-a-document-to-the-worker's-documents" title="add a document to the worker's documents">Add to
         <var title="">worker global scope</var>'s list of <span>the
         worker's <code>Document</code>s</span></a> the
-        <code>Document</code> objects in <var title="">docs</var>.</p>
+        <code><a href=#document>Document</a></code> objects in <var title="">docs</var>.</p>
 
        </li>
 
@@ -65105,7 +65115,7 @@
     <p><a href="#add-a-document-to-the-worker's-documents" title="add a document to the worker's documents">Add to
     <var title="">worker global scope</var>'s list of <span>the
     worker's <code>Document</code>s</span></a> the
-    <code>Document</code> objects in <var title="">docs</var>.</p>
+    <code><a href=#document>Document</a></code> objects in <var title="">docs</var>.</p>
 
    </li>
 
@@ -65150,7 +65160,7 @@
 };
 <a href=#workerutils>WorkerUtils</a> implements <a href=#windowtimers>WindowTimers</a>;</pre>
 
-  <p>The DOM APIs (<code>Node</code> objects, <code>Document</code>
+  <p>The DOM APIs (<code>Node</code> objects, <code><a href=#document>Document</a></code>
   objects, etc) are not available to workers in this version of this
   specification.</p>
 
@@ -65517,7 +65527,7 @@
            attribute <a href=#function>Function</a> <a href=#handler-eventsource-onerror title=handler-EventSource-onerror>onerror</a>;
   void <a href=#dom-eventsource-close title=dom-EventSource-close>close</a>();
 };
-<a href=#eventsource>EventSource</a> implements <span>EventTarget</span>;</pre>
+<a href=#eventsource>EventSource</a> implements <a href=#eventtarget>EventTarget</a>;</pre>
 
   <p>The <dfn id=dom-eventsource title=dom-EventSource><code>EventSource(<var title="">url</var>)</code></dfn> constructor takes one argument,
   <var title="">url</var>, which specifies the <a href=#url>URL</a> to
@@ -66290,7 +66300,7 @@
   boolean <a href=#dom-websocket-send title=dom-WebSocket-send>send</a>(in DOMString data);
   void <a href=#dom-websocket-close title=dom-WebSocket-close>close</a>();
 };
-<a href=#websocket>WebSocket</a> implements <span>EventTarget</span>;</pre>
+<a href=#websocket>WebSocket</a> implements <a href=#eventtarget>EventTarget</a>;</pre>
 
   <p>The <dfn id=dom-websocket title=dom-WebSocket><code>WebSocket(<var title="">url</var>, <var title="">protocol</var>)</code></dfn>
   constructor takes one or two arguments. The first argument, <var title="">url</var>, specifies the <a href=#url>URL</a> to which to
@@ -68520,14 +68530,14 @@
 
     <p>If the <var title="">targetOrigin</var> argument is a single
     literal U+002F SOLIDUS character (/), and the
-    <code>Document</code> of the <code><a href=#window>Window</a></code> object on which
+    <code><a href=#document>Document</a></code> of the <code><a href=#window>Window</a></code> object on which
     the method was invoked does not have the <a href=#same-origin>same origin</a>
     as the <a href=#entry-script>entry script</a>'s <a href="#script's-browsing-context" title="script's browsing
     context">browsing context</a>, then abort these steps
     silently.</p>
 
     <p>Otherwise, if the <var title="">targetOrigin</var> argument is
-    an <a href=#absolute-url>absolute URL</a>, and the <code>Document</code> of the
+    an <a href=#absolute-url>absolute URL</a>, and the <code><a href=#document>Document</a></code> of the
     <code><a href=#window>Window</a></code> object on which the method was invoked does
     not have the <a href=#same-origin>same origin</a> as <var title="">targetOrigin</var>, then abort these steps silently.</p>
 
@@ -68637,14 +68647,14 @@
 
     <p>If the <var title="">targetOrigin</var> argument is a single
     literal U+002F SOLIDUS character (/), and the
-    <code>Document</code> of the <code><a href=#window>Window</a></code> object on which
+    <code><a href=#document>Document</a></code> of the <code><a href=#window>Window</a></code> object on which
     the method was invoked does not have the <a href=#same-origin>same origin</a>
     as the <a href=#entry-script>entry script</a>'s <a href="#script's-browsing-context" title="script's browsing
     context">browsing context</a>, then abort these steps
     silently.</p>
 
     <p>Otherwise, if the <var title="">targetOrigin</var> argument is
-    an <a href=#absolute-url>absolute URL</a>, and the <code>Document</code> of the
+    an <a href=#absolute-url>absolute URL</a>, and the <code><a href=#document>Document</a></code> of the
     <code><a href=#window>Window</a></code> object on which the method was invoked does
     not have the <a href=#same-origin>same origin</a> as <var title="">targetOrigin</var>, then abort these steps silently.</p>
 
@@ -68823,7 +68833,7 @@
   // event handlers
            attribute <a href=#function>Function</a> <a href=#handler-messageport-onmessage title=handler-MessagePort-onmessage>onmessage</a>;
 };
-<a href=#messageport>MessagePort</a> implements <span>EventTarget</span>;</pre>
+<a href=#messageport>MessagePort</a> implements <a href=#eventtarget>EventTarget</a>;</pre>
 
   <dl class=domintro><!-- v2-onclose
    <dt><var title="">port</var> . <code title="dom-MessagePort-active">active</code></dt>
@@ -69067,7 +69077,7 @@
   <a href=#event-loop>event loop</a> must use it as one of its <a href=#task-source title="task
   source">task sources</a>.</p>
 
-  <p class=note>If the <code>Document</code> of the port's event
+  <p class=note>If the <code><a href=#document>Document</a></code> of the port's event
   listeners' <a href="#script's-global-object" title="script's global object">global object</a>
   is not <a href=#fully-active>fully active</a>, then the messages are lost.</p>
   <!-- because of the jump-to-entry-point algorithm first step -->
@@ -69403,7 +69413,7 @@
 
   <p>The <code title=dom-sessionStorage><a href=#dom-sessionstorage>sessionStorage</a></code>
   attribute must return the <code><a href=#storage-0>Storage</a></code> object associated
-  with that session storage area. Each <code>Document</code> object
+  with that session storage area. Each <code><a href=#document>Document</a></code> object
   must have a separate object for its <code><a href=#window>Window</a></code>'s <code title=dom-sessionStorage><a href=#dom-sessionstorage>sessionStorage</a></code> attribute.</p>
 
   <p>When a new <a href=#top-level-browsing-context>top-level browsing context</a> is created by
@@ -69459,24 +69469,24 @@
    request violates a policy decision (e.g. if the user agent is
    configured to not allow the page to persist data).</li>
 
-   <li><p>If the <code>Document</code>'s <a href=#effective-script-origin>effective script
+   <li><p>If the <code><a href=#document>Document</a></code>'s <a href=#effective-script-origin>effective script
    origin</a> is not the <a href=#same-origin>same origin</a> as the
-   <code>Document</code>'s <a href=#origin>origin</a>, then throw a
+   <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a>, then throw a
    <code><a href=#security_err>SECURITY_ERR</a></code> exception and abort these steps.</li>
    <!-- XXX should do this on getItem()/setItem()/enumerating etc -->
 
-   <li><p>If the <code>Document</code>'s <a href=#origin>origin</a> is not a
+   <li><p>If the <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a> is not a
    scheme/host/port tuple, then throw a <code><a href=#security_err>SECURITY_ERR</a></code>
    exception and abort these steps.</li>
 
    <li><p>Check to see if the user agent has allocated a local storage
-   area for the <a href=#origin>origin</a> of the <code>Document</code> of
+   area for the <a href=#origin>origin</a> of the <code><a href=#document>Document</a></code> of
    the <code><a href=#window>Window</a></code> object on which the method was invoked. If
    it has not, create a new storage area for that
    <a href=#origin>origin</a>.</li>
 
    <li><p>Return the <code><a href=#storage-0>Storage</a></code> object associated with that
-   origin's local storage area. Each <code>Document</code> object must
+   origin's local storage area. Each <code><a href=#document>Document</a></code> object must
    have a separate object for its <code><a href=#window>Window</a></code>'s <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute.</p>
 
   </ol><p id=localStorageEvent>When the <code title=dom-Storage-setItem><a href=#dom-storage-setitem>setItem()</a></code>, <code title=dom-Storage-removeItem><a href=#dom-storage-removeitem>removeItem()</a></code>, and <code title=dom-Storage-clear><a href=#dom-storage-clear>clear()</a></code> methods are called on a
@@ -69510,12 +69520,12 @@
   to fire an event with the name <code><a href=#storage-0>storage</a></code>, which does not
   bubble and is not cancelable, and which uses the
   <code><a href=#storageevent>StorageEvent</a></code> interface, at each <code><a href=#window>Window</a></code>
-  object whose <code>Document</code> object has a <code><a href=#storage-0>Storage</a></code>
+  object whose <code><a href=#document>Document</a></code> object has a <code><a href=#storage-0>Storage</a></code>
   object that is affected.</p>
 
-  <p class=note>This includes <code>Document</code> objects that are
+  <p class=note>This includes <code><a href=#document>Document</a></code> objects that are
   not <a href=#fully-active>fully active</a>, but events fired on those are ignored
-  by the <a href=#event-loop>event loop</a> until the <code>Document</code>
+  by the <a href=#event-loop>event loop</a> until the <code><a href=#document>Document</a></code>
   becomes <a href=#fully-active>fully active</a> again.</p>
 
   <p>The <a href=#task-source>task source</a> for this task is the <a href=#dom-manipulation-task-source>DOM
@@ -69537,7 +69547,7 @@
   <p>In addition, the event must have its <code title=dom-StorageEvent-url><a href=#dom-storageevent-url>url</a></code> attribute set to <a href="#the-document's-address" title="the document's address">the address of the document</a>
   whose <code><a href=#storage-0>Storage</a></code> object was affected; and its <code title=dom-StorageEvent-storageArea><a href=#dom-storageevent-storagearea>storageArea</a></code> attribute
   set to the <code><a href=#storage-0>Storage</a></code> object from the <code><a href=#window>Window</a></code>
-  object of the target <code>Document</code> that represents the same
+  object of the target <code><a href=#document>Document</a></code> that represents the same
   kind of <code><a href=#storage-0>Storage</a></code> area as was affected (i.e. session or
   local).</p>
 
@@ -70762,12 +70772,12 @@
   <p>The input to the HTML parsing process consists of a stream of
   Unicode characters, which is passed through a
   <a href=#tokenization>tokenization</a> stage followed by a <a href=#tree-construction>tree
-  construction</a> stage. The output is a <code>Document</code>
+  construction</a> stage. The output is a <code><a href=#document>Document</a></code>
   object.</p>
 
   <p class=note>Implementations that <a href=#non-scripted>do not
   support scripting</a> do not have to actually create a DOM
-  <code>Document</code> object, but the DOM tree in such cases is
+  <code><a href=#document>Document</a></code> object, but the DOM tree in such cases is
   still used as the model for the rest of the specification.</p>
 
   <p>In the common case, the data handled by the tokenization stage
@@ -71838,7 +71848,7 @@
    <li><code><a href=#the-table-element>table</a></code> in the HTML namespace</li>
   </ul><p>Nothing happens if at any time any of the elements in the
   <a href=#stack-of-open-elements>stack of open elements</a> are moved to a new location in,
-  or removed from, the <code>Document</code> tree. In particular, the
+  or removed from, the <code><a href=#document>Document</a></code> tree. In particular, the
   stack is not changed in this situation. This can cause, amongst
   other strange effects, content to be appended to nodes that are no
   longer in the DOM.</p>
@@ -71964,7 +71974,7 @@
   <h5 id=other-parsing-state-flags><span class=secno>12.2.3.5 </span>Other parsing state flags</h5>
 
   <p>The <dfn id=scripting-flag>scripting flag</dfn> is set to "enabled" if <a href=#concept-n-script title=concept-n-script>scripting was enabled</a> for the
-  <code>Document</code> with which the parser is associated when the
+  <code><a href=#document>Document</a></code> with which the parser is associated when the
   parser was created, and "disabled" otherwise.</p>
 
   <p class=note>The <a href=#scripting-flag>scripting flag</a> can be enabled even
@@ -74075,12 +74085,12 @@
 
   <p>The input to the tree construction stage is a sequence of tokens
   from the <a href=#tokenization>tokenization</a> stage. The tree construction
-  stage is associated with a DOM <code>Document</code> object when a
+  stage is associated with a DOM <code><a href=#document>Document</a></code> object when a
   parser is created. The "output" of this stage consists of
   dynamically modifying or extending that document's DOM tree.</p>
 
   <p>This specification does not define when an interactive user agent
-  has to render the <code>Document</code> so that it is available to
+  has to render the <code><a href=#document>Document</a></code> so that it is available to
   the user, or when it has to begin accepting user input.</p>
 
   <p>As each token is emitted from the tokenizer, the user agent must
@@ -74165,7 +74175,7 @@
   <a href=#other-applicable-specifications>other applicable specifications</a>) is
   <code><a href=#htmlunknownelement>HTMLUnknownElement</a></code>. Element in other namespaces whose
   interface is not defined by that namespace's specification must use
-  the interface <code>Element</code>.</p>
+  the interface <code><a href=#element>Element</a></code>.</p>
 
   <p>When a <a href=#category-reset title=category-reset>resettable</a> element is
   created in this manner, its <a href=#concept-form-reset-control title=concept-form-reset-control>reset algorithm</a> must be
@@ -74388,7 +74398,7 @@
 
    <dt>A comment token</dt>
    <dd>
-    <p>Append a <code>Comment</code> node to the <code>Document</code>
+    <p>Append a <code>Comment</code> node to the <code><a href=#document>Document</a></code>
     object with the <code title="">data</code> attribute set to the
     data given in the comment token.</p>
    </dd>
@@ -74444,7 +74454,7 @@
     checker.)</p>
 
     <p>Append a <code>DocumentType</code> node to the
-    <code>Document</code> node, with the <code title="">name</code>
+    <code><a href=#document>Document</a></code> node, with the <code title="">name</code>
     attribute set to the name given in the DOCTYPE token, or the empty
     string if the name was missing; the <code title="">publicId</code>
     attribute set to the public identifier given in the DOCTYPE token,
@@ -74454,13 +74464,13 @@
     system identifier was missing; and the other attributes specific
     to <code>DocumentType</code> objects set to null and empty lists
     as appropriate. Associate the <code>DocumentType</code> node with
-    the <code>Document</code> object so that it is returned as the
+    the <code><a href=#document>Document</a></code> object so that it is returned as the
     value of the <code title="">doctype</code> attribute of the
-    <code>Document</code> object.</p>
+    <code><a href=#document>Document</a></code> object.</p>
 
     <p id=quirks-mode-doctypes>Then, if the DOCTYPE token matches
     one of the conditions in the following list, then set the
-    <code>Document</code> to <a href=#quirks-mode>quirks mode</a>:</p>
+    <code><a href=#document>Document</a></code> to <a href=#quirks-mode>quirks mode</a>:</p>
 
     <ul class=brief><li> The <i>force-quirks flag</i> is set to <i>on</i>. </li>
      <li> The name is set to anything other than "<code title="">html</code>" (compared <a href=#case-sensitive title=case-sensitive>case-sensitively</a>). </li>
@@ -74540,7 +74550,7 @@
      <li> The system identifier is missing and the public identifier starts with: "<code title="">-//W3C//DTD HTML 4.01 Frameset//<!--EN--></code>" </li>
      <li> The system identifier is missing and the public identifier starts with: "<code title="">-//W3C//DTD HTML 4.01 Transitional//<!--EN--></code>" </li>
     </ul><p>Otherwise, if the DOCTYPE token matches one of the conditions
-    in the following list, then set the <code>Document</code> to
+    in the following list, then set the <code><a href=#document>Document</a></code> to
     <a href=#limited-quirks-mode>limited quirks mode</a>:</p>
 
     <ul class=brief><li> The public identifier starts with: "<code title="">-//W3C//DTD XHTML 1.0 Frameset//<!--EN--></code>" </li>
@@ -74563,7 +74573,7 @@
     <p>If the document is <em>not</em> <a href=#an-iframe-srcdoc-document>an <code>iframe</code>
     <code title=attr-iframe-srcdoc>srcdoc</code> document</a>,
     then this is a <a href=#parse-error>parse error</a>; set the
-    <code>Document</code> to <a href=#quirks-mode>quirks mode</a>.</p>
+    <code><a href=#document>Document</a></code> to <a href=#quirks-mode>quirks mode</a>.</p>
 
     <p>In any case, switch the <a href=#insertion-mode>insertion mode</a> to "<a href=#the-before-html-insertion-mode title="insertion mode: before html">before html</a>", then
     reprocess the current token.</p>
@@ -74582,7 +74592,7 @@
 
    <dt>A comment token</dt>
    <dd>
-    <p>Append a <code>Comment</code> node to the <code>Document</code>
+    <p>Append a <code>Comment</code> node to the <code><a href=#document>Document</a></code>
     object with the <code title="">data</code> attribute set to the
     data given in the comment token.</p>
    </dd>
@@ -74598,11 +74608,11 @@
    <dd>
 
     <p><a href=#create-an-element-for-the-token>Create an element for the token</a> in the <a href=#html-namespace-0>HTML
-    namespace</a>. Append it to the <code>Document</code>
+    namespace</a>. Append it to the <code><a href=#document>Document</a></code>
     object. Put this element in the <a href=#stack-of-open-elements>stack of open
     elements</a>.</p>
 
-    <p id=parser-appcache>If the <code>Document</code> is being
+    <p id=parser-appcache>If the <code><a href=#document>Document</a></code> is being
     loaded as part of <a href=#navigate title=navigate>navigation</a> of a
     <a href=#browsing-context>browsing context</a>, then: if the newly created element
     has a <code title=attr-html-manifest><a href=#attr-html-manifest>manifest</a></code> attribute,
@@ -74614,7 +74624,7 @@
     removed; otherwise, if there is no such attribute or resolving it
     fails, run the <a href=#concept-appcache-init title=concept-appcache-init>application
     cache selection algorithm</a> with no manifest. The algorithm
-    must be passed the <code>Document</code> object.</p>
+    must be passed the <code><a href=#document>Document</a></code> object.</p>
 
     <p>Switch the <a href=#insertion-mode>insertion mode</a> to "<a href=#the-before-head-insertion-mode title="insertion mode: before head">before head</a>".</p>
 
@@ -74634,13 +74644,13 @@
    <dd>
 
     <p>Create an <code><a href=#the-html-element-0>html</a></code> element. Append it to the
-    <code>Document</code> object. Put this element in the <a href=#stack-of-open-elements>stack
+    <code><a href=#document>Document</a></code> object. Put this element in the <a href=#stack-of-open-elements>stack
     of open elements</a>.</p>
 
-    <p>If the <code>Document</code> is being loaded as part of <a href=#navigate title=navigate>navigation</a> of a <a href=#browsing-context>browsing
+    <p>If the <code><a href=#document>Document</a></code> is being loaded as part of <a href=#navigate title=navigate>navigation</a> of a <a href=#browsing-context>browsing
     context</a>, then: run the <a href=#concept-appcache-init title=concept-appcache-init>application cache selection
     algorithm</a> with no manifest, passing it the
-    <code>Document</code> object.</p>
+    <code><a href=#document>Document</a></code> object.</p>
 
     <p>Switch the <a href=#insertion-mode>insertion mode</a> to "<a href=#the-before-head-insertion-mode title="insertion mode: before head">before head</a>", then
     reprocess the current token.</p>
@@ -74648,7 +74658,7 @@
    </dd>
 
   </dl><p>The root element can end up being removed from the
-  <code>Document</code> object, e.g. by scripts; nothing in particular
+  <code><a href=#document>Document</a></code> object, e.g. by scripts; nothing in particular
   happens in such cases, content continues being appended to the nodes
   as described in the next section.</p>
 
@@ -75827,7 +75837,7 @@
    <dt>A start tag whose tag name is "table"</dt>
    <dd>
 
-    <p>If the <code>Document</code> is <em>not</em> set to
+    <p>If the <code><a href=#document>Document</a></code> is <em>not</em> set to
     <a href=#quirks-mode>quirks mode</a>, and the <a href=#stack-of-open-elements>stack of open
     elements</a> <a href=#has-an-element-in-scope title="has an element in scope">has a
     <code>p</code> element in scope</a>, then act as if an end tag
@@ -77614,7 +77624,7 @@
 
   <dl class=switch><dt>A comment token</dt>
    <dd>
-    <p>Append a <code>Comment</code> node to the <code>Document</code>
+    <p>Append a <code>Comment</code> node to the <code><a href=#document>Document</a></code>
     object with the <code title="">data</code> attribute set to the
     data given in the comment token.</p>
    </dd>
@@ -77648,7 +77658,7 @@
 
   <dl class=switch><dt>A comment token</dt>
    <dd>
-    <p>Append a <code>Comment</code> node to the <code>Document</code>
+    <p>Append a <code>Comment</code> node to the <code><a href=#document>Document</a></code>
     object with the <code title="">data</code> attribute set to the
     data given in the comment token.</p>
    </dd>
@@ -77725,38 +77735,38 @@
 
    <li><p><a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple
    event</a> named <code title=event-DOMContentLoaded>DOMContentLoaded</code> at the
-   <code>Document</code>.</li>
+   <code><a href=#document>Document</a></code>.</li>
 
    <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until there is nothing that
    <dfn id=delay-the-load-event title="delay the load event">delays the load event</dfn> in
-   the <code>Document</code>.</li>
+   the <code><a href=#document>Document</a></code>.</li>
 
    <li><p><a href=#queue-a-task>Queue a task</a> to set the <a href=#current-document-readiness>current document
    readiness</a> to "complete". <!-- this also fires an event
    synchronously during the task --></li>
 
-   <li><p>If the <code>Document</code> is in a <a href=#browsing-context>browsing
+   <li><p>If the <code><a href=#document>Document</a></code> is in a <a href=#browsing-context>browsing
    context</a>, then <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a
    simple event</a> named <code title=event-load>load</code> at
-   the <code>Document</code>'s <code><a href=#window>Window</a></code> object, but with
+   the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object, but with
    its <code title=dom-event-target>target</code> set to the
-   <code>Document</code> object (and the <code title=dom-event-currentTarget>currentTarget</code> set to the
+   <code><a href=#document>Document</a></code> object (and the <code title=dom-event-currentTarget>currentTarget</code> set to the
    <code><a href=#window>Window</a></code> object).</li>
 
-   <li><p>If the <code>Document</code> is in a <a href=#browsing-context>browsing
+   <li><p>If the <code><a href=#document>Document</a></code> is in a <a href=#browsing-context>browsing
    context</a>, then <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a
    simple event</a> named <code title=event-pageshow>pageshow</code> at the
-   <code>Document</code>'s <code><a href=#window>Window</a></code> object.</li>
+   <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
-   <li><p>If the <code>Document</code> has a <a href=#pending-state-object>pending state
+   <li><p>If the <code><a href=#document>Document</a></code> has a <a href=#pending-state-object>pending state
    object</a>, then <a href=#queue-a-task>queue a task</a> to fire a <code title=event-popstate><a href=#event-popstate>popstate</a></code> event at the
-   <code>Document</code>'s <code><a href=#window>Window</a></code> object using the
+   <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object using the
    <code><a href=#popstateevent>PopStateEvent</a></code> interface, with the <code title=dom-PopStateEvent-state><a href=#dom-popstateevent-state>state</a></code> attribute set to the
    current value of the <a href=#pending-state-object>pending state object</a>. This event
    must bubble but not be cancelable and has no default
    action.</li>
 
-   <li><p>If the <code>Document</code> has any <a href=#pending-application-cache-download-process-tasks>pending
+   <li><p>If the <code><a href=#document>Document</a></code> has any <a href=#pending-application-cache-download-process-tasks>pending
    application cache download process tasks</a>, then <a href=#queue-a-task title="queue a task">queue</a> each such <a href=#concept-task title=concept-task>task</a> in the order they were added to
    the list of <a href=#pending-application-cache-download-process-tasks>pending application cache download process
    tasks</a>, and then empty the list of <a href=#pending-application-cache-download-process-tasks>pending application
@@ -77764,7 +77774,7 @@
    for these <a href=#concept-task title=concept-task>tasks</a> is the
    <a href=#networking-task-source>networking task source</a>.</li>
 
-   <li><p>The <code>Document</code> is now <dfn id=completely-loaded>completely
+   <li><p>The <code><a href=#document>Document</a></code> is now <dfn id=completely-loaded>completely
    loaded</dfn>.</li>
 
   </ol><p>Except where otherwise specified, the <a href=#task-source>task source</a>
@@ -78084,13 +78094,13 @@
  </span><li class=t1><code><a href=#script>script</a></code><ul><li class=t3><code>#text</code>: <span title="">var div = document.getElementById('a'); ⏎ parent.document.body.appendChild(div);</span></ul></ul></ul></ul></ul><p>After the script is parsed, though, the <code><a href=#the-div-element>div</a></code> element
   and its child <code><a href=#script>script</a></code> element are gone:</p>
 
-  <ul class=domTree><li class=t1><code><a href=#the-html-element-0>html</a></code><ul><li class=t1><code><a href=#the-head-element-0>head</a></code><li class=t1><code><a href=#the-body-element-0>body</a></code></ul></ul><p>They are, at this point, in the <code>Document</code> of the
+  <ul class=domTree><li class=t1><code><a href=#the-html-element-0>html</a></code><ul><li class=t1><code><a href=#the-head-element-0>head</a></code><li class=t1><code><a href=#the-body-element-0>body</a></code></ul></ul><p>They are, at this point, in the <code><a href=#document>Document</a></code> of the
   aforementioned outer <a href=#browsing-context>browsing context</a>. However, the
   <a href=#stack-of-open-elements>stack of open elements</a> <em>still contains the
   <code><a href=#the-div-element>div</a></code> element</em>.</p>
 
   <p>Thus, when the second <code><a href=#script>script</a></code> element is parsed, it
-  is inserted <em>into the outer <code>Document</code>
+  is inserted <em>into the outer <code><a href=#document>Document</a></code>
   object</em>.</p>
 
   <p>This also means that the <a href="#script's-global-object">script's global object</a> is
@@ -78099,15 +78109,15 @@
   <code><a href=#the-iframe-element>iframe</a></code>.</p>
 
   <p class=note>This isn't a security problem since the script that
-  moves the <code><a href=#the-div-element>div</a></code> into the outer <code>Document</code> can
-  only do so because the two <code>Document</code> object have the
+  moves the <code><a href=#the-div-element>div</a></code> into the outer <code><a href=#document>Document</a></code> can
+  only do so because the two <code><a href=#document>Document</a></code> object have the
   same <a href=#origin>origin</a>.</p>
 
   <p>Thus, the first alert says "http://example.com/outer".</p>
 
   <p>Once the <code><a href=#the-div-element>div</a></code> element's end tag is parsed, the
   <code><a href=#the-div-element>div</a></code> element is popped off the stack, and so the next
-  <code><a href=#script>script</a></code> element is in the inner <code>Document</code>:</p>
+  <code><a href=#script>script</a></code> element is in the inner <code><a href=#document>Document</a></code>:</p>
 
   <ul class=domTree><li class=t1><code><a href=#the-html-element-0>html</a></code><ul><li class=t1><code><a href=#the-head-element-0>head</a></code><li class=t1><code><a href=#the-body-element-0>body</a></code><ul><li class=t1><code><a href=#script>script</a></code><ul><li class=t3><code>#text</code>: <span title="">alert(document.URL);</span></ul></ul></ul></ul><p>This second alert will say "http://example.com/inner".</p>
 
@@ -78118,7 +78128,7 @@
 
   <p>The following steps form the <dfn id=html-fragment-serialization-algorithm>HTML fragment serialization
   algorithm</dfn>. The algorithm takes as input a DOM
-  <code>Element</code> or <code>Document</code>, referred to as <var title="">the node</var>, and either returns a string or raises an
+  <code><a href=#element>Element</a></code> or <code><a href=#document>Document</a></code>, referred to as <var title="">the node</var>, and either returns a string or raises an
   exception.</p>
 
   <p class=note>This algorithm serializes the <em>children</em> of
@@ -78302,7 +78312,7 @@
 
   <p>The following steps form the <dfn id=html-fragment-parsing-algorithm>HTML fragment parsing
   algorithm</dfn>. The algorithm optionally takes as input an
-  <code>Element</code> node, referred to as the <var title="">context</var> element, which gives the context for the
+  <code><a href=#element>Element</a></code> node, referred to as the <var title="">context</var> element, which gives the context for the
   parser, as well as <var title="">input</var>, a string to parse, and
   returns a list of zero or more nodes.</p>
 
@@ -78317,7 +78327,7 @@
 
   <ol><li>
 
-    <p>Create a new <code>Document</code> node, and mark it as being
+    <p>Create a new <code><a href=#document>Document</a></code> node, and mark it as being
     an <a href=#html-documents title="HTML documents">HTML document</a>.</p>
 
    </li>
@@ -78325,20 +78335,20 @@
    <li>
 
     <p>If there is a <var title="">context</var> element, and the
-    <code>Document</code> of the <var title="">context</var> element
-    is in <a href=#quirks-mode>quirks mode</a>, then let the <code>Document</code>
-    be in <a href=#quirks-mode>quirks mode</a>. Otherwise, if there is a <var title="">context</var> element, and the <code>Document</code> of
+    <code><a href=#document>Document</a></code> of the <var title="">context</var> element
+    is in <a href=#quirks-mode>quirks mode</a>, then let the <code><a href=#document>Document</a></code>
+    be in <a href=#quirks-mode>quirks mode</a>. Otherwise, if there is a <var title="">context</var> element, and the <code><a href=#document>Document</a></code> of
     the <var title="">context</var> element is in <a href=#limited-quirks-mode>limited quirks
-    mode</a>, then let the <code>Document</code> be in
+    mode</a>, then let the <code><a href=#document>Document</a></code> be in
     <a href=#limited-quirks-mode>limited quirks mode</a>. Otherwise, leave the
-    <code>Document</code> in <a href=#no-quirks-mode>no quirks mode</a>.</p>
+    <code><a href=#document>Document</a></code> in <a href=#no-quirks-mode>no quirks mode</a>.</p>
 
    </li>
 
    <li>
 
     <p>Create a new <a href=#html-parser>HTML parser</a>, and associate it with
-    the just created <code>Document</code> node.</p>
+    the just created <code><a href=#document>Document</a></code> node.</p>
 
    </li>
 
@@ -78408,7 +78418,7 @@
      <li>
 
       <p>Append the element <var title="">root</var> to the
-      <code>Document</code> node created above.</p>
+      <code><a href=#document>Document</a></code> node created above.</p>
 
      </li>
 
@@ -78463,7 +78473,7 @@
     child nodes of <var title="">root</var>, in <a href=#tree-order>tree
     order</a>.</p>
 
-    <p>Otherwise, return the children of the <code>Document</code>
+    <p>Otherwise, return the children of the <code><a href=#document>Document</a></code>
     object, in <a href=#tree-order>tree order</a>.</p>
 
    </li>
@@ -80669,19 +80679,19 @@
 
   <p>An <dfn id=xml-parser>XML parser</dfn>, for the purposes of this specification,
   is a construct that follows the rules given in the XML specification
-  to map a string of bytes or characters into a <code>Document</code>
+  to map a string of bytes or characters into a <code><a href=#document>Document</a></code>
   object.</p>
 
   <p>An <a href=#xml-parser>XML parser</a> is either associated with a
-  <code>Document</code> object when it is created, or creates one
+  <code><a href=#document>Document</a></code> object when it is created, or creates one
   implicitly.</p>
 
-  <p>This <code>Document</code> must then be populated with DOM nodes
+  <p>This <code><a href=#document>Document</a></code> must then be populated with DOM nodes
   that represent the tree structure of the input passed to the parser,
   as defined by the XML specification, the Namespaces in XML
   specification, and the DOM Core specification. DOM mutation events
   must not fire for the operations that the <a href=#xml-parser>XML parser</a>
-  performs on the <code>Document</code>'s tree, but the user agent
+  performs on the <code><a href=#document>Document</a></code>'s tree, but the user agent
   must act as if elements and attributes were individually appended
   and set respectively so as to trigger rules in this specification
   regarding what happens when an element in inserted into a document
@@ -80766,15 +80776,15 @@
   <h3 id=serializing-xhtml-fragments><span class=secno>13.3 </span>Serializing XHTML fragments</h3>
 
   <p>The <dfn id=xml-fragment-serialization-algorithm>XML fragment serialization algorithm</dfn> for a
-  <code>Document</code> or <code>Element</code> node either returns a
+  <code><a href=#document>Document</a></code> or <code><a href=#element>Element</a></code> node either returns a
   fragment of XML that represents that node or raises an
   exception.</p>
 
-  <p>For <code>Document</code>s, the algorithm must return a string in
+  <p>For <code><a href=#document>Document</a></code>s, the algorithm must return a string in
   the form of a <a href=http://www.w3.org/TR/xml/#sec-well-formed>document
   entity</a>, if none of the error cases below apply.</p>
 
-  <p>For <code>Element</code>s, the algorithm must return a string in
+  <p>For <code><a href=#element>Element</a></code>s, the algorithm must return a string in
   the form of an <a href=http://www.w3.org/TR/xml/#wf-entities>internal general parsed
   entity</a>, if none of the error cases below apply.</p>
 
@@ -80789,12 +80799,12 @@
   might be forced to use representations that don't match the DOM's,
   e.g. if a <code>CDATASection</code> node contains the string "<code title="">]]></code>").</p>
 
-  <p>For <code>Element</code>s, if any of the elements in the
+  <p>For <code><a href=#element>Element</a></code>s, if any of the elements in the
   serialization are in no namespace, the default namespace in scope
   for those elements must be explicitly declared as the empty
   string.<!-- because otherwise round-tripping might break since it'll
   pick up the surrounding default ns when setting --> (This doesn't
-  apply in the <code>Document</code> case.) <a href=#refsXML>[XML]</a> <a href=#refsXMLNS>[XMLNS]</a></p>
+  apply in the <code><a href=#document>Document</a></code> case.) <a href=#refsXML>[XML]</a> <a href=#refsXMLNS>[XMLNS]</a></p>
 
   <p>For the purposes of this section, an internal general parsed
   entity is considered XML namespace-well-formed if a document
@@ -80807,7 +80817,7 @@
   <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception instead of returning a
   string:</p>
 
-  <ul><li>A <code>Document</code> node with no child element nodes.</li>
+  <ul><li>A <code><a href=#document>Document</a></code> node with no child element nodes.</li>
 
    <li>A <code>DocumentType</code> node that has an external subset
    public identifier that contains characters that are not matched by
@@ -80829,7 +80839,7 @@
    <li>An <code>Attr</code> node with no namespace whose local name is
    the lowercase string "<code title="">xmlns</code>". <a href=#refsXMLNS>[XMLNS]</a></li>
 
-   <li>An <code>Element</code> node with two or more attributes with
+   <li>An <code><a href=#element>Element</a></code> node with two or more attributes with
    the same local name and namespace.</li>
 
    <li>An <code>Attr</code> node, <code>Text</code> node,
@@ -80855,7 +80865,7 @@
 
   </ul><p class=note>These are the only ways to make a DOM
   unserializable. The DOM enforces all the other XML constraints; for
-  example, trying to append two elements to a <code>Document</code>
+  example, trying to append two elements to a <code><a href=#document>Document</a></code>
   node will raise a <code><a href=#hierarchy_request_err>HIERARCHY_REQUEST_ERR</a></code> exception.</p>
 
 
@@ -80863,7 +80873,7 @@
   <h3 id=parsing-xhtml-fragments><span class=secno>13.4 </span>Parsing XHTML fragments</h3>
 
   <p>The <dfn id=xml-fragment-parsing-algorithm>XML fragment parsing algorithm</dfn> for either returns
-  a <code>Document</code> or raises a <code><a href=#syntax_err>SYNTAX_ERR</a></code>
+  a <code><a href=#document>Document</a></code> or raises a <code><a href=#syntax_err>SYNTAX_ERR</a></code>
   exception. Given a string <var title="">input</var> and an optional
   context element <var title="">context</var>, the algorithm is as
   follows:</p>
@@ -80923,9 +80933,9 @@
 
     <p>If there is a <var title="">context</var> element, then return
     the child nodes of the root element of the resulting
-    <code>Document</code>, in <a href=#tree-order>tree order</a>.</p>
+    <code><a href=#document>Document</a></code>, in <a href=#tree-order>tree order</a>.</p>
 
-    <p>Otherwise, return the children of the <code>Document</code>
+    <p>Otherwise, return the children of the <code><a href=#document>Document</a></code>
     object, in <a href=#tree-order>tree order</a>.</p>
 
    </li>
@@ -80968,7 +80978,7 @@
 
   <hr><p>An element is <dfn id=being-rendered>being rendered</dfn> if it is <a href=#in-a-document>in a
   <code>Document</code></a>, either its parent node is itself
-  <a href=#being-rendered>being rendered</a> or it is the <code>Document</code> node,
+  <a href=#being-rendered>being rendered</a> or it is the <code><a href=#document>Document</a></code> node,
   and it is not explicitly excluded from the rendering using either:</p>
   <ul class=brief><li>the CSS 'display' property's 'none' value, or</li>
    <li>the 'visibility' property's 'collapse' value unless it is being treated as equivalent to the 'hidden' value, or</li>
@@ -81175,7 +81185,7 @@
      <td><code><a href=#the-body-element-0>body</a></code> element's <code title=attr-body-marginwidth>marginwidth</code> attribute
     <tr><td>The <code><a href=#the-body-element-0>body</a></code> element's <a href=#container-frame-element>container frame element</a>'s <code title=attr-frame-marginwidth>marginwidth</code> attribute
     <tr><td><code><a href=#the-body-element-0>body</a></code> element's <code title=attr-body-leftmargin>rightmargin</code> attribute
-  </table><p>If the <code><a href=#the-body-element-0>body</a></code> element's <code>Document</code>'s
+  </table><p>If the <code><a href=#the-body-element-0>body</a></code> element's <code><a href=#document>Document</a></code>'s
   <a href=#browsing-context>browsing context</a> is a <a href=#nested-browsing-context>nested browsing
   context</a>, and the <a href=#browsing-context-container>browsing context container</a> of
   that <a href=#nested-browsing-context>nested browsing context</a> is a <code><a href=#frame>frame</a></code> or
@@ -81192,8 +81202,8 @@
   a page is rendered not as the author intended, possibly for the
   purposes of phishing or otherwise misleading the user.</p>
 
-  <hr><p>If the <code>Document</code> has a <a href=#root-element>root element</a>, and
-  the <code>Document</code>'s <a href=#browsing-context>browsing context</a> is a
+  <hr><p>If the <code><a href=#document>Document</a></code> has a <a href=#root-element>root element</a>, and
+  the <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> is a
   <a href=#nested-browsing-context>nested browsing context</a>, and the <a href=#browsing-context-container>browsing context
   container</a> of that <a href=#nested-browsing-context>nested browsing context</a> is a
   <code><a href=#frame>frame</a></code> or <code><a href=#the-iframe-element>iframe</a></code> element, and that element
@@ -81274,7 +81284,7 @@
 
 form { margin-bottom: 1em; }</pre>
 
-  <p>When a <code>Document</code> is in <a href=#quirks-mode>quirks mode</a>,
+  <p>When a <code><a href=#document>Document</a></code> is in <a href=#quirks-mode>quirks mode</a>,
   margins on <a href=#html-elements>HTML elements</a> at the top or bottom of
   <code><a href=#the-body-element-0>body</a></code>, <code><a href=#the-td-element>td</a></code>, or <code><a href=#the-th-element>th</a></code> elements are
   expected to be collapsed to zero.</p>
@@ -81488,21 +81498,21 @@
   value</a>, and if that does not return an error, the user agent
   is expected to treat the attribute as a <a href=#presentational-hints title="presentational
   hints">presentational hint</a> setting the 'color' property of
-  any element in the <code>Document</code> matching the ':link'
+  any element in the <code><a href=#document>Document</a></code> matching the ':link'
   pseudo-class to the resulting color.</p>
 
   <p>When a <code><a href=#the-body-element-0>body</a></code> element has a <code title=attr-body-vlink><a href=#attr-body-vlink>vlink</a></code> attribute, its value is
   expected to be parsed using the <a href=#rules-for-parsing-a-legacy-color-value>rules for parsing a legacy
   color value</a>, and if that does not return an error, the user
   agent is expected to treat the attribute as a <a href=#presentational-hints title="presentational hints">presentational hint</a> setting the
-  'color' property of any element in the <code>Document</code>
+  'color' property of any element in the <code><a href=#document>Document</a></code>
   matching the ':visited' pseudo-class to the resulting color.</p>
 
   <p>When a <code><a href=#the-body-element-0>body</a></code> element has a <code title=attr-body-alink><a href=#attr-body-alink>alink</a></code> attribute, its value is
   expected to be parsed using the <a href=#rules-for-parsing-a-legacy-color-value>rules for parsing a legacy
   color value</a>, and if that does not return an error, the user
   agent is expected to treat the attribute as a <a href=#presentational-hints title="presentational hints">presentational hint</a> setting the
-  'color' property of any element in the <code>Document</code>
+  'color' property of any element in the <code><a href=#document>Document</a></code>
   matching the ':active' pseudo-class and either the ':link'
   pseudo-class or the ':visited' pseudo-class to the resulting
   color.</p>
@@ -81998,7 +82008,7 @@
   element already has intrinsic dimensions (e.g. from the
   <a href=#dimension-attributes>dimension attributes</a> or CSS rules), and either the user
   agent has reason to believe that the image will become <i title=img-available><a href=#img-available>available</a></i><!--input-img-available also-->
-  and be rendered in due course or the <code>Document</code> is in
+  and be rendered in due course or the <code><a href=#document>Document</a></code> is in
   <a href=#quirks-mode>quirks mode</a>, the element is expected to be treated as a
   replaced element whose content is the text that the element
   represents, if any, optionally alongside an icon indicating that the
@@ -82043,7 +82053,7 @@
   up if the user interacted with the actual image.</p>
 
   <hr><p>The following CSS rules are expected to apply when the
-  <code>Document</code> is in <a href=#quirks-mode>quirks mode</a>:</p>
+  <code><a href=#document>Document</a></code> is in <a href=#quirks-mode>quirks mode</a>:</p>
 
   <pre class=css>@namespace url(http://www.w3.org/1999/xhtml);
 
@@ -83235,13 +83245,13 @@
 
   <p>User agents are expected to allow the user to request the
   opportunity to <dfn id=obtain-a-physical-form>obtain a physical form</dfn> (or a
-  representation of a physical form) of a <code>Document</code>. For
+  representation of a physical form) of a <code><a href=#document>Document</a></code>. For
   example, selecting the option to print a page or convert it to PDF
   format.</p>
 
   <p>When the user actually <a href=#obtain-a-physical-form title="obtain a physical
   form">obtains a physical form</a> (or a representation of a
-  physical form) of a <code>Document</code>, the user agent is
+  physical form) of a <code><a href=#document>Document</a></code>, the user agent is
   expected to create a new view with the print media, render the
   result, and the discard the view.</p>
 
@@ -83577,10 +83587,10 @@
   <p id=sandboxPluginApplet>When the element is not <a href=#in-a-document>in a
   <code>Document</code></a>, and when the element's document is not
   <a href=#fully-active>fully active</a>, and when the element's
-  <code>Document</code>'s <a href=#browsing-context>browsing context</a> had its
+  <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> had its
   <a href=#sandboxed-plugins-browsing-context-flag>sandboxed plugins browsing context flag</a> when that
-  <code>Document</code> was created, and when the element's
-  <code>Document</code> was parsed from a resource whose <a href=#content-type-sniffing-0 title="Content-Type sniffing">sniffed type</a> as determined
+  <code><a href=#document>Document</a></code> was created, and when the element's
+  <code><a href=#document>Document</a></code> was parsed from a resource whose <a href=#content-type-sniffing-0 title="Content-Type sniffing">sniffed type</a> as determined
   during <a href=#navigate title=navigate>navigation</a> is
   <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code>, and when the element has an
   ancestor <a href=#media-element>media element</a>, and when the element has an
@@ -83987,7 +83997,7 @@
 
   <p>The <dfn id=dom-frame-contentdocument title=dom-frame-contentDocument><code>contentDocument</code></dfn>
   IDL attribute of the <code><a href=#frame>frame</a></code> element must return the
-  <code>Document</code> object of the <a href=#active-document>active document</a> of
+  <code><a href=#document>Document</a></code> object of the <a href=#active-document>active document</a> of
   the <code><a href=#frame>frame</a></code> element's <a href=#nested-browsing-context>nested browsing
   context</a>.</p>
 
@@ -84655,7 +84665,7 @@
   readonly attribute <a href=#htmlallcollection>HTMLAllCollection</a> <a href=#dom-document-all title=dom-document-all>all</a>;
 };</pre>
 
-  <p>The attributes of the <code>Document</code> object listed in the
+  <p>The attributes of the <code><a href=#document>Document</a></code> object listed in the
   first column of the following table must <a href=#reflect>reflect</a> the
   content attribute on <a href=#the-body-element>the body element</a> with the name
   given in the corresponding cell in the second column on the same
@@ -84679,13 +84689,13 @@
      <td><code title=attr-body-alink><a href=#attr-body-alink>alink</a></code>
   </table><hr><p>The <dfn id=dom-document-anchors title=dom-document-anchors><code>anchors</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only <code><a href=#the-a-element>a</a></code>
+  <code><a href=#document>Document</a></code> node, whose filter matches only <code><a href=#the-a-element>a</a></code>
   elements with <code title=attr-a-name><a href=#attr-a-name>name</a></code>
   attributes.</p>
 
   <p>The <dfn id=dom-document-applets title=dom-document-applets><code>applets</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only
+  <code><a href=#document>Document</a></code> node, whose filter matches only
   <code><a href=#the-applet-element>applet</a></code> elements.</p>
 
   <p>The <dfn id=dom-document-clear title=dom-document-clear><code>clear()</code></dfn>
@@ -84693,7 +84703,7 @@
 
   <hr><p>The <dfn id=dom-document-all title=dom-document-all><code>all</code></dfn>
   attribute must return an <code><a href=#htmlallcollection>HTMLAllCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches all elements.</p>
+  <code><a href=#document>Document</a></code> node, whose filter matches all elements.</p>
 
   <p>The object returned for <code title=dom-document-all><a href=#dom-document-all>all</a></code>
   has several unusual behaviors:</p>
@@ -84885,7 +84895,7 @@
     is to provide a way for content providers to indicate that they
     want the file to be interpreted in a manner that does not give the
     file's contents access to the rest of the site. This is achieved
-    by assigning the <code>Document</code> objects generated from
+    by assigning the <code><a href=#document>Document</a></code> objects generated from
     resources labeled as <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code> unique
     origins.</p>
     <p>To avoid having legacy user agents treating resources labeled

Modified: index
===================================================================
--- index	2010-02-16 08:22:23 UTC (rev 4747)
+++ index	2010-02-16 08:32:30 UTC (rev 4748)
@@ -1932,12 +1932,12 @@
   <p>A node's <dfn id=home-subtree>home subtree</dfn> is the subtree rooted at that
   node's <a href=#root-element>root element</a>.</p>
 
-  <p>The <code>Document</code> of a <code>Node</code> (such as an
-  element) is the <code>Document</code> that the <code>Node</code>'s
+  <p>The <code><a href=#document>Document</a></code> of a <code>Node</code> (such as an
+  element) is the <code><a href=#document>Document</a></code> that the <code>Node</code>'s
   <code title="">ownerDocument</code> IDL attribute returns.</p>
 
   <p>When an element's <a href=#root-element>root element</a> is the <a href=#root-element>root
-  element</a> of a <code>Document</code>, it is said to be <dfn id=in-a-document>in
+  element</a> of a <code><a href=#document>Document</a></code>, it is said to be <dfn id=in-a-document>in
   a <code>Document</code></dfn>. An element is said to have been <dfn id=insert-an-element-into-a-document title="insert an element into a document">inserted into a
   document</dfn> when its <a href=#root-element>root element</a> changes and is now
   the document's <a href=#root-element>root element</a>. Analogously, an element is
@@ -1947,9 +1947,9 @@
   element</a> to being another element.</p>
 
   <p>If a <code>Node</code> is <a href=#in-a-document>in a <code>Document</code></a>
-  then that <code>Document</code> is always the <code>Node</code>'s
-  <code>Document</code>, and the <code>Node</code>'s <code title="">ownerDocument</code> IDL attribute thus always returns that
-  <code>Document</code>.</p>
+  then that <code><a href=#document>Document</a></code> is always the <code>Node</code>'s
+  <code><a href=#document>Document</a></code>, and the <code>Node</code>'s <code title="">ownerDocument</code> IDL attribute thus always returns that
+  <code><a href=#document>Document</a></code>.</p>
 
   <p>The term <dfn id=tree-order>tree order</dfn> means a pre-order, depth-first
   traversal of DOM nodes involved (through the <code title="">parentNode</code>/<code title="">childNodes</code>
@@ -1998,10 +1998,10 @@
 
   <p>The term <dfn id=plugin>plugin</dfn> is used to mean any content handler
   that supports displaying content as part of the user agent's
-  rendering of a <code>Document</code> object, but that neither acts
+  rendering of a <code><a href=#document>Document</a></code> object, but that neither acts
   as a <a href=#child-browsing-context>child browsing context</a> of the
-  <code>Document</code> nor introduces any <code>Node</code> objects
-  to the <code>Document</code>'s DOM.</p>
+  <code><a href=#document>Document</a></code> nor introduces any <code>Node</code> objects
+  to the <code><a href=#document>Document</a></code>'s DOM.</p>
 
   <p>Typically such content handlers are provided by third parties,
   though a user agent can designate content handlers to be
@@ -2394,9 +2394,19 @@
     <p>Implementations must support some version of DOM Core and DOM
     Events, because this specification is defined in terms of the DOM,
     and some of the features are defined as extensions to the DOM Core
-    interfaces. <a href=#refsDOMCORE>[DOMCORE]</a> <a href=#refsDOMCORE>[DOMEVENTS]</a></p>
+    interfaces. <a href=#refsDOMCORE>[DOMCORE]</a> <a href=#refsDOMEVENTS>[DOMEVENTS]</a></p>
 
-   </dd>
+    <p>In particular, the following features are defined in the DOM
+    Core specification: <a href=#refsDOMCORE>[DOMCORE]</a></p>
+    <ul class=brief><li><dfn id=document>Document</dfn></li>
+     <li><dfn id=element>Element</dfn></li>
+     <li><dfn id=nodelist>NodeList</dfn></li>
+     <li><dfn id=textcontent>textContent</dfn></li>
+    </ul><p>The following features are defined in the DOM Events
+    specification: <a href=#refsDOMEVENTS>[DOMEVENTS]</a></p>
+    <ul class=brief><li><dfn id=event>Event</dfn></li>
+     <li><dfn id=eventtarget>EventTarget</dfn></li>
+    </ul></dd>
 
    <dt>Web IDL</dt>
 
@@ -4758,7 +4768,7 @@
   the user agent must use the <span>resolve a Web address</span>
   algorithm defined by the Web addresses specification. <a href=#refsWEBADDRESSES>[WEBADDRESSES]</a></p>
 
-  <p>The <dfn id=document-base-url>document base URL</dfn> of a <code>Document</code>
+  <p>The <dfn id=document-base-url>document base URL</dfn> of a <code><a href=#document>Document</a></code>
   object is the <a href=#absolute-url>absolute URL</a> obtained by running these
   substeps:</p>
 
@@ -4775,7 +4785,7 @@
     context's creation. -->
 
     <p>If <var title="">fallback base url</var> is
-    <code><a href=#about:blank>about:blank</a></code>, and the <code>Document</code>'s
+    <code><a href=#about:blank>about:blank</a></code>, and the <code><a href=#document>Document</a></code>'s
     <a href=#browsing-context>browsing context</a> has a <a href=#creator-browsing-context>creator browsing
     context</a>, then let <var title="">fallback base url</var>
     be the <a href=#document-base-url>document base URL</a> of the <a href=#creator-document>creator
@@ -5115,7 +5125,7 @@
     <p>Generate the <i>address of the resource from which Request-URIs
     are obtained</i> as required by HTTP for the <code title=http-referer>Referer</code> (sic) header from <a href="#the-document's-current-address">the
     document's current address</a> of the appropriate
-    <code>Document</code> as given by the following list. <a href=#refsHTTP>[HTTP]</a></p>
+    <code><a href=#document>Document</a></code> as given by the following list. <a href=#refsHTTP>[HTTP]</a></p>
 
     <dl class=switch><dt>When <a href=#navigate title=navigate>navigating</a></dt>
 
@@ -5124,7 +5134,7 @@
 
      <dt>When fetching resources for an element</dt>
 
-     <dd>The element's <code>Document</code>.</dd>
+     <dd>The element's <code><a href=#document>Document</a></code>.</dd>
 
      <dt>When fetching resources in response to a call to an API</dt>
 
@@ -5138,7 +5148,7 @@
     NOT include a fragment." (section 14.36) -->
 
     <p>If the <a href=#origin>origin</a> of the appropriate
-    <code>Document</code> is not a scheme/host/port tuple, then the
+    <code><a href=#document>Document</a></code> is not a scheme/host/port tuple, then the
     <code title=http-referer>Referer</code> (sic) header must be
     omitted, regardless of its value.</p>
 
@@ -5777,7 +5787,7 @@
   caller getter object <a href=#dom-htmlformcontrolscollection-nameditem title=dom-HTMLFormControlsCollection-namedItem>namedItem</a>(in DOMString name); // overrides inherited namedItem()
 };
 
-interface <dfn id=radionodelist>RadioNodeList</dfn> : <span>NodeList</span> {
+interface <dfn id=radionodelist>RadioNodeList</dfn> : <a href=#nodelist>NodeList</a> {
           attribute DOMString <a href=#dom-radionodelist-value title=dom-RadioNodeList-value>value</a>;
 };</pre>
 
@@ -5841,8 +5851,8 @@
    <li>Return that <code><a href=#radionodelist>RadioNodeList</a></code> object.</li>
 
   </ol><hr><p>Members of the <code><a href=#radionodelist>RadioNodeList</a></code> interface inherited
-  from the <code>NodeList</code> interface must behave as they would
-  on a <code>NodeList</code> object.</p>
+  from the <code><a href=#nodelist>NodeList</a></code> interface must behave as they would
+  on a <code><a href=#nodelist>NodeList</a></code> object.</p>
 
   <p>The <dfn id=dom-radionodelist-value title=dom-RadioNodeList-value><code>value</code></dfn>
   IDL attribute on the <code><a href=#radionodelist>RadioNodeList</a></code> object, on getting,
@@ -5920,7 +5930,7 @@
    <dt><var title="">collection</var>(<var title="">name</var>)</dt>
    <dd>
     <p>Returns the item with <a href=#concept-id title=concept-id>ID</a> or <code title=attr-option-name>name</code> <var title="">name</var> from the collection.</p>
-    <p>If there are multiple matching items, then a <code>NodeList</code> object containing all those elements is returned.</p>
+    <p>If there are multiple matching items, then a <code><a href=#nodelist>NodeList</a></code> object containing all those elements is returned.</p>
     <p>Returns null if no element with that <a href=#concept-id title=concept-id>ID</a> could be found.</p>
    </dd>
 
@@ -5985,16 +5995,16 @@
    either an <code title=attr-id><a href=#the-id-attribute>id</a></code> attribute or a <code title=attr-option-name>name</code> attribute equal to <var title="">name</var>, then return null and stop the algorithm.</li>
 
    <!-- IE returns an HTMLCollection instead; we may need to change to that for compat -->
-   <li>Otherwise, create a <code>NodeList</code> object representing a
+   <li>Otherwise, create a <code><a href=#nodelist>NodeList</a></code> object representing a
    live view of the <code><a href=#htmloptionscollection>HTMLOptionsCollection</a></code> object, further
-   filtered so that the only nodes in the <code>NodeList</code> object
+   filtered so that the only nodes in the <code><a href=#nodelist>NodeList</a></code> object
    are those that have either an <code title=attr-id><a href=#the-id-attribute>id</a></code>
    attribute or a <code title=attr-option-name>name</code> attribute
    equal to <var title="">name</var>. The nodes in the
-   <code>NodeList</code> object must be sorted in <a href=#tree-order>tree
+   <code><a href=#nodelist>NodeList</a></code> object must be sorted in <a href=#tree-order>tree
    order</a>.</li>
 
-   <li>Return that <code>NodeList</code> object.</li>
+   <li>Return that <code><a href=#nodelist>NodeList</a></code> object.</li>
 
   </ol><p>The <dfn id=dom-htmloptionscollection-add title=dom-HTMLOptionsCollection-add><code>add(<var title="">element</var>, <var title="">before</var>)</code></dfn>
   method must act according to the following algorithm:</p>
@@ -6060,7 +6070,7 @@
 
 typedef sequence<any> <dfn id=propertyvaluearray>PropertyValueArray</dfn>;
 
-interface <dfn id=propertynodelist>PropertyNodeList</dfn> : <span>NodeList</span> {
+interface <dfn id=propertynodelist>PropertyNodeList</dfn> : <a href=#nodelist>NodeList</a> {
   readonly attribute <a href=#propertyvaluearray>PropertyValueArray</a> <a href=#dom-propertynodelist-values title=dom-PropertyNodeList-values>values</a>;
 };</pre>
 
@@ -6123,8 +6133,8 @@
   particular <var title="">name</var> is queried.</p>
 
   <hr><p>Members of the <code><a href=#propertynodelist>PropertyNodeList</a></code> interface inherited
-  from the <code>NodeList</code> interface must behave as they would
-  on a <code>NodeList</code> object.</p>
+  from the <code><a href=#nodelist>NodeList</a></code> interface must behave as they would
+  on a <code><a href=#nodelist>NodeList</a></code> object.</p>
 
   <p>The <dfn id=dom-propertynodelist-values title=dom-PropertyNodeList-values><code>values</code></dfn>
   IDL attribute on the <code><a href=#propertynodelist>PropertyNodeList</a></code> object, on
@@ -6625,11 +6635,11 @@
   <div class=example>
 
    <p>For example, the <code>document.location</code> attribute means
-   that there is a strong reference from a <code>Document</code>
+   that there is a strong reference from a <code><a href=#document>Document</a></code>
    object to its <code><a href=#location>Location</a></code> object. Similarly, there is
-   always a strong reference from a <code>Document</code> to any
+   always a strong reference from a <code><a href=#document>Document</a></code> to any
    descendant nodes, and from any node to its owner
-   <code>Document</code>.</p>
+   <code><a href=#document>Document</a></code>.</p>
 
   </div>
 
@@ -6663,29 +6673,29 @@
   <h3 id=documents><span class=secno>3.1 </span>Documents</h3>
 
   <p>Every XML and HTML document in an HTML UA is represented by a
-  <code>Document</code> object. <a href=#refsDOMCORE>[DOMCORE]</a></p>
+  <code><a href=#document>Document</a></code> object. <a href=#refsDOMCORE>[DOMCORE]</a></p>
 
   <p><dfn id="the-document's-address">The document's address</dfn> is an <a href=#absolute-url>absolute URL</a>
-  that is set when the <code>Document</code> is created. <dfn id="the-document's-current-address">The
+  that is set when the <code><a href=#document>Document</a></code> is created. <dfn id="the-document's-current-address">The
   document's current address</dfn> is an <a href=#absolute-url>absolute URL</a>
-  that can change during the lifetime of the <code>Document</code>,
+  that can change during the lifetime of the <code><a href=#document>Document</a></code>,
   for example when the user <a href=#navigate title=navigate>navigates</a> to
   a <a href=#scroll-to-fragid title=navigate-fragid>fragment identifier</a> on the
   page or when the <code title=dom-history-pushState><a href=#dom-history-pushstate>pushState()</a></code> method is called
   with a new <a href=#url>URL</a>. <span class=impl><a href="#the-document's-current-address">The document's
   current address</a> must be set to <a href="#the-document's-address">the document's
-  address</a> when the <code>Document</code> is created.</span></p>
+  address</a> when the <code><a href=#document>Document</a></code> is created.</span></p>
 
   <p class=note>Interactive user agents typically expose <a href="#the-document's-current-address">the
   document's current address</a> in their user interface.</p>
 
-  <p>When a <code>Document</code> is created by a <a href=#concept-script title=concept-script>script</a> using the <code title=dom-DOMImplementation-createDocument>createDocument()</code>
+  <p>When a <code><a href=#document>Document</a></code> is created by a <a href=#concept-script title=concept-script>script</a> using the <code title=dom-DOMImplementation-createDocument>createDocument()</code>
   or <code title=dom-DOMHTMLImplementation-createHTMLDocument><a href=#dom-domhtmlimplementation-createhtmldocument>createHTMLDocument()</a></code>
   APIs, <a href="#the-document's-address">the document's address</a> is the same as <a href="#the-document's-address">the
   document's address</a> of the <a href=#active-document>active document</a> of the
   <a href="#script's-browsing-context">script's browsing context</a>.</p>
 
-  <p><code>Document</code> objects are assumed to be <dfn id=xml-documents>XML
+  <p><code><a href=#document>Document</a></code> objects are assumed to be <dfn id=xml-documents>XML
   documents</dfn> unless they are flagged as being <dfn id=html-documents>HTML
   documents</dfn> when they are created. Whether a document is an
   <a href=#html-documents title="HTML documents">HTML document</a> or an <a href=#xml-documents title="XML documents">XML document</a> affects the behavior of
@@ -6695,23 +6705,23 @@
 
   <h4 id=documents-in-the-dom><span class=secno>3.1.1 </span>Documents in the DOM</h4>
 
-  <p>All <code>Document</code> objects (in user agents implementing
+  <p>All <code><a href=#document>Document</a></code> objects (in user agents implementing
   this specification) <span class=impl>must</span> also implement
   the <code><a href=#htmldocument>HTMLDocument</a></code> interface, available using
   binding-specific methods. (This is the case whether or not the
   document in question is an <a href=#html-documents title="HTML documents">HTML
   document</a> or indeed whether it contains any <a href=#html-elements>HTML
-  elements</a> at all.) <code>Document</code> objects <span class=impl>must</span> also implement the document-level interface
+  elements</a> at all.) <code><a href=#document>Document</a></code> objects <span class=impl>must</span> also implement the document-level interface
   of any other namespaces that the UA supports.</p>
 
   <p class=example>For example, if an HTML implementation also
-  supports SVG, then the <code>Document</code> object implements both
+  supports SVG, then the <code><a href=#document>Document</a></code> object implements both
   <code><a href=#htmldocument>HTMLDocument</a></code> and <code>SVGDocument</code>.</p>
 
   <p class=note>Because the <code><a href=#htmldocument>HTMLDocument</a></code> interface is
   now obtained using binding-specific casting methods instead of
   simply being the primary interface of the document object, it is no
-  longer defined as inheriting from <code>Document</code>.</p>
+  longer defined as inheriting from <code><a href=#document>Document</a></code>.</p>
 
   <pre class=idl>[OverrideBuiltins]
 interface <dfn id=htmldocument>HTMLDocument</dfn> {
@@ -6754,7 +6764,7 @@
 
   // <a href=#editing>user interaction</a>
   <a href=#selection-0>Selection</a> <a href=#dom-document-getselection title=dom-document-getSelection>getSelection</a>();
-  readonly attribute <span>Element</span> <a href=#dom-document-activeelement title=dom-document-activeElement>activeElement</a>;
+  readonly attribute <a href=#element>Element</a> <a href=#dom-document-activeelement title=dom-document-activeElement>activeElement</a>;
   boolean <a href=#dom-document-hasfocus title=dom-document-hasFocus>hasFocus</a>();
            attribute DOMString <a href=#designMode title=dom-document-designMode>designMode</a>;
   boolean <a href=#execCommand title=dom-document-execCommand>execCommand</a>(in DOMString commandId);
@@ -6823,7 +6833,7 @@
            attribute <a href=#function>Function</a> <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
            attribute <a href=#function>Function</a> <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
 };
-<span>Document</span> implements <a href=#htmldocument>HTMLDocument</a>;</pre>
+<a href=#document>Document</a> implements <a href=#htmldocument>HTMLDocument</a>;</pre>
 
   <p>Since the <code><a href=#htmldocument>HTMLDocument</a></code> interface holds methods and
   attributes related to a number of disparate features, the members of
@@ -6836,7 +6846,7 @@
   <code><a href=#security_err>SECURITY_ERR</a></code> exception whenever any of the members of
   an <code><a href=#htmldocument>HTMLDocument</a></code> object are accessed by scripts whose
   <a href=#effective-script-origin>effective script origin</a> is not the <a href=#same-origin title="same
-  origin">same</a> as the <code>Document</code>'s <a href=#effective-script-origin>effective
+  origin">same</a> as the <code><a href=#document>Document</a></code>'s <a href=#effective-script-origin>effective
   script origin</a>.</p>
 
 
@@ -6851,7 +6861,7 @@
    <dt><var title="">document</var> . <code title=dom-document-referrer><a href=#dom-document-referrer>referrer</a></code></dt>
    <dd>
     <p>Returns <a href="#the-document's-current-address" title="the document's current address">the
-    address</a> of the <code>Document</code> from which the user
+    address</a> of the <code><a href=#document>Document</a></code> from which the user
     navigated to this one, unless it was blocked or there was no such
     document, in which case it returns the empty string.</p>
     <p>The <code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code> link
@@ -6888,11 +6898,11 @@
   <hr><dl class=domintro><dt><var title="">document</var> . <code title=dom-document-cookie><a href=#dom-document-cookie>cookie</a></code> [ = <var title="">value</var> ]</dt>
    <dd>
     <p>Returns the HTTP cookies that apply to the
-    <code>Document</code>. If there are no cookies or cookies can't be
+    <code><a href=#document>Document</a></code>. If there are no cookies or cookies can't be
     applied to this resource, the empty string will be returned.</p>
     <p>Can be set, to add a new cookie to the element's set of HTTP
     cookies.</p>
-    <p>If the <code>Document</code> has no <a href=#browsing-context>browsing
+    <p>If the <code><a href=#document>Document</a></code> has no <a href=#browsing-context>browsing
     context</a> an <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception will be
     thrown. If the contents are <a href=#sandboxed-origin-browsing-context-flag title="sandboxed origin browsing
     context flag">sandboxed into a unique origin</a>, a
@@ -6908,8 +6918,8 @@
   with a <a href=#browsing-context>browsing context</a> then the user agent must raise
   an <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception. Otherwise, if the
   <a href=#sandboxed-origin-browsing-context-flag>sandboxed origin browsing context flag</a> was set on the
-  <a href=#browsing-context>browsing context</a> of the <code>Document</code> when the
-  <code>Document</code> was created, the user agent must raise a
+  <a href=#browsing-context>browsing context</a> of the <code><a href=#document>Document</a></code> when the
+  <code><a href=#document>Document</a></code> was created, the user agent must raise a
   <code><a href=#security_err>SECURITY_ERR</a></code> exception. Otherwise, if <a href="#the-document's-address">the
   document's address</a> does not use a server-based naming
   authority, it must return the empty string. Otherwise, it must first
@@ -6921,8 +6931,8 @@
   <a href=#browsing-context>browsing context</a> then the user agent must raise an
   <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception. Otherwise, if the
   <a href=#sandboxed-origin-browsing-context-flag>sandboxed origin browsing context flag</a> was set on the
-  <a href=#browsing-context>browsing context</a> of the <code>Document</code> when the
-  <code>Document</code> was created, the user agent must raise a
+  <a href=#browsing-context>browsing context</a> of the <code><a href=#document>Document</a></code> when the
+  <code><a href=#document>Document</a></code> was created, the user agent must raise a
   <code><a href=#security_err>SECURITY_ERR</a></code> exception. Otherwise, if <a href="#the-document's-address">the
   document's address</a> does not use a server-based naming
   authority, it must do nothing. Otherwise, the user agent must
@@ -6951,7 +6961,7 @@
 
   <p>The <dfn id=dom-document-lastmodified title=dom-document-lastModified><code>lastModified</code></dfn>
   attribute, on getting, must return the date and time of the
-  <code>Document</code>'s source file's last modification, in the
+  <code><a href=#document>Document</a></code>'s source file's last modification, in the
   user's local time zone, in the following format:</p>
 
   <ol><li> The month component of the date. </li>
@@ -6984,7 +6994,7 @@
   DIGIT NINE (9) representing the number in base ten, zero-padded if
   necessary.</p>
 
-  <p>The <code>Document</code>'s source file's last modification date
+  <p>The <code><a href=#document>Document</a></code>'s source file's last modification date
   and time must be derived from relevant features of the networking
   protocols used, e.g. from the value of the HTTP <code title=http-last-modified>Last-Modified</code> header of the
   document, or from metadata in the file system for local files. If
@@ -7003,7 +7013,7 @@
 
   </dl><div class=impl>
 
-  <p>A <code>Document</code> is always set to one of three modes:
+  <p>A <code><a href=#document>Document</a></code> is always set to one of three modes:
   <dfn id=no-quirks-mode>no quirks mode</dfn>, the default; <dfn id=quirks-mode>quirks mode</dfn>, used
   typically for legacy documents; and <dfn id=limited-quirks-mode>limited quirks mode</dfn>,
   also known as "almost standards" mode. The mode is only ever changed
@@ -7041,7 +7051,7 @@
   </dl><div class=impl>
 
   <p>Documents have an associated <dfn id="document's-character-encoding" title="document's character
-  encoding">character encoding</dfn>. When a <code>Document</code>
+  encoding">character encoding</dfn>. When a <code><a href=#document>Document</a></code>
   object is created, the <a href="#document's-character-encoding">document's character encoding</a>
   must be initialized to UTF-16. Various algorithms during page
   loading affect this value, as does the <code title=dom-document-charset><a href=#dom-document-charset>charset</a></code> setter. <a href=#refsIANACHARSET>[IANACHARSET]</a></p>
@@ -7068,23 +7078,23 @@
 
   <dl class=domintro><dt><var title="">document</var> . <code title=dom-document-readyState><a href=#dom-document-readystate>readyState</a></code></dt>
    <dd>
-    <p>Returns "loading" while the <code>Document</code> is loading, and "complete" once it has loaded.</p>
-    <p>The <code title=event-readystatechange>readystatechange</code> event fires on the <code>Document</code> object when this value changes.</p>
+    <p>Returns "loading" while the <code><a href=#document>Document</a></code> is loading, and "complete" once it has loaded.</p>
+    <p>The <code title=event-readystatechange>readystatechange</code> event fires on the <code><a href=#document>Document</a></code> object when this value changes.</p>
    </dd>
 
   </dl><div class=impl>
 
   <p>Each document has a <dfn id=current-document-readiness>current document readiness</dfn>. When a
-  <code>Document</code> object is created, it must have its
+  <code><a href=#document>Document</a></code> object is created, it must have its
   <a href=#current-document-readiness>current document readiness</a> set to the string "loading"
   if the document is associated with an <a href=#html-parser>HTML parser</a> or an
   <a href=#xml-parser>XML parser</a>, or to the string "complete"
   otherwise. Various algorithms during page loading affect this
   value. When the value is set, the user agent must <a href=#fire-a-simple-event>fire a
   simple event</a> named <code title=event-readystatechange>readystatechange</code> at the
-  <code>Document</code> object.</p>
+  <code><a href=#document>Document</a></code> object.</p>
 
-  <p>A <code>Document</code> is said to have an <dfn id=active-parser>active
+  <p>A <code><a href=#document>Document</a></code> is said to have an <dfn id=active-parser>active
   parser</dfn> if it is associated with an <a href=#html-parser>HTML parser</a> or
   an <a href=#xml-parser>XML parser</a> that has not yet been <a href=#stop-parsing title="stop
   parsing">stopped</a> or aborted.</p>
@@ -7207,7 +7217,7 @@
   there is no such element, it is null. <span class=impl>If the body
   element is null, then when the specification requires that events be
   fired at "the body element", they must instead be fired at the
-  <code>Document</code> object.</span></p>
+  <code><a href=#document>Document</a></code> object.</span></p>
 
   <div class=impl>
 
@@ -7246,28 +7256,28 @@
 
   <hr><dl class=domintro><dt><var title="">document</var> . <code title=dom-document-images><a href=#dom-document-images>images</a></code></dt>
    <dd>
-    <p>Returns an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-img-element>img</a></code> elements in the <code>Document</code>.</p>
+    <p>Returns an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-img-element>img</a></code> elements in the <code><a href=#document>Document</a></code>.</p>
    </dd>
 
    <dt><var title="">document</var> . <code title=dom-document-embeds><a href=#dom-document-embeds>embeds</a></code></dt>
    <dt><var title="">document</var> . <code title=dom-document-plugins><a href=#dom-document-plugins>plugins</a></code></dt>
    <dd>
-    <p>Return an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-embed-element>embed</a></code> elements in the <code>Document</code>.</p>
+    <p>Return an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-embed-element>embed</a></code> elements in the <code><a href=#document>Document</a></code>.</p>
    </dd>
 
    <dt><var title="">document</var> . <code title=dom-document-links><a href=#dom-document-links>links</a></code></dt>
    <dd>
-    <p>Returns an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements in the <code>Document</code> that have <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attributes.</p>
+    <p>Returns an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements in the <code><a href=#document>Document</a></code> that have <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attributes.</p>
    </dd>
 
    <dt><var title="">document</var> . <code title=dom-document-forms><a href=#dom-document-forms>forms</a></code></dt>
    <dd>
-    <p>Return an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-form-element>form</a></code> elements in the <code>Document</code>.</p>
+    <p>Return an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#the-form-element>form</a></code> elements in the <code><a href=#document>Document</a></code>.</p>
    </dd>
 
    <dt><var title="">document</var> . <code title=dom-document-scripts><a href=#dom-document-scripts>scripts</a></code></dt>
    <dd>
-    <p>Return an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#script>script</a></code> elements in the <code>Document</code>.</p>
+    <p>Return an <code><a href=#htmlcollection>HTMLCollection</a></code> of the <code><a href=#script>script</a></code> elements in the <code><a href=#document>Document</a></code>.</p>
    </dd>
 
   </dl><div class=impl>
@@ -7277,12 +7287,12 @@
 
   <p>The <dfn id=dom-document-images title=dom-document-images><code>images</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only
+  <code><a href=#document>Document</a></code> node, whose filter matches only
   <code><a href=#the-img-element>img</a></code> elements.</p>
 
   <p>The <dfn id=dom-document-embeds title=dom-document-embeds><code>embeds</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only
+  <code><a href=#document>Document</a></code> node, whose filter matches only
   <code><a href=#the-embed-element>embed</a></code> elements.</p>
 
   <p>The <dfn id=dom-document-plugins title=dom-document-plugins><code>plugins</code></dfn>
@@ -7290,75 +7300,75 @@
 
   <p>The <dfn id=dom-document-links title=dom-document-links><code>links</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only <code><a href=#the-a-element>a</a></code>
+  <code><a href=#document>Document</a></code> node, whose filter matches only <code><a href=#the-a-element>a</a></code>
   elements with <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code>
   attributes and <code><a href=#the-area-element>area</a></code> elements with <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attributes.</p>
 
   <p>The <dfn id=dom-document-forms title=dom-document-forms><code>forms</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only
+  <code><a href=#document>Document</a></code> node, whose filter matches only
   <code><a href=#the-form-element>form</a></code> elements.</p>
 
   <p>The <dfn id=dom-document-scripts title=dom-document-scripts><code>scripts</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only
+  <code><a href=#document>Document</a></code> node, whose filter matches only
   <code><a href=#script>script</a></code> elements.</p>
 
   <hr></div>
 
   <dl class=domintro><dt><var title="">collection</var> = <var title="">document</var> . <code title=dom-document-getElementsByName><a href=#dom-document-getelementsbyname>getElementsByName</a></code>(<var title="">name</var>)</dt>
    <dd>
-    <p>Returns a <code>NodeList</code> of elements in the
-    <code>Document</code> that have a <code title="">name</code>
+    <p>Returns a <code><a href=#nodelist>NodeList</a></code> of elements in the
+    <code><a href=#document>Document</a></code> that have a <code title="">name</code>
     attribute with the value <var title="">name</var>.</p>
    </dd>
 
    <dt><var title="">collection</var> = <var title="">document</var> . <code title=dom-document-getElementsByClassName><a href=#dom-document-getelementsbyclassname>getElementsByClassName(<var title="">classes</var>)</a></code></dt>
    <dt><var title="">collection</var> = <var title="">element</var> . <code title=dom-getElementsByClassName><a href=#dom-getelementsbyclassname>getElementsByClassName(<var title="">classes</var>)</a></code></dt>
    <dd>
-    <p>Returns a <code>NodeList</code> of the elements in the object
-    on which the method was invoked (a <code>Document</code> or an
-    <code>Element</code>) that have all the classes given by <var title="">classes</var>.</p>
+    <p>Returns a <code><a href=#nodelist>NodeList</a></code> of the elements in the object
+    on which the method was invoked (a <code><a href=#document>Document</a></code> or an
+    <code><a href=#element>Element</a></code>) that have all the classes given by <var title="">classes</var>.</p>
     <p>The <var title="">classes</var> argument is interpreted as a
     space-separated list of classes.</p>
    </dd>
 
   </dl><div class=impl>
 
-  <p>The <dfn id=dom-document-getelementsbyname title=dom-document-getElementsByName><code>getElementsByName(<var title="">name</var>)</code></dfn> method takes a string <var title="">name</var>, and must return a live <code>NodeList</code>
+  <p>The <dfn id=dom-document-getelementsbyname title=dom-document-getElementsByName><code>getElementsByName(<var title="">name</var>)</code></dfn> method takes a string <var title="">name</var>, and must return a live <code><a href=#nodelist>NodeList</a></code>
   containing all the <a href=#html-elements>HTML elements</a> in that document that
   have a <code title="">name</code> attribute whose value is equal to
   the <var title="">name</var> argument (in a
   <a href=#case-sensitive>case-sensitive</a> manner), in <a href=#tree-order>tree order</a>. A
-  new <code>NodeList</code> object must be returned each time unless
+  new <code><a href=#nodelist>NodeList</a></code> object must be returned each time unless
   the argument is the same as the last time the method was invoked on
-  this <code>Document</code> object, in which case the object must be
+  this <code><a href=#document>Document</a></code> object, in which case the object must be
   the same as the object returned by the previous call.</p>
 
   <p>The <dfn id=dom-document-getelementsbyclassname title=dom-document-getElementsByClassName><code>getElementsByClassName(<var title="">classNames</var>)</code></dfn> method takes a string that
   contains a <a href=#set-of-space-separated-tokens>set of space-separated tokens</a> representing
   classes. When called, the method must return a live
-  <code>NodeList</code> object containing all the elements in the
+  <code><a href=#nodelist>NodeList</a></code> object containing all the elements in the
   document, in <a href=#tree-order>tree order</a>, that have all the classes
   specified in that argument, having obtained the classes by <a href=#split-a-string-on-spaces title="split a string on spaces">splitting a string on
   spaces</a>. (Duplicates are ignored.) If there are no tokens
   specified in the argument, then the method must return an empty
-  <code>NodeList</code>. If the document is in <a href=#quirks-mode>quirks
+  <code><a href=#nodelist>NodeList</a></code>. If the document is in <a href=#quirks-mode>quirks
   mode</a>, then the comparisons for the classes must be done in an
   <a href=#ascii-case-insensitive>ASCII case-insensitive</a> manner, otherwise, the
   comparisons must be done in a <a href=#case-sensitive>case-sensitive</a> manner. A
-  new <code>NodeList</code> object must be returned each time unless
+  new <code><a href=#nodelist>NodeList</a></code> object must be returned each time unless
   the argument is the same as the last time the method was invoked on
-  this <code>Document</code> object, in which case the object must be
+  this <code><a href=#document>Document</a></code> object, in which case the object must be
   the same as the object returned by the previous call.</p>
 
   <p>The <dfn id=dom-getelementsbyclassname title=dom-getElementsByClassName><code>getElementsByClassName(<var title="">classNames</var>)</code></dfn> method on the
   <code><a href=#htmlelement>HTMLElement</a></code> interface must return a live
-  <code>NodeList</code> with the nodes that the
+  <code><a href=#nodelist>NodeList</a></code> with the nodes that the
   <code><a href=#htmldocument>HTMLDocument</a></code> <code title=dom-document-getElementsByClassName><a href=#dom-document-getelementsbyclassname>getElementsByClassName()</a></code>
   method would return when passed the same argument(s), excluding any
   elements that are not descendants of the <code><a href=#htmlelement>HTMLElement</a></code>
-  object on which the method was invoked. A new <code>NodeList</code>
+  object on which the method was invoked. A new <code><a href=#nodelist>NodeList</a></code>
   object must be returned each time unless the argument is the same as
   the last time the method was invoked on this
   <code><a href=#htmlelement>HTMLElement</a></code> object, in which case the object must be
@@ -7384,7 +7394,7 @@
 
    <p>A call to
    <code>document.getElementById('example').getElementsByClassName('aaa')</code>
-   would return a <code>NodeList</code> with the two paragraphs
+   would return a <code><a href=#nodelist>NodeList</a></code> with the two paragraphs
    <code>p1</code> and <code>p2</code> in it.</p>
 
    <p>A call to <code>getElementsByClassName('ccc bbb')</code>
@@ -7414,13 +7424,13 @@
   attributes of all the <code><a href=#the-applet-element>applet</a></code>, <code><a href=#the-embed-element>embed</a></code>,
   <code><a href=#the-form-element>form</a></code>, <code><a href=#the-iframe-element>iframe</a></code>, <code><a href=#the-img-element>img</a></code>, and
   <a href=#fallback-free>fallback-free</a> <code><a href=#the-object-element>object</a></code> elements in the
-  <code>Document</code> that have <code title=attr-name>name</code>
+  <code><a href=#document>Document</a></code> that have <code title=attr-name>name</code>
   content attributes, and the values of the <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes of all the
   <code><a href=#the-applet-element>applet</a></code> and <a href=#fallback-free>fallback-free</a>
-  <code><a href=#the-object-element>object</a></code> elements in the <code>Document</code> that have
+  <code><a href=#the-object-element>object</a></code> elements in the <code><a href=#document>Document</a></code> that have
   <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes, and the values
   of the <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes of all the
-  <code><a href=#the-img-element>img</a></code> elements in the <code>Document</code> that have
+  <code><a href=#the-img-element>img</a></code> elements in the <code><a href=#document>Document</a></code> that have
   both <code title=attr-name>name</code> content attributes and
   <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes.</p>
 
@@ -7432,7 +7442,7 @@
   <ol><li>
 
     <p>Let <var title="">elements</var> be the list of <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with
-    the name <var title="">name</var> in the <code>Document</code>.
+    the name <var title="">name</var> in the <code><a href=#document>Document</a></code>.
 
     <p class=note>There will be at least one such element, by
     definition.<!-- (If there wasn't, then this algorithm wouldn't
@@ -7460,7 +7470,7 @@
    <li>
 
     <p>Otherwise return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-    <code>Document</code> node, whose filter matches only <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with
+    <code><a href=#document>Document</a></code> node, whose filter matches only <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with
     the name <var title="">name</var>.</p> <!-- the same one each time
     is returned, because of the rule under collections -->
 
@@ -7511,7 +7521,7 @@
 
   <pre class=idl>[Supplemental, NoInterfaceObject]
 interface <dfn id=domhtmlimplementation>DOMHTMLImplementation</dfn> {
-  <span>Document</span> <a href=#dom-domhtmlimplementation-createhtmldocument title=dom-DOMHTMLImplementation-createHTMLDocument>createHTMLDocument</a>(in DOMString title);
+  <a href=#document>Document</a> <a href=#dom-domhtmlimplementation-createhtmldocument title=dom-DOMHTMLImplementation-createHTMLDocument>createHTMLDocument</a>(in DOMString title);
 };
 <span>DOMImplementation</span> implements <a href=#domhtmlimplementation>DOMHTMLImplementation</a>;</pre>
 
@@ -7519,7 +7529,7 @@
   following steps:</p>
 
   <ol><li><p>Let <var title="">doc</var> be a newly created
-   <code>Document</code> object.</li>
+   <code><a href=#document>Document</a></code> object.</li>
 
    <li><p>Mark <var title="">doc</var> as being an <a href=#html-documents title="HTML
    documents">HTML document</a>.</li>
@@ -7670,7 +7680,7 @@
   must be used by elements that have no additional
   requirements,</span> is the <code><a href=#htmlelement>HTMLElement</a></code> interface.</p>
 
-  <pre class=idl>interface <dfn id=htmlelement>HTMLElement</dfn> : <span>Element</span> {
+  <pre class=idl>interface <dfn id=htmlelement>HTMLElement</dfn> : <a href=#element>Element</a> {
   // <a href=#dom-tree-accessors>DOM tree accessors</a>
   NodeList <a href=#dom-getelementsbyclassname title=dom-getElementsByClassName>getElementsByClassName</a>(in DOMString classNames);
 
@@ -9765,27 +9775,27 @@
 
    <dd>
 
-    <p>Causes the <code>Document</code> to be replaced in-place, as if
-    it was a new <code>Document</code> object, but reusing the
+    <p>Causes the <code><a href=#document>Document</a></code> to be replaced in-place, as if
+    it was a new <code><a href=#document>Document</a></code> object, but reusing the
     previous object, which is then returned.</p>
 
     <p>If the <var title="">type</var> argument is omitted or has the
     value "<code><a href=#text/html>text/html</a></code>", then the resulting
-    <code>Document</code> has an HTML parser associated with it, which
+    <code><a href=#document>Document</a></code> has an HTML parser associated with it, which
     can be given data to parse using <code title=dom-document-write><a href=#dom-document-write>document.write()</a></code>. Otherwise, all
     content passed to <code title=dom-document-write><a href=#dom-document-write>document.write()</a></code> will be parsed
     as plain text.</p>
 
     <p>If the <var title="">replace</var> argument is present and has
     the value "<code title="">replace</code>", the existing entries in
-    the session history for the <code>Document</code> object are
+    the session history for the <code><a href=#document>Document</a></code> object are
     removed.</p>
 
-    <p>The method has no effect if the <code>Document</code> is still
+    <p>The method has no effect if the <code><a href=#document>Document</a></code> is still
     being parsed.</p>
 
     <p>Throws an <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception if the
-    <code>Document</code> is an <a href=#xml-documents title="XML documents">XML
+    <code><a href=#document>Document</a></code> is an <a href=#xml-documents title="XML documents">XML
     document</a>.</p>
 
    </dd>
@@ -9804,7 +9814,7 @@
   <p>When called with two or fewer arguments, the method must act as
   follows:</p>
 
-  <ol><li>If the <code>Document</code> object is not flagged as an <a href=#html-documents title="HTML documents">HTML document</a>, throw an
+  <ol><li>If the <code><a href=#document>Document</a></code> object is not flagged as an <a href=#html-documents title="HTML documents">HTML document</a>, throw an
    <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception and abort these
    steps.</li>
 
@@ -9823,7 +9833,7 @@
     point</a> associated with that parser's <a href=#the-input-stream>input
     stream</a> is not undefined (that is, it <em>does</em> point to
     somewhere in the input stream), then the method does
-    nothing. Abort these steps and return the <code>Document</code>
+    nothing. Abort these steps and return the <code><a href=#document>Document</a></code>
     object on which the method was invoked.</p>
 
     <p class=note>This basically causes <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> to be ignored
@@ -9837,12 +9847,12 @@
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
    <li><p><a href=#prompt-to-unload-a-document title="prompt to unload a document">Prompt to
-   unload</a> the <code>Document</code> object. If the user
+   unload</a> the <code><a href=#document>Document</a></code> object. If the user
    <a href=#refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be unloaded</a>, then
    these steps must be aborted.</li>
 
    <li><p><a href=#unload-a-document title="unload a document">Unload</a> the
-   <code>Document</code> object, with the <var title="">recycle</var>
+   <code><a href=#document>Document</a></code> object, with the <var title="">recycle</var>
    parameter set to true.</li>
 
    <li><p>If the document has an <a href=#active-parser>active parser</a>, then
@@ -9850,10 +9860,10 @@
    <a href=#the-input-stream>input stream</a>.</li>
 
    <li><p>Unregister all event listeners registered on the
-   <code>Document</code> node and its descendants.</p>
+   <code><a href=#document>Document</a></code> node and its descendants.</p>
 
    <li><p>Remove any <a href=#concept-task title=concept-task>tasks</a>
-   associated with the <code>Document</code> in any <a href=#task-source>task
+   associated with the <code><a href=#document>Document</a></code> in any <a href=#task-source>task
    source</a>.</li> <!-- removes callbacks that fired between
    this algorithm starting and the times and databases being aborted
    in the "unload" step above -->
@@ -9862,7 +9872,7 @@
    mutation events.</li> <!-- as of 2009-03-30, only WebKit fired
    mutation events here. -->
 
-   <li><p>Replace the <code>Document</code>'s singleton objects with
+   <li><p>Replace the <code><a href=#document>Document</a></code>'s singleton objects with
    new instances of those objects. (This includes in particular the
    <code><a href=#window>Window</a></code>, <code><a href=#location>Location</a></code>, <code><a href=#history-0>History</a></code>,
    <code><a href=#applicationcache>ApplicationCache</a></code>, <code><a href=#undomanager>UndoManager</a></code>,
@@ -9870,7 +9880,7 @@
    various <code><a href=#barprop>BarProp</a></code> objects, the two <code>Storage</code>
    objects, and the various <code><a href=#htmlcollection>HTMLCollection</a></code> objects. It
    also includes all the Web IDL prototypes in the JavaScript binding,
-   including the <code>Document</code> object's prototype.)</li>
+   including the <code><a href=#document>Document</a></code> object's prototype.)</li>
 
    <!-- http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E...%3Ciframe%20src%3D%22document%22%3E%3C%2Fiframe%3E%0A%3Cscript%3Eonload%20%3D%20function%20()%20%7B%20f%20%3D%20document.getElementsByTagName('iframe')%5B0%5D%3B%20d%20%3D%20f.contentWindow.document%3B%20%7D%3C%2Fscript%3E%0A%3Cinput%20type%3Dbutton%20onclick%3D%22w(d.documentElement.innerHTML)%22%20value%3D%22dump%22%3E%0A%3Cinput%20type%3Dbutton%20onclick%3D%22d.open()%3B%20d.write('%3Cscript%3Evar%20x%20%3D%20new%20XMLHttpRequest()%3Bx.open(%26quot%3BGET%26quot%3B%2C%20%26quot%3BGET%26quot%3B)%3Bx.onreadystatechange%3Dfunction()%20%7B%20alert(x.readyState)%3B%20%7D%3Bx.send(null)%3B%3C%2Fscript%3E')%3Bd.close()%3B%20setTimeout(function()%20%7B%20d.open()%3B%20d.write('%3Cp%3Etest%3C%2Fp%3E')%3B%20d.close()%20%7D%2C%200)%3B%22%20value%3D%22xhr%22%3E%0A%3Cinput%20type%3Dbutton%20onclick%3D%22d.onclick%20%3D%20function()%20%7B%20w('click')%20%7D%22%20value%3D%22add%20click%20handler%22%3E%
 0A%3Cinput%20type%3Dbutton%20onclick%3D%22d.open()%3B%20d.write('%3Cp%3Etest%3C%2Fp%3E')%3B%20d.close()%22%20value%3D%22replace%22%3E%0A%3Cinput%20type%3Dbutton%20onclick%3D%22d.open()%3B%20d.write('%3Cp%3E%3Cscript%3Ei%20%3D%200%3B%20setTimeout(%26quot%3Bparent.w(i%2B%2B)%26quot%3B%2C%202000)%3C%2Fscript%3E%3C%2Fp%3E')%3B%20d.close()%22%20value%3D%22replace%20with%20timer%22%3E -->
    <!-- http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0D%0A...%3Ciframe%3E%3C%2Fiframe%3E%0D%0A%3Cscript%3E%0D%0Aonload%20%3D%20function%20()%20%7B%0D%0A%20frames%5B0%5D.test%20%3D%201%0D%0A%20w(frames%5B0%5D.test)%3B%0D%0A%20var%20a%20%3D%20frames%5B0%5D.document.location.assign%3B%0D%0A%20w(a)%3B%0D%0A%20w(frames%5B0%5D.document.location.assign%20%3D%3D%3D%20a)%3B%0D%0A%20frames%5B0%5D.document.open()%3B%0D%0A%20frames%5B0%5D.document.write('%3Cscript%3Edocument.write(test)%3C%5C%2Fscript%3E')%3B%0D%0A%20frames%5B0%5D.document.close()%3B%0D%0A%20w(frames%5B0%5D.test)%3B%0D%0A%20w(frames%5B0%5D.document.location.assign%20%3D%3D%3D%20a)%3B%0D%0A%7D%0D%0A%3C%2Fscript%3E -->
@@ -9934,12 +9944,12 @@
    the <a href=#history-traversal-task-source>history traversal task source</a>.</li>
 
    <li>Remove any earlier entries that share the same
-   <code>Document</code>.</li>
+   <code><a href=#document>Document</a></code>.</li>
 
    <li><p>If <var title="">replace</var> is false, then add a new
    entry, just before the last entry, and associate with the new entry
    the text that was parsed by the previous parser associated with the
-   <code>Document</code> object, as well as the state of the document
+   <code><a href=#document>Document</a></code> object, as well as the state of the document
    at the start of these steps. (This allows the user to step
    backwards in the session history to see the page before it was
    blown away by the <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> call.)</li>
@@ -9948,7 +9958,7 @@
    just before the end of the <a href=#the-input-stream>input stream</a> (which at this
    point will be empty).</li>
 
-   <li><p>Return the <code>Document</code> on which the method was
+   <li><p>Return the <code><a href=#document>Document</a></code> on which the method was
    invoked.</li>
 
   </ol><p>When called with three or more arguments, the <code title=dom-document-open><a href=#dom-document-open>open()</a></code> method on the
@@ -9972,7 +9982,7 @@
     <p>Closes the input stream that was opened by the <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> method.</p>
 
     <p>Throws an <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception if the
-    <code>Document</code> is an <a href=#xml-documents title="XML documents">XML
+    <code><a href=#document>Document</a></code> is an <a href=#xml-documents title="XML documents">XML
     document</a>.</p>
 
    </dd>
@@ -9982,7 +9992,7 @@
   <p>The <dfn id=dom-document-close title=dom-document-close><code>close()</code></dfn>
   method must run the following steps:</p>
 
-  <ol><li><p>If the <code>Document</code> object is not flagged as an
+  <ol><li><p>If the <code><a href=#document>Document</a></code> object is not flagged as an
    <a href=#html-documents title="HTML documents">HTML document</a>, throw an
    <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception and abort these
    steps.</li>
@@ -10011,7 +10021,7 @@
 
    <dd>
 
-    <p>Adds the given string(s) to the <code>Document</code>'s input
+    <p>Adds the given string(s) to the <code><a href=#document>Document</a></code>'s input
     stream. If necessary, calls the <code title=dom-document-open><a href=#dom-document-open>open()</a></code> method implicitly
     first.</p>
 
@@ -10041,7 +10051,7 @@
    <li>
 
     <p>If the <a href=#insertion-point>insertion point</a> is undefined, the <code title=dom-document-open><a href=#dom-document-open>open()</a></code> method must be called
-    (with no arguments) on the <code title=Document>document</code>
+    (with no arguments) on the <code title=Document><a href=#document>document</a></code>
     object. If the user <a href=#refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be
     unloaded</a>, then these steps must be aborted. Otherwise, the
     <a href=#insertion-point>insertion point</a> will point at just before the end of
@@ -10097,7 +10107,7 @@
 
    <dd>
 
-    <p>Adds the given string(s) to the <code>Document</code>'s input
+    <p>Adds the given string(s) to the <code><a href=#document>Document</a></code>'s input
     stream, followed by a newline character. If necessary, calls the
     <code title=dom-document-open><a href=#dom-document-open>open()</a></code> method implicitly
     first.</p>
@@ -10128,13 +10138,13 @@
    <dd>
 
     <p>Returns a fragment of HTML or XML that represents the
-    <code>Document</code>.</p>
+    <code><a href=#document>Document</a></code>.</p>
 
-    <p>Can be set, to replace the <code>Document</code>'s contents
+    <p>Can be set, to replace the <code><a href=#document>Document</a></code>'s contents
     with the result of parsing the given string.</p>
 
     <p>In the case of <a href=#xml-documents>XML documents</a>, will throw an
-    <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> if the <code>Document</code> cannot
+    <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> if the <code><a href=#document>Document</a></code> cannot
     be serialized to XML, and a <code><a href=#syntax_err>SYNTAX_ERR</a></code> if the given
     string is not well-formed.</p>
 
@@ -10181,7 +10191,7 @@
     algorithm</a>.</p>
 
     <p>In either case, the algorithm must be invoked with the string
-    being assigned into the <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> attribute as the <var title="">input</var>. If the node is an <code>Element</code>
+    being assigned into the <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> attribute as the <var title="">input</var>. If the node is an <code><a href=#element>Element</a></code>
     node, then, in addition, that element must be passed as the <var title="">context</var> element.</p>
 
     <p>If this raises an exception, then abort these steps.</p>
@@ -10193,7 +10203,7 @@
 
    <li>
 
-    <p>If the attribute is being set on a <code>Document</code> node,
+    <p>If the attribute is being set on a <code><a href=#document>Document</a></code> node,
     and that document has an <a href=#active-parser>active parser</a>, then abort
     that parser.</p>
 
@@ -10208,12 +10218,12 @@
 
    <li>
 
-    <p>If the attribute is being set on a <code>Document</code>
+    <p>If the attribute is being set on a <code><a href=#document>Document</a></code>
     node, let <var title="">target document</var> be that
-    <code>Document</code> node. Otherwise, the attribute is being
-    set on an <code>Element</code> node; let <var title="">target
+    <code><a href=#document>Document</a></code> node. Otherwise, the attribute is being
+    set on an <code><a href=#element>Element</a></code> node; let <var title="">target
     document</var> be the <code title="">ownerDocument</code> of
-    that <code>Element</code>.</p>
+    that <code><a href=#element>Element</a></code>.</p>
 
    </li>
 
@@ -10259,7 +10269,7 @@
     well-formed.</p>
 
     <p>Throws a <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception if
-    the parent of the element is the <code>Document</code>
+    the parent of the element is the <code><a href=#document>Document</a></code>
     node.</p>
 
    </dd>
@@ -10296,7 +10306,7 @@
    <li>
 
     <p>If <var title="">target</var>'s parent node is a
-    <code>Document</code> object, throw a
+    <code><a href=#document>Document</a></code> object, throw a
     <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception and abort these
     steps.</p>
 
@@ -10378,7 +10388,7 @@
 
     <p>Throws a <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception if
     the given position isn't possible (e.g. inserting elements after
-    the root element of a <code>Document</code>).</p>
+    the root element of a <code><a href=#document>Document</a></code>).</p>
 
    </dd>
 
@@ -10416,7 +10426,7 @@
       these steps.</p>
 
       <p>If <var title="">target</var>'s parent node is a
-      <code>Document</code> object, then throw a
+      <code><a href=#document>Document</a></code> object, then throw a
       <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception and abort
       these steps.
 
@@ -10606,7 +10616,7 @@
     <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-0>head</a></code> element <a href=#represents>represents</a> a
-  collection of metadata for the <code>Document</code>.</p>
+  collection of metadata for the <code><a href=#document>Document</a></code>.</p>
 
   <div class=example>
 
@@ -10693,7 +10703,7 @@
   node">text nodes</a> that are direct children of the
   <code><a href=#the-title-element-0>title</a></code> element (ignoring any other nodes such as
   comments or elements), in tree order. On setting, it must act the
-  same way as the <code>textContent</code> IDL attribute.</p>
+  same way as the <code><a href=#textcontent>textContent</a></code> IDL attribute.</p>
 
   </div>
 
@@ -10775,7 +10785,7 @@
   <p>The <dfn id=attr-base-target title=attr-base-target><code>target</code></dfn>
   attribute, if specified, must contain a <a href=#valid-browsing-context-name-or-keyword>valid browsing context
   name or keyword</a>, which specifies which <a href=#browsing-context>browsing
-  context</a> is to be used as the default when <a href=#hyperlink title=hyperlink>hyperlinks</a> and <a href=#the-form-element title=form>forms</a> in the <code>Document</code> cause <a href=#navigate title=navigate>navigation</a>.</p>
+  context</a> is to be used as the default when <a href=#hyperlink title=hyperlink>hyperlinks</a> and <a href=#the-form-element title=form>forms</a> in the <code><a href=#document>Document</a></code> cause <a href=#navigate title=navigate>navigation</a>.</p>
 
   <p>A <code><a href=#the-base-element>base</a></code> element, if it has a <code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute, must come before
   any elements in the tree that represent <a href=#hyperlink title=hyperlink>hyperlinks</a>.</p>
@@ -12087,7 +12097,7 @@
   attribute is a <a href=#boolean-attribute>boolean attribute</a>. If set, it indicates
   that the styles are intended just for the subtree rooted at the
   <code><a href=#the-style-element>style</a></code> element's parent element, as opposed to the whole
-  <code>Document</code>.</p>
+  <code><a href=#document>Document</a></code>.</p>
 
   <div class=impl>
 
@@ -12111,7 +12121,7 @@
   <code><a href=#the-style-element>style</a></code> block without a title does not inherit the title
   of the parent element: it merely has no title.</p>
 
-  <p>The <code>textContent</code> of a <code><a href=#the-style-element>style</a></code> element must
+  <p>The <code><a href=#textcontent>textContent</a></code> of a <code><a href=#the-style-element>style</a></code> element must
   match the <code title="">style</code> production in the following
   ABNF, the character set for which is Unicode. <a href=#refsABNF>[ABNF]</a></p>
 
@@ -12331,10 +12341,10 @@
   script once the <a href=#event-loop>event loop</a> reaches its "update the
   rendering" step.</p>
 
-  <p>A style sheet in the context of the <code>Document</code> of an
+  <p>A style sheet in the context of the <code><a href=#document>Document</a></code> of an
   <a href=#html-parser>HTML parser</a> or <a href=#xml-parser>XML parser</a> is said to be
   <dfn id=a-style-sheet-blocking-scripts>a style sheet blocking scripts</dfn> if the element was created
-  by that <code>Document</code>'s parser, and the element is either a
+  by that <code><a href=#document>Document</a></code>'s parser, and the element is either a
   <code><a href=#the-style-element>style</a></code> element or a <code><a href=#the-link-element>link</a></code> element that was
   an <a href=#link-type-stylesheet title=rel-stylesheet>external resource link that
   contributes to the styling processing model</a> when the element
@@ -12618,7 +12628,7 @@
     <p>If the element has a <code title=attr-script-src><a href=#attr-script-src>src</a></code>
     attribute, then the value of that attribute must be <a href=#resolve-a-url title="resolve a url">resolved</a> relative to the element, and
     if that is successful, the specified resource must then be <a href=#fetch title=fetch>fetched</a>, from the <a href=#origin>origin</a> of the
-    element's <code>Document</code>.</p> <!-- not http-origin privacy
+    element's <code><a href=#document>Document</a></code>.</p> <!-- not http-origin privacy
     sensitive -->
 
     <p>For historical reasons, if the <a href=#url>URL</a> is a <a href=#javascript-protocol title="javascript protocol"><code title="">javascript:</code>
@@ -12889,7 +12899,7 @@
   node">text nodes</a> that are direct children of the
   <code><a href=#script>script</a></code> element (ignoring any other nodes such as
   comments or elements), in tree order. On setting, it must act the
-  same way as the <code>textContent</code> IDL attribute.</p>
+  same way as the <code><a href=#textcontent>textContent</a></code> IDL attribute.</p>
 
   </div>
 
@@ -13016,7 +13026,7 @@
 
   <h5 id=restrictions-for-contents-of-script-elements><span class=secno>4.3.1.2 </span><dfn title="script content restrictions">Restrictions for contents of <code>script</code> elements</dfn></h5>
 
-  <p>The <code>textContent</code> of a <code><a href=#script>script</a></code> element must match the
+  <p>The <code><a href=#textcontent>textContent</a></code> of a <code><a href=#script>script</a></code> element must match the
   <code title="">script</code> production in the following ABNF, the
   character set for which is Unicode. <a href=#refsABNF>[ABNF]</a></p>
 
@@ -13396,14 +13406,14 @@
   elements</a>.</p>
 
   <p class=example>Thus, for example, a bubbling <code title=event-error>error</code> event fired on a child of <a href=#the-body-element>the
-  body element</a> of a <code>Document</code> would first trigger
+  body element</a> of a <code><a href=#document>Document</a></code> would first trigger
   the <code title=handler-onerror><a href=#handler-onerror>onerror</a></code> <a href=#event-handler-content-attributes>event handler
   content attributes</a> of that element, then that of the root
   <code><a href=#the-html-element-0>html</a></code> element, and only <em>then</em> would it trigger
   the <code title=handler-window-onerror><a href=#handler-window-onerror>onerror</a></code> <a href=#event-handler-content-attributes title="event handler content attributes">event handler content
   attribute</a> on the <code><a href=#the-body-element-0>body</a></code> element. This is because
   the event would bubble from the target, to the <code><a href=#the-body-element-0>body</a></code>, to
-  the <code><a href=#the-html-element-0>html</a></code>, to the <code>Document</code>, to the
+  the <code><a href=#the-html-element-0>html</a></code>, to the <code><a href=#document>Document</a></code>, to the
   <code><a href=#window>Window</a></code>, and the <a href=#event-handlers title="event handlers">event
   handler</a> on the <code><a href=#the-body-element-0>body</a></code> is watching the
   <code><a href=#window>Window</a></code> not the <code><a href=#the-body-element-0>body</a></code>. A regular event
@@ -14354,13 +14364,13 @@
 
    </dd>
 
-   <dt>If <var title="">node</var>'s <code>Document</code> has <a href=#the-body-element title="the body element">a body element</a></dt>
+   <dt>If <var title="">node</var>'s <code><a href=#document>Document</a></code> has <a href=#the-body-element title="the body element">a body element</a></dt>
 
    <dd>
 
     <p>The contact information of <var title="">node</var> is the same
     as the contact information <a href=#the-body-element>the body element</a> of the
-    <code>Document</code>.</p>
+    <code><a href=#document>Document</a></code>.</p>
 
    </dd>
 
@@ -14782,7 +14792,7 @@
   are ancestors of <var title="">section</var> in the
   <a href=#outline>outline</a> that <var title="">section</var> finds itself
   in when the <a href=#outline title=outline>outlines</a> of its
-  <code>Document</code>'s elements are created, plus 1. The
+  <code><a href=#document>Document</a></code>'s elements are created, plus 1. The
   <a href=#outline-depth>outline depth</a> of a <a href=#heading-content>heading content</a> element
   not associated with a <a href=#concept-section title=concept-section>section</a>
   is 1.</p>
@@ -16078,7 +16088,7 @@
 
    <dd>
 
-    <p>Same as <code>textContent</code>.</p>
+    <p>Same as <code><a href=#textcontent>textContent</a></code>.</p>
 
    </dd>
 
@@ -16094,8 +16104,8 @@
 
   <p>The <dfn id=dom-a-text title=dom-a-text><code>text</code></dfn> IDL
   attribute, on getting, must return the same value as the
-  <code>textContent</code> IDL attribute on the element, and on
-  setting, must act as if the <code>textContent</code> IDL attribute
+  <code><a href=#textcontent>textContent</a></code> IDL attribute on the element, and on
+  setting, must act as if the <code><a href=#textcontent>textContent</a></code> IDL attribute
   on the element had been set to the new value.</p>
 
   <p>The <code><a href=#the-a-element>a</a></code> element also supports the complement of
@@ -16606,7 +16616,7 @@
   child <a href=#text-node title="text node">text nodes</a>, and that child
   element is an <code><a href=#the-abbr-element>abbr</a></code> element with a <code title=attr-abbr-title><a href=#attr-abbr-title>title</a></code> attribute, then the exact value
   of <em>that</em> attribute is the term being defined. Otherwise, it
-  is the exact <code>textContent</code> of the <code><a href=#the-dfn-element>dfn</a></code>
+  is the exact <code><a href=#textcontent>textContent</a></code> of the <code><a href=#the-dfn-element>dfn</a></code>
   element that gives the term being defined.</p>
 
   <!-- note that this means <dfn>x \n x</dfn> won't match <span>x x</span> -->
@@ -16825,7 +16835,7 @@
   each <code><a href=#the-article-element>article</a></code> element, there must no more than one
   <code><a href=#the-time-element>time</a></code> element with a <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code> attribute whose nearest
   ancestor is that <code><a href=#the-article-element>article</a></code> element. Furthermore, for each
-  <code>Document</code>, there must be no more than one
+  <code><a href=#document>Document</a></code>, there must be no more than one
   <code><a href=#the-time-element>time</a></code> element with a <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code> attribute that does not
   have an ancestor <code><a href=#the-article-element>article</a></code> element.</p>
 
@@ -16839,7 +16849,7 @@
   optional time</a>.</p>
 
   <p>If the element <i><a href=#needs-a-date>needs a date</a></i>, but the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute is not present,
-  then the element's <code>textContent</code> must be a <a href=#valid-date-string-in-content-with-optional-time>valid
+  then the element's <code><a href=#textcontent>textContent</a></code> must be a <a href=#valid-date-string-in-content-with-optional-time>valid
   date string in content with optional time</a>.</p>
 
   <p>If the element does not <i>need a date</i>, and the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute is present,
@@ -16847,7 +16857,7 @@
   string</a>.</p>
 
   <p>If the element does not <i>need a date</i>, but the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute is not present,
-  then the element's <code>textContent</code> must be a <a href=#valid-date-or-time-string-in-content>valid
+  then the element's <code><a href=#textcontent>textContent</a></code> must be a <a href=#valid-date-or-time-string-in-content>valid
   date or time string in content</a>.</p>
 
   <p>The date, if any, must be expressed using the Gregorian
@@ -16922,7 +16932,7 @@
 
    <li>Otherwise, use the rules to <a href=#parse-a-date-or-time-string>parse a date or time
    string</a> with the flag <i>in content</i> from the element's
-   <code>textContent</code>, and let the result be <var title="">result</var>.</li>
+   <code><a href=#textcontent>textContent</a></code>, and let the result be <var title="">result</var>.</li>
 
    <li>If <var title="">result</var> is empty (because the parsing
    failed), then the <a href=#concept-time-date title=concept-time-date>date</a> is
@@ -18357,7 +18367,7 @@
   <em>not</em> <i title=img-available><a href=#img-available>available</a></i>.</p>
 
   <p class=note>An image might be <i title=img-available><a href=#img-available>available</a></i> in one <a href=#view>view</a> but not
-  another. For instance, a <code>Document</code> could be rendered by
+  another. For instance, a <code><a href=#document>Document</a></code> could be rendered by
   a screen reader providing a speech synthesis view of the output of a
   Web browser using the screen media. In this case, the image would be
   <i title=img-available><a href=#img-available>available</a></i> in the Web browser's screen
@@ -19692,7 +19702,7 @@
 
   </ol><p>For <code><a href=#the-iframe-element>iframe</a></code> elements in <a href=#xml-documents>XML documents</a>,
   the attribute, if present, must have a value that matches the
-  production labeled <code>document</code> in the XML
+  production labeled <code><a href=#document>document</a></code> in the XML
   specification. <a href=#refsXML>[XML]</a></p>
 
   <p>If the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute and the
@@ -19788,7 +19798,7 @@
   <p class=note>If the user <a href=#navigate title=navigate>navigates</a>
   away from this page, the <code><a href=#the-iframe-element>iframe</a></code>'s corresponding
   <code><a href=#windowproxy>WindowProxy</a></code> object will proxy new <code><a href=#window>Window</a></code>
-  objects for new <code>Document</code> objects, but the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute will not change.</p>
+  objects for new <code><a href=#document>Document</a></code> objects, but the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute will not change.</p>
 
   <div class=example>
 
@@ -19926,8 +19936,8 @@
   the following list set.  In addition, any browsing contexts <a href=#nested-browsing-context title="nested browsing context">nested</a> within an
   <code><a href=#the-iframe-element>iframe</a></code>, either directly or indirectly, must have all
   the flags set on them as were set on the <code><a href=#the-iframe-element>iframe</a></code>'s
-  <code>Document</code>'s <a href=#browsing-context>browsing context</a> when the
-  <code><a href=#the-iframe-element>iframe</a></code>'s <code>Document</code> was created.</p>
+  <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> when the
+  <code><a href=#the-iframe-element>iframe</a></code>'s <code><a href=#document>Document</a></code> was created.</p>
 
   <dl><dt>The <dfn id=sandboxed-navigation-browsing-context-flag>sandboxed navigation browsing context flag</dfn></dt>
 
@@ -20147,7 +20157,7 @@
   <p class=warning>If the <code title=attr-iframe-sandbox-allow-scripts><a href=#attr-iframe-sandbox-allow-scripts>allow-scripts</a></code>
   keyword is set along with <code title=attr-iframe-sandbox-allow-same-origin><a href=#attr-iframe-sandbox-allow-same-origin>allow-same-origin</a></code>
   keyword, and the file is from the <a href=#same-origin>same origin</a> as the
-  <code><a href=#the-iframe-element>iframe</a></code>'s <code>Document</code>, then a script in the
+  <code><a href=#the-iframe-element>iframe</a></code>'s <code><a href=#document>Document</a></code>, then a script in the
   "sandboxed" iframe could just reach out, remove the <code title=attr-iframe-sandbox><a href=#attr-iframe-sandbox>sandbox</a></code> attribute, and then
   reload itself, effectively breaking out of the sandbox
   altogether.</p>
@@ -20162,9 +20172,9 @@
   be part of the containing document (seamlessly included in the
   parent document). <span class=impl>Specifically, when the
   attribute is set on an <code><a href=#the-iframe-element>iframe</a></code> element whose owner
-  <code>Document</code>'s <a href=#browsing-context>browsing context</a> did not have
+  <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> did not have
   the <a href=#sandboxed-seamless-iframes-flag>sandboxed seamless iframes flag</a> set when that
-  <code>Document</code> was created, and while either the
+  <code><a href=#document>Document</a></code> was created, and while either the
   <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active document</a> has the
   <a href=#same-origin>same origin</a> as the <code><a href=#the-iframe-element>iframe</a></code> element's
   document, or the <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active
@@ -20321,7 +20331,7 @@
   name.</p>
 
   <p>The <dfn id=dom-iframe-contentdocument title=dom-iframe-contentDocument><code>contentDocument</code></dfn>
-  IDL attribute must return the <code>Document</code> object of the
+  IDL attribute must return the <code><a href=#document>Document</a></code> object of the
   <a href=#active-document>active document</a> of the <code><a href=#the-iframe-element>iframe</a></code> element's
   <a href=#nested-browsing-context>nested browsing context</a>.</p>
 
@@ -20424,11 +20434,11 @@
 
   <ul><li>the <a href=#sandboxed-plugins-browsing-context-flag>sandboxed plugins browsing context flag</a> was
    set on the <a href=#browsing-context>browsing context</a> for which the
-   <code><a href=#the-embed-element>embed</a></code> element's <code>Document</code> is the
-   <a href=#active-document>active document</a> when that <code>Document</code> was
+   <code><a href=#the-embed-element>embed</a></code> element's <code><a href=#document>Document</a></code> is the
+   <a href=#active-document>active document</a> when that <code><a href=#document>Document</a></code> was
    created, or</li>
 
-   <li>the <code><a href=#the-embed-element>embed</a></code> element's <code>Document</code> was
+   <li>the <code><a href=#the-embed-element>embed</a></code> element's <code><a href=#document>Document</a></code> was
    parsed from a resource whose <a href=#content-type-sniffing-0 title="Content-Type
    sniffing">sniffed type</a> as determined during <a href=#navigate title=navigate>navigation</a> is
    <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code></li>
@@ -20451,10 +20461,10 @@
   following conditions are all met simultaneously:</p>
 
   <ul class=brief><li>The element is <a href=#in-a-document title="in a document">in a <code>Document</code></a>.</li>
-   <li>The element's <code>Document</code> is <a href=#fully-active>fully active</a>.</li>
+   <li>The element's <code><a href=#document>Document</a></code> is <a href=#fully-active>fully active</a>.</li>
    <li>The element has either a <code title=attr-embed-src><a href=#attr-embed-src>src</a></code> attribute set or a <code title=attr-embed-type><a href=#attr-embed-type>type</a></code> attribute set (or both).</li>
-   <li>The element is not in a <code>Document</code> whose <a href=#browsing-context>browsing context</a> had the <a href=#sandboxed-plugins-browsing-context-flag>sandboxed plugins browsing context flag</a> set when the <code>Document</code> was created (unless this has been overrriden as described above).</li>
-   <li>The element's <code>Document</code> was not parsed from a resource whose <a href=#content-type-sniffing-0 title="Content-Type sniffing">sniffed type</a> as determined during <a href=#navigate title=navigate>navigation</a> is <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code> (unless this has been overrriden as described above).</li>
+   <li>The element is not in a <code><a href=#document>Document</a></code> whose <a href=#browsing-context>browsing context</a> had the <a href=#sandboxed-plugins-browsing-context-flag>sandboxed plugins browsing context flag</a> set when the <code><a href=#document>Document</a></code> was created (unless this has been overrriden as described above).</li>
+   <li>The element's <code><a href=#document>Document</a></code> was not parsed from a resource whose <a href=#content-type-sniffing-0 title="Content-Type sniffing">sniffed type</a> as determined during <a href=#navigate title=navigate>navigation</a> is <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code> (unless this has been overrriden as described above).</li>
    <li>The element is not a descendant of a <a href=#media-element>media element</a>.</li>
    <li>The element is not a descendant of an <code><a href=#the-object-element>object</a></code> element that is not showing its <a href=#fallback-content>fallback content</a>.</li>
   </ul><p>Whenever an <code><a href=#the-embed-element>embed</a></code> element that was not <a href=#concept-embed-active title=concept-embed-active>potentially active</a> becomes <a href=#concept-embed-active title=concept-embed-active>potentially active</a>, and whenever
@@ -20703,7 +20713,7 @@
   element is <a href=#insert-an-element-into-a-document title="insert an element into a document">inserted
   into a document</a> or <a href=#remove-an-element-from-a-document title="remove an element from a
   document">removed from a document</a>; and whenever the element's
-  <code>Document</code> changes whether it is <a href=#fully-active>fully
+  <code><a href=#document>Document</a></code> changes whether it is <a href=#fully-active>fully
   active</a>; and whenever an ancestor <code><a href=#the-object-element>object</a></code> element
   changes to or from showing its <a href=#fallback-content>fallback content</a>; and
   whenever the element's <code title=attr-object-classid><a href=#attr-object-classid>classid</a></code> attribute is set,
@@ -20737,7 +20747,7 @@
     has an ancestor <code><a href=#the-object-element>object</a></code> element that is <em>not</em>
     showing its <a href=#fallback-content>fallback content</a>, or if the element is
     not <a href=#in-a-document title="in a document">in a <code>Document</code></a>,
-    or if the element's <code>Document</code> is not <a href=#fully-active>fully
+    or if the element's <code><a href=#document>Document</a></code> is not <a href=#fully-active>fully
     active</a>, then jump to the last step in the overall set of
     steps (fallback).</p>
 
@@ -21086,11 +21096,11 @@
   <p id=sandboxPluginObject>If either:</p>
 
   <ul><li>the <a href=#sandboxed-plugins-browsing-context-flag>sandboxed plugins browsing context flag</a> was
-   set on the <code><a href=#the-object-element>object</a></code> element's <code>Document</code>'s
-   <a href=#browsing-context>browsing context</a> when the <code>Document</code> was
+   set on the <code><a href=#the-object-element>object</a></code> element's <code><a href=#document>Document</a></code>'s
+   <a href=#browsing-context>browsing context</a> when the <code><a href=#document>Document</a></code> was
    created, or</li>
 
-   <li>the <code><a href=#the-object-element>object</a></code> element's <code>Document</code> was
+   <li>the <code><a href=#the-object-element>object</a></code> element's <code><a href=#document>Document</a></code> was
    parsed from a resource whose <a href=#content-type-sniffing-0 title="Content-Type
    sniffing">sniffed type</a> as determined during <a href=#navigate title=navigate>navigation</a> is
    <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code></li>
@@ -21151,7 +21161,7 @@
   name.</p>
 
   <p>The <dfn id=dom-object-contentdocument title=dom-object-contentDocument><code>contentDocument</code></dfn>
-  IDL attribute must return the <code>Document</code> object of the
+  IDL attribute must return the <code><a href=#document>Document</a></code> object of the
   <a href=#active-document>active document</a> of the <code><a href=#the-object-element>object</a></code> element's
   <a href=#nested-browsing-context>nested browsing context</a>, if it has one; otherwise, it
   must return null.</p>
@@ -21339,7 +21349,7 @@
   is set, its value must be <a href=#resolve-a-url title="resolve a
   url">resolved</a> relative to the element, and if that is
   successful, the resulting <a href=#absolute-url>absolute URL</a> must be <a href=#fetch title=fetch>fetched</a>, from the element's
-  <code>Document</code>'s <a href=#origin>origin</a>; this must <a href=#delay-the-load-event>delay
+  <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a>; this must <a href=#delay-the-load-event>delay
   the load event</a> of the element's document. The <dfn id=poster-frame>poster
   frame</dfn> is then the image obtained from that resource, if
   any.</span></p> <!-- thus it is unaffected by changes to the base
@@ -22618,7 +22628,7 @@
 
     <p>Begin to <a href=#fetch>fetch</a> the <var title="">current media
     resource</var>, from the <a href=#media-element>media element</a>'s
-    <code>Document</code>'s <a href=#origin>origin</a>.</p> <!-- not
+    <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a>.</p> <!-- not
     http-origin privacy sensitive (looking forward to CORS here) -->
 
     <p>Every 350ms (±200ms) or for every byte received, whichever
@@ -23785,8 +23795,8 @@
     </ol></li>
 
   </ol><hr><p id=media-playback>When a <a href=#media-element>media element</a> is
-  <a href=#potentially-playing>potentially playing</a> and its <code>Document</code> is a
-  <a href=#fully-active>fully active</a> <code>Document</code>, its <a href=#current-playback-position>current
+  <a href=#potentially-playing>potentially playing</a> and its <code><a href=#document>Document</a></code> is a
+  <a href=#fully-active>fully active</a> <code><a href=#document>Document</a></code>, its <a href=#current-playback-position>current
   playback position</a> must increase monotonically at <code title=dom-media-playbackRate><a href=#dom-media-playbackrate>playbackRate</a></code> units of media
   time per unit time of wall clock time.</p>
 
@@ -23913,7 +23923,7 @@
   agent must act as if the <code title=dom-media-pause><a href=#dom-media-pause>pause()</a></code> method had been invoked.</p>
 
   <p class=note>If the <a href=#media-element>media element</a>'s
-  <code>Document</code> stops being a <a href=#fully-active>fully active</a>
+  <code><a href=#document>Document</a></code> stops being a <a href=#fully-active>fully active</a>
   document, then the playback will <a href=#media-playback>stop</a>
   until the document is active again.</p>
 
@@ -24233,97 +24243,97 @@
      <th>Preconditions
 
    <tbody><tr><td><dfn id=event-media-loadstart title=event-media-loadstart><code>loadstart</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent begins looking for <a href=#media-data>media data</a>, as part of the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection algorithm</a>.
      <td><code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> equals <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>
     <tr><td><dfn id=event-media-progress title=event-media-progress><code>progress</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent is fetching <a href=#media-data>media data</a>.
      <td><code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> equals <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>
     <tr><td><dfn id=event-media-suspend title=event-media-suspend><code>suspend</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent is intentionally not currently fetching <a href=#media-data>media data</a>, but does not have the entire <a href=#media-resource>media resource</a> downloaded.
      <td><code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> equals <code title=dom-media-NETWORK_IDLE><a href=#dom-media-network_idle>NETWORK_IDLE</a></code>
     <tr><td><dfn id=event-media-abort title=event-media-abort><code>abort</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent stops fetching the <a href=#media-data>media data</a> before it is completely downloaded, but not due to an error.
      <td><code title=dom-media-error><a href=#dom-media-error>error</a></code> is an object with the code <code title=dom-MediaError-MEDIA_ERR_ABORTED><a href=#dom-mediaerror-media_err_aborted>MEDIA_ERR_ABORTED</a></code>.
          <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> equals either <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code> or <code title=dom-media-NETWORK_IDLE><a href=#dom-media-network_idle>NETWORK_IDLE</a></code>, depending on when the download was aborted.
     <tr><td><dfn id=event-media-error title=event-media-error><code>error</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>An error occurs while fetching the <a href=#media-data>media data</a>.
      <td><code title=dom-media-error><a href=#dom-media-error>error</a></code> is an object with the code <code title=dom-MediaError-MEDIA_ERR_NETWORK><a href=#dom-mediaerror-media_err_network>MEDIA_ERR_NETWORK</a></code> or higher.
          <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> equals either <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code> or <code title=dom-media-NETWORK_IDLE><a href=#dom-media-network_idle>NETWORK_IDLE</a></code>, depending on when the download was aborted.
     <tr><td><dfn id=event-media-emptied title=event-media-emptied><code>emptied</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>A <a href=#media-element>media element</a> whose <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> was previously not in the <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code> state has just switched to that state (either because of a fatal error during load that's about to be reported, or because the <code title=dom-media-load><a href=#dom-media-load>load()</a></code> method was invoked while the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection algorithm</a> was already running, in which case it is fired synchronously during the <code title=dom-media-load><a href=#dom-media-load>load()</a></code> method call).
      <td><code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> is <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code>; all the IDL attributes are in their initial states.
     <tr><td><dfn id=event-media-stalled title=event-media-stalled><code>stalled</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent is trying to fetch <a href=#media-data>media data</a>, but data is unexpectedly not forthcoming.
      <td><code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> is <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>.
 
    <tbody><tr><td><dfn id=event-media-play title=event-media-play><code>play</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Playback has begun. Fired after the <code title=dom-media-play><a href=#dom-media-play>play()</a></code> method has returned.
      <td><code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is newly false.
     <tr><td><dfn id=event-media-pause title=event-media-pause><code>pause</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Playback has been paused. Fired after the <code title=dom-media-pause><a href=#dom-media-pause>pause</a></code> method has returned.
      <td><code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is newly true.
 
    <tbody><tr><td><dfn id=event-media-loadedmetadata title=event-media-loadedmetadata><code>loadedmetadata</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent has just determined the duration and dimensions of the <a href=#media-resource>media resource</a>.
      <td><code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> is newly equal to <code title=dom-media-HAVE_METADATA><a href=#dom-media-have_metadata>HAVE_METADATA</a></code> or greater for the first time.
     <tr><td><dfn id=event-media-loadeddata title=event-media-loadeddata><code>loadeddata</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent can render the <a href=#media-data>media data</a> at the <a href=#current-playback-position>current playback position</a> for the first time.
      <td><code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> newly increased to <code title=dom-media-HAVE_CURRENT_DATA><a href=#dom-media-have_current_data>HAVE_CURRENT_DATA</a></code> or greater for the first time.
     <tr><td><dfn id=event-media-waiting title=event-media-waiting><code>waiting</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Playback has stopped because the next frame is not available, but the user agent expects that frame to become available in due course.
      <td><code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> is newly equal to or less than <code title=dom-media-HAVE_CURRENT_DATA><a href=#dom-media-have_current_data>HAVE_CURRENT_DATA</a></code>, and <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is false. Either <code title=dom-media-seeking><a href=#dom-media-seeking>seeking</a></code> is true, or the <a href=#current-playback-position>current playback position</a> is not contained in any of the ranges in <code title=dom-media-buffered><a href=#dom-media-buffered>buffered</a></code>. It is possible for playback to stop for two other reasons without <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> being false, but those two reasons do not fire this event: maybe <a href=#ended-playback title="ended playback">playback ended</a>, or playback <a href=#stopped-due-to-errors>stopped due to errors</a>.
     <tr><td><dfn id=event-media-playing title=event-media-playing><code>playing</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Playback has started.
      <td><code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> is newly equal to or greater than <code title=dom-media-HAVE_FUTURE_DATA><a href=#dom-media-have_future_data>HAVE_FUTURE_DATA</a></code>, <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> is false, <code title=dom-media-seeking><a href=#dom-media-seeking>seeking</a></code> is false, or the <a href=#current-playback-position>current playback position</a> is contained in one of the ranges in <code title=dom-media-buffered><a href=#dom-media-buffered>buffered</a></code>.
     <tr><td><dfn id=event-media-canplay title=event-media-canplay><code>canplay</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent can resume playback of the <a href=#media-data>media data</a>, but estimates that if playback were to be started now, the <a href=#media-resource>media resource</a> could not be rendered at the current playback rate up to its end without having to stop for further buffering of content.
      <td><code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> newly increased to <code title=dom-media-HAVE_FUTURE_DATA><a href=#dom-media-have_future_data>HAVE_FUTURE_DATA</a></code> or greater.
     <tr><td><dfn id=event-media-canplaythrough title=event-media-canplaythrough><code>canplaythrough</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The user agent estimates that if playback were to be started now, the <a href=#media-resource>media resource</a> could be rendered at the current playback rate all the way to its end without having to stop for further buffering.
      <td><code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> is newly equal to <code title=dom-media-HAVE_ENOUGH_DATA><a href=#dom-media-have_enough_data>HAVE_ENOUGH_DATA</a></code>.
 
    <tbody><tr><td><dfn id=event-media-seeking title=event-media-seeking><code>seeking</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The <code title=dom-media-seeking><a href=#dom-media-seeking>seeking</a></code> IDL attribute changed to true and the seek operation is taking long enough that the user agent has time to fire the event.
      <td>
     <tr><td><dfn id=event-media-seeked title=event-media-seeked><code>seeked</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The <code title=dom-media-seeking><a href=#dom-media-seeking>seeking</a></code> IDL attribute changed to false.
      <td>
     <tr><td><dfn id=event-media-timeupdate title=event-media-timeupdate><code>timeupdate</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The <a href=#current-playback-position>current playback position</a> changed as part of normal playback or in an especially interesting way, for example discontinuously.
      <td>
     <tr><td><dfn id=event-media-ended title=event-media-ended><code>ended</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Playback has stopped because the end of the <a href=#media-resource>media resource</a> was reached.
      <td><code title=dom-media-currentTime><a href=#dom-media-currenttime>currentTime</a></code> equals the end of the <a href=#media-resource>media resource</a>; <code title=dom-media-ended><a href=#dom-media-ended>ended</a></code> is true.
 
    <tbody><tr><td><dfn id=event-media-ratechange title=event-media-ratechange><code>ratechange</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Either the <code title=dom-media-defaultPlaybackRate><a href=#dom-media-defaultplaybackrate>defaultPlaybackRate</a></code> or the <code title=dom-media-playbackRate><a href=#dom-media-playbackrate>playbackRate</a></code> attribute has just been updated.
      <td>
     <tr><td><dfn id=event-media-durationchange title=event-media-durationchange><code>durationchange</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>The <code title=dom-media-duration><a href=#dom-media-duration>duration</a></code> attribute has just been updated.
      <td>
     <tr><td><dfn id=event-media-volumechange title=event-media-volumechange><code>volumechange</code></dfn>
-     <td><code>Event</code>
+     <td><code><a href=#event>Event</a></code>
      <td>Either the <code title=dom-media-volume><a href=#dom-media-volume>volume</a></code> attribute or the <code title=dom-media-muted><a href=#dom-media-muted>muted</a></code> attribute has changed. Fired after the relevant attribute's setter has returned.
      <td>
   </table><div class=impl>
@@ -24338,7 +24348,7 @@
 
   <hr><p>If a victim page embeds hostile content, the threat is that the
   content might contain scripted code that attempts to interact with
-  the <code>Document</code> that embeds the content. To avoid this,
+  the <code><a href=#document>Document</a></code> that embeds the content. To avoid this,
   user agents must ensure that there is no access from the content to
   the embedding page. In the case of media content that uses DOM
   concepts, the embedded content must be treated as if it was in its
@@ -24728,7 +24738,7 @@
   boolean <a href=#dom-context-2d-ispointinpath title=dom-context-2d-isPointInPath>isPointInPath</a>(in float x, in float y);
 
   // focus management
-  boolean <a href=#dom-context-2d-drawfocusring title=dom-context-2d-drawFocusRing>drawFocusRing</a>(in <span>Element</span> element, in float xCaret, in float yCaret, in optional boolean canDrawCustom);
+  boolean <a href=#dom-context-2d-drawfocusring title=dom-context-2d-drawFocusRing>drawFocusRing</a>(in <a href=#element>Element</a> element, in float xCaret, in float yCaret, in optional boolean canDrawCustom);
 
   // text
            attribute DOMString <a href=#dom-context-2d-font title=dom-context-2d-font>font</a>; // (default 10px sans-serif)
@@ -27524,7 +27534,7 @@
    called with an <code><a href=#htmlimageelement>HTMLImageElement</a></code> or an
    <code><a href=#htmlvideoelement>HTMLVideoElement</a></code> whose <a href=#origin>origin</a> is not the
    <a href=#same-origin title="same origin">same</a> as that of the
-   <code>Document</code> object that owns the <code><a href=#the-canvas-element>canvas</a></code>
+   <code><a href=#document>Document</a></code> object that owns the <code><a href=#the-canvas-element>canvas</a></code>
    element.</li>
 
    <li><p>The element's 2D context's <code title=dom-context-2d-drawImage><a href=#dom-context-2d-drawimage>drawImage()</a></code> method is
@@ -27535,7 +27545,7 @@
    to a <code><a href=#canvaspattern>CanvasPattern</a></code> object that was created from an
    <code><a href=#htmlimageelement>HTMLImageElement</a></code> or an <code><a href=#htmlvideoelement>HTMLVideoElement</a></code>
    whose <a href=#origin>origin</a> was not the <a href=#same-origin title="same
-   origin">same</a> as that of the <code>Document</code> object
+   origin">same</a> as that of the <code><a href=#document>Document</a></code> object
    that owns the <code><a href=#the-canvas-element>canvas</a></code> element when the pattern was
    created.</li>
 
@@ -27548,7 +27558,7 @@
    set to a <code><a href=#canvaspattern>CanvasPattern</a></code> object that was created from an
    <code><a href=#htmlimageelement>HTMLImageElement</a></code> or an <code><a href=#htmlvideoelement>HTMLVideoElement</a></code>
    whose <a href=#origin>origin</a> was not the <a href=#same-origin title="same
-   origin">same</a> as that of the <code>Document</code> object
+   origin">same</a> as that of the <code><a href=#document>Document</a></code> object
    that owns the <code><a href=#the-canvas-element>canvas</a></code> element when the pattern was
    created.</li>
 
@@ -27635,7 +27645,7 @@
 
   <p>The <dfn id=dom-map-images title=dom-map-images><code>images</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only
+  <code><a href=#document>Document</a></code> node, whose filter matches only
   <code><a href=#the-img-element>img</a></code> and <code><a href=#the-object-element>object</a></code> elements that are
   associated with this <code><a href=#the-map-element>map</a></code> element according to the
   <a href=#image-map>image map</a> processing model.</p>
@@ -28085,7 +28095,7 @@
   </ol><p>Mouse clicks on an image associated with a set of layered shapes
   per the above algorithm must be dispatched to the top-most shape
   covering the point that the pointing device indicated (if any), and
-  then, must be dispatched again (with a new <code>Event</code>
+  then, must be dispatched again (with a new <code><a href=#event>Event</a></code>
   object) to the image element itself. User agents may also allow
   individual <code><a href=#the-area-element>area</a></code> elements representing <a href=#hyperlink title=hyperlink>hyperlinks</a> to be selected and activated
   (e.g. using a keyboard); events from this are not also propagated to
@@ -30267,7 +30277,7 @@
         <!-- support headers="" to <td> for legacy compat -->
         <!-- note that it's not conforming though -->
         <p>For each token in the <var title="">id list</var>, if the
-        first element in the <code>Document</code> with an ID equal to
+        first element in the <code><a href=#document>Document</a></code> with an ID equal to
         the token is a cell in the same <a href=#concept-table title=concept-table>table</a>, and that cell is not the
         <var title="">principal cell</var>, then add that cell to <var title="">header list</var>.</p>
 
@@ -30970,10 +30980,10 @@
     <p>Once an element has been referenced using a particular name,
     that name will continue being available as a way to reference that
     element in this method, even if the element's actual ID or <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> changes, for as long as the
-    element remains in the <code>Document</code>.</p>
+    element remains in the <code><a href=#document>Document</a></code>.</p>
 
     <p>If there are multiple matching items, then a
-    <code>NodeList</code> object containing all those elements is
+    <code><a href=#nodelist>NodeList</a></code> object containing all those elements is
     returned.</p>
 
     <p>Returns null if no element with that <a href=#concept-id title=concept-id>ID</a> or <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> could be found.</p>
@@ -31034,7 +31044,7 @@
 
   <hr><p>The <dfn id=dom-form-elements title=dom-form-elements><code>elements</code></dfn>
   IDL attribute must return an <code><a href=#htmlformcontrolscollection>HTMLFormControlsCollection</a></code>
-  rooted at the <code>Document</code> node, whose filter matches <a href=#category-listed title=category-listed>listed</a> elements whose <a href=#form-owner>form
+  rooted at the <code><a href=#document>Document</a></code> node, whose filter matches <a href=#category-listed title=category-listed>listed</a> elements whose <a href=#form-owner>form
   owner</a> is the <code><a href=#the-form-element>form</a></code> element, with the exception of
   <code><a href=#the-input-element>input</a></code> elements whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href=#image-button-state title=attr-input-type-image>Image Button</a> state, which must,
   for historical reasons, be excluded from this particular
@@ -31093,7 +31103,7 @@
    map</a>: return the object associated with <var title="">name</var> in that map.</li>
 
   </ol><p>If an element listed in the <code><a href=#the-form-element>form</a></code> element's <a href=#past-names-map>past
-  names map</a> is removed from the <code>Document</code>, then its
+  names map</a> is removed from the <code><a href=#document>Document</a></code>, then its
   entries must be removed from the map.</p>
 
   <!--
@@ -31367,9 +31377,9 @@
   may be specified to indicate a form control with which the caption
   is to be associated. If the attribute is specified, the attribute's
   value must be the ID of a <a href=#category-label title=category-label>labelable
-  form-associated element</a> in the same <code>Document</code> as
+  form-associated element</a> in the same <code><a href=#document>Document</a></code> as
   the <code><a href=#the-label-element>label</a></code> element. <span class=impl>If the attribute
-  is specified and there is an element in the <code>Document</code>
+  is specified and there is an element in the <code><a href=#document>Document</a></code>
   whose ID is equal to the value of the <code title=attr-label-for><a href=#attr-label-for>for</a></code> attribute, and the first such
   element is a <a href=#category-label title=category-label>labelable form-associated
   element</a>, then that element is the <code><a href=#the-label-element>label</a></code>
@@ -31434,7 +31444,7 @@
 
    <dd>
 
-    <p>Returns a <code>NodeList</code> of all the <code><a href=#the-label-element>label</a></code>
+    <p>Returns a <code><a href=#nodelist>NodeList</a></code> of all the <code><a href=#the-label-element>label</a></code>
     elements that the form control is associated with.</p>
 
    </dd>
@@ -31442,12 +31452,12 @@
   </dl><div class=impl>
 
   <p><a href=#category-label title=category-label>Labelable form-associated
-  elements</a> have a <code>NodeList</code> object associated with
+  elements</a> have a <code><a href=#nodelist>NodeList</a></code> object associated with
   them that represents the list of <code><a href=#the-label-element>label</a></code> elements, in
   <a href=#tree-order>tree order</a>, whose <a href=#labeled-control>labeled control</a> is the
   element in question. The <dfn id=dom-lfe-labels title=dom-lfe-labels><code>labels</code></dfn> IDL attribute of
   <a href=#category-label title=category-label>labelable form-associated
-  elements</a>, on getting, must return that <code>NodeList</code>
+  elements</a>, on getting, must return that <code><a href=#nodelist>NodeList</a></code>
   object.</p>
 
   </div>
@@ -31556,7 +31566,7 @@
   boolean <a href=#dom-cva-checkvalidatity title=dom-cva-checkValidatity>checkValidity</a>();
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(in DOMString error);
 
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 
   void <a href=#dom-textarea/input-select title=dom-textarea/input-select>select</a>();
            attribute unsigned long <a href=#dom-textarea/input-selectionstart title=dom-textarea/input-selectionStart>selectionStart</a>;
@@ -32717,7 +32727,7 @@
   <p>When an <code><a href=#the-input-element>input</a></code> element is <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a>, it is <i title=concept-input-immutable><a href=#concept-input-immutable>immutable</a></i>.</p>
 
   <p>When an <code><a href=#the-input-element>input</a></code> element does not have a
-  <code>Document</code> node as one of its ancestors (i.e. when it is
+  <code><a href=#document>Document</a></code> node as one of its ancestors (i.e. when it is
   not in the document), it is <i title=concept-input-immutable><a href=#concept-input-immutable>immutable</a></i>.</p> <!-- XBL2 spec
   point -->
 
@@ -36757,7 +36767,7 @@
   boolean <a href=#dom-cva-checkvalidatity title=dom-cva-checkValidatity>checkValidity</a>();
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(in DOMString error);
 
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  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
@@ -36928,7 +36938,7 @@
   boolean <a href=#dom-cva-checkvalidatity title=dom-cva-checkValidatity>checkValidity</a>();
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(in DOMString error);
 
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 };</pre>
    </dd>
   </dl><!-- Proposals for v2:
@@ -37081,7 +37091,7 @@
    <dt><var title="">select</var>(<var title="">name</var>)</dt>
    <dd>
     <p>Returns the item with ID or <code title=attr-option-name>name</code> <var title="">name</var> from the <a href=#concept-select-option-list title=concept-select-option-list>list of options</a>.</p>
-    <p>If there are multiple matching items, then a <code>NodeList</code> object containing all those elements is returned.</p>
+    <p>If there are multiple matching items, then a <code><a href=#nodelist>NodeList</a></code> object containing all those elements is returned.</p>
     <p>Returns null if no element with that ID could be found.</p>
    </dd>
 
@@ -37463,12 +37473,12 @@
   <p>The <dfn id=attr-option-label title=attr-option-label><code>label</code></dfn>
   attribute provides a label for element. The <dfn id=concept-option-label title=concept-option-label>label</dfn> of an <code><a href=#the-option-element>option</a></code>
   element is the value of the <code title=attr-option-label><a href=#attr-option-label>label</a></code> attribute, if there is one,
-  or the <code>textContent</code> of the element, if there isn't.</p>
+  or the <code><a href=#textcontent>textContent</a></code> of the element, if there isn't.</p>
 
   <p>The <dfn id=attr-option-value title=attr-option-value><code>value</code></dfn>
   attribute provides a value for element. The <dfn id=concept-option-value title=concept-option-value>value</dfn> of an <code><a href=#the-option-element>option</a></code>
   element is the value of the <code title=attr-option-value><a href=#attr-option-value>value</a></code> attribute, if there is one,
-  or the <code>textContent</code> of the element, if there isn't.</p>
+  or the <code><a href=#textcontent>textContent</a></code> of the element, if there isn't.</p>
 
   <p>The <dfn id=attr-option-selected title=attr-option-selected><code>selected</code></dfn>
   attribute represents the default <a href=#concept-option-selectedness title=concept-option-selectedness>selectedness</a> of the
@@ -37535,7 +37545,7 @@
 
    <dd>
 
-    <p>Same as <code>textContent</code>.</p>
+    <p>Same as <code><a href=#textcontent>textContent</a></code>.</p>
 
    </dd>
 
@@ -37562,7 +37572,7 @@
 
   <p>The <dfn id=dom-option-value title=dom-option-value><code>value</code></dfn> IDL
   attribute, on getting, must return the value of the element's <code title=attr-option-value><a href=#attr-option-value>value</a></code> content attribute, if it has
-  one, or else the value of the element's <code>textContent</code> IDL
+  one, or else the value of the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute. On setting, the element's <code title=attr-option-value><a href=#attr-option-value>value</a></code> content attribute must be set
   to the new value.</p>
 
@@ -37575,8 +37585,8 @@
 
   <p>The <dfn id=dom-option-text title=dom-option-text><code>text</code></dfn> IDL
   attribute, on getting, must return the same value as the
-  <code>textContent</code> IDL attribute on the element, and on
-  setting, must act as if the <code>textContent</code> IDL attribute
+  <code><a href=#textcontent>textContent</a></code> IDL attribute on the element, and on
+  setting, must act as if the <code><a href=#textcontent>textContent</a></code> IDL attribute
   on the element had been set to the new value.</p>
 
   <p>The <dfn id=dom-option-form title=dom-option-form><code>form</code></dfn> IDL
@@ -37665,7 +37675,7 @@
   boolean <a href=#dom-cva-checkvalidatity title=dom-cva-checkValidatity>checkValidity</a>();
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(in DOMString error);
 
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  readonly attribute <a href=#nodelist>NodeList</a> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
 
   void <a href=#dom-textarea/input-select title=dom-textarea/input-select>select</a>();
            attribute unsigned long <a href=#dom-textarea/input-selectionstart title=dom-textarea/input-selectionStart>selectionStart</a>;
@@ -37717,16 +37727,16 @@
   initially set to false, and must be set to true whenever the user
   interacts with the control in a way that changes the <a href=#concept-textarea-raw-value title=concept-textarea-raw-value>raw value</a>.</p>
 
-  <p>When the <code><a href=#the-textarea-element>textarea</a></code> element's <code>textContent</code>
+  <p>When the <code><a href=#the-textarea-element>textarea</a></code> element's <code><a href=#textcontent>textContent</a></code>
   IDL attribute changes value, if the element's <a href=#concept-textarea-dirty title=concept-textarea-dirty>dirty value flag</a> is false,
   then the element's <a href=#concept-textarea-raw-value title=concept-textarea-raw-value>raw
   value</a> must be set to the value of the element's
-  <code>textContent</code> IDL attribute.</p>
+  <code><a href=#textcontent>textContent</a></code> IDL attribute.</p>
 
   <p>The <a href=#concept-form-reset-control title=concept-form-reset-control>reset
   algorithm</a> for <code><a href=#the-textarea-element>textarea</a></code> elements is to set the
   element's <a href=#concept-textarea-raw-value title=concept-textarea-raw-value>value</a> to
-  the value of the element's <code>textContent</code> IDL
+  the value of the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute.</p>
 
   </div>
@@ -37814,7 +37824,7 @@
   <p>If the <code><a href=#the-textarea-element>textarea</a></code> element has a <a href=#maximum-allowed-value-length>maximum allowed
   value length</a>, then the element's children must be such that
   the <a href=#code-point-length>code-point length</a> of the value of the element's
-  <code>textContent</code> IDL attribute is equal to or less than the
+  <code><a href=#textcontent>textContent</a></code> IDL attribute is equal to or less than the
   element's <a href=#maximum-allowed-value-length>maximum allowed value length</a>.</p>
 
   <p>The <dfn id=attr-textarea-required title=attr-textarea-required><code>required</code></dfn> attribute
@@ -37900,7 +37910,7 @@
   attribute must return the value "<code title="">textarea</code>".</p>
 
   <p>The <dfn id=dom-textarea-defaultvalue title=dom-textarea-defaultValue><code>defaultValue</code></dfn>
-  IDL attribute must act like the element's <code>textContent</code>
+  IDL attribute must act like the element's <code><a href=#textcontent>textContent</a></code>
   IDL attribute.</p>
 
   <p>The <dfn id=dom-textarea-value title=dom-textarea-value><code>value</code></dfn>
@@ -37971,7 +37981,7 @@
   boolean <a href=#dom-cva-checkvalidatity title=dom-cva-checkValidatity>checkValidity</a>();
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(in DOMString error);
 
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  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
@@ -38256,7 +38266,7 @@
   boolean <a href=#dom-cva-checkvalidatity title=dom-cva-checkValidatity>checkValidity</a>();
   void <a href=#dom-cva-setcustomvalidity title=dom-cva-setCustomValidity>setCustomValidity</a>(in DOMString error);
 
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  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
@@ -38270,7 +38280,7 @@
   if specified, must contain a string consisting of an <a href=#unordered-set-of-unique-space-separated-tokens>unordered
   set of unique space-separated tokens</a>, each of which must have
   the value of an ID of an element in the same
-  <code>Document</code>.</p>
+  <code><a href=#document>Document</a></code>.</p>
 
   <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-output-element>output</a></code> element with its
@@ -38301,12 +38311,12 @@
   <a href=#concept-output-mode title=concept-output-mode>value mode flag</a> is in mode
   <i title=concept-output-mode-default>default</i>, the element's
   <a href=#concept-output-defaultvalue title=concept-output-defaultValue>default value</a> must
-  be set to the value of the element's <code>textContent</code> IDL
+  be set to the value of the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute.</p>
 
   <p>The <a href=#concept-form-reset-control title=concept-form-reset-control>reset
   algorithm</a> for <code><a href=#the-output-element>output</a></code> elements is to set the
-  element's <code>textContent</code> IDL attribute to the value of the
+  element's <code><a href=#textcontent>textContent</a></code> IDL attribute to the value of the
   element's <code title=dom-output-defaultValue><a href=#dom-output-defaultvalue>defaultValue</a></code>
   IDL attribute (thus replacing the element's child nodes), and then
   to set the element's <a href=#concept-output-mode title=concept-output-mode>value mode
@@ -38345,7 +38355,7 @@
   </dl><div class=impl>
 
   <p>The <dfn id=dom-output-value title=dom-output-value><code>value</code></dfn> IDL
-  attribute must act like the element's <code>textContent</code> IDL
+  attribute must act like the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute, except that on setting, in addition, before the child
   nodes are changed, the element's <a href=#concept-output-mode title=concept-output-mode>value mode flag</a> must be set to <i title=concept-output-mode-value>value</i>.</p>
 
@@ -38354,7 +38364,7 @@
   setting, the attribute must set the element's <a href=#concept-output-defaultvalue title=concept-output-defaultValue>default value</a>, and, if
   the element's <a href=#concept-output-mode title=concept-output-mode>value mode
   flag</a> is in the mode <i title=concept-output-mode-default>default</i>, set the element's
-  <code>textContent</code> IDL attribute as well.</p>
+  <code><a href=#textcontent>textContent</a></code> IDL attribute as well.</p>
 
   <p>The <dfn id=dom-output-type title=dom-output-type><code>type</code></dfn>
   attribute must return the string "<code title="">output</code>".</p>
@@ -38413,7 +38423,7 @@
            attribute float <a href=#dom-progress-max title=dom-progress-max>max</a>;
   readonly attribute float <a href=#dom-progress-position title=dom-progress-position>position</a>;
   readonly attribute <a href=#htmlformelement>HTMLFormElement</a> <a href=#dom-fae-form title=dom-fae-form>form</a>;
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  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
@@ -38575,7 +38585,7 @@
            attribute float <a href=#dom-meter-high title=dom-meter-high>high</a>;
            attribute float <a href=#dom-meter-optimum title=dom-meter-optimum>optimum</a>;
   readonly attribute <a href=#htmlformelement>HTMLFormElement</a> <a href=#dom-fae-form title=dom-fae-form>form</a>;
-  readonly attribute <span>NodeList</span> <a href=#dom-lfe-labels title=dom-lfe-labels>labels</a>;
+  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
@@ -38912,7 +38922,7 @@
 
   <p>If a <a href=#form-associated-element>form-associated element</a> has a <code title=attr-fae-form><a href=#attr-fae-form>form</a></code> attribute specified, then its
   value must be the ID of a <code><a href=#the-form-element>form</a></code> element in the element's
-  owner <code>Document</code>.</p>
+  owner <code><a href=#document>Document</a></code>.</p>
 
   <div class=impl>
 
@@ -38924,7 +38934,7 @@
 
   <p>When a <a href=#form-associated-element>form-associated element</a>'s ancestor chain
   changes, e.g. because it or one of its ancestors was <a href=#insert-an-element-into-a-document title="insert an element into a document">inserted</a> or <a href=#remove-an-element-from-a-document title="remove an element from a document">removed</a> from a
-  <code>Document</code>, then the user agent must <a href=#reset-the-form-owner>reset the form
+  <code><a href=#document>Document</a></code>, then the user agent must <a href=#reset-the-form-owner>reset the form
   owner</a> of that element.</p>
 
   <p>When a <a href=#form-associated-element>form-associated element</a>'s <code title=attr-fae-form><a href=#attr-fae-form>form</a></code> attribute is added, removed, or
@@ -38932,7 +38942,7 @@
   owner</a> of that element.</p>
 
   <p>When a <a href=#form-associated-element>form-associated element</a> has a <code title=attr-fae-form><a href=#attr-fae-form>form</a></code> attribute and the ID of any of the
-  <code><a href=#the-form-element>form</a></code> elements in the <code>Document</code> changes,
+  <code><a href=#the-form-element>form</a></code> elements in the <code><a href=#document>Document</a></code> changes,
   then the user agent must <a href=#reset-the-form-owner>reset the form owner</a> of that
   <a href=#form-associated-element>form-associated element</a>.</p>
 
@@ -38954,7 +38964,7 @@
     content attribute, then run these substeps:</p>
 
     <ol><!-- note that this ignores the name="" attribute and is
-     unaffected by quirks mode (it's always case sensitive) --><li><p>If the first element in the <code>Document</code> to have
+     unaffected by quirks mode (it's always case sensitive) --><li><p>If the first element in the <code><a href=#document>Document</a></code> to have
      an ID that is <a href=#case-sensitive title=case-sensitive>case-sensitively</a> equal to the
      element's <code title=attr-fae-form><a href=#attr-fae-form>form</a></code> content
      attribute's value is a <code><a href=#the-form-element>form</a></code> element, then <a href=#concept-form-association title=concept-form-association>associate</a> the
@@ -39836,10 +39846,10 @@
   run the following steps:</p>
 
   <ol><li id=sandboxSubmitBlocked><p>If <var title="">form</var> is in
-   a <code>Document</code> that has no associated <a href=#browsing-context>browsing
+   a <code><a href=#document>Document</a></code> that has no associated <a href=#browsing-context>browsing
    context</a> or whose <a href=#browsing-context>browsing context</a> had its
    <a href=#sandboxed-forms-browsing-context-flag>sandboxed forms browsing context flag</a> set when the
-   <code>Document</code> was created, then abort these steps without
+   <code><a href=#document>Document</a></code> was created, then abort these steps without
    doing anything.</li>
 
    <li><p>If <var title="">form</var> is already being submitted
@@ -40156,7 +40166,7 @@
       </dl><p>If <var title="">method</var> is anything but GET or POST,
       and the <a href=#origin>origin</a> of <var title="">action</var> is not
       the <a href=#same-origin>same origin</a> as that of the <code><a href=#the-form-element>form</a></code>
-      element's <code>Document</code>, then abort these steps.</p>
+      element's <code><a href=#document>Document</a></code>, then abort these steps.</p>
       <!-- CORS, one day -->
 
       <p>Otherwise, <a href=#navigate>navigate</a> <var title="">target
@@ -40176,7 +40186,7 @@
 
       <p>If the <a href=#origin>origin</a> of <var title="">action</var> is
       not the <a href=#same-origin>same origin</a> as that of the
-      <code><a href=#the-form-element>form</a></code> element's <code>Document</code>, then abort
+      <code><a href=#the-form-element>form</a></code> element's <code><a href=#document>Document</a></code>, then abort
       these steps.</p> <!-- CORS, one day -->
 
       <p>Otherwise, <a href=#navigate>navigate</a> <var title="">target
@@ -43698,7 +43708,7 @@
    <dt>An <code><a href=#the-hr-element>hr</a></code> element</dt>
    <dt>An <code><a href=#the-option-element>option</a></code> element that has a <code title=attr-option-value><a href=#attr-option-value>value</a></code> attribute set to the empty
    string, and has a <code title=attr-option-disabled><a href=#attr-option-disabled>disabled</a></code> attribute, and whose
-   <code>textContent</code> consists of a string of one or more
+   <code><a href=#textcontent>textContent</a></code> consists of a string of one or more
    hyphens (U+002D HYPHEN-MINUS)</dt>
 
    <dd>Append a separator to the menu.</dd>
@@ -44084,14 +44094,14 @@
   <hr><dl class=domintro><dt><var title="">document</var> . <code title=dom-document-commands><a href=#dom-document-commands>commands</a></code></dt>
    <dd>
     <p>Returns an <code><a href=#htmlcollection>HTMLCollection</a></code> of the elements in the
-    <code>Document</code> that define commands and have IDs.</p>
+    <code><a href=#document>Document</a></code> that define commands and have IDs.</p>
    </dd>
 
   </dl><div class=impl>
 
   <p>The <dfn id=dom-document-commands title=dom-document-commands><code>commands</code></dfn> attribute
   of the document's <code><a href=#htmldocument>HTMLDocument</a></code> interface must return an
-  <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the <code>Document</code>
+  <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the <code><a href=#document>Document</a></code>
   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>
@@ -44117,7 +44127,7 @@
   command is an <a href=#anonymous-command>anonymous command</a>.</p>
 
   <p>The <a href=#command-facet-label title=command-facet-Label>Label</a> of the command
-  is the string given by the element's <code>textContent</code> IDL
+  is the string given by the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
@@ -44187,7 +44197,7 @@
 
   <p>Otherwise, the <a href=#command-facet-type title=command-facet-Type>Type</a> is
   "radio" or "checkbox". If the element is a <a href=#labeled-control>labeled
-  control</a>, the <code>textContent</code> of the first
+  control</a>, the <code><a href=#textcontent>textContent</a></code> of the first
   <code><a href=#the-label-element>label</a></code> element in <a href=#tree-order>tree order</a> whose
   <a href=#labeled-control>labeled control</a> is the element in question is the <a href=#command-facet-label title=command-facet-Label>Label</a> (in DOM terms, this is the
   string given by <code><var title="">element</var>.labels[0].textContent</code>). Otherwise,
@@ -44253,7 +44263,7 @@
   <p>The <a href=#command-facet-label title=command-facet-Label>Label</a> of the command
   is the value of the <code><a href=#the-option-element>option</a></code> element's <code title=attr-option-label><a href=#attr-option-label>label</a></code> attribute, if there is one,
   or the value of the <code><a href=#the-option-element>option</a></code> element's
-  <code>textContent</code> IDL attribute if there isn't.</p>
+  <code><a href=#textcontent>textContent</a></code> IDL attribute if there isn't.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
   is the string given by the element's <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute, if any, and the empty
@@ -44360,7 +44370,7 @@
   command is an <a href=#anonymous-command>anonymous command</a>.</p>
 
   <p>The <a href=#command-facet-label title=command-facet-Label>Label</a> of the command
-  is the string given by the element's <code>textContent</code> IDL
+  is the string given by the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
@@ -44401,7 +44411,7 @@
   command is an <a href=#anonymous-command>anonymous command</a>.</p>
 
   <p>The <a href=#command-facet-label title=command-facet-Label>Label</a> of the command
-  is the string given by the element's <code>textContent</code> IDL
+  is the string given by the element's <code><a href=#textcontent>textContent</a></code> IDL
   attribute.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
@@ -44447,12 +44457,12 @@
 
   <p>The <a href=#command-facet-label title=command-facet-Label>Label</a> of the command
   depends on the element. If the element is a <a href=#labeled-control>labeled
-  control</a>, the <code>textContent</code> of the first
+  control</a>, the <code><a href=#textcontent>textContent</a></code> of the first
   <code><a href=#the-label-element>label</a></code> element in <a href=#tree-order>tree order</a> whose
   <a href=#labeled-control>labeled control</a> is the element in question is the <a href=#command-facet-label title=command-facet-Label>Label</a> (in DOM terms, this is the
   string given by <code><var title="">element</var>.labels[0].textContent</code>). Otherwise, the
   <a href=#command-facet-label title=command-facet-Label>Label</a> is the
-  <code>textContent</code> of the element itself.</p>
+  <code><a href=#textcontent>textContent</a></code> of the element itself.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
   is the value of the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
@@ -44743,7 +44753,7 @@
   is in.</p>
 
   <p>The navigation must be done with the <a href=#browsing-context>browsing
-  context</a> that contains the <code>Document</code> object with
+  context</a> that contains the <code><a href=#document>Document</a></code> object with
   which the hyperlink's element in question is associated as the
   <a href=#source-browsing-context>source browsing context</a>.</p>
 
@@ -44776,13 +44786,13 @@
   POST method, with an entity body with the <a href=#mime-type>MIME type</a>
   <code><a href=#text/ping>text/ping</a></code> consisting of the four-character string
   "<code title="">PING</code>", from the <a href=#origin>origin</a> of the
-  <code>Document</code> containing the <a href=#hyperlink>hyperlink</a>. <!--
+  <code><a href=#document>Document</a></code> containing the <a href=#hyperlink>hyperlink</a>. <!--
   not http-origin privacy sensitive --> All relevant cookie and HTTP
   authentication headers must be included in the request. Which other
   headers are required depends on the URLs involved.</p>
 
   <dl class=switch><dt>If both the <a href="#the-document's-address" title="the document's address">address</a>
-   of the <code>Document</code> object containing the hyperlink being
+   of the <code><a href=#document>Document</a></code> object containing the hyperlink being
    audited and the ping URL have the <a href=#same-origin>same origin</a></dt>
 
    <dd>The request must include a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP header with, as its
@@ -46939,7 +46949,7 @@
 
   <p>The <code title=dom-document-getItems><a href=#dom-document-getitems>document.getItems(<var title="">typeNames</var>)</a></code> method provides access to the
   <a href=#top-level-microdata-items>top-level microdata items</a>. It returns a
-  <code>NodeList</code> containing the items with the specified types,
+  <code><a href=#nodelist>NodeList</a></code> containing the items with the specified types,
   or all types if no argument is specified.</p>
 
   <p>Each <a href=#concept-item title=concept-item>item</a> is represented in the
@@ -47336,7 +47346,7 @@
    <dt>Otherwise</dt>
 
    <dd><p>The value is the element's
-   <code>textContent</code>.</dd>
+   <code><a href=#textcontent>textContent</a></code>.</dd>
 
   </dl><p>The <dfn id=url-property-elements>URL property elements</dfn> are the <code><a href=#the-a-element>a</a></code>,
   <code><a href=#the-area-element>area</a></code>, <code><a href=#audio>audio</a></code>, <code><a href=#the-embed-element>embed</a></code>,
@@ -47533,7 +47543,7 @@
 
    <dd>
 
-    <p>Returns a <code>NodeList</code> of the elements in the <code>Document</code> that create <a href=#concept-item title=concept-item>items</a>, that are not part of other <a href=#concept-item title=concept-item>items</a>, and that are of one of the types given in the argument, if any are listed.</p>
+    <p>Returns a <code><a href=#nodelist>NodeList</a></code> of the elements in the <code><a href=#document>Document</a></code> that create <a href=#concept-item title=concept-item>items</a>, that are not part of other <a href=#concept-item title=concept-item>items</a>, and that are of one of the types given in the argument, if any are listed.</p>
 
     <p>The <var title="">types</var> argument is interpreted as a space-separated list of types.</p>
 
@@ -47568,17 +47578,17 @@
   <p>The <dfn id=dom-document-getitems title=dom-document-getItems><code>document.getItems(<var title="">typeNames</var>)</code></dfn> method takes an optional
   string that contains an <a href=#unordered-set-of-unique-space-separated-tokens>unordered set of unique
   space-separated tokens</a> representing types. When called, the
-  method must return a live <code>NodeList</code> object containing
+  method must return a live <code><a href=#nodelist>NodeList</a></code> object containing
   all the elements in the document, in <a href=#tree-order>tree order</a>, that
   are each <a href=#top-level-microdata-items>top-level microdata items</a> with a <a href=#item-type title="item type">type</a> equal to one of the types specified in
   that argument, having obtained the types by <a href=#split-a-string-on-spaces title="split a
   string on spaces">splitting the string on spaces</a>. If there
   are no tokens specified in the argument, or if the argument is
-  missing, then the method must return a <code>NodeList</code>
+  missing, then the method must return a <code><a href=#nodelist>NodeList</a></code>
   containing all the <a href=#top-level-microdata-items>top-level microdata items</a> in the
-  document.  A new <code>NodeList</code> object must be returned each
+  document.  A new <code><a href=#nodelist>NodeList</a></code> object must be returned each
   time unless the argument is the same as the last time the method was
-  invoked on this <code>Document</code> object, in which case the
+  invoked on this <code><a href=#document>Document</a></code> object, in which case the
   object must be the same as the object returned by the previous
   call.</p>
 
@@ -47597,7 +47607,7 @@
   <p>The <dfn id=dom-properties title=dom-properties><code>properties</code></dfn> IDL
   attribute on <a href=#html-elements>HTML elements</a> must return an
   <code><a href=#htmlpropertiescollection>HTMLPropertiesCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only elements that
+  <code><a href=#document>Document</a></code> node, whose filter matches only elements that
   have <a href=#property-names>property names</a> and are <a href=#the-properties-of-an-item title="the properties
   of an item">the properties of the item</a> created by the element
   on which the attribute was invoked, while that element is an <a href=#concept-item title=concept-item>item</a>, and matches nothing the rest of
@@ -47651,11 +47661,11 @@
    <dt>Otherwise</dt>
 
    <dd><p>The attribute must act the same as the element's
-   <code>textContent</code> attribute.</dd>
+   <code><a href=#textcontent>textContent</a></code> attribute.</dd>
 
   </dl><p>When the <code title=dom-itemValue><a href=#dom-itemvalue>itemValue</a></code> IDL
   attribute is <a href=#reflect title=reflect>reflecting</a> a content
-  attribute or acting like the element's <code>textContent</code>
+  attribute or acting like the element's <code><a href=#textcontent>textContent</a></code>
   attribute, the user agent must, on setting, convert the new value to
   the IDL <code title="">DOMString</code> value before using it
   according to the mappings described above.</p>
@@ -48828,7 +48838,7 @@
   </dl><h5 id=conversion-to-vcard><span class=secno>5.4.1.1 </span>Conversion to vCard</h5>
 
   <p>Given a list of nodes <var title="">nodes</var> in a
-  <code>Document</code>, a user agent must run the following algorithm
+  <code><a href=#document>Document</a></code>, a user agent must run the following algorithm
   to <dfn id=extracting-a-vcard title="extracting a vCard">extract any vCard data
   represented by those nodes</dfn> (only the first vCard is
   returned):</p>
@@ -48856,7 +48866,7 @@
 
    <li><p>If <a href=#the-title-element>the <code>title</code> element</a> is not null,
    <a href=#add-a-vcard-line>add a vCard line</a> with the type "<code title="">NAME</code>" and with the result of <a href=#escaping-the-vcard-text-string>escaping the
-   vCard text string</a> obtained from the <code>textContent</code>
+   vCard text string</a> obtained from the <code><a href=#textcontent>textContent</a></code>
    of <a href=#the-title-element>the <code>title</code> element</a> as the value to <var title="">output</var>.</li>
 
    <li><p>If <var title="">node</var> has a <a href=#global-identifier>global
@@ -49977,7 +49987,7 @@
   </ol><h5 id=conversion-to-icalendar><span class=secno>5.4.2.1 </span>Conversion to iCalendar</h5>
 
   <p>Given a list of nodes <var title="">nodes</var> in a
-  <code>Document</code>, a user agent must run the following algorithm
+  <code><a href=#document>Document</a></code>, a user agent must run the following algorithm
   to <dfn id=extracting-vevent-data title="extracting vEvent data">extract any vEvent data
   represented by those nodes</dfn>:</p>
 
@@ -50383,7 +50393,7 @@
   <h4 id=json><span class=secno>5.5.1 </span>JSON</h4>
 
   <p>Given a list of nodes <var title="">nodes</var> in a
-  <code>Document</code>, a user agent must run the following algorithm
+  <code><a href=#document>Document</a></code>, a user agent must run the following algorithm
   to <dfn id=extracting-json title="extracting JSON">extract the microdata from those
   nodes into a JSON form</dfn>:</p>
 
@@ -50471,7 +50481,7 @@
    <li>
 
     <p>For each <code><a href=#the-a-element>a</a></code>, <code><a href=#the-area-element>area</a></code>, and
-    <code><a href=#the-link-element>link</a></code> element in the <code>Document</code>, run these
+    <code><a href=#the-link-element>link</a></code> element in the <code><a href=#document>Document</a></code>, run these
     substeps:</p>
 
     <ol><li><p>If the element does not have a <code title="">rel</code>
@@ -50523,7 +50533,7 @@
 
    <li>
 
-    <p>For each <code><a href=#meta>meta</a></code> element in the <code>Document</code>
+    <p>For each <code><a href=#meta>meta</a></code> element in the <code><a href=#document>Document</a></code>
     that has a <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute and
     a <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, if the
     value of the <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute
@@ -50533,7 +50543,7 @@
     <dl class=triple><dt>subject   <dd> <a href="#the-document's-current-address">the document's current address</a>
      <dt>predicate <dd> the concatenation of the string "<code title="">http://www.w3.org/1999/xhtml/vocab#</code>" and the value of the element's <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute, <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>, with any characters in the value that are not valid in the <ifragment> production of the IRI syntax being %-escaped <a href=#refsRFC3987>[RFC3987]</a>
      <dt>object    <dd> the value of the element's <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, as a plain literal, with the language information set from the <a href=#language>language</a> of the element, if it is not unknown
-    </dl><p>For each <code><a href=#meta>meta</a></code> element in the <code>Document</code>
+    </dl><p>For each <code><a href=#meta>meta</a></code> element in the <code><a href=#document>Document</a></code>
     that has a <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute and
     a <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute, if the
     value of the <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute is
@@ -50547,7 +50557,7 @@
    <li>
 
     <p>For each <code><a href=#the-blockquote-element>blockquote</a></code> and <code><a href=#the-q-element>q</a></code> element in
-    the <code>Document</code> that has a <code title="">cite</code>
+    the <code><a href=#document>Document</a></code> that has a <code title="">cite</code>
     attribute that <a href=#resolve-a-url title="resolve a url">resolves</a>
     successfully relative to the element, generate the following
     triple:</p>
@@ -50849,19 +50859,19 @@
 
   <h4 id=atom><span class=secno>5.5.3 </span>Atom</h4>
 
-  <p>Given a <code>Document</code> <var title="">source</var>, a user
+  <p>Given a <code><a href=#document>Document</a></code> <var title="">source</var>, a user
   agent may run the following algorithm to <dfn id=extracting-atom title="extracting
   Atom">extract an Atom feed</dfn>. This is not the only algorithm
   that can be used for this purpose; for instance, a user agent might
   instead use the hAtom algorithm. <a href=#refsHATOM>[HATOM]</a></p>
 
-  <ol><li><p>If the <code>Document</code> <var title="">source</var> does
+  <ol><li><p>If the <code><a href=#document>Document</a></code> <var title="">source</var> does
    not contain any <code><a href=#the-article-element>article</a></code> elements, then return nothing
    and abort these steps. This algorithm can only be used with
    documents that contain distinct articles.</p>
 
    <li><p>Let <var title="">R</var> be an empty <a href=#xml-documents title="XML
-   documents">XML</a> <code>Document</code> object whose <a href="#the-document's-address" title="the document's address">address</a> is user-agent
+   documents">XML</a> <code><a href=#document>Document</a></code> object whose <a href="#the-document's-address" title="the document's address">address</a> is user-agent
    defined.</li>
 
    <li><p>Append a <code title="">feed</code> element in the
@@ -50958,7 +50968,7 @@
      <dd>
 
       <p>Let <var title="">heading text</var> be the
-      <code>textContent</code> of <a href=#the-title-element>the <code>title</code>
+      <code><a href=#textcontent>textContent</a></code> of <a href=#the-title-element>the <code>title</code>
       element</a>, if there is one, or the empty string
       otherwise.</p>
 
@@ -50976,10 +50986,10 @@
       of <var title="">heading</var>, sorted first by descending
       <a href=#rank>rank</a> and then in <a href=#tree-order>tree order</a> (so
       <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>s first, then <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>s, etc, with each
-      group in the order they appear in the document). Then, let <var title="">heading text</var> be the <code>textContent</code> of
+      group in the order they appear in the document). Then, let <var title="">heading text</var> be the <code><a href=#textcontent>textContent</a></code> of
       the first entry in <var title="">headings list</var>, and if
       there are multiple entries, let <var title="">subheading
-      text</var> be the <code>textContent</code> of the second entry
+      text</var> be the <code><a href=#textcontent>textContent</a></code> of the second entry
       in <var title="">headings list</var>.</p>
 
      </dd>
@@ -50989,7 +50999,7 @@
      <dd>
 
       <p>Let <var title="">heading text</var> be the
-      <code>textContent</code> of <var title="">heading</var>.</p>
+      <code><a href=#textcontent>textContent</a></code> of <var title="">heading</var>.</p>
 
      </dd>
 
@@ -51057,7 +51067,7 @@
         order</a> (so <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>s first, then
         <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>s, etc, with each group in the order they
         appear in the document). Then, let <var title="">heading
-        text</var> be the <code>textContent</code> of the first entry
+        text</var> be the <code><a href=#textcontent>textContent</a></code> of the first entry
         in <var title="">headings list</var>.</p>
 
        </dd>
@@ -51067,7 +51077,7 @@
        <dd>
 
         <p>Let <var title="">heading text</var> be the
-        <code>textContent</code> of <var title="">heading</var>.</p>
+        <code><a href=#textcontent>textContent</a></code> of <var title="">heading</var>.</p>
 
        </dd>
 
@@ -51270,7 +51280,7 @@
     <p>If <var title="">global update date</var> has no value, then
     let it have a value that is a <a href=#valid-global-date-and-time-string>valid global date and time
     string</a> representing the <a href=#concept-datetime title=concept-datetime>global date and time</a> of the date
-    and time of the <code>Document</code>'s source file's last
+    and time of the <code><a href=#document>Document</a></code>'s source file's last
     modification, if it is known, or else of the moment that this
     algorithm was invoked.</p>
 
@@ -51320,7 +51330,7 @@
   <h3 id=windows><span class=secno>6.1 </span>Browsing contexts</h3>
 
   <p>A <dfn id=browsing-context>browsing context</dfn> is an environment in which
-  <code>Document</code> objects are presented to the user.</p>
+  <code><a href=#document>Document</a></code> objects are presented to the user.</p>
 
   <p class=note>A tab or window in a Web browser typically contains
   a <a href=#browsing-context>browsing context</a>, as does an <code><a href=#the-iframe-element>iframe</a></code><span class=impl> or <code><a href=#frame>frame</a></code>s in a
@@ -51330,24 +51340,24 @@
   <code><a href=#windowproxy>WindowProxy</a></code> object.</p>
 
   <p>A <a href=#browsing-context>browsing context</a> has a <a href=#session-history>session
-  history</a>, which lists the <code>Document</code> objects that
+  history</a>, which lists the <code><a href=#document>Document</a></code> objects that
   that <a href=#browsing-context>browsing context</a> has presented, is presenting, or
-  will present. At any time, one <code>Document</code> in each
+  will present. At any time, one <code><a href=#document>Document</a></code> in each
   <a href=#browsing-context>browsing context</a> is designated the <dfn id=active-document>active
   document</dfn>.</p>
 
-  <p>Each <code>Document</code> has a collection of one or more <a href=#view title=view>views</a>.</p>
+  <p>Each <code><a href=#document>Document</a></code> has a collection of one or more <a href=#view title=view>views</a>.</p>
 
   <p>A <dfn id=view>view</dfn> is a user agent interface tied to a particular
   media used for the presentation of a particular
-  <code>Document</code> object in some media. A view may be
+  <code><a href=#document>Document</a></code> object in some media. A view may be
   interactive. Each view is represented by an
   <code>AbstractView</code> object. <a href=#refsDOMVIEWS>[DOMVIEWS]</a></p>
 
   <p>The main <a href=#view>view</a> through which a user primarily
   interacts with a user agent is the <dfn id=default-view>default view</dfn>. The
   <code>AbstractView</code> object that represents this view <span class=impl>must also implement the <code><a href=#window>Window</a></code> interface,
-  and</span> is referred to as the <code>Document</code>'s
+  and</span> is referred to as the <code><a href=#document>Document</a></code>'s
   <code><a href=#window>Window</a></code> object. <code><a href=#windowproxy>WindowProxy</a></code> objects forward
   everything to the <a href=#active-document>active document</a>'s <a href=#default-view>default
   view</a>'s <code><a href=#window>Window</a></code> object.</p>
@@ -51355,7 +51365,7 @@
   <div class=impl>
 
   <p>The <code title=dom-document-defaultView>defaultView</code>
-  attribute on the <code>Document</code> object's
+  attribute on the <code><a href=#document>Document</a></code> object's
   <code>DocumentView</code> interface must return the <a href=#browsing-context>browsing
   context</a>'s <code><a href=#windowproxy>WindowProxy</a></code> object, not the actual
   <code>AbstractView</code> object of the <a href=#default-view>default
@@ -51366,15 +51376,15 @@
   <p class=note>The <code title=dom-document>document</code>
   attribute of an <code>AbstractView</code> object representing a
   <a href=#view>view</a> gives the view's corresponding
-  <code>Document</code> object. <a href=#refsDOMVIEWS>[DOMVIEWS]</a></p>
+  <code><a href=#document>Document</a></code> object. <a href=#refsDOMVIEWS>[DOMVIEWS]</a></p>
 
   <p class=note>In general, there is a 1-to-1 mapping from the
-  <code><a href=#window>Window</a></code> object to the <code>Document</code> object. In
+  <code><a href=#window>Window</a></code> object to the <code><a href=#document>Document</a></code> object. In
   one particular case, a set of <a href=#view title=view>views</a> can be
-  reused for the presentation of a second <code>Document</code> in the
+  reused for the presentation of a second <code><a href=#document>Document</a></code> in the
   same <a href=#browsing-context>browsing context</a>, such that the mapping is then
   2-to-1. This occurs when a <a href=#browsing-context>browsing context</a> is <a href=#navigate title=navigate>navigated</a> from the initial
-  <code><a href=#about:blank>about:blank</a></code> <code>Document</code> to another, with
+  <code><a href=#about:blank>about:blank</a></code> <code><a href=#document>Document</a></code> to another, with
   <a href=#replacement-enabled>replacement enabled</a>.</p>
 
   <div class=impl>
@@ -51391,15 +51401,15 @@
   </div>
 
   <p class=note>A typical Web browser has one obvious
-  <a href=#view>view</a> per <code>Document</code>: the browser's window
+  <a href=#view>view</a> per <code><a href=#document>Document</a></code>: the browser's window
   (screen media). This is typically the <a href=#default-view>default view</a>. If
   a page is printed, however, a second view becomes evident, that of
   the print media. The two views always share the same underlying
-  <code>Document</code> object, but they have a different presentation
+  <code><a href=#document>Document</a></code> object, but they have a different presentation
   of that object. A speech browser might have a different
   <a href=#default-view>default view</a>, using the speech media.</p>
 
-  <p class=note>A <code>Document</code> does not necessarily have a
+  <p class=note>A <code><a href=#document>Document</a></code> does not necessarily have a
   <a href=#browsing-context>browsing context</a> associated with it. In particular,
   data mining tools are likely to never instantiate browsing
   contexts.</p>
@@ -51416,17 +51426,17 @@
 
   <p>If a <a href=#browsing-context>browsing context</a> <var title="">A</var> has a
   <a href=#creator-browsing-context>creator browsing context</a>, then the
-  <code>Document</code> that was the <a href=#active-document>active document</a> of
+  <code><a href=#document>Document</a></code> that was the <a href=#active-document>active document</a> of
   that <a href=#creator-browsing-context>creator browsing context</a> at the time <var title="">A</var> was created is the <dfn id=creator-document>creator
   <code>Document</code></dfn>.</p>
 
   <div class=impl>
 
   <p>When a <a href=#browsing-context>browsing context</a> is first created, it must be
-  created with a single <code>Document</code> in its session history,
+  created with a single <code><a href=#document>Document</a></code> in its session history,
   whose <a href="#the-document's-address" title="the document's address">address</a> is
   <code><a href=#about:blank>about:blank</a></code>, which is marked as being an <a href=#html-documents title="HTML documents">HTML document</a>, and whose <a href="#document's-character-encoding" title="document's character encoding">character encoding</a> is
-  UTF-8. The <code>Document</code> must have a single child
+  UTF-8. The <code><a href=#document>Document</a></code> must have a single child
   <code><a href=#the-html-element-0>html</a></code> node, which itself has a single child
   <code><a href=#the-body-element-0>body</a></code> node.</p>
 
@@ -51435,14 +51445,14 @@
   navigation will have <a href=#replacement-enabled>replacement enabled</a>.</p>
 
   <p id=about-blank-origin>The <a href=#origin>origin</a> of the
-  <code><a href=#about:blank>about:blank</a></code> <code>Document</code> is set when the
-  <code>Document</code> is created. If the new <a href=#browsing-context>browsing
+  <code><a href=#about:blank>about:blank</a></code> <code><a href=#document>Document</a></code> is set when the
+  <code><a href=#document>Document</a></code> is created. If the new <a href=#browsing-context>browsing
   context</a> has a <a href=#creator-browsing-context>creator browsing context</a>, then the
   <a href=#origin>origin</a> of the <code><a href=#about:blank>about:blank</a></code>
-  <code>Document</code> is the <a href=#origin>origin</a> of the
+  <code><a href=#document>Document</a></code> is the <a href=#origin>origin</a> of the
   <a href=#creator-document>creator <code>Document</code></a>. Otherwise, the
   <a href=#origin>origin</a> of the <code><a href=#about:blank>about:blank</a></code>
-  <code>Document</code> is a globally unique identifier assigned when
+  <code><a href=#document>Document</a></code> is a globally unique identifier assigned when
   the new <a href=#browsing-context>browsing context</a> is created.</p>
 
   </div>
@@ -51454,7 +51464,7 @@
   instantiate further <a href=#browsing-context title="browsing context">browsing
   contexts</a>. These are called <dfn id=nested-browsing-context title="nested browsing
   context">nested browsing contexts</dfn>. If a browsing context <var title="">P</var> has an element <var title="">E</var> in one of its
-  <code>Document</code>s <var title="">D</var> that nests another
+  <code><a href=#document>Document</a></code>s <var title="">D</var> that nests another
   browsing context <var title="">C</var> inside it, then <var title="">P</var> is said to be the <dfn id=parent-browsing-context>parent browsing
   context</dfn> of <var title="">C</var>, <var title="">C</var> is
   said to be a <dfn id=child-browsing-context>child browsing context</dfn> of <var title="">P</var>, <var title="">C</var> is said to be <dfn id=browsing-context-nested-through title="browsing context nested through">nested through</dfn> <var title="">D</var>, and <var title="">E</var> is said to be the
@@ -51481,7 +51491,7 @@
   context">ancestor browsing contexts</dfn>.</p>
 
   <p>The <dfn id=list-of-the-descendant-browsing-contexts>list of the descendant browsing contexts</dfn> of a
-  <code>Document</code> <var title="">d</var> is the list returned by
+  <code><a href=#document>Document</a></code> <var title="">d</var> is the list returned by
   the following algorithm:</p>
 
   <ol><li><p>Let <var title="">list</var> be an empty list.</li>
@@ -51497,19 +51507,19 @@
 
    <li><p>Return the constructed <var title="">list</var>.</li>
 
-  </ol><hr><p>A <code>Document</code> is said to be <dfn id=fully-active>fully active</dfn>
+  </ol><hr><p>A <code><a href=#document>Document</a></code> is said to be <dfn id=fully-active>fully active</dfn>
   when it is the <a href=#active-document>active document</a> of its <a href=#browsing-context>browsing
   context</a>, and either its browsing context is a <a href=#top-level-browsing-context>top-level
-  browsing context</a>, or the <code>Document</code> <a href=#browsing-context-nested-through title="browsing context nested through">through which</a> that
+  browsing context</a>, or the <code><a href=#document>Document</a></code> <a href=#browsing-context-nested-through title="browsing context nested through">through which</a> that
   browsing context is <a href=#nested-browsing-context title="nested browsing
   context">nested</a> is itself <a href=#fully-active>fully active</a>.</p>
 
   <p>Because they are nested through an element, <a href=#child-browsing-context title="child
   browsing context">child browsing contexts</a> are always tied to
-  a specific <code>Document</code> in their <a href=#parent-browsing-context>parent browsing
+  a specific <code><a href=#document>Document</a></code> in their <a href=#parent-browsing-context>parent browsing
   context</a>. User agents must not allow the user to interact with
   <a href=#child-browsing-context title="child browsing context">child browsing contexts</a>
-  of elements that are in <code>Document</code>s that are not
+  of elements that are in <code><a href=#document>Document</a></code>s that are not
   themselves <a href=#fully-active>fully active</a>.</p>
 
   <p>A <a href=#nested-browsing-context>nested browsing context</a> can have a <a href=#seamless-browsing-context-flag>seamless
@@ -51539,7 +51549,7 @@
 
    <dd>
 
-    <p>Returns the <code>Element</code> for the <a href=#browsing-context-container>browsing context container</a>.</p>
+    <p>Returns the <code><a href=#element>Element</a></code> for the <a href=#browsing-context-container>browsing context container</a>.</p>
 
     <p>Returns null if there isn't one.</p>
 
@@ -51550,7 +51560,7 @@
   </dl><div class=impl>
 
   <p>The <dfn id=dom-top title=dom-top><code>top</code></dfn> IDL attribute on
-  the <code><a href=#window>Window</a></code> object of a <code>Document</code> in a
+  the <code><a href=#window>Window</a></code> object of a <code><a href=#document>Document</a></code> in a
   <a href=#browsing-context>browsing context</a> <var title="">b</var> must return the
   <code><a href=#windowproxy>WindowProxy</a></code> object of its <a href=#top-level-browsing-context>top-level browsing
   context</a> (which would be its own <code><a href=#windowproxy>WindowProxy</a></code>
@@ -51559,7 +51569,7 @@
 
   <p>The <dfn id=dom-parent title=dom-parent><code>parent</code></dfn> IDL
   attribute on the <code><a href=#window>Window</a></code> object of a
-  <code>Document</code> in a <a href=#browsing-context>browsing context</a> <var title="">b</var> must return the <code><a href=#windowproxy>WindowProxy</a></code> object of
+  <code><a href=#document>Document</a></code> in a <a href=#browsing-context>browsing context</a> <var title="">b</var> must return the <code><a href=#windowproxy>WindowProxy</a></code> object of
   the <a href=#parent-browsing-context>parent browsing context</a>, if there is one (i.e. if
   <var title="">b</var> is a <a href=#child-browsing-context>child browsing context</a>), or
   the <code><a href=#windowproxy>WindowProxy</a></code> object of the <a href=#browsing-context>browsing
@@ -51568,10 +51578,10 @@
 
   <p>The <dfn id=dom-frameelement title=dom-frameElement><code>frameElement</code></dfn>
   IDL attribute on the <code><a href=#window>Window</a></code> object of a
-  <code>Document</code> <var title="">d</var>, on getting, must run
+  <code><a href=#document>Document</a></code> <var title="">d</var>, on getting, must run
   the following algorithm:</p>
 
-  <ol><li><p>If <var title="">d</var> is not a <code>Document</code> in a
+  <ol><li><p>If <var title="">d</var> is not a <code><a href=#document>Document</a></code> in a
    <a href=#child-browsing-context>child browsing context</a>, return null and abort these
    steps.</li>
 
@@ -51656,14 +51666,14 @@
    <var title="">A</var> itself).</li>
 
   </ul><hr><p>An element has a <dfn id=browsing-context-scope-origin>browsing context scope origin</dfn> if its
-  <code>Document</code>'s <a href=#browsing-context>browsing context</a> is a
+  <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> is a
   <a href=#top-level-browsing-context>top-level browsing context</a> or if all of its
-  <code>Document</code>'s <a href=#ancestor-browsing-context title="ancestor browsing
+  <code><a href=#document>Document</a></code>'s <a href=#ancestor-browsing-context title="ancestor browsing
   context">ancestor browsing contexts</a> all have <a href=#active-document title="active document">active documents</a> whose
   <a href=#origin>origin</a> are the <a href=#same-origin>same origin</a> as the
-  element's <code>Document</code>'s <a href=#origin>origin</a>. If an element
+  element's <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a>. If an element
   has a <a href=#browsing-context-scope-origin>browsing context scope origin</a>, then its value is
-  the <a href=#origin>origin</a> of the element's <code>Document</code>.</p>
+  the <a href=#origin>origin</a> of the element's <code><a href=#document>Document</a></code>.</p>
 
   </div>
 
@@ -51867,7 +51877,7 @@
   readonly attribute <a href=#windowproxy>WindowProxy</a> <a href=#dom-top title=dom-top>top</a>;
   [Replaceable] readonly attribute <a href=#windowproxy>WindowProxy</a> <a href=#dom-opener title=dom-opener>opener</a>;
   readonly attribute <a href=#windowproxy>WindowProxy</a> <a href=#dom-parent title=dom-parent>parent</a>;
-  readonly attribute <span>Element</span> <a href=#dom-frameelement title=dom-frameElement>frameElement</a>;
+  readonly attribute <a href=#element>Element</a> <a href=#dom-frameelement title=dom-frameElement>frameElement</a>;
   <a href=#windowproxy>WindowProxy</a> <a href=#dom-open title=dom-open>open</a>(in optional DOMString url, in optional DOMString target, in optional DOMString features, in optional DOMString replace);
   <a href=#dom-window-item title=dom-window-item>getter</a> <a href=#windowproxy>WindowProxy</a> (in unsigned long index);
   <a href=#dom-window-nameditem title=dom-window-namedItem>getter</a> <a href=#windowproxy>WindowProxy</a> (in DOMString name);
@@ -51958,7 +51968,7 @@
            attribute <a href=#function>Function</a> <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
            attribute <a href=#function>Function</a> <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
 };
-<a href=#window>Window</a> implements <span>EventTarget</span>;</pre>
+<a href=#window>Window</a> implements <a href=#eventtarget>EventTarget</a>;</pre>
 
 <!-- for more features to add here, look here:
  http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_window.asp
@@ -51994,7 +52004,7 @@
   whenever any of the members of a <code><a href=#window>Window</a></code> object are
   accessed by scripts whose <a href=#effective-script-origin>effective script origin</a> is
   not the same as the <code><a href=#window>Window</a></code> object's
-  <code>Document</code>'s <a href=#effective-script-origin>effective script origin</a>, with
+  <code><a href=#document>Document</a></code>'s <a href=#effective-script-origin>effective script origin</a>, with
   the following exceptions:</p>
 
   <ul><li>The <code title=dom-location><a href=#dom-location>location</a></code> object
@@ -52010,7 +52020,7 @@
    <li>The <a href=#dynamic-nested-browsing-context-properties>dynamic nested browsing context properties</a>
 
   </ul><p>When a script whose <a href=#effective-script-origin>effective script origin</a> is not
-  the same as the <code><a href=#window>Window</a></code> object's <code>Document</code>'s
+  the same as the <code><a href=#window>Window</a></code> object's <code><a href=#document>Document</a></code>'s
   <a href=#effective-script-origin>effective script origin</a> attempts to access that
   <code><a href=#window>Window</a></code> object's methods or attributes, the user agent
   must act as if any changes to the <code><a href=#window>Window</a></code> object's
@@ -52018,7 +52028,7 @@
 
   <p>For members that return objects (including function objects),
   each distinct <a href=#effective-script-origin>effective script origin</a> that is not the
-  same as the <code><a href=#window>Window</a></code> object's <code>Document</code>'s
+  same as the <code><a href=#window>Window</a></code> object's <code><a href=#document>Document</a></code>'s
   <a href=#effective-script-origin>effective script origin</a> must be provided with a
   separate set of objects. These objects must have the prototype chain
   appropriate for the script for which the objects are created (not
@@ -52028,7 +52038,7 @@
 
   <div class=example>
 
-   <p>For instance, if two frames containing <code>Document</code>s
+   <p>For instance, if two frames containing <code><a href=#document>Document</a></code>s
    from different <a href=#origin title=origin>origins</a> access the same
    <code><a href=#window>Window</a></code> object's <code title=dom-window-postMessage-2><a href=#dom-window-postmessage-2>postMessage()</a></code> method, they
    will get distinct objects that are not equal.</p>
@@ -52206,7 +52216,7 @@
   <p>When a <code><a href=#window>Window</a></code> object is <dfn id=dom-window-item title=dom-window-item>indexed to retrieve an indexed
   property</dfn> <var title="">index</var>, the value returned must be
   the <var title="">index</var>th <a href=#child-browsing-context>child browsing context</a>
-  of the <code>Document</code> that is nested through an element that
+  of the <code><a href=#document>Document</a></code> that is nested through an element that
   is <a href=#in-a-document title="in a document">in the <code>Document</code></a>,
   sorted in the <a href=#tree-order>tree order</a> of the elements nesting those
   <a href=#browsing-context title="browsing context">browsing contexts</a>.</p>
@@ -52280,7 +52290,7 @@
    <li>
 
     <p>Otherwise return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-    <code>Document</code> node, whose filter matches only <a href=#dom-window-nameditem-filter title=dom-window-namedItem-filter>named elements</a> with
+    <code><a href=#document>Document</a></code> node, whose filter matches only <a href=#dom-window-nameditem-filter title=dom-window-namedItem-filter>named elements</a> with
     the name <var title="">name</var>.</p> <!-- the same one each time
     is returned, because of the rule under collections -->
 
@@ -52305,11 +52315,11 @@
   <h4 id=garbage-collection-and-browsing-contexts><span class=secno>6.2.5 </span>Garbage collection and browsing contexts</h4>
 
   <p>A <a href=#browsing-context>browsing context</a> has a strong reference to each of
-  its <code>Document</code>s and its <code><a href=#windowproxy>WindowProxy</a></code> object,
+  its <code><a href=#document>Document</a></code>s and its <code><a href=#windowproxy>WindowProxy</a></code> object,
   and the user agent itself has a strong reference to its <a href=#top-level-browsing-context title="top-level browsing context">top-level browsing
   contexts</a>.</p>
 
-  <p>A <code>Document</code> has a strong reference to each of its
+  <p>A <code><a href=#document>Document</a></code> has a strong reference to each of its
   <a href=#view title=view>views</a> and their <code>AbstractView</code>
   objects.</p>
 
@@ -52318,36 +52328,36 @@
   steps:</p>
 
   <ol><li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for
-   the <code>Document</code> that are defined by this specification or
+   the <code><a href=#document>Document</a></code> that are defined by this specification or
    any other relevant specifications.</li>
 
    <li><p>Remove any <a href=#concept-task title=concept-task>tasks</a>
-   associated with the <code>Document</code> in any <a href=#task-source>task
+   associated with the <code><a href=#document>Document</a></code> in any <a href=#task-source>task
    source</a>, without running those tasks.</li>
 
    <li><p><a href=#a-browsing-context-is-discarded title="a browsing context is discarded">Discard</a>
    all the <a href=#child-browsing-context title="child browsing context">child browsing
-   contexts</a> of the <code>Document</code>.</li>
+   contexts</a> of the <code><a href=#document>Document</a></code>.</li>
 
-   <li><p>Lose the strong reference from the <code>Document</code>'s
+   <li><p>Lose the strong reference from the <code><a href=#document>Document</a></code>'s
    <a href=#browsing-context>browsing context</a> to the
-   <code>Document</code>.</li>
+   <code><a href=#document>Document</a></code>.</li>
 
   </ol><p class=note>The <a href=#browsing-context>browsing context</a>'s <a href=#default-view>default
   view</a>'s <code><a href=#window>Window</a></code> object <a href=#implied-strong-reference title="implied strong
   reference">has a strong reference</a> to its
-  <code>Document</code> object through the <code title=dom-document>document</code> attribute of the
+  <code><a href=#document>Document</a></code> object through the <code title=dom-document>document</code> attribute of the
   <code>AbstractView</code> interface. Thus, references from other
   scripts to either of those objects will keep both alive. <a href=#refsDOMVIEWS>[DOMVIEWS]</a></p>
 
-  <p class=note>Whenever a <code>Document</code> object is <a href=#discard-a-document title="discard a Document">discarded</a>, it is also removed from
-  the list of <span>the worker's <code>Document</code>s</span> of each
-  worker whose list contains that <code>Document</code>.</p>
+  <p class=note>Whenever a <code><a href=#document>Document</a></code> object is <a href=#discard-a-document title="discard a Document">discarded</a>, it is also removed from
+  the list of <span>the worker's <code><a href=#document>Document</a></code>s</span> of each
+  worker whose list contains that <code><a href=#document>Document</a></code>.</p>
 
   <p>When <dfn id=a-browsing-context-is-discarded>a <em><span>browsing context</span></em> is
   discarded</dfn>, the strong reference from the user agent itself to
   the <a href=#browsing-context>browsing context</a> must be severed, and all the
-  <code>Document</code> objects for all the entries in the
+  <code><a href=#document>Document</a></code> objects for all the entries in the
   <a href=#browsing-context>browsing context</a>'s session history must be <a href=#discard-a-document title="discard a document">discarded</a> as well.</p>
 
   <p>User agents may <a href=#a-browsing-context-is-discarded title="a browsing context is
@@ -52416,7 +52426,7 @@
   setting, the new value must be discarded.</p>
 
   <p>The following <code><a href=#barprop>BarProp</a></code> objects exist for each
-  <code>Document</code> object in a <a href=#browsing-context>browsing
+  <code><a href=#document>Document</a></code> object in a <a href=#browsing-context>browsing
   context</a>. Some of the user interface elements represented by
   these objects might have no equivalent in some user agents; for
   those user agents, except when otherwise specified, the object must
@@ -52514,7 +52524,7 @@
   <p class=note>The <code><a href=#windowproxy>WindowProxy</a></code> object allows scripts
   to act as if each <a href=#browsing-context>browsing context</a> had a single
   <code><a href=#window>Window</a></code> object, while still keeping separate
-  <code><a href=#window>Window</a></code> objects for each <code>Document</code>.</p>
+  <code><a href=#window>Window</a></code> objects for each <code><a href=#document>Document</a></code>.</p>
 
   <div class=example>
 
@@ -52614,7 +52624,7 @@
      <li><p>Return the tuple (<var title="">scheme</var>, <var title="">host</var>, <var title="">port</var>).</li>
 
     </ol><p>In addition, if the <a href=#url>URL</a> is in fact associated with
-    a <code>Document</code> object that was created by parsing the
+    a <code><a href=#document>Document</a></code> object that was created by parsing the
     resource obtained from fetching <a href=#url>URL</a>, and this was
     done over a secure connection, then the server's secure
     certificate may be added to the origin as additional data.</p>
@@ -52631,14 +52641,14 @@
 
     <dl class=switch><dt>If a script is in a <code><a href=#script>script</a></code> element</dt>
 
-     <dd>The owner is the <code>Document</code> to which the
+     <dd>The owner is the <code><a href=#document>Document</a></code> to which the
      <code><a href=#script>script</a></code> element belongs.</dd>
 
 
      <dt>If a script is in an <a href=#event-handler-content-attributes title="event handler content
      attributes">event handler content attribute</a></dt>
 
-     <dd>The owner is the <code>Document</code> to which the
+     <dd>The owner is the <code><a href=#document>Document</a></code> to which the
      attribute node belongs.</dd>
 
 
@@ -52658,7 +52668,7 @@
 
      <dt>If a script is a <a href=#javascript-protocol title="javascript protocol"><code title="">javascript:</code> URL</a> in an attribute</dt>
 
-     <dd>The owner is the <code>Document</code> of the element on
+     <dd>The owner is the <code><a href=#document>Document</a></code> of the element on
      which the attribute is found.</dd>
 
 
@@ -52672,7 +52682,7 @@
      the URL having been provided by the user (e.g. by using a
      <i>bookmarklet</i>)</dt>
 
-     <dd>The owner is the <code>Document</code> of the <a href=#browsing-context>browsing
+     <dd>The owner is the <code><a href=#document>Document</a></code> of the <a href=#browsing-context>browsing
      context</a>'s <a href=#active-document>active document</a>.</dd>
 
 
@@ -52680,7 +52690,7 @@
      context</a> is being <a href=#navigate title=navigate>navigated</a>,
      the URL having been declared in markup</dt>
 
-     <dd>The owner is the <code>Document</code> of the element
+     <dd>The owner is the <code><a href=#document>Document</a></code> of the element
      (e.g. an <code><a href=#the-a-element>a</a></code> or <code><a href=#the-area-element>area</a></code> element) that
      declared the URL.</dd>
 
@@ -52698,30 +52708,30 @@
 
    </dd>
 
-   <dt>For <code>Document</code> objects and images</dt>
+   <dt>For <code><a href=#document>Document</a></code> objects and images</dt>
 
    <dd>
 
-    <dl class=switch><dt id=sandboxOrigin>If a <code>Document</code> is in a
+    <dl class=switch><dt id=sandboxOrigin>If a <code><a href=#document>Document</a></code> is in a
      <a href=#browsing-context>browsing context</a> whose <a href=#sandboxed-origin-browsing-context-flag>sandboxed origin
      browsing context flag</a> was set when the
-     <code>Document</code> was created</dt>
+     <code><a href=#document>Document</a></code> was created</dt>
 
-     <dt>If a <code>Document</code> was generated from a resource
+     <dt>If a <code><a href=#document>Document</a></code> was generated from a resource
      labeled as <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code></dt>
 
      <dd>The <a href=#origin>origin</a> is a globally unique identifier
-     assigned when the <code>Document</code> is created.</dd>
+     assigned when the <code><a href=#document>Document</a></code> is created.</dd>
 
 
-     <dt>If a <code>Document</code> or image was returned by the
+     <dt>If a <code><a href=#document>Document</a></code> or image was returned by the
      <code>XMLHttpRequest</code> API</dt>
 
      <dd>The <a href=#origin>origin</a> is equal to the <span>XMLHttpRequest
      origin</span> of the <code>XMLHttpRequest</code> object. <a href=#refsXHR>[XHR]</a></dd>
 
 
-     <dt>If a <code>Document</code> or image was generated from a
+     <dt>If a <code><a href=#document>Document</a></code> or image was generated from a
      <a href=#javascript-protocol title="javascript protocol"><code>javascript:</code>
      URL</a></dt>
 
@@ -52730,17 +52740,17 @@
      protocol"><code>javascript:</code> URL</a>.</dd>
 
 
-     <dt>If a <code>Document</code> or image was served over the
+     <dt>If a <code><a href=#document>Document</a></code> or image was served over the
      network and has an address that uses a URL scheme with a
      server-based naming authority</dt>
 
      <dd>The <a href=#origin>origin</a> is the <a href=#origin>origin</a> of the
      <a href="#the-document's-address" title="the document's address">address</a> of the
-     <code>Document</code> or the <a href=#url>URL</a> of the image, as
+     <code><a href=#document>Document</a></code> or the <a href=#url>URL</a> of the image, as
      appropriate.</dd>
 
 
-     <dt>If a <code>Document</code> or image was generated from a
+     <dt>If a <code><a href=#document>Document</a></code> or image was generated from a
      <code title="">data:</code> URL that was returned as the location
      of an HTTP redirect (<a href=#concept-http-equivalent-codes title=concept-http-equivalent-codes>or equivalent</a> in
      other protocols)</dt>
@@ -52749,41 +52759,41 @@
      <a href=#url>URL</a> that redirected to the <code title="">data:</code> URL.</dd>
 
 
-     <dt>If a <code>Document</code> or image was generated from a
+     <dt>If a <code><a href=#document>Document</a></code> or image was generated from a
      <code title="">data:</code> URL found in another
-     <code>Document</code> or in a script</dt>
+     <code><a href=#document>Document</a></code> or in a script</dt>
 
      <dd>The <a href=#origin>origin</a> is the <a href=#origin>origin</a> of the
-     <code>Document</code> or script that initiated the <a href=#navigate title=navigate>navigation</a> to that <a href=#url>URL</a>.</dd>
+     <code><a href=#document>Document</a></code> or script that initiated the <a href=#navigate title=navigate>navigation</a> to that <a href=#url>URL</a>.</dd>
 
 
-     <dt>If a <code>Document</code> has the <a href="#the-document's-address" title="the
+     <dt>If a <code><a href=#document>Document</a></code> has the <a href="#the-document's-address" title="the
      document's address">address</a>
      "<code><a href=#about:blank>about:blank</a></code>"</dt>
 
-     <dd>The <a href=#origin>origin</a> of the <code>Document</code> is <a href=#about-blank-origin>the <span>origin</span> it was
+     <dd>The <a href=#origin>origin</a> of the <code><a href=#document>Document</a></code> is <a href=#about-blank-origin>the <span>origin</span> it was
      assigned when its browsing context was created</a>.</dd>
 
 
-     <dt>If a <code>Document</code> is <a href=#an-iframe-srcdoc-document>an <code>iframe</code> <code title=attr-iframe-srcdoc>srcdoc</code> document</a></dt>
+     <dt>If a <code><a href=#document>Document</a></code> is <a href=#an-iframe-srcdoc-document>an <code>iframe</code> <code title=attr-iframe-srcdoc>srcdoc</code> document</a></dt>
 
-     <dd>The <a href=#origin>origin</a> of the <code>Document</code> is the
-     <a href=#origin>origin</a> of the <code>Document</code>'s <a href=#browsing-context>browsing
+     <dd>The <a href=#origin>origin</a> of the <code><a href=#document>Document</a></code> is the
+     <a href=#origin>origin</a> of the <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing
      context</a>'s <a href=#browsing-context-container>browsing context container</a>'s
-     <code>Document</code>.</dd>
+     <code><a href=#document>Document</a></code>.</dd>
 
 
-     <dt>If a <code>Document</code> or image was obtained in some
+     <dt>If a <code><a href=#document>Document</a></code> or image was obtained in some
      other manner (e.g. a <code title="">data:</code> URL typed in by
-     the user, a <code>Document</code> created using the <code title=dom-DOMImplementation-createDocument>createDocument()</code>
+     the user, a <code><a href=#document>Document</a></code> created using the <code title=dom-DOMImplementation-createDocument>createDocument()</code>
      API, etc)</dt>
 
      <dd>The <a href=#origin>origin</a> is a globally unique identifier
-     assigned when the <code>Document</code> or image is created.</dd>
+     assigned when the <code><a href=#document>Document</a></code> or image is created.</dd>
 
-    </dl><p>When a <code>Document</code> is created, its <a href=#effective-script-origin>effective
+    </dl><p>When a <code><a href=#document>Document</a></code> is created, its <a href=#effective-script-origin>effective
     script origin</a> is initialized to the <a href=#origin>origin</a> of
-    the <code>Document</code>. However, the <code title=dom-document-domain><a href=#dom-document-domain>document.domain</a></code> attribute can
+    the <code><a href=#document>Document</a></code>. However, the <code title=dom-document-domain><a href=#dom-document-domain>document.domain</a></code> attribute can
     be used to change it.</p>
 
    </dd>
@@ -52794,7 +52804,7 @@
 
     <p>If value of the <a href=#media-element>media element</a>'s <code title=dom-media-currentSrc><a href=#dom-media-currentsrc>currentSrc</a></code> attribute is the
     empty string, the <a href=#origin>origin</a> is the same as the
-    <a href=#origin>origin</a> of the element's <code>Document</code>'s
+    <a href=#origin>origin</a> of the element's <code><a href=#document>Document</a></code>'s
     <a href=#origin>origin</a>.</p>
 
     <p>Otherwise, the <a href=#origin>origin</a> is equal to the
@@ -52910,7 +52920,7 @@
   </dl><div class=impl>
 
   <p>The <dfn id=dom-document-domain title=dom-document-domain><code>domain</code></dfn>
-  attribute on <code>Document</code> objects must be initialized to
+  attribute on <code><a href=#document>Document</a></code> objects must be initialized to
   <a href="#the-document's-domain">the document's domain</a>, if it has one, and the empty
   string otherwise. If the value is an IPv6 address, then the square
   brackets from the host portion of the <a href=#url-host title=url-host><host></a> component must be omitted from
@@ -52996,7 +53006,7 @@
    <li>
 
     <p>Set the host part of the <a href=#effective-script-origin>effective script origin</a>
-    tuple of the <code>Document</code> to <var title="">new
+    tuple of the <code><a href=#document>Document</a></code> to <var title="">new
     value</var>.</p>
 
    </li>
@@ -53004,7 +53014,7 @@
    <li>
 
     <p>Set the port part of the <a href=#effective-script-origin>effective script origin</a>
-    tuple of the <code>Document</code> to "manual override" (a value
+    tuple of the <code><a href=#document>Document</a></code> to "manual override" (a value
     that, for the purposes of <a href=#same-origin title="same origin">comparing
     origins</a>, is identical to "manual override" but not
     identical to any other value).</p>
@@ -53012,7 +53022,7 @@
    </li>
 
   </ol><p>The <dfn id="the-document's-domain" title="the document's domain">domain</dfn> of a
-  <code>Document</code> is the host part of the document's
+  <code><a href=#document>Document</a></code> is the host part of the document's
   <a href=#origin>origin</a>, if that is a scheme/host/port tuple. If it
   isn't, then the document does not have a domain.</p>
 
@@ -53036,7 +53046,7 @@
 
   <h4 id=the-session-history-of-browsing-contexts><span class=secno>6.4.1 </span>The session history of browsing contexts</h4>
 
-  <p>The sequence of <code>Document</code>s in a <a href=#browsing-context>browsing
+  <p>The sequence of <code><a href=#document>Document</a></code>s in a <a href=#browsing-context>browsing
   context</a> is its <dfn id=session-history>session history</dfn>.</p>
 
   <p><code><a href=#history-0>History</a></code> objects provide a representation of the
@@ -53045,7 +53055,7 @@
   context</a>, including <a href=#nested-browsing-context>nested browsing context</a>, has
   a distinct session history.</p>
 
-  <p>Each <code>Document</code> object in a <a href=#browsing-context>browsing
+  <p>Each <code><a href=#document>Document</a></code> object in a <a href=#browsing-context>browsing
   context</a>'s <a href=#session-history>session history</a> is associated with a
   unique instance of the <code><a href=#history-0>History</a></code> object, although they
   all must model the same underlying <a href=#session-history>session history</a>.</p>
@@ -53055,7 +53065,7 @@
   <p>The <dfn id=dom-history title=dom-history><code>history</code></dfn> attribute
   of the <code><a href=#window>Window</a></code> interface must return the object
   implementing the <code><a href=#history-0>History</a></code> interface for that
-  <code><a href=#window>Window</a></code> object's <code>Document</code>.</p>
+  <code><a href=#window>Window</a></code> object's <code><a href=#document>Document</a></code>.</p>
 
   </div>
 
@@ -53063,7 +53073,7 @@
   context</a>'s session history as a flat list of <a href=#session-history-entry title="session history entry">session history entries</a>. Each
   <dfn id=session-history-entry>session history entry</dfn> consists of either a
   <a href=#url>URL</a> or a <a href=#state-object>state object</a>, or both<span class=impl>, and may in addition have a title, a
-  <code>Document</code> object, form data, a scroll position, and
+  <code><a href=#document>Document</a></code> object, form data, a scroll position, and
   other information associated with it</span>.</p>
 
   <div class=impl>
@@ -53076,7 +53086,7 @@
   <p class=note>Titles associated with <a href=#session-history-entry title="session history
   entry">session history entries</a> need not have any relation
   with the current <code><a href=#the-title-element-0>title</a></code> of the
-  <code>Document</code>. The title of a <a href=#session-history-entry>session history
+  <code><a href=#document>Document</a></code>. The title of a <a href=#session-history-entry>session history
   entry</a> is intended to explain the state of the document at
   that point, so that the user can navigate the document's
   history.</p>
@@ -53098,36 +53108,36 @@
   <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing
   context</a>. The <a href=#current-entry>current entry</a> is usually an entry
   for the <a href=#dom-location-href title=dom-location-href>location</a> of the
-  <code>Document</code>. However, it can also be one of the entries
+  <code><a href=#document>Document</a></code>. However, it can also be one of the entries
   for <a href=#state-object title="state object">state objects</a> added to the
   history by that document.</p>
 
   <p>Entries that consist of <a href=#state-object title="state object">state
-  objects</a> share the same <code>Document</code> as the entry for
+  objects</a> share the same <code><a href=#document>Document</a></code> as the entry for
   the page that was active when they were added.</p>
 
   <p>Contiguous entries that differ just by fragment identifier also
-  share the same <code>Document</code>.</p>
+  share the same <code><a href=#document>Document</a></code>.</p>
 
   <p class=note>All entries that share the same
-  <code>Document</code> (and that are therefore merely different
+  <code><a href=#document>Document</a></code> (and that are therefore merely different
   states of one particular document) are contiguous by definition.</p>
 
   <div class=impl>
 
   <p>User agents may <a href=#discard-a-document title="discard a Document">discard</a>
-  the <code>Document</code> objects of entries other than the
+  the <code><a href=#document>Document</a></code> objects of entries other than the
   <a href=#current-entry>current entry</a> that are not referenced from any script,
   reloading the pages afresh when the user or script navigates back to
   such pages. This specification does not specify when user agents
-  should discard <code>Document</code> objects and when they should
+  should discard <code><a href=#document>Document</a></code> objects and when they should
   cache them.</p>
 
-  <p>Entries that have had their <code>Document</code> objects
+  <p>Entries that have had their <code><a href=#document>Document</a></code> objects
   discarded must, for the purposes of the algorithms given below, act
   as if they had not. When the user or script navigates back or
   forwards to a page which has no in-memory DOM objects, any other
-  entries that shared the same <code>Document</code> object with it
+  entries that shared the same <code><a href=#document>Document</a></code> object with it
   must share the new object as well.</p>
 
   </div>
@@ -53204,7 +53214,7 @@
   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>
-  <code>Document</code> objects that share the <code><a href=#history-0>History</a></code>
+  <code><a href=#document>Document</a></code> objects that share the <code><a href=#history-0>History</a></code>
   object's <a href=#top-level-browsing-context>top-level browsing context</a>, with all the
   entries that are <a href=#current-entry title="current entry">current entries</a>
   in their respective <a href=#session-history title="session history">session
@@ -53384,7 +53394,7 @@
   <p>User agents may limit the number of state objects added to the
   session history per page. If a page hits the UA-defined limit, user
   agents must remove the entry immediately after the first entry for
-  that <code>Document</code> object in the session history after
+  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>
 
@@ -53491,7 +53501,7 @@
 
   <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>Document</code> object in a <a href=#browsing-context>browsing
+  <p>Each <code><a href=#document>Document</a></code> object in a <a href=#browsing-context>browsing
   context</a>'s session history is associated with a unique
   instance of a <code><a href=#location>Location</a></code> object.</p>
 
@@ -53510,13 +53520,13 @@
 
   <p>The <dfn id=dom-document-location title=dom-document-location><code>location</code></dfn> attribute
   of the <code><a href=#htmldocument>HTMLDocument</a></code> interface must return the
-  <code><a href=#location>Location</a></code> object for that <code>Document</code> object,
+  <code><a href=#location>Location</a></code> object for that <code><a href=#document>Document</a></code> object,
   if it is in a <a href=#browsing-context>browsing context</a>, and null otherwise.</p>
 
   <p>The <dfn id=dom-location title=dom-location><code>location</code></dfn>
   attribute of the <code><a href=#window>Window</a></code> interface must return the
   <code><a href=#location>Location</a></code> object for that <code><a href=#window>Window</a></code> object's
-  <code>Document</code>.</p>
+  <code><a href=#document>Document</a></code>.</p>
 
   </div>
 
@@ -53591,7 +53601,7 @@
   <p>The <dfn id=dom-location-href title=dom-location-href><code>href</code></dfn>
   attribute must return <a href="#the-document's-current-address" title="the document's current
   address">the current address</a> of the associated
-  <code>Document</code> object, as an <a href=#absolute-url>absolute URL</a>.</p>
+  <code><a href=#document>Document</a></code> object, as an <a href=#absolute-url>absolute URL</a>.</p>
 
   <p>On setting, <!-- READ ME WHEN EDITING THIS: Mozilla does this,
   but IE doesn't. What should we do?: the behavior depends on the
@@ -53615,8 +53625,8 @@
   URL</a>, and if that is successful, must <a href=#navigate>navigate</a>
   the <a href=#browsing-context>browsing context</a> to the specified <var title="">url</var>. If the <a href=#browsing-context>browsing context</a>'s
   <a href=#session-history>session history</a> contains only one
-  <code>Document</code>, and that was the <code><a href=#about:blank>about:blank</a></code>
-  <code>Document</code> created when the <a href=#browsing-context>browsing context</a>
+  <code><a href=#document>Document</a></code>, and that was the <code><a href=#about:blank>about:blank</a></code>
+  <code><a href=#document>Document</a></code> created when the <a href=#browsing-context>browsing context</a>
   was created, then the navigation must be done with
   <a href=#replacement-enabled>replacement enabled</a>.</p> <!-- READ ME WHEN EDITING
   THIS: IE and Firefox only seem to treat it that way if the DOM is
@@ -53665,7 +53675,7 @@
   </dl><p>When a user requests that the current page be reloaded through a
   user interface element, the user agent should <a href=#navigate>navigate</a>
   the <a href=#browsing-context>browsing context</a> to the same resource as
-  <code>Document</code>, with <a href=#replacement-enabled>replacement enabled</a>. In the
+  <code><a href=#document>Document</a></code>, with <a href=#replacement-enabled>replacement enabled</a>. In the
   case of non-idempotent methods (e.g. HTTP POST), the user agent
   should prompt the user to confirm the operation first, since
   otherwise transactions (e.g. purchases or database modifications)
@@ -53678,7 +53688,7 @@
   <a href=#url-decomposition-idl-attributes>URL decomposition IDL attributes</a>, <dfn id=dom-location-protocol title=dom-location-protocol><code>protocol</code></dfn>, <dfn id=dom-location-host title=dom-location-host><code>host</code></dfn>, <dfn id=dom-location-port title=dom-location-port><code>port</code></dfn>, <dfn id=dom-location-hostname title=dom-location-hostname><code>hostname</code></dfn>, <dfn id=dom-location-pathname title=dom-location-pathname><code>pathname</code></dfn>, <dfn id=dom-location-search title=dom-location-search><code>search</code></dfn>, and <dfn id=dom-location-hash title=dom-location-hash><code>hash</code></dfn>. <span class=impl>These must follow the rules given for URL decomposition IDL
   attributes, with the <a href=#concept-uda-input title=concept-uda-input>input</a>
   being <a href="#the-document's-current-address" title="the document's current address">the current
-  address</a> of the associated <code>Document</code> object, as an
+  address</a> of the associated <code><a href=#document>Document</a></code> object, as an
   <a href=#absolute-url>absolute URL</a> (same as the <code title=dom-location-href><a href=#dom-location-href>href</a></code> 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>
@@ -53702,7 +53712,7 @@
   <p>User agents must raise a <code><a href=#security_err>SECURITY_ERR</a></code> exception whenever
   any of the members of a <code><a href=#location>Location</a></code> object are accessed by
   scripts whose <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=#location>Location</a></code>
-  object's associated <code>Document</code>'s <a href=#effective-script-origin>effective script
+  object's associated <code><a href=#document>Document</a></code>'s <a href=#effective-script-origin>effective script
   origin</a>, with the following exceptions:</p>
 
   <ul><li>The <code title=dom-location-href><a href=#dom-location-href>href</a></code> setter, if the
@@ -53825,7 +53835,7 @@
    <li><p>If there is a preexisting attempt to navigate the
    <a href=#browsing-context>browsing context</a>, and either that attempt has not yet
    <a href=#concept-navigate-mature title=concept-navigate-mature>matured</a> (i.e. it has
-   not passed the point of making its <code>Document</code> the
+   not passed the point of making its <code><a href=#document>Document</a></code> the
    <a href=#active-document>active document</a>), or that navigation's resource is not
    to be fetched using HTTP GET <a href=#concept-http-equivalent-get title=concept-http-equivalent-get>or equivalent</a>, or its
    resource's <a href=#absolute-url>absolute URL</a> differs from this attempt's by
@@ -53855,7 +53865,7 @@
    mechanism instead.</li>
 
    <li><p><a href=#prompt-to-unload-a-document title="prompt to unload a document">Prompt to
-   unload</a> the <code>Document</code> object. If the user
+   unload</a> the <code><a href=#document>Document</a></code> object. If the user
    <a href=#refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be unloaded</a>, then
    these steps must be aborted.</li>
 
@@ -54051,7 +54061,7 @@
 
     </dl><p><dfn id="set-the-document's-address" title="set the document's address">Setting the document's
     address</dfn>: If there is no <dfn id=override-url>override URL</dfn>, then any
-    <code>Document</code> created by these steps must have its <a href="#the-document's-address" title="the document's address">address</a> set to the
+    <code><a href=#document>Document</a></code> created by these steps must have its <a href="#the-document's-address" title="the document's address">address</a> set to the
     <a href=#url>URL</a> that was originally to be <a href=#fetch title=fetch>fetched</a>, ignoring any other data that was
     used to obtain the resource (e.g. the entity body in the case of a
     POST submission is not part of <a href="#the-document's-address">the document's
@@ -54059,7 +54069,7 @@
     case of the original load having failed and that URL having been
     found to match a <a href=#concept-appcache-fallback-ns title=concept-appcache-fallback-ns>fallback
     namespace</a>). However, if there <em>is</em> an <a href=#override-url>override
-    URL</a>, then any <code>Document</code> created by these steps
+    URL</a>, then any <code><a href=#document>Document</a></code> created by these steps
     must have its <a href="#the-document's-address" title="the document's address">address</a>
     set to that <a href=#url>URL</a> instead.</p>
 
@@ -54068,20 +54078,20 @@
     <code>javascript:</code> URL</a>.</p>
 
     <p><dfn id=create-a-document-object title="create a Document object">Creating a new
-    <code>Document</code> object</dfn>: When a <code>Document</code>
+    <code>Document</code> object</dfn>: When a <code><a href=#document>Document</a></code>
     is created as part of the above steps, a new set of <a href=#view title=view>views</a> along with the associated
     <code><a href=#window>Window</a></code> object must be created and associated with the
-    <code>Document</code>, with one exception: if the <a href=#browsing-context>browsing
+    <code><a href=#document>Document</a></code>, with one exception: if the <a href=#browsing-context>browsing
     context</a>'s only entry in its <a href=#session-history>session history</a> is
-    the <code><a href=#about:blank>about:blank</a></code> <code>Document</code> that was added
+    the <code><a href=#about:blank>about:blank</a></code> <code><a href=#document>Document</a></code> that was added
     when the <a href=#browsing-context>browsing context</a> was created, and navigation
     is occurring with <a href=#replacement-enabled>replacement enabled</a>, and that
-    <code>Document</code> has the <a href=#same-origin>same origin</a> as the new
-    <code>Document</code>, then the <code><a href=#window>Window</a></code> object and
+    <code><a href=#document>Document</a></code> has the <a href=#same-origin>same origin</a> as the new
+    <code><a href=#document>Document</a></code>, then the <code><a href=#window>Window</a></code> object and
     associated <a href=#view title=view>views</a> of that
-    <code>Document</code> must be used instead, and the <code title=dom-document>document</code> attribute of the
+    <code><a href=#document>Document</a></code> must be used instead, and the <code title=dom-document>document</code> attribute of the
     <code>AbstractView</code> objects of those <a href=#view title=view>views</a> must be changed to point to the new
-    <code>Document</code> instead.</p>
+    <code><a href=#document>Document</a></code> instead.</p>
 
    </li>
 
@@ -54112,7 +54122,7 @@
   steps:</p>
 
   <ol><li><p><a href=#unload-a-document title="unload a document">Unload</a> the
-   <code>Document</code> object of the <a href=#current-entry>current entry</a>,
+   <code><a href=#document>Document</a></code> object of the <a href=#current-entry>current entry</a>,
    with the <var title="">recycle</var> parameter set to
    false.</li>
 
@@ -54123,10 +54133,10 @@
 
      <dd>
 
-      <ol><li><p>Replace the <code>Document</code> of the entry being
+      <ol><li><p>Replace the <code><a href=#document>Document</a></code> of the entry being
        updated, and any other entries that referenced the same
        document as that entry, with the new
-       <code>Document</code>.</li>
+       <code><a href=#document>Document</a></code>.</li>
 
        <li><p><a href=#traverse-the-history>Traverse the history</a> to the new
        entry.</li>
@@ -54135,7 +54145,7 @@
       is no the <a href=#current-entry>current entry</a>, and can never happen with
       <a href=#replacement-enabled>replacement enabled</a>. (It happens when the user
       tried to traverse to a session history entry that no longer had
-      a <code>Document</code> object.)</p>
+      a <code><a href=#document>Document</a></code> object.)</p>
 
      </dd>
 
@@ -54166,7 +54176,7 @@
 
        <li><p>Append a new entry at the end of the <code><a href=#history-0>History</a></code>
        object representing the new resource and its
-       <code>Document</code> object and related state.</li>
+       <code><a href=#document>Document</a></code> object and related state.</li>
 
        <li><p><a href=#traverse-the-history>Traverse the history</a> to the new entry. If
        the navigation was initiated with <a href=#replacement-enabled>replacement
@@ -54188,7 +54198,7 @@
    agent to optimize the user experience in the face of performance
    concerns.)</li>
 
-   <li><p>If the <code>Document</code> object has no parser, or its
+   <li><p>If the <code><a href=#document>Document</a></code> object has no parser, or its
    parser has <a href=#stop-parsing title="stop parsing">stopped parsing</a>, or
    the user agent has reason to believe the user is no longer
    interested in scrolling to the fragment identifier, then abort
@@ -54231,7 +54241,7 @@
   which eventually causes a <code title=event-load>load</code> event
   to be fired.</p>
 
-  <p>After creating the <code>Document</code> object, but before any
+  <p>After creating the <code><a href=#document>Document</a></code> object, but before any
   script execution, certainly before the parser <a href=#stop-parsing title="stop
   parsing">stops</a>, the user agent must <a href=#update-the-session-history-with-the-new-page>update the session
   history with the new page</a>.</p>
@@ -54270,11 +54280,11 @@
   algorithm</a> with the resulting <a href=#absolute-url>absolute URL</a> with
   any <a href=#url-fragment title=url-fragment><fragment></a> component
   removed as the manifest URL, and passing in the newly-created
-  <code>Document</code>. Otherwise, if the attribute is absent or
+  <code><a href=#document>Document</a></code>. Otherwise, if the attribute is absent or
   resolving it fails, then as soon as the root element is <a href=#insert-an-element-into-a-document title="insert an element into a document">inserted into the
   document</a>, the user agent must run the <a href=#concept-appcache-init title=concept-appcache-init>application cache selection
   algorithm</a> with no manifest, and passing in the
-  <code>Document</code>.</p>
+  <code><a href=#document>Document</a></code>.</p>
 
   <p class=note>Because the processing of the <code title=attr-html-manifest><a href=#attr-html-manifest>manifest</a></code> attribute happens
   only once the root element is parsed, any URLs referenced by
@@ -54282,7 +54292,7 @@
   cannot be cached.</p><!-- v2: fix this somehow -->
 
   <p>User agents may examine the namespace of the root
-  <code>Element</code> node of this <code>Document</code> object to
+  <code><a href=#element>Element</a></code> node of this <code><a href=#document>Document</a></code> object to
   perform namespace-based dispatch to alternative processing tools,
   e.g. determining that the content is actually a syndication feed and
   passing it to a feed handler. If such processing is to take place,
@@ -54290,7 +54300,7 @@
   "non-document content") in the <a href=#navigate>navigate</a> steps
   above.</p>
 
-  <p>Otherwise, then, with the newly created <code>Document</code>,
+  <p>Otherwise, then, with the newly created <code><a href=#document>Document</a></code>,
   the user agents must <a href=#update-the-session-history-with-the-new-page>update the session history with the new
   page</a>. User agents may do this before the complete document
   has been parsed (thus achieving <i>incremental rendering</i>), and
@@ -54298,7 +54308,7 @@
 
   <p>Error messages from the parse process (e.g. XML namespace
   well-formedness errors) may be reported inline by mutating the
-  <code>Document</code>.</p>
+  <code><a href=#document>Document</a></code>.</p>
 
 
   <h4 id=read-text><span class=secno>6.5.4 </span><dfn title=navigate-text>Page load processing model for text files</dfn></h4>
@@ -54325,10 +54335,10 @@
   <p>The <a href="#document's-character-encoding">document's character encoding</a> must be set to the
   character encoding used to decode the document.</p>
 
-  <p>Upon creation of the <code>Document</code> object, the user agent
+  <p>Upon creation of the <code><a href=#document>Document</a></code> object, the user agent
   must run the <a href=#concept-appcache-init title=concept-appcache-init>application cache
   selection algorithm</a> with no manifest, and passing in the
-  newly-created <code>Document</code>.</p>
+  newly-created <code><a href=#document>Document</a></code>.</p>
 
   <!-- next two paragraphs are nearly identical to the navigate-html
   section and similar to the "navigate-ua-inline" section, and the
@@ -54340,12 +54350,12 @@
   which eventually causes a <code title=event-load>load</code> event
   to be fired.</p>
 
-  <p>After creating the <code>Document</code> object, but potentially
+  <p>After creating the <code><a href=#document>Document</a></code> object, but potentially
   before the page has finished parsing, the user agent must
   <a href=#update-the-session-history-with-the-new-page>update the session history with the new page</a>.</p>
 
   <p>User agents may add content to the <code><a href=#the-head-element-0>head</a></code> element of
-  the <code>Document</code>, e.g. linking to a style sheet or an XBL
+  the <code><a href=#document>Document</a></code>, e.g. linking to a style sheet or an XBL
   binding, providing script, giving the document a <code><a href=#the-title-element-0>title</a></code>,
   etc.</p>
 
@@ -54358,7 +54368,7 @@
   <p>When an image resource is to be loaded in a <a href=#browsing-context>browsing
   context</a>, the user agent should <a href=#create-a-document-object>create a
   <code>Document</code> object</a>, mark it as being an <a href=#html-documents title="HTML documents">HTML document</a>, append an
-  <code><a href=#the-html-element-0>html</a></code> element to the <code>Document</code>, append a
+  <code><a href=#the-html-element-0>html</a></code> element to the <code><a href=#document>Document</a></code>, append a
   <code><a href=#the-head-element-0>head</a></code> element and a <code><a href=#the-body-element-0>body</a></code> element to the
   <code><a href=#the-html-element-0>html</a></code> element, append an <code><a href=#the-img-element>img</a></code> to the
   <code><a href=#the-body-element-0>body</a></code> element, and set the <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute of the <code><a href=#the-img-element>img</a></code>
@@ -54370,17 +54380,17 @@
   <p>Then, the user agent must act as if it had <a href=#stop-parsing title="stop
   parsing">stopped parsing</a>.</p>
 
-  <p>Upon creation of the <code>Document</code> object, the user agent
+  <p>Upon creation of the <code><a href=#document>Document</a></code> object, the user agent
   must run the <a href=#concept-appcache-init title=concept-appcache-init>application cache
   selection algorithm</a> with no manifest, and passing in the
-  newly-created <code>Document</code>.</p>
+  newly-created <code><a href=#document>Document</a></code>.</p>
 
-  <p>After creating the <code>Document</code> object, but potentially
+  <p>After creating the <code><a href=#document>Document</a></code> object, but potentially
   before the page has finished fully loading, the user agent must
   <a href=#update-the-session-history-with-the-new-page>update the session history with the new page</a>.</p>
 
   <p>User agents may add content to the <code><a href=#the-head-element-0>head</a></code> element of
-  the <code>Document</code>, or attributes to the <code><a href=#the-img-element>img</a></code>
+  the <code><a href=#document>Document</a></code>, or attributes to the <code><a href=#the-img-element>img</a></code>
   element, e.g. to link to a style sheet or an XBL binding, to provide
   a script, to give the document a <code><a href=#the-title-element-0>title</a></code>, etc.</p>
 
@@ -54391,7 +54401,7 @@
   is to be loaded in a <a href=#browsing-context>browsing context</a>, the user agent
   should <a href=#create-a-document-object>create a <code>Document</code> object</a>, mark it
   as being an <a href=#html-documents title="HTML documents">HTML document</a>,
-  append an <code><a href=#the-html-element-0>html</a></code> element to the <code>Document</code>,
+  append an <code><a href=#the-html-element-0>html</a></code> element to the <code><a href=#document>Document</a></code>,
   append a <code><a href=#the-head-element-0>head</a></code> element and a <code><a href=#the-body-element-0>body</a></code> element
   to the <code><a href=#the-html-element-0>html</a></code> element, append an <code><a href=#the-embed-element>embed</a></code> to
   the <code><a href=#the-body-element-0>body</a></code> element, and set the <code title=attr-embed-src><a href=#attr-embed-src>src</a></code> attribute of the
@@ -54403,23 +54413,23 @@
   <p>Then, the user agent must act as if it had <a href=#stop-parsing title="stop
   parsing">stopped parsing</a>.</p>
 
-  <p>Upon creation of the <code>Document</code> object, the user agent
+  <p>Upon creation of the <code><a href=#document>Document</a></code> object, the user agent
   must run the <a href=#concept-appcache-init title=concept-appcache-init>application cache
   selection algorithm</a> with no manifest, and passing in the
-  newly-created <code>Document</code>.</p>
+  newly-created <code><a href=#document>Document</a></code>.</p>
 
-  <p>After creating the <code>Document</code> object, but potentially
+  <p>After creating the <code><a href=#document>Document</a></code> object, but potentially
   before the page has finished fully loading, the user agent must
   <a href=#update-the-session-history-with-the-new-page>update the session history with the new page</a>.</p>
 
   <p>User agents may add content to the <code><a href=#the-head-element-0>head</a></code> element of
-  the <code>Document</code>, or attributes to the <code><a href=#the-embed-element>embed</a></code>
+  the <code><a href=#document>Document</a></code>, or attributes to the <code><a href=#the-embed-element>embed</a></code>
   element, e.g. to link to a style sheet or an XBL binding, or to give
   the document a <code><a href=#the-title-element-0>title</a></code>.</p>
 
   <p class=note id=sandboxPluginNavigate>If the <a href=#sandboxed-plugins-browsing-context-flag>sandboxed
   plugins browsing context flag</a> was set on the <a href=#browsing-context>browsing
-  context</a> when the <code>Document</code> was created, the
+  context</a> when the <code><a href=#document>Document</a></code> was created, the
   synthesized <code><a href=#the-embed-element>embed</a></code> element will <a href=#sandboxPluginEmbed>fail to render the content</a>.</p>
 
 
@@ -54428,9 +54438,9 @@
   <p>When the user agent is to display a user agent page inline in a
   <a href=#browsing-context>browsing context</a>, the user agent should <a href=#create-a-document-object>create a
   <code>Document</code> object</a>, mark it as being an <a href=#html-documents title="HTML documents">HTML document</a>, and then either
-  associate that <code>Document</code> with a custom rendering that is
-  not rendered using the normal <code>Document</code> rendering rules,
-  or mutate that <code>Document</code> until it represents the content
+  associate that <code><a href=#document>Document</a></code> with a custom rendering that is
+  not rendered using the normal <code><a href=#document>Document</a></code> rendering rules,
+  or mutate that <code><a href=#document>Document</a></code> until it represents the content
   the user agent wants to render.</p>
 
   <!-- next two paragraphs are similar to the navigate-text section,
@@ -54439,12 +54449,12 @@
   <p>Once the page has been set up, the user agent must act as if it
   had <a href=#stop-parsing title="stop parsing">stopped parsing</a>.</p>
 
-  <p>Upon creation of the <code>Document</code> object, the user agent
+  <p>Upon creation of the <code><a href=#document>Document</a></code> object, the user agent
   must run the <a href=#concept-appcache-init title=concept-appcache-init>application cache
   selection algorithm</a> with no manifest, passing in the
-  newly-created <code>Document</code>.</p>
+  newly-created <code><a href=#document>Document</a></code>.</p>
 
-  <p>After creating the <code>Document</code> object, but potentially
+  <p>After creating the <code><a href=#document>Document</a></code> object, but potentially
   before the page has been completely set up, the user agent must
   <a href=#update-the-session-history-with-the-new-page>update the session history with the new page</a>.</p>
 
@@ -54472,7 +54482,7 @@
    the <a href=#history-traversal-task-source>history traversal task source</a>.</li>
 
    <li><p>Append a new entry at the end of the <code><a href=#history-0>History</a></code>
-   object representing the new resource and its <code>Document</code>
+   object representing the new resource and its <code><a href=#document>Document</a></code>
    object and related state. Its <a href=#url>URL</a> must be set to the
    address to which the user agent was <a href=#navigate title=navigate>navigating</a>. The title must be left
    unset.</li>
@@ -54497,7 +54507,7 @@
   fragment identifier, if any, identifies. The semantics of the
   fragment identifier in terms of mapping it to a specific DOM Node is
   defined by the specification that defines the <a href=#mime-type>MIME type</a>
-  used by the <code>Document</code> (for example, the processing of
+  used by the <code><a href=#document>Document</a></code> (for example, the processing of
   fragment identifiers for <a href=#xml-mime-type title="XML MIME type">XML MIME
   types</a> is the responsibility of RFC3023). <a href=#refsRFC3023>[RFC3023]</a></p>
 
@@ -54558,13 +54568,13 @@
   to a <i>specified entry</i>, optionally with <a href=#replacement-enabled>replacement
   enabled</a>, the user agent must act as follows:</p>
 
-  <ol><li><p>If there is no longer a <code>Document</code> object for the
+  <ol><li><p>If there is no longer a <code><a href=#document>Document</a></code> object for the
    entry in question, the user agent must <a href=#navigate>navigate</a> the
    browsing context to the location for that entry to perform an
    <a href=#entry-update>entry update</a> of that entry, and abort these steps. The
    "<a href=#navigate>navigate</a>" algorithm reinvokes this "traverse"
    algorithm to complete the traversal, at which point there
-   <em>is</em> a <code>Document</code> object and so this step gets
+   <em>is</em> a <code><a href=#document>Document</a></code> object and so this step gets
    skipped. The navigation must be done using the same <a href=#source-browsing-context>source
    browsing context</a> as was used the first time this entry was
    created. (This can never happen with <a href=#replacement-enabled>replacement
@@ -54578,7 +54588,7 @@
    <li>
 
     <p>If appropriate, update the <a href=#current-entry>current entry</a> in the
-    <a href=#browsing-context>browsing context</a>'s <code>Document</code> object's
+    <a href=#browsing-context>browsing context</a>'s <code><a href=#document>Document</a></code> object's
     <code><a href=#history-0>History</a></code> object to reflect any state that the user
     agent wishes to persist. The entry is then said to be <dfn id=an-entry-with-persisted-user-state>an
     entry with persisted user state</dfn>.</p>
@@ -54589,20 +54599,20 @@
    </li>
 
    <li><p>If the <i>specified entry</i> has a different
-   <code>Document</code> object than the <a href=#current-entry>current entry</a>
+   <code><a href=#document>Document</a></code> object than the <a href=#current-entry>current entry</a>
    then the user agent must run the following substeps:</p>
 
     <ol><li>If the browsing context is a <a href=#top-level-browsing-context>top-level browsing
      context</a>, but not an <a href=#auxiliary-browsing-context>auxiliary browsing
      context</a>, and the <a href=#origin>origin</a> of the
-     <code>Document</code> of the <i>specified entry</i> is not the
+     <code><a href=#document>Document</a></code> of the <i>specified entry</i> is not the
      <a href=#same-origin title="same origin">same</a> as the <a href=#origin>origin</a>
-     of the <code>Document</code> of the <a href=#current-entry>current entry</a>,
+     of the <code><a href=#document>Document</a></code> of the <a href=#current-entry>current entry</a>,
      then the following sub-sub-steps must be run:
 
       <ol><li>The current <a href=#browsing-context-name>browsing context name</a> must be
        stored with all the entries in the history that are associated
-       with <code>Document</code> objects with the <a href=#same-origin>same
+       with <code><a href=#document>Document</a></code> objects with the <a href=#same-origin>same
        origin</a> as the <a href=#active-document>active document</a> <em>and</em>
        that are contiguous with the <a href=#current-entry>current entry</a>.</li>
 
@@ -54612,7 +54622,7 @@
       </ol></li>
 
      <li id=appcache-history-2>The user agent must make the
-     <i>specified entry</i>'s <code>Document</code> object the
+     <i>specified entry</i>'s <code><a href=#document>Document</a></code> object the
      <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing
      context</a>.</li>
 
@@ -54625,22 +54635,22 @@
 
        <li>Any <a href=#browsing-context-name>browsing context name</a> stored with the
        entries in the history that are associated with
-       <code>Document</code> objects with the <a href=#same-origin>same origin</a>
+       <code><a href=#document>Document</a></code> objects with the <a href=#same-origin>same origin</a>
        as the new <a href=#active-document>active document</a>, and that are
        contiguous with the specified entry, must be cleared.</li>
 
       </ol></li>
 
      <li id=history-autocomplete><p>If the <i>specified entry</i>'s
-     <code>Document</code> has any <code><a href=#the-input-element>input</a></code> elements whose
+     <code><a href=#document>Document</a></code> has any <code><a href=#the-input-element>input</a></code> elements whose
      <a href=#resulting-autocompletion-state>resulting autocompletion state</a> is <i title="">off</i>, invoke the <a href=#concept-form-reset-control title=concept-form-reset-control>reset algorithm</a> of each
      of those elements.</li>
 
      <li><p>If the <a href=#current-document-readiness>current document readiness</a> of the
-     <i>specified entry</i>'s <code>Document</code> is "complete",
+     <i>specified entry</i>'s <code><a href=#document>Document</a></code> is "complete",
      <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a>
      named <code title=event-pageshow>pageshow</code> at that
-     <code>Document</code>'s <code><a href=#window>Window</a></code> object.</li>
+     <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
     </ol></li>
 
@@ -54649,7 +54659,7 @@
 
    <li><p>If the <i>specified entry</i> has a URL that differs from
    the <a href=#current-entry>current entry</a>'s only by its fragment identifier,
-   and the two share the same <code>Document</code> object, then let
+   and the two share the same <code><a href=#document>Document</a></code> object, then let
    <var title="">hash changed</var> be true, and let <var title="">old
    URL</var> be the URL of the <a href=#current-entry>current entry</a> and <var title="">new URL</var> be the URL of the <i>specified
    entry</i>. Otherwise, let <var title="">hash changed</var> be
@@ -54671,7 +54681,7 @@
    <li>
 
     <p>If the <i>specified entry</i> is a state object or the first
-    entry for a <code>Document</code>, the user agent must run the
+    entry for a <code><a href=#document>Document</a></code>, the user agent must run the
     following substeps:</p>
 
     <ol><li><p>If the entry is a <a href=#state-object>state object</a> entry, let <var title="">state</var> be a <a href=#structured-clone>structured clone</a> of that
@@ -54687,14 +54697,14 @@
        string "complete"</dt>
 
        <dd><p><a href=#queue-a-task>Queue a task</a> to fire a <code title=event-popstate><a href=#event-popstate>popstate</a></code> event at the
-       <code><a href=#window>Window</a></code> object of the <code>Document</code>, using
+       <code><a href=#window>Window</a></code> object of the <code><a href=#document>Document</a></code>, using
        the <code><a href=#popstateevent>PopStateEvent</a></code> interface, with the <code title=dom-PopStateEvent-state><a href=#dom-popstateevent-state>state</a></code> attribute set to
        the value of <var title="">state</var>. This event must bubble
        but not be cancelable and has no default action.</dd>
 
        <dt>Otherwise</dt>
 
-       <dd><p>Let the <code>Document</code>'s <dfn id=pending-state-object>pending state
+       <dd><p>Let the <code><a href=#document>Document</a></code>'s <dfn id=pending-state-object>pending state
        object</dfn> be <var title="">state</var>. (If there was already
        a <a href=#pending-state-object>pending state object</a>, the previous one is
        discarded.)</p>
@@ -54752,7 +54762,7 @@
   <p>The <dfn id=dom-popstateevent-state title=dom-PopStateEvent-state><code>state</code></dfn>
   attribute represents the context information for the event, or null,
   if the state represented is the initial state of the
-  <code>Document</code>.</p>
+  <code><a href=#document>Document</a></code>.</p>
 
   </div>
 
@@ -54810,7 +54820,7 @@
 
   <div class=impl>
 
-  <p>A <code>Document</code> has a <var title="">salvageable</var>
+  <p>A <code><a href=#document>Document</a></code> has a <var title="">salvageable</var>
   state, which is initially true.</p>
 
   <p>When a user agent is to <dfn id=prompt-to-unload-a-document>prompt to unload a document</dfn>,
@@ -54821,12 +54831,12 @@
    bubble but is cancelable.</li>
 
    <li><p><i>Dispatch</i>: Dispatch <var title="">event</var> at the
-   <code>Document</code>'s <code><a href=#window>Window</a></code> object.</li>
+   <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
    <li><p>If any event listeners were triggered by the earlier
-   <i>dispatch</i> step, then set the <code>Document</code>'s <var title="">salvageable</var> state to false.</li>
+   <i>dispatch</i> step, then set the <code><a href=#document>Document</a></code>'s <var title="">salvageable</var> state to false.</li>
 
    <li>
 
@@ -54856,7 +54866,7 @@
 
    <li><p>Let <var title="">descendants</var> be the <a href=#list-of-the-descendant-browsing-contexts>list of the
    descendant browsing contexts</a> of the
-   <code>Document</code>.</li>
+   <code><a href=#document>Document</a></code>.</li>
 
    <li>
 
@@ -54881,24 +54891,24 @@
 
   </ol><p>When a user agent is to <dfn id=unload-a-document>unload a document</dfn>, it must run
   the following steps. These steps are passed an argument, <var title="">recycle</var>, which is either true or false, indicating
-  whether the <code>Document</code> object is going to be
+  whether the <code><a href=#document>Document</a></code> object is going to be
   re-used. (This is set by the <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> method.)</p>
 
   <ol><li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-pagehide>pagehide</code> at the
-   <code>Document</code>'s <code><a href=#window>Window</a></code> object.</li>
+   <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
    <li><p><i>Unload event</i>: <a href=#fire-a-simple-event>Fire a simple event</a> named
    <code title=event-unload>unload</code> at the
-   <code>Document</code>'s <code><a href=#window>Window</a></code> object.</li>
+   <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
    <li><p>If any event listeners were triggered by the earlier
-   <i>unload event</i> step, then set the <code>Document</code>
+   <i>unload event</i> step, then set the <code><a href=#document>Document</a></code>
    object's <var title="">salvageable</var> state to false.</li>
 
    <li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for
-   <code>Document</code> that are defined by this specification or any
+   <code><a href=#document>Document</a></code> that are defined by this specification or any
    other relevant specifications.</li>
 
    <li><p>If this algorithm was invoked by another instance of the
@@ -54908,7 +54918,7 @@
 
    <li><p>Let <var title="">descendants</var> be the <a href=#list-of-the-descendant-browsing-contexts>list of the
    descendant browsing contexts</a> of the
-   <code>Document</code>.</li>
+   <code><a href=#document>Document</a></code>.</li>
 
    <li>
 
@@ -54929,13 +54939,13 @@
     </ol></li>
 
    <li><p>If <var title="">salvageable</var> and <var title="">recycle</var> are both false, then the
-   <code>Document</code>'s <a href=#browsing-context>browsing context</a> must <a href=#discard-a-document title="discard a document">discard the
+   <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> must <a href=#discard-a-document title="discard a document">discard the
    <code>Document</code></a>.</li>
 
   </ol><p>This specification defines the following <dfn id=unloading-document-cleanup-steps>unloading document
   cleanup steps</dfn>. Other specifications can define more.</p>
 
-  <ol><li><p>Empty the <code>Document</code>'s <code><a href=#window>Window</a></code>'s
+  <ol><li><p>Empty the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code>'s
    <a href=#list-of-active-timeouts>list of active timeouts</a> and its <a href=#list-of-active-intervals>list of active
    intervals</a>.</li> <!-- XXX Should this affect <var
    title="">salvageable</var>? Should it happen at all? -->
@@ -54943,14 +54953,14 @@
    <li><p>If there are any outstanding transactions that have
    callbacks that involve <a href=#concept-script title=concept-script>scripts</a>
    whose <a href="#script's-global-object" title="script's global object">global object</a> is
-   the <code>Document</code>'s <code><a href=#window>Window</a></code> object, roll them
+   the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object, roll them
    back (without invoking any of the callbacks) and set <var title="">salvageable</var> to false.
    <a href=#refsWEBSQL>[WEBSQL]</a>
    </li>
 
    <li><p><span>Close the Web Socket connection</span> of any
    <code>WebSocket</code> objects that were created by the <code title=dom-WebSocket>WebSocket()</code> constructor visible on the
-   <code>Document</code>'s <code><a href=#window>Window</a></code> object. If this
+   <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object. If this
    affected any <code>WebSocket</code> objects, set <var title="">salvageable</var> to false.
    
    <a href=#refsWEBSOCKET>[WEBSOCKET]</a>
@@ -54994,11 +55004,11 @@
   <h4 id=aborting-a-document-load><span class=secno>6.5.11 </span>Aborting a document load</h4>
 
   <p>If the user cancels any instance of the <a href=#fetch title=fetch>fetching algorithm</a> in the context of a
-  <code>Document</code> in a <a href=#browsing-context>browsing context</a>, then, if
-  that <code>Document</code> is an <a href=#active-document>active document</a>, the
+  <code><a href=#document>Document</a></code> in a <a href=#browsing-context>browsing context</a>, then, if
+  that <code><a href=#document>Document</a></code> is an <a href=#active-document>active document</a>, the
   user agent must <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple
   event</a> named <code title=event-abort>abort</code> at that
-  <code>Document</code>'s <code><a href=#window>Window</a></code> object.</p>
+  <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</p>
 
   <!-- I'd love to make this more precise, anyone have any suggestions
   on what it should say? -->
@@ -55150,15 +55160,15 @@
      <th> Dispatched when...
      <th> Next events
    <tbody><tr><td> <dfn id=event-appcache-checking title=event-appcache-checking><code>checking</code></dfn>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> The user agent is checking for an update, or attempting to download the manifest for the first time. <strong>This is always the first event in the sequence.</strong>
      <td> <code title=event-appcache-noupdate><a href=#event-appcache-noupdate>noupdate</a></code>, <code title=event-appcache-downloading><a href=#event-appcache-downloading>downloading</a></code>, <code title=event-appcache-obsolete><a href=#event-appcache-obsolete>obsolete</a></code>, <code title=event-appcache-error><a href=#event-appcache-error>error</a></code>
     <tr><td> <dfn id=event-appcache-noupdate title=event-appcache-noupdate><code>noupdate</code></dfn>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> The manifest hadn't changed.
      <td> Last event in sequence.
     <tr><td> <dfn id=event-appcache-downloading title=event-appcache-downloading><code>downloading</code></dfn>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> The user agent has found an update and is fetching it, or is downloading the resources listed by the manifest for the first time.
      <td> <code title=event-appcache-progress><a href=#event-appcache-progress>progress</a></code>, <code title=event-appcache-error><a href=#event-appcache-error>error</a></code>, <code title=event-appcache-cached><a href=#event-appcache-cached>cached</a></code>, <code title=event-appcache-updateready><a href=#event-appcache-updateready>updateready</a></code>
     <tr><td> <dfn id=event-appcache-progress title=event-appcache-progress><code>progress</code></dfn>
@@ -55166,19 +55176,19 @@
      <td> The user agent is downloading resources listed by the manifest.
      <td> <code title=event-appcache-progress><a href=#event-appcache-progress>progress</a></code>, <code title=event-appcache-error><a href=#event-appcache-error>error</a></code>, <code title=event-appcache-cached><a href=#event-appcache-cached>cached</a></code>, <code title=event-appcache-updateready><a href=#event-appcache-updateready>updateready</a></code>
     <tr><td> <dfn id=event-appcache-cached title=event-appcache-cached><code>cached</code></dfn>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> The resources listed in the manifest have been downloaded, and the application is now cached.
      <td> Last event in sequence.
     <tr><td> <dfn id=event-appcache-updateready title=event-appcache-updateready><code>updateready</code></dfn>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> The resources listed in the manifest have been newly redownloaded, and the script can use <code title=dom-appcache-swapCache><a href=#dom-appcache-swapcache>swapCache()</a></code> to switch to the new cache.
      <td> Last event in sequence.
     <tr><td> <dfn id=event-appcache-obsolete title=event-appcache-obsolete><code>obsolete</code></dfn>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> The manifest was found to have become a 404 or 410 page, so the application cache is being deleted.
      <td> Last event in sequence.
     <tr><td rowspan=4> <dfn id=event-appcache-error title=event-appcache-error><code>error</code></dfn>
-     <td rowspan=4> <code>Event</code>
+     <td rowspan=4> <code><a href=#event>Event</a></code>
      <td> The manifest was a 404 or 410 page, so the attempt to cache the application has been aborted.
      <td rowspan=3> Last event in sequence.
     <tr><td> The manifest hadn't changed, but the page referencing the manifest failed to download properly.
@@ -55272,7 +55282,7 @@
 
   <p>Each <a href=#application-cache-group>application cache group</a> has a <dfn id=concept-appcache-pending-masters title=concept-appcache-pending-masters>list of pending master
   entries</dfn>. Each entry in this list consists of a resource and a
-  corresponding <code>Document</code> object. It is used during the
+  corresponding <code><a href=#document>Document</a></code> object. It is used during the
   <a href=#application-cache-download-process>application cache download process</a> to ensure that new
   master entries are cached even if the <a href=#application-cache-download-process>application cache
   download process</a> was already running for their
@@ -55282,7 +55292,7 @@
   must be ignored when looking at what <a href=#application-cache-group title="application cache
   group">application cache groups</a> exist.</p>
 
-  <hr><p>A <dfn id=cache-host>cache host</dfn> is a <code>Document</code> or a
+  <hr><p>A <dfn id=cache-host>cache host</dfn> is a <code><a href=#document>Document</a></code> or a
   <code>SharedWorkerGlobalScope</code> object. A <a href=#cache-host>cache
   host</a> can be associated with an <a href=#application-cache>application
   cache</a>.
@@ -55291,7 +55301,7 @@
   
   </p>
 
-  <p>A <code>Document</code> initially is not associated with an
+  <p>A <code><a href=#document>Document</a></code> initially is not associated with an
   <a href=#application-cache>application cache</a>, but can become associated with one
   early during the page load process, when steps <a href=#parser-appcache>in the parser</a> and in the <a href=#navigate title=navigate>navigation</a> sections cause <a href=#concept-appcache-init title=concept-appcache-init>cache selection</a> to occur.</p>
 
@@ -55939,7 +55949,7 @@
      <a href=#application-cache-group>application cache group</a> identified by <var title="">manifest URL</var>.</li>
 
      <li><p>If these steps were invoked with a <a href=#concept-appcache-master title=concept-appcache-master>master</a> resource, then add
-     the resource, along with the resource's <code>Document</code>, to
+     the resource, along with the resource's <code><a href=#document>Document</a></code>, to
      <var title="">cache group</var>'s <a href=#concept-appcache-pending-masters title=concept-appcache-pending-masters>list of pending master
      entries</a>.</li>
 
@@ -56027,7 +56037,7 @@
     equivalent</a>, then run these substeps:</p>
 
     <ol><li><p>Mark <var title="">cache group</var> as <a href=#concept-appcache-obsolete title=concept-appcache-obsolete>obsolete</a>. This <var title="">cache group</var> no longer exists for any purpose other
-     than the processing of <code>Document</code> objects already
+     than the processing of <code><a href=#document>Document</a></code> objects already
      associated with an <a href=#application-cache>application cache</a> in the <var title="">cache group</var>.</li>
 
      <li><p>Let <var title="">task list</var> be an empty list of
@@ -56049,7 +56059,7 @@
      to <a href=#fire-a-simple-event>fire a simple event</a> that is cancelable named
      <code title=event-appcache-error><a href=#event-appcache-error>error</a></code> (not <code title=event-appcache-obsolete><a href=#event-appcache-obsolete>obsolete</a></code>!) at the
      <code><a href=#applicationcache>ApplicationCache</a></code> singleton of the <a href=#cache-host>cache
-     host</a> the <code>Document</code> for this entry, if there
+     host</a> the <code><a href=#document>Document</a></code> for this entry, if there
      still is one, and add it to <var title="">task list</var>. The
      default action of this event must be, if the user agent
      <a href=#shows-caching-progress>shows caching progress</a>, the display of some sort of
@@ -56112,14 +56122,14 @@
       user cancels the download), then create a <a href=#concept-task title=concept-task>task</a> to <a href=#fire-a-simple-event>fire a simple
       event</a> that is cancelable named <code title=event-appcache-error><a href=#event-appcache-error>error</a></code> at the
       <code><a href=#applicationcache>ApplicationCache</a></code> singleton of the <a href=#cache-host>cache
-      host</a> the <code>Document</code> for this entry, if there
+      host</a> the <code><a href=#document>Document</a></code> for this entry, if there
       still is one, and add it to <var title="">task list</var>. The
       default action of this event must be, if the user agent
       <a href=#shows-caching-progress>shows caching progress</a>, the display of some sort of
       user interface indicating to the user that the user agent failed
       to save the application for offline use.</p>
 
-      <p>Otherwise, associate the <code>Document</code> for this entry
+      <p>Otherwise, associate the <code><a href=#document>Document</a></code> for this entry
       with <var title="">cache</var>; store the resource for this
       entry in <var title="">cache</var>, if it isn't already there,
       and categorize its entry as a <a href=#concept-appcache-master title=concept-appcache-master>master entry</a>. If the
@@ -56166,7 +56176,7 @@
    <i>incomplete</i>.</li>
 
    <li><p>For each entry in <var title="">cache group</var>'s <a href=#concept-appcache-pending-masters title=concept-appcache-pending-masters>list of pending master
-   entries</a>, associate the <code>Document</code> for this entry
+   entries</a>, associate the <code><a href=#document>Document</a></code> for this entry
    with <var title="">new cache</var>.</li>
 
    <li><p>Set the <a href=#concept-appcache-status title=concept-appcache-status>status</a>
@@ -56384,13 +56394,13 @@
     <p>If the download failed (e.g. the connection times out, or the
     user cancels the download), then run these substeps:</p>
 
-    <ol><li><p>Unassociate the <code>Document</code> for this entry from
+    <ol><li><p>Unassociate the <code><a href=#document>Document</a></code> for this entry from
      <var title="">new cache</var>.</li>
 
      <li><p><a href=#queue-a-post-load-task>Queue a post-load task</a> to <a href=#fire-a-simple-event>fire a simple
      event</a> that is cancelable named <code title=event-appcache-error><a href=#event-appcache-error>error</a></code> at the
      <code><a href=#applicationcache>ApplicationCache</a></code> singleton of the
-     <code>Document</code> for this entry, if there still is one. The
+     <code><a href=#document>Document</a></code> for this entry, if there still is one. The
      default action of this event must be, if the user agent
      <a href=#shows-caching-progress>shows caching progress</a>, the display of some sort of
      user interface indicating to the user that the user agent failed
@@ -56505,13 +56515,13 @@
     <ol><li><p>Wait for the resource for this entry to have either
      completely downloaded or failed.</p>
 
-     <li><p>Unassociate the <code>Document</code> for this entry from
+     <li><p>Unassociate the <code><a href=#document>Document</a></code> for this entry from
      its <a href=#application-cache>application cache</a>, if it has one.</li>
 
      <li><p>Create a <a href=#concept-task title=concept-task>task</a> to
      <a href=#fire-a-simple-event>fire a simple event</a> that is cancelable named <code title=event-appcache-error><a href=#event-appcache-error>error</a></code> at the
      <code><a href=#applicationcache>ApplicationCache</a></code> singleton of the
-     <code>Document</code> for this entry, if there still is one, and
+     <code><a href=#document>Document</a></code> for this entry, if there still is one, and
      add it to <var title="">task list</var>. The default action of
      these events must be, if the user agent <a href=#shows-caching-progress>shows caching
      progress</a>, the display of some sort of user interface
@@ -56566,17 +56576,17 @@
   allows user agents to keep caches primed and to update caches even
   before the user visits a site.</p>
 
-  <hr><p>Each <code>Document</code> has a list of <dfn id=pending-application-cache-download-process-tasks>pending application
+  <hr><p>Each <code><a href=#document>Document</a></code> has a list of <dfn id=pending-application-cache-download-process-tasks>pending application
   cache download process tasks</dfn> that is used to delay events
   fired by the algorithm above until the document's <code title=event-load>load</code> event has fired. When the
-  <code>Document</code> is created, the list must be empty.</p>
+  <code><a href=#document>Document</a></code> is created, the list must be empty.</p>
 
   <p>When the steps above say to <dfn id=queue-a-post-load-task>queue a post-load task</dfn>
   <var title="">task</var>, where <var title="">task</var> is a <a href=#concept-task title=concept-task>task</a> that dispatches an event on a
   target <code><a href=#applicationcache>ApplicationCache</a></code> object <var title="">target</var>, the user agent must run the appropriate steps
   from the following list:</p>
 
-  <dl><dt>If <var title="">target</var>'s <code>Document</code> has
+  <dl><dt>If <var title="">target</var>'s <code><a href=#document>Document</a></code> has
    <a href=#completely-loaded>completely loaded</a></dt>
 
    <dd><p><a href=#queue-a-task title="queue a task">Queue</a> the task <var title="">task</var>.</dd>
@@ -56584,7 +56594,7 @@
    <dt>Otherwise</dt>
 
    <dd><p>Add <var title="">task</var> to <var title="">target</var>'s
-   <code>Document</code>'s list of <a href=#pending-application-cache-download-process-tasks>pending application cache
+   <code><a href=#document>Document</a></code>'s list of <a href=#pending-application-cache-download-process-tasks>pending application cache
    download process tasks</a>.</dd>
 
   </dl><p>The <a href=#task-source>task source</a> for these <a href=#concept-task title=concept-task>tasks</a> is the <a href=#networking-task-source>networking task
@@ -56597,7 +56607,7 @@
 
   <p>When the <dfn id=concept-appcache-init title=concept-appcache-init>application cache
   selection algorithm</dfn> algorithm is invoked with a
-  <code>Document</code> <var title="">document</var> and optionally a
+  <code><a href=#document>Document</a></code> <var title="">document</var> and optionally a
   manifest <a href=#url>URL</a> <var title="">manifest URL</var>, the user
   agent must run the first applicable set of steps from the following
   list:</p>
@@ -56671,7 +56681,7 @@
 
    <dd>
 
-    <p>The <code>Document</code> is not associated with any
+    <p>The <code><a href=#document>Document</a></code> is not associated with any
     <a href=#application-cache>application cache</a>.</p>
 
     <p>If there was a <var title="">manifest URL</var>, the user agent
@@ -56795,7 +56805,7 @@
            attribute <a href=#function>Function</a> <a href=#handler-appcache-oncached title=handler-appcache-oncached>oncached</a>;
            attribute <a href=#function>Function</a> <a href=#handler-appcache-onobsolete title=handler-appcache-onobsolete>onobsolete</a>;
 };
-<a href=#applicationcache>ApplicationCache</a> implements <span>EventTarget</span>;</pre>
+<a href=#applicationcache>ApplicationCache</a> implements <a href=#eventtarget>EventTarget</a>;</pre>
 
   <dl class=domintro><dt><var title="">cache</var> = <var title="">window</var> . <code title=dom-applicationCache><a href=#dom-applicationcache>applicationCache</a></code></dt>
    <dd>
@@ -57083,8 +57093,8 @@
   false (i.e. when scripting is not <a href=#concept-bc-script title=concept-bc-script>enabled</a>).</p>
 
   <hr><p><dfn id=concept-n-script title=concept-n-script>Scripting is enabled</dfn> for a
-  <em>node</em> if the <code>Document</code> object of the node (the
-  node itself, if it is itself a <code>Document</code> object) has an
+  <em>node</em> if the <code><a href=#document>Document</a></code> object of the node (the
+  node itself, if it is itself a <code><a href=#document>Document</a></code> object) has an
   associated <a href=#browsing-context>browsing context</a>, and <a href=#concept-bc-script title=concept-bc-script>scripting is enabled</a> in that
   <a href=#browsing-context>browsing context</a>.</p>
 
@@ -57224,7 +57234,7 @@
   following steps:</p>
 
   <ol><li><p>If the <a href="#script's-global-object">script's global object</a> is a
-   <code><a href=#window>Window</a></code> object whose <code>Document</code> object is
+   <code><a href=#window>Window</a></code> object whose <code><a href=#document>Document</a></code> object is
    not <a href=#fully-active>fully active</a>, then abort these steps without doing
    anything. The callback is not fired.</p>
 
@@ -57295,8 +57305,8 @@
   <p><dfn id=the-script-settings-determined-from-the-node>The script settings determined from the node</dfn> <var title="">node</var> are computed as follows:</p>
 
   <ol><li><p>Let <var title="">document</var> be the
-   <code>Document</code> of <var title="">node</var> (or <var title="">node</var> itself if it is a
-   <code>Document</code>).</li>
+   <code><a href=#document>Document</a></code> of <var title="">node</var> (or <var title="">node</var> itself if it is a
+   <code><a href=#document>Document</a></code>).</li>
 
    <li><p>The browsing context is the <a href=#browsing-context>browsing context</a> of
    <var title="">document</var>.</p>
@@ -57382,8 +57392,8 @@
 
    <dd>
 
-    <p>Asynchronously dispatching an <code>Event</code> object at a
-    particular <code>EventTarget</code> object is a task.</p>
+    <p>Asynchronously dispatching an <code><a href=#event>Event</a></code> object at a
+    particular <code><a href=#eventtarget>EventTarget</a></code> object is a task.</p>
 
     <p class=note>Not all events are dispatched using the <a href=#task-queue>task
     queue</a>, many are dispatched synchronously during other
@@ -57437,9 +57447,9 @@
 
   <p>Each <a href=#concept-task title=concept-task>task</a> that is <a href=#queue-a-task title="queue a task">queued</a> onto a <a href=#task-queue>task queue</a> of
   an <a href=#event-loop>event loop</a> defined by this specification is
-  associated with a <code>Document</code>; if the task was queued in
+  associated with a <code><a href=#document>Document</a></code>; if the task was queued in
   the context of an element, then it is the element's
-  <code>Document</code>; if the task was queued in the context of a
+  <code><a href=#document>Document</a></code>; if the task was queued in the context of a
   <a href=#browsing-context>browsing context</a>, then it is the <a href=#browsing-context>browsing
   context</a>'s <a href=#active-document>active document</a> at the time the task
   was queued; if the task was queued by or for a <a href=#concept-script title=concept-script>script</a> then the document is the
@@ -57466,7 +57476,7 @@
   <ol><li><p>Run the oldest <a href=#concept-task title=concept-task>task</a> on one
    of the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task queue">task
    queues</a>, ignoring tasks whose associated
-   <code>Document</code>s are not <a href=#fully-active>fully active</a>. The user
+   <code><a href=#document>Document</a></code>s are not <a href=#fully-active>fully active</a>. The user
    agent may pick any <a href=#task-queue>task queue</a>.</li>
 
    <li><p>If the <a href=#storage-mutex>storage mutex</a> is now owned by the
@@ -57487,7 +57497,7 @@
    ⌛.</li>
 
    <li><p>If necessary, update the rendering or user interface of any
-   <code>Document</code> or <a href=#browsing-context>browsing context</a> to reflect
+   <code><a href=#document>Document</a></code> or <a href=#browsing-context>browsing context</a> to reflect
    the current state.</li>
 
    <li><p>Return to the first step of the <a href=#event-loop>event
@@ -57640,7 +57650,7 @@
       <code>Document</code></a> instead.</p>
 
       <p><a href=#create-a-script-from-a-node title="create a script from a node">Create a
-      script</a> from the <code>Document</code> node of the
+      script</a> from the <code><a href=#document>Document</a></code> node of the
       <a href=#active-document>active document</a>, using the aforementioned script
       source, and assuming the scripting language is JavaScript.</p>
 
@@ -57656,7 +57666,7 @@
 
      </dd>
 
-     <dt>If the <code>Document</code> object of the element,
+     <dt>If the <code><a href=#document>Document</a></code> object of the element,
      attribute, or style sheet from which the <code>javascript:</code>
      URL was reached has an associated <a href=#browsing-context>browsing
      context</a></dt>
@@ -57665,7 +57675,7 @@
 
       <p><a href=#create-an-impotent-script>Create an impotent script</a> using the
       aforementioned script source, with the scripting language set to
-      JavaScript, and with the <code>Document</code>'s object's
+      JavaScript, and with the <code><a href=#document>Document</a></code>'s object's
       <a href=#browsing-context>browsing context</a> as the browsing context.</p>
 
       <p>Let <var title="">result</var> be the return value of the
@@ -57786,7 +57796,7 @@
   <!-- SCRIPT EXEC -->
   <p>When an <a href=#event-handler-content-attributes title="event handler content attributes">event
   handler content attribute</a> is set, if the element is owned by
-  a <code>Document</code> that is in a <a href=#browsing-context>browsing context</a>,
+  a <code><a href=#document>Document</a></code> that is in a <a href=#browsing-context>browsing context</a>,
   and <a href=#concept-bc-script title=concept-bc-script>scripting is enabled</a> for
   that <a href=#browsing-context>browsing context</a>, the user agent must run the
   following steps to create a <a href=#concept-script title=concept-script>script</a> after setting the content
@@ -57826,7 +57836,7 @@
      <dd>
 
       <ol><li>Let <var title="">Scope</var> be the result of
-       NewObjectEnvironment(the element's <code>Document</code>, the
+       NewObjectEnvironment(the element's <code><a href=#document>Document</a></code>, the
        <var title="">global environment</var>).</li>
 
        <li>If the element has a <a href=#form-owner>form owner</a>, let <var title="">Scope</var> be the result of NewObjectEnvironment(the
@@ -57875,7 +57885,7 @@
 
   <p class=note>When an <a href=#event-handler-content-attributes title="event handler content
   attributes">event handler content attribute</a> is set on an
-  element owned by a <code>Document</code> that is not in a
+  element owned by a <code><a href=#document>Document</a></code> that is not in a
   <a href=#browsing-context>browsing context</a>, the corresponding event handler is
   not changed.</p>
 
@@ -57887,7 +57897,7 @@
   or some other object, and whether set to null or to a
   <code><a href=#function>Function</a></code> object, must be registered as event listeners
   on the object when it is created, as if the <code title=dom-EventTarget-addEventListener>addEventListener()</code>
-  method on the object's <code>EventTarget</code> interface had been
+  method on the object's <code><a href=#eventtarget>EventTarget</a></code> interface had been
   invoked, with the event type (<var title=dom-event-type>type</var>
   argument) equal to the type corresponding to the event handler (the
   <dfn id=event-handler-event-type>event handler event type</dfn>), the listener set to be a
@@ -57915,7 +57925,7 @@
 
   <p>When an <a href=#event-handlers title="event handlers">event handler</a>'s
   <code><a href=#function>Function</a></code> object is invoked, its <code title=dom-function-call><a href=#dom-function-call>call()</a></code> callback must be invoked
-  with one argument, set to the <code>Event</code> object of the event
+  with one argument, set to the <code><a href=#event>Event</a></code> object of the event
   in question.</p>
 
   <p>The handler's return value must then be processed as follows:</p>
@@ -57982,13 +57992,13 @@
 
   <div class=impl>
 
-  <h5 id=event-handlers-on-elements,-document-objects,-and-window-objects><span class=secno>7.1.6.2 </span>Event handlers on elements, <code>Document</code> objects, and <code><a href=#window>Window</a></code> objects</h5>
+  <h5 id=event-handlers-on-elements,-document-objects,-and-window-objects><span class=secno>7.1.6.2 </span>Event handlers on elements, <code><a href=#document>Document</a></code> objects, and <code><a href=#window>Window</a></code> objects</h5>
 
   <p>The following are the <a href=#event-handlers>event handlers</a> (and their
   corresponding <a href=#event-handler-event-type title="event handler event type">event handler
   event types</a>) that must be supported by all <a href=#html-elements>HTML
   elements</a>, as both content attributes and IDL attributes, and
-  on <code>Document</code> and <code><a href=#window>Window</a></code> objects, as IDL
+  on <code><a href=#document>Document</a></code> and <code><a href=#window>Window</a></code> objects, as IDL
   attributes.</p>
 
   <table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
@@ -58053,7 +58063,7 @@
   corresponding <a href=#event-handler-event-type title="event handler event type">event handler
   event types</a>) that must be supported by all <a href=#html-elements>HTML
   elements</a> other than <code><a href=#the-body-element-0>body</a></code>, as both content
-  attributes and IDL attributes, and on <code>Document</code> objects,
+  attributes and IDL attributes, and on <code><a href=#document>Document</a></code> objects,
   as IDL attributes:</p>
 
   <table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
@@ -58117,7 +58127,7 @@
 
   <p><dfn id=fire-a-simple-event title="fire a simple event">Firing a simple event named <var title="">e</var></dfn> means that an event with the name <var title="">e</var>, which does not bubble (except where otherwise
   stated) and is not cancelable (except where otherwise stated), and
-  which uses the <code>Event</code> interface, must be dispatched at
+  which uses the <code><a href=#event>Event</a></code> interface, must be dispatched at
   the given target.</p>
 
 <!--
@@ -58163,7 +58173,7 @@
   <h5 id=events-and-the-window-object><span class=secno>7.1.6.4 </span>Events and the <code><a href=#window>Window</a></code> object</h5>
 
   <p>When an event is dispatched at a DOM node in a
-  <code>Document</code> in a <a href=#browsing-context>browsing context</a>, if the
+  <code><a href=#document>Document</a></code> in a <a href=#browsing-context>browsing context</a>, if the
   event is not a <code title=event-load>load</code> event, the user
   agent must also dispatch the event to the <code><a href=#window>Window</a></code>, as
   follows:</p>
@@ -58171,12 +58181,12 @@
   <ol><li>In the capture phase, the event must propagate to the
    <code><a href=#window>Window</a></code> object before propagating to any of the nodes,
    as if the <code><a href=#window>Window</a></code> object was the parent of the
-   <code>Document</code> in the dispatch chain.</li>
+   <code><a href=#document>Document</a></code> in the dispatch chain.</li>
 
    <li>In the bubble phase, the event must propagate up to the
    <code><a href=#window>Window</a></code> object at the end of the phase, unless bubbling
    has been prevented, again as if the <code><a href=#window>Window</a></code> object was
-   the parent of the <code>Document</code> in the dispatch chain.</li>
+   the parent of the <code><a href=#document>Document</a></code> in the dispatch chain.</li>
 
   </ol></div>
 
@@ -58189,7 +58199,7 @@
   scripting in general and JavaScript in particular.</i></p>
 
   <p>Whenever an uncaught runtime script error occurs in one of the
-  scripts associated with a <code>Document</code>, the user agent must
+  scripts associated with a <code><a href=#document>Document</a></code>, the user agent must
   <a href=#report-the-error>report the error</a> using the <code title=handler-window-onerror><a href=#handler-window-onerror>onerror</a></code> <a href=#event-handlers title="event
   handlers">event handler</a> of the <a href="#script's-global-object">script's global
   object</a>. If the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i> after this, then
@@ -58340,7 +58350,7 @@
    <li>
 
     <p>If the <a href=#method-context>method context</a> is a <code><a href=#window>Window</a></code>
-    object, wait until the <code>Document</code> associated with the
+    object, wait until the <code><a href=#document>Document</a></code> associated with the
     <a href=#method-context>method context</a> has been <a href=#fully-active>fully active</a> for
     a further <var title="">timeout</var> milliseconds (not
     necessarily consecutively).</p>
@@ -58397,7 +58407,7 @@
    <li>
 
     <p><i title="">Wait</i>: If the <a href=#method-context>method context</a> is a
-    <code><a href=#window>Window</a></code> object, wait until the <code>Document</code>
+    <code><a href=#window>Window</a></code> object, wait until the <code><a href=#document>Document</a></code>
     associated with the <a href=#method-context>method context</a> has been <a href=#fully-active>fully
     active</a> for a further <var title="">interval</var>
     milliseconds (not necessarily consecutively).</p>
@@ -58461,10 +58471,10 @@
     <a href=#browsing-context>browsing context</a> with which <var title="">global
     object</var> is associated, let <var title="">character
     encoding</var> be the <a href="#document's-character-encoding" title="document's character
-    encoding">character encoding</a> of the <code>Document</code>
+    encoding">character encoding</a> of the <code><a href=#document>Document</a></code>
     associated with <var title="">global object</var> (<a href=#sce-not-copy>this is a reference, not a copy</a>), and let
     <var title="">base URL</var> be the <a href=#document-base-url title="document base
-    URL">base URL</a> of the <code>Document</code> associated with
+    URL">base URL</a> of the <code><a href=#document>Document</a></code> associated with
     <var title="">global object</var> (<a href=#sbu-not-copy>this is
     a reference, not a copy</a>).</p>
 
@@ -58637,7 +58647,7 @@
 
     <p>The user agent must <a href=#fire-a-simple-event>fire a simple event</a> named
     <code title=event-beforeprint>beforeprint</code> at the
-    <code><a href=#window>Window</a></code> object of the <code>Document</code> that is
+    <code><a href=#window>Window</a></code> object of the <code><a href=#document>Document</a></code> that is
     being printed, as well as any <a href=#nested-browsing-context title="nested browsing
     context">nested browsing contexts</a> in it.</p>
 
@@ -58671,7 +58681,7 @@
 
     <p>The user agent must <a href=#fire-a-simple-event>fire a simple event</a> named
     <code title=event-afterprint>afterprint</code> at the
-    <code><a href=#window>Window</a></code> object of the <code>Document</code> that is
+    <code><a href=#window>Window</a></code> object of the <code><a href=#document>Document</a></code> that is
     being printed, as well as any <a href=#nested-browsing-context title="nested browsing
     context">nested browsing contexts</a> in it.</p>
 
@@ -58782,7 +58792,7 @@
     called. The new auxiliary browsing context has no name.</p>
 
     <p class=note>This <a href=#browsing-context>browsing context</a>'s
-    <code>Document</code>s' <code><a href=#window>Window</a></code> objects all implement
+    <code><a href=#document>Document</a></code>s' <code><a href=#window>Window</a></code> objects all implement
     the <code><a href=#windowmodal>WindowModal</a></code> interface.</p>
 
    </li>
@@ -58835,7 +58845,7 @@
 
    </li>
 
-  </ol><p>The <code><a href=#window>Window</a></code> objects of <code>Document</code>s hosted
+  </ol><p>The <code><a href=#window>Window</a></code> objects of <code><a href=#document>Document</a></code>s hosted
   by <a href=#browsing-context title="browsing context">browsing contexts</a> created
   by the above algorithm must all have the <code><a href=#windowmodal>WindowModal</a></code>
   interface added to their <code><a href=#window>Window</a></code> interface:</p>
@@ -59582,7 +59592,7 @@
   document must be targeted at <a href=#the-body-element>the body element</a>.</p>
 
   <p>User agents may track focus for each <a href=#browsing-context>browsing
-  context</a> or <code>Document</code> individually, or may support
+  context</a> or <code><a href=#document>Document</a></code> individually, or may support
   only one focused element per <a href=#top-level-browsing-context>top-level browsing context</a>
   — user agents should follow platform conventions in this
   regard.</p>
@@ -59801,7 +59811,7 @@
   steps</a> for the affected element only.</p>
 
   <p class=example>For example, this might happen because the
-  element is removed from its <code>Document</code>, or has a <code title=attr-hidden><a href=#the-hidden-attribute>hidden</a></code> attribute added. It would also
+  element is removed from its <code><a href=#document>Document</a></code>, or has a <code title=attr-hidden><a href=#the-hidden-attribute>hidden</a></code> attribute added. It would also
   happen to an <code><a href=#the-input-element>input</a></code> element when the element gets <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a>.</p>
 
   </div>
@@ -59846,7 +59856,7 @@
   <p>The <dfn id=dom-document-activeelement title=dom-document-activeElement><code>activeElement</code></dfn>
   attribute on <code><a href=#htmldocument>HTMLDocument</a></code> objects must return the
   element in the document that is focused. If no element in the
-  <code>Document</code> is focused, this must return <a href=#the-body-element>the body
+  <code><a href=#document>Document</a></code> is focused, this must return <a href=#the-body-element>the body
   element</a>.</p>
 
   <p>The <dfn id=dom-document-hasfocus title=dom-document-hasFocus><code>hasFocus()</code></dfn> method
@@ -60004,7 +60014,7 @@
   </ol><p>Once a user agent has selected and assigned an access key for an
   element, the user agent should not change the element's
   <a href=#assigned-access-key>assigned access key</a> unless the <code title=attr-accesskey><a href=#the-accesskey-attribute>accesskey</a></code> content attribute is changed
-  or the element is moved to another <code>Document</code>.</p>
+  or the element is moved to another <code><a href=#document>Document</a></code>.</p>
 
   <p>When the user presses the key combination corresponding to the
   <a href=#assigned-access-key>assigned access key</a> for an element, if the element
@@ -60409,7 +60419,7 @@
 
   <p>The <dfn id=dom-selection-collapse title=dom-selection-collapse><code>collapse(<var title="">parentNode</var>, <var title="">offset</var>)</code></dfn>
   method must raise a <code><a href=#wrong_document_err>WRONG_DOCUMENT_ERR</a></code> DOM exception if
-  <var title="">parentNode</var>'s <code>Document</code> is not the
+  <var title="">parentNode</var>'s <code><a href=#document>Document</a></code> is not the
   <code><a href=#htmldocument>HTMLDocument</a></code> object with which the
   <code><a href=#selection-0>Selection</a></code> object is associated. Otherwise it is, and
   the method must remove all the ranges in the <code><a href=#selection-0>Selection</a></code>
@@ -60637,7 +60647,7 @@
   elements">HTML element</a> with the <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
   a state other than the inherit state has its attribute set to the
   true state, or if it and its ancestors all have their <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
-  the inherit state but the <code>Document</code> has <code title=dom-document-designMode><a href=#designMode>designMode</a></code> enabled, then the
+  the inherit state but the <code><a href=#document>Document</a></code> has <code title=dom-document-designMode><a href=#designMode>designMode</a></code> enabled, then the
   UA must treat the element as <dfn id=editable>editable</dfn> (as described
   below).</p>
 
@@ -60648,7 +60658,7 @@
   elements">HTML element</a> with the <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
   a state other than the inherit state has its attribute set to the
   false state, or all its ancestors have their <code title=attr-contenteditable><a href=#attr-contenteditable>contenteditable</a></code> attribute set to
-  the inherit state and the <code>Document</code> itself has <code title=dom-document-designMode><a href=#designMode>designMode</a></code> disabled; either
+  the inherit state and the <code><a href=#document>Document</a></code> itself has <code title=dom-document-designMode><a href=#designMode>designMode</a></code> disabled; either
   way, the element is not editable.</p>
 
   </div>
@@ -60898,7 +60908,7 @@
 
   <p>User agents may add <a href=#dom-changes>DOM changes</a> entries to the
   <a href=#undo-transaction-history>undo transaction history</a> of the <a href=#editing-host>editing
-  host</a>'s <code>Document</code> object each time an action is
+  host</a>'s <code><a href=#document>Document</a></code> object each time an action is
   triggered.</p>
 
   <p>All of the actions defined above, whether triggered by the user
@@ -60932,7 +60942,7 @@
   </dl><div class=impl>
 
   <p>The <code title=dom-document-designMode><a href=#designMode>designMode</a></code> IDL
-  attribute on the <code>Document</code> object takes two values,
+  attribute on the <code><a href=#document>Document</a></code> object takes two values,
   "<code title="">on</code>" and "<code title="">off</code>". When it
   is set, the new value must be compared in an <a href=#ascii-case-insensitive>ASCII
   case-insensitive</a> manner to these two values. If it matches
@@ -61578,7 +61588,7 @@
 
   <p>The <dfn id=dom-datatransfer-setdragimage title=dom-DataTransfer-setDragImage><code>setDragImage(<var title="">element</var>, <var title="">x</var>, <var title="">y</var>)</code></dfn> method sets which element to use <a href=#base-dnd-feedback>to generate the drag feedback</a>. The
   <var title="">element</var> argument can be any
-  <code>Element</code>; if it is an <code><a href=#the-img-element>img</a></code> element, then the
+  <code><a href=#element>Element</a></code>; if it is an <code><a href=#the-img-element>img</a></code> element, then the
   user agent should use the element's image (at its intrinsic size) to
   generate the feedback, otherwise the user agent should base the
   feedback on the given element (but the exact mechanism for doing so
@@ -62039,7 +62049,7 @@
          regardless of whether that event was canceled or not. (If
          <a href=#the-body-element>the body element</a> is null, then the <a href=#current-target-element>current
          target element</a> would be set to null too in this case,
-         it wouldn't be set to the <code>Document</code>
+         it wouldn't be set to the <code><a href=#document>Document</a></code>
          object.)</dd>
 
         </dl></dd>
@@ -62251,7 +62261,7 @@
   document</h5>
 
   <p>The model described above is independent of which
-  <code>Document</code> object the nodes involved are from; the events
+  <code><a href=#document>Document</a></code> object the nodes involved are from; the events
   must be fired as described above and the rest of the processing
   model must be followed as described above, irrespective of how many
   documents are involved in the operation.</p>
@@ -62481,7 +62491,7 @@
   history</a> consists of batches of one or more of the
   following:</p>
 
-  <ul><li>Changes to the content attributes of an <code>Element</code>
+  <ul><li>Changes to the content attributes of an <code><a href=#element>Element</a></code>
    node.</li>
 
    <li>Changes to the DOM hierarchy of nodes that are descendants of
@@ -63054,7 +63064,7 @@
      deleted</a>.</li>
      <li><p>Invoke the <a href=#html-fragment-parsing-algorithm>HTML fragment parsing algorithm</a>
      with an arbitrary orphan <code><a href=#the-body-element-0>body</a></code> element owned by the
-     same <code>Document</code> as the <i><a href=#context>context</a></i> element and with
+     same <code><a href=#document>Document</a></code> as the <i><a href=#context>context</a></i> element and with
      the <var title="">value</var> argument as <i><a href=#the-input-element>input</a></i>.</li>
      <li><p>Insert the nodes returned by the previous step into the
      document at the location of the caret, firing any mutation events
@@ -63540,14 +63550,14 @@
 
     <p>If the <var title="">targetOrigin</var> argument is a single
     literal U+002F SOLIDUS character (/), and the
-    <code>Document</code> of the <code><a href=#window>Window</a></code> object on which
+    <code><a href=#document>Document</a></code> of the <code><a href=#window>Window</a></code> object on which
     the method was invoked does not have the <a href=#same-origin>same origin</a>
     as the <a href=#entry-script>entry script</a>'s <a href="#script's-browsing-context" title="script's browsing
     context">browsing context</a>, then abort these steps
     silently.</p>
 
     <p>Otherwise, if the <var title="">targetOrigin</var> argument is
-    an <a href=#absolute-url>absolute URL</a>, and the <code>Document</code> of the
+    an <a href=#absolute-url>absolute URL</a>, and the <code><a href=#document>Document</a></code> of the
     <code><a href=#window>Window</a></code> object on which the method was invoked does
     not have the <a href=#same-origin>same origin</a> as <var title="">targetOrigin</var>, then abort these steps silently.</p>
 
@@ -63657,14 +63667,14 @@
 
     <p>If the <var title="">targetOrigin</var> argument is a single
     literal U+002F SOLIDUS character (/), and the
-    <code>Document</code> of the <code><a href=#window>Window</a></code> object on which
+    <code><a href=#document>Document</a></code> of the <code><a href=#window>Window</a></code> object on which
     the method was invoked does not have the <a href=#same-origin>same origin</a>
     as the <a href=#entry-script>entry script</a>'s <a href="#script's-browsing-context" title="script's browsing
     context">browsing context</a>, then abort these steps
     silently.</p>
 
     <p>Otherwise, if the <var title="">targetOrigin</var> argument is
-    an <a href=#absolute-url>absolute URL</a>, and the <code>Document</code> of the
+    an <a href=#absolute-url>absolute URL</a>, and the <code><a href=#document>Document</a></code> of the
     <code><a href=#window>Window</a></code> object on which the method was invoked does
     not have the <a href=#same-origin>same origin</a> as <var title="">targetOrigin</var>, then abort these steps silently.</p>
 
@@ -63843,7 +63853,7 @@
   // event handlers
            attribute <a href=#function>Function</a> <a href=#handler-messageport-onmessage title=handler-MessagePort-onmessage>onmessage</a>;
 };
-<a href=#messageport>MessagePort</a> implements <span>EventTarget</span>;</pre>
+<a href=#messageport>MessagePort</a> implements <a href=#eventtarget>EventTarget</a>;</pre>
 
   <dl class=domintro><!-- v2-onclose
    <dt><var title="">port</var> . <code title="dom-MessagePort-active">active</code></dt>
@@ -64087,7 +64097,7 @@
   <a href=#event-loop>event loop</a> must use it as one of its <a href=#task-source title="task
   source">task sources</a>.</p>
 
-  <p class=note>If the <code>Document</code> of the port's event
+  <p class=note>If the <code><a href=#document>Document</a></code> of the port's event
   listeners' <a href="#script's-global-object" title="script's global object">global object</a>
   is not <a href=#fully-active>fully active</a>, then the messages are lost.</p>
   <!-- because of the jump-to-entry-point algorithm first step -->
@@ -65071,12 +65081,12 @@
   <p>The input to the HTML parsing process consists of a stream of
   Unicode characters, which is passed through a
   <a href=#tokenization>tokenization</a> stage followed by a <a href=#tree-construction>tree
-  construction</a> stage. The output is a <code>Document</code>
+  construction</a> stage. The output is a <code><a href=#document>Document</a></code>
   object.</p>
 
   <p class=note>Implementations that <a href=#non-scripted>do not
   support scripting</a> do not have to actually create a DOM
-  <code>Document</code> object, but the DOM tree in such cases is
+  <code><a href=#document>Document</a></code> object, but the DOM tree in such cases is
   still used as the model for the rest of the specification.</p>
 
   <p>In the common case, the data handled by the tokenization stage
@@ -66147,7 +66157,7 @@
    <li><code><a href=#the-table-element>table</a></code> in the HTML namespace</li>
   </ul><p>Nothing happens if at any time any of the elements in the
   <a href=#stack-of-open-elements>stack of open elements</a> are moved to a new location in,
-  or removed from, the <code>Document</code> tree. In particular, the
+  or removed from, the <code><a href=#document>Document</a></code> tree. In particular, the
   stack is not changed in this situation. This can cause, amongst
   other strange effects, content to be appended to nodes that are no
   longer in the DOM.</p>
@@ -66273,7 +66283,7 @@
   <h5 id=other-parsing-state-flags><span class=secno>10.2.3.5 </span>Other parsing state flags</h5>
 
   <p>The <dfn id=scripting-flag>scripting flag</dfn> is set to "enabled" if <a href=#concept-n-script title=concept-n-script>scripting was enabled</a> for the
-  <code>Document</code> with which the parser is associated when the
+  <code><a href=#document>Document</a></code> with which the parser is associated when the
   parser was created, and "disabled" otherwise.</p>
 
   <p class=note>The <a href=#scripting-flag>scripting flag</a> can be enabled even
@@ -68384,12 +68394,12 @@
 
   <p>The input to the tree construction stage is a sequence of tokens
   from the <a href=#tokenization>tokenization</a> stage. The tree construction
-  stage is associated with a DOM <code>Document</code> object when a
+  stage is associated with a DOM <code><a href=#document>Document</a></code> object when a
   parser is created. The "output" of this stage consists of
   dynamically modifying or extending that document's DOM tree.</p>
 
   <p>This specification does not define when an interactive user agent
-  has to render the <code>Document</code> so that it is available to
+  has to render the <code><a href=#document>Document</a></code> so that it is available to
   the user, or when it has to begin accepting user input.</p>
 
   <p>As each token is emitted from the tokenizer, the user agent must
@@ -68474,7 +68484,7 @@
   <a href=#other-applicable-specifications>other applicable specifications</a>) is
   <code><a href=#htmlunknownelement>HTMLUnknownElement</a></code>. Element in other namespaces whose
   interface is not defined by that namespace's specification must use
-  the interface <code>Element</code>.</p>
+  the interface <code><a href=#element>Element</a></code>.</p>
 
   <p>When a <a href=#category-reset title=category-reset>resettable</a> element is
   created in this manner, its <a href=#concept-form-reset-control title=concept-form-reset-control>reset algorithm</a> must be
@@ -68697,7 +68707,7 @@
 
    <dt>A comment token</dt>
    <dd>
-    <p>Append a <code>Comment</code> node to the <code>Document</code>
+    <p>Append a <code>Comment</code> node to the <code><a href=#document>Document</a></code>
     object with the <code title="">data</code> attribute set to the
     data given in the comment token.</p>
    </dd>
@@ -68753,7 +68763,7 @@
     checker.)</p>
 
     <p>Append a <code>DocumentType</code> node to the
-    <code>Document</code> node, with the <code title="">name</code>
+    <code><a href=#document>Document</a></code> node, with the <code title="">name</code>
     attribute set to the name given in the DOCTYPE token, or the empty
     string if the name was missing; the <code title="">publicId</code>
     attribute set to the public identifier given in the DOCTYPE token,
@@ -68763,13 +68773,13 @@
     system identifier was missing; and the other attributes specific
     to <code>DocumentType</code> objects set to null and empty lists
     as appropriate. Associate the <code>DocumentType</code> node with
-    the <code>Document</code> object so that it is returned as the
+    the <code><a href=#document>Document</a></code> object so that it is returned as the
     value of the <code title="">doctype</code> attribute of the
-    <code>Document</code> object.</p>
+    <code><a href=#document>Document</a></code> object.</p>
 
     <p id=quirks-mode-doctypes>Then, if the DOCTYPE token matches
     one of the conditions in the following list, then set the
-    <code>Document</code> to <a href=#quirks-mode>quirks mode</a>:</p>
+    <code><a href=#document>Document</a></code> to <a href=#quirks-mode>quirks mode</a>:</p>
 
     <ul class=brief><li> The <i>force-quirks flag</i> is set to <i>on</i>. </li>
      <li> The name is set to anything other than "<code title="">html</code>" (compared <a href=#case-sensitive title=case-sensitive>case-sensitively</a>). </li>
@@ -68849,7 +68859,7 @@
      <li> The system identifier is missing and the public identifier starts with: "<code title="">-//W3C//DTD HTML 4.01 Frameset//<!--EN--></code>" </li>
      <li> The system identifier is missing and the public identifier starts with: "<code title="">-//W3C//DTD HTML 4.01 Transitional//<!--EN--></code>" </li>
     </ul><p>Otherwise, if the DOCTYPE token matches one of the conditions
-    in the following list, then set the <code>Document</code> to
+    in the following list, then set the <code><a href=#document>Document</a></code> to
     <a href=#limited-quirks-mode>limited quirks mode</a>:</p>
 
     <ul class=brief><li> The public identifier starts with: "<code title="">-//W3C//DTD XHTML 1.0 Frameset//<!--EN--></code>" </li>
@@ -68872,7 +68882,7 @@
     <p>If the document is <em>not</em> <a href=#an-iframe-srcdoc-document>an <code>iframe</code>
     <code title=attr-iframe-srcdoc>srcdoc</code> document</a>,
     then this is a <a href=#parse-error>parse error</a>; set the
-    <code>Document</code> to <a href=#quirks-mode>quirks mode</a>.</p>
+    <code><a href=#document>Document</a></code> to <a href=#quirks-mode>quirks mode</a>.</p>
 
     <p>In any case, switch the <a href=#insertion-mode>insertion mode</a> to "<a href=#the-before-html-insertion-mode title="insertion mode: before html">before html</a>", then
     reprocess the current token.</p>
@@ -68891,7 +68901,7 @@
 
    <dt>A comment token</dt>
    <dd>
-    <p>Append a <code>Comment</code> node to the <code>Document</code>
+    <p>Append a <code>Comment</code> node to the <code><a href=#document>Document</a></code>
     object with the <code title="">data</code> attribute set to the
     data given in the comment token.</p>
    </dd>
@@ -68907,11 +68917,11 @@
    <dd>
 
     <p><a href=#create-an-element-for-the-token>Create an element for the token</a> in the <a href=#html-namespace-0>HTML
-    namespace</a>. Append it to the <code>Document</code>
+    namespace</a>. Append it to the <code><a href=#document>Document</a></code>
     object. Put this element in the <a href=#stack-of-open-elements>stack of open
     elements</a>.</p>
 
-    <p id=parser-appcache>If the <code>Document</code> is being
+    <p id=parser-appcache>If the <code><a href=#document>Document</a></code> is being
     loaded as part of <a href=#navigate title=navigate>navigation</a> of a
     <a href=#browsing-context>browsing context</a>, then: if the newly created element
     has a <code title=attr-html-manifest><a href=#attr-html-manifest>manifest</a></code> attribute,
@@ -68923,7 +68933,7 @@
     removed; otherwise, if there is no such attribute or resolving it
     fails, run the <a href=#concept-appcache-init title=concept-appcache-init>application
     cache selection algorithm</a> with no manifest. The algorithm
-    must be passed the <code>Document</code> object.</p>
+    must be passed the <code><a href=#document>Document</a></code> object.</p>
 
     <p>Switch the <a href=#insertion-mode>insertion mode</a> to "<a href=#the-before-head-insertion-mode title="insertion mode: before head">before head</a>".</p>
 
@@ -68943,13 +68953,13 @@
    <dd>
 
     <p>Create an <code><a href=#the-html-element-0>html</a></code> element. Append it to the
-    <code>Document</code> object. Put this element in the <a href=#stack-of-open-elements>stack
+    <code><a href=#document>Document</a></code> object. Put this element in the <a href=#stack-of-open-elements>stack
     of open elements</a>.</p>
 
-    <p>If the <code>Document</code> is being loaded as part of <a href=#navigate title=navigate>navigation</a> of a <a href=#browsing-context>browsing
+    <p>If the <code><a href=#document>Document</a></code> is being loaded as part of <a href=#navigate title=navigate>navigation</a> of a <a href=#browsing-context>browsing
     context</a>, then: run the <a href=#concept-appcache-init title=concept-appcache-init>application cache selection
     algorithm</a> with no manifest, passing it the
-    <code>Document</code> object.</p>
+    <code><a href=#document>Document</a></code> object.</p>
 
     <p>Switch the <a href=#insertion-mode>insertion mode</a> to "<a href=#the-before-head-insertion-mode title="insertion mode: before head">before head</a>", then
     reprocess the current token.</p>
@@ -68957,7 +68967,7 @@
    </dd>
 
   </dl><p>The root element can end up being removed from the
-  <code>Document</code> object, e.g. by scripts; nothing in particular
+  <code><a href=#document>Document</a></code> object, e.g. by scripts; nothing in particular
   happens in such cases, content continues being appended to the nodes
   as described in the next section.</p>
 
@@ -70136,7 +70146,7 @@
    <dt>A start tag whose tag name is "table"</dt>
    <dd>
 
-    <p>If the <code>Document</code> is <em>not</em> set to
+    <p>If the <code><a href=#document>Document</a></code> is <em>not</em> set to
     <a href=#quirks-mode>quirks mode</a>, and the <a href=#stack-of-open-elements>stack of open
     elements</a> <a href=#has-an-element-in-scope title="has an element in scope">has a
     <code>p</code> element in scope</a>, then act as if an end tag
@@ -71923,7 +71933,7 @@
 
   <dl class=switch><dt>A comment token</dt>
    <dd>
-    <p>Append a <code>Comment</code> node to the <code>Document</code>
+    <p>Append a <code>Comment</code> node to the <code><a href=#document>Document</a></code>
     object with the <code title="">data</code> attribute set to the
     data given in the comment token.</p>
    </dd>
@@ -71957,7 +71967,7 @@
 
   <dl class=switch><dt>A comment token</dt>
    <dd>
-    <p>Append a <code>Comment</code> node to the <code>Document</code>
+    <p>Append a <code>Comment</code> node to the <code><a href=#document>Document</a></code>
     object with the <code title="">data</code> attribute set to the
     data given in the comment token.</p>
    </dd>
@@ -72034,38 +72044,38 @@
 
    <li><p><a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple
    event</a> named <code title=event-DOMContentLoaded>DOMContentLoaded</code> at the
-   <code>Document</code>.</li>
+   <code><a href=#document>Document</a></code>.</li>
 
    <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until there is nothing that
    <dfn id=delay-the-load-event title="delay the load event">delays the load event</dfn> in
-   the <code>Document</code>.</li>
+   the <code><a href=#document>Document</a></code>.</li>
 
    <li><p><a href=#queue-a-task>Queue a task</a> to set the <a href=#current-document-readiness>current document
    readiness</a> to "complete". <!-- this also fires an event
    synchronously during the task --></li>
 
-   <li><p>If the <code>Document</code> is in a <a href=#browsing-context>browsing
+   <li><p>If the <code><a href=#document>Document</a></code> is in a <a href=#browsing-context>browsing
    context</a>, then <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a
    simple event</a> named <code title=event-load>load</code> at
-   the <code>Document</code>'s <code><a href=#window>Window</a></code> object, but with
+   the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object, but with
    its <code title=dom-event-target>target</code> set to the
-   <code>Document</code> object (and the <code title=dom-event-currentTarget>currentTarget</code> set to the
+   <code><a href=#document>Document</a></code> object (and the <code title=dom-event-currentTarget>currentTarget</code> set to the
    <code><a href=#window>Window</a></code> object).</li>
 
-   <li><p>If the <code>Document</code> is in a <a href=#browsing-context>browsing
+   <li><p>If the <code><a href=#document>Document</a></code> is in a <a href=#browsing-context>browsing
    context</a>, then <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a
    simple event</a> named <code title=event-pageshow>pageshow</code> at the
-   <code>Document</code>'s <code><a href=#window>Window</a></code> object.</li>
+   <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
-   <li><p>If the <code>Document</code> has a <a href=#pending-state-object>pending state
+   <li><p>If the <code><a href=#document>Document</a></code> has a <a href=#pending-state-object>pending state
    object</a>, then <a href=#queue-a-task>queue a task</a> to fire a <code title=event-popstate><a href=#event-popstate>popstate</a></code> event at the
-   <code>Document</code>'s <code><a href=#window>Window</a></code> object using the
+   <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object using the
    <code><a href=#popstateevent>PopStateEvent</a></code> interface, with the <code title=dom-PopStateEvent-state><a href=#dom-popstateevent-state>state</a></code> attribute set to the
    current value of the <a href=#pending-state-object>pending state object</a>. This event
    must bubble but not be cancelable and has no default
    action.</li>
 
-   <li><p>If the <code>Document</code> has any <a href=#pending-application-cache-download-process-tasks>pending
+   <li><p>If the <code><a href=#document>Document</a></code> has any <a href=#pending-application-cache-download-process-tasks>pending
    application cache download process tasks</a>, then <a href=#queue-a-task title="queue a task">queue</a> each such <a href=#concept-task title=concept-task>task</a> in the order they were added to
    the list of <a href=#pending-application-cache-download-process-tasks>pending application cache download process
    tasks</a>, and then empty the list of <a href=#pending-application-cache-download-process-tasks>pending application
@@ -72073,7 +72083,7 @@
    for these <a href=#concept-task title=concept-task>tasks</a> is the
    <a href=#networking-task-source>networking task source</a>.</li>
 
-   <li><p>The <code>Document</code> is now <dfn id=completely-loaded>completely
+   <li><p>The <code><a href=#document>Document</a></code> is now <dfn id=completely-loaded>completely
    loaded</dfn>.</li>
 
   </ol><p>Except where otherwise specified, the <a href=#task-source>task source</a>
@@ -72393,13 +72403,13 @@
  </span><li class=t1><code><a href=#script>script</a></code><ul><li class=t3><code>#text</code>: <span title="">var div = document.getElementById('a'); ⏎ parent.document.body.appendChild(div);</span></ul></ul></ul></ul></ul><p>After the script is parsed, though, the <code><a href=#the-div-element>div</a></code> element
   and its child <code><a href=#script>script</a></code> element are gone:</p>
 
-  <ul class=domTree><li class=t1><code><a href=#the-html-element-0>html</a></code><ul><li class=t1><code><a href=#the-head-element-0>head</a></code><li class=t1><code><a href=#the-body-element-0>body</a></code></ul></ul><p>They are, at this point, in the <code>Document</code> of the
+  <ul class=domTree><li class=t1><code><a href=#the-html-element-0>html</a></code><ul><li class=t1><code><a href=#the-head-element-0>head</a></code><li class=t1><code><a href=#the-body-element-0>body</a></code></ul></ul><p>They are, at this point, in the <code><a href=#document>Document</a></code> of the
   aforementioned outer <a href=#browsing-context>browsing context</a>. However, the
   <a href=#stack-of-open-elements>stack of open elements</a> <em>still contains the
   <code><a href=#the-div-element>div</a></code> element</em>.</p>
 
   <p>Thus, when the second <code><a href=#script>script</a></code> element is parsed, it
-  is inserted <em>into the outer <code>Document</code>
+  is inserted <em>into the outer <code><a href=#document>Document</a></code>
   object</em>.</p>
 
   <p>This also means that the <a href="#script's-global-object">script's global object</a> is
@@ -72408,15 +72418,15 @@
   <code><a href=#the-iframe-element>iframe</a></code>.</p>
 
   <p class=note>This isn't a security problem since the script that
-  moves the <code><a href=#the-div-element>div</a></code> into the outer <code>Document</code> can
-  only do so because the two <code>Document</code> object have the
+  moves the <code><a href=#the-div-element>div</a></code> into the outer <code><a href=#document>Document</a></code> can
+  only do so because the two <code><a href=#document>Document</a></code> object have the
   same <a href=#origin>origin</a>.</p>
 
   <p>Thus, the first alert says "http://example.com/outer".</p>
 
   <p>Once the <code><a href=#the-div-element>div</a></code> element's end tag is parsed, the
   <code><a href=#the-div-element>div</a></code> element is popped off the stack, and so the next
-  <code><a href=#script>script</a></code> element is in the inner <code>Document</code>:</p>
+  <code><a href=#script>script</a></code> element is in the inner <code><a href=#document>Document</a></code>:</p>
 
   <ul class=domTree><li class=t1><code><a href=#the-html-element-0>html</a></code><ul><li class=t1><code><a href=#the-head-element-0>head</a></code><li class=t1><code><a href=#the-body-element-0>body</a></code><ul><li class=t1><code><a href=#script>script</a></code><ul><li class=t3><code>#text</code>: <span title="">alert(document.URL);</span></ul></ul></ul></ul><p>This second alert will say "http://example.com/inner".</p>
 
@@ -72427,7 +72437,7 @@
 
   <p>The following steps form the <dfn id=html-fragment-serialization-algorithm>HTML fragment serialization
   algorithm</dfn>. The algorithm takes as input a DOM
-  <code>Element</code> or <code>Document</code>, referred to as <var title="">the node</var>, and either returns a string or raises an
+  <code><a href=#element>Element</a></code> or <code><a href=#document>Document</a></code>, referred to as <var title="">the node</var>, and either returns a string or raises an
   exception.</p>
 
   <p class=note>This algorithm serializes the <em>children</em> of
@@ -72611,7 +72621,7 @@
 
   <p>The following steps form the <dfn id=html-fragment-parsing-algorithm>HTML fragment parsing
   algorithm</dfn>. The algorithm optionally takes as input an
-  <code>Element</code> node, referred to as the <var title="">context</var> element, which gives the context for the
+  <code><a href=#element>Element</a></code> node, referred to as the <var title="">context</var> element, which gives the context for the
   parser, as well as <var title="">input</var>, a string to parse, and
   returns a list of zero or more nodes.</p>
 
@@ -72626,7 +72636,7 @@
 
   <ol><li>
 
-    <p>Create a new <code>Document</code> node, and mark it as being
+    <p>Create a new <code><a href=#document>Document</a></code> node, and mark it as being
     an <a href=#html-documents title="HTML documents">HTML document</a>.</p>
 
    </li>
@@ -72634,20 +72644,20 @@
    <li>
 
     <p>If there is a <var title="">context</var> element, and the
-    <code>Document</code> of the <var title="">context</var> element
-    is in <a href=#quirks-mode>quirks mode</a>, then let the <code>Document</code>
-    be in <a href=#quirks-mode>quirks mode</a>. Otherwise, if there is a <var title="">context</var> element, and the <code>Document</code> of
+    <code><a href=#document>Document</a></code> of the <var title="">context</var> element
+    is in <a href=#quirks-mode>quirks mode</a>, then let the <code><a href=#document>Document</a></code>
+    be in <a href=#quirks-mode>quirks mode</a>. Otherwise, if there is a <var title="">context</var> element, and the <code><a href=#document>Document</a></code> of
     the <var title="">context</var> element is in <a href=#limited-quirks-mode>limited quirks
-    mode</a>, then let the <code>Document</code> be in
+    mode</a>, then let the <code><a href=#document>Document</a></code> be in
     <a href=#limited-quirks-mode>limited quirks mode</a>. Otherwise, leave the
-    <code>Document</code> in <a href=#no-quirks-mode>no quirks mode</a>.</p>
+    <code><a href=#document>Document</a></code> in <a href=#no-quirks-mode>no quirks mode</a>.</p>
 
    </li>
 
    <li>
 
     <p>Create a new <a href=#html-parser>HTML parser</a>, and associate it with
-    the just created <code>Document</code> node.</p>
+    the just created <code><a href=#document>Document</a></code> node.</p>
 
    </li>
 
@@ -72717,7 +72727,7 @@
      <li>
 
       <p>Append the element <var title="">root</var> to the
-      <code>Document</code> node created above.</p>
+      <code><a href=#document>Document</a></code> node created above.</p>
 
      </li>
 
@@ -72772,7 +72782,7 @@
     child nodes of <var title="">root</var>, in <a href=#tree-order>tree
     order</a>.</p>
 
-    <p>Otherwise, return the children of the <code>Document</code>
+    <p>Otherwise, return the children of the <code><a href=#document>Document</a></code>
     object, in <a href=#tree-order>tree order</a>.</p>
 
    </li>
@@ -74978,19 +74988,19 @@
 
   <p>An <dfn id=xml-parser>XML parser</dfn>, for the purposes of this specification,
   is a construct that follows the rules given in the XML specification
-  to map a string of bytes or characters into a <code>Document</code>
+  to map a string of bytes or characters into a <code><a href=#document>Document</a></code>
   object.</p>
 
   <p>An <a href=#xml-parser>XML parser</a> is either associated with a
-  <code>Document</code> object when it is created, or creates one
+  <code><a href=#document>Document</a></code> object when it is created, or creates one
   implicitly.</p>
 
-  <p>This <code>Document</code> must then be populated with DOM nodes
+  <p>This <code><a href=#document>Document</a></code> must then be populated with DOM nodes
   that represent the tree structure of the input passed to the parser,
   as defined by the XML specification, the Namespaces in XML
   specification, and the DOM Core specification. DOM mutation events
   must not fire for the operations that the <a href=#xml-parser>XML parser</a>
-  performs on the <code>Document</code>'s tree, but the user agent
+  performs on the <code><a href=#document>Document</a></code>'s tree, but the user agent
   must act as if elements and attributes were individually appended
   and set respectively so as to trigger rules in this specification
   regarding what happens when an element in inserted into a document
@@ -75075,15 +75085,15 @@
   <h3 id=serializing-xhtml-fragments><span class=secno>11.3 </span>Serializing XHTML fragments</h3>
 
   <p>The <dfn id=xml-fragment-serialization-algorithm>XML fragment serialization algorithm</dfn> for a
-  <code>Document</code> or <code>Element</code> node either returns a
+  <code><a href=#document>Document</a></code> or <code><a href=#element>Element</a></code> node either returns a
   fragment of XML that represents that node or raises an
   exception.</p>
 
-  <p>For <code>Document</code>s, the algorithm must return a string in
+  <p>For <code><a href=#document>Document</a></code>s, the algorithm must return a string in
   the form of a <a href=http://www.w3.org/TR/xml/#sec-well-formed>document
   entity</a>, if none of the error cases below apply.</p>
 
-  <p>For <code>Element</code>s, the algorithm must return a string in
+  <p>For <code><a href=#element>Element</a></code>s, the algorithm must return a string in
   the form of an <a href=http://www.w3.org/TR/xml/#wf-entities>internal general parsed
   entity</a>, if none of the error cases below apply.</p>
 
@@ -75098,12 +75108,12 @@
   might be forced to use representations that don't match the DOM's,
   e.g. if a <code>CDATASection</code> node contains the string "<code title="">]]></code>").</p>
 
-  <p>For <code>Element</code>s, if any of the elements in the
+  <p>For <code><a href=#element>Element</a></code>s, if any of the elements in the
   serialization are in no namespace, the default namespace in scope
   for those elements must be explicitly declared as the empty
   string.<!-- because otherwise round-tripping might break since it'll
   pick up the surrounding default ns when setting --> (This doesn't
-  apply in the <code>Document</code> case.) <a href=#refsXML>[XML]</a> <a href=#refsXMLNS>[XMLNS]</a></p>
+  apply in the <code><a href=#document>Document</a></code> case.) <a href=#refsXML>[XML]</a> <a href=#refsXMLNS>[XMLNS]</a></p>
 
   <p>For the purposes of this section, an internal general parsed
   entity is considered XML namespace-well-formed if a document
@@ -75116,7 +75126,7 @@
   <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> exception instead of returning a
   string:</p>
 
-  <ul><li>A <code>Document</code> node with no child element nodes.</li>
+  <ul><li>A <code><a href=#document>Document</a></code> node with no child element nodes.</li>
 
    <li>A <code>DocumentType</code> node that has an external subset
    public identifier that contains characters that are not matched by
@@ -75138,7 +75148,7 @@
    <li>An <code>Attr</code> node with no namespace whose local name is
    the lowercase string "<code title="">xmlns</code>". <a href=#refsXMLNS>[XMLNS]</a></li>
 
-   <li>An <code>Element</code> node with two or more attributes with
+   <li>An <code><a href=#element>Element</a></code> node with two or more attributes with
    the same local name and namespace.</li>
 
    <li>An <code>Attr</code> node, <code>Text</code> node,
@@ -75164,7 +75174,7 @@
 
   </ul><p class=note>These are the only ways to make a DOM
   unserializable. The DOM enforces all the other XML constraints; for
-  example, trying to append two elements to a <code>Document</code>
+  example, trying to append two elements to a <code><a href=#document>Document</a></code>
   node will raise a <code><a href=#hierarchy_request_err>HIERARCHY_REQUEST_ERR</a></code> exception.</p>
 
 
@@ -75172,7 +75182,7 @@
   <h3 id=parsing-xhtml-fragments><span class=secno>11.4 </span>Parsing XHTML fragments</h3>
 
   <p>The <dfn id=xml-fragment-parsing-algorithm>XML fragment parsing algorithm</dfn> for either returns
-  a <code>Document</code> or raises a <code><a href=#syntax_err>SYNTAX_ERR</a></code>
+  a <code><a href=#document>Document</a></code> or raises a <code><a href=#syntax_err>SYNTAX_ERR</a></code>
   exception. Given a string <var title="">input</var> and an optional
   context element <var title="">context</var>, the algorithm is as
   follows:</p>
@@ -75232,9 +75242,9 @@
 
     <p>If there is a <var title="">context</var> element, then return
     the child nodes of the root element of the resulting
-    <code>Document</code>, in <a href=#tree-order>tree order</a>.</p>
+    <code><a href=#document>Document</a></code>, in <a href=#tree-order>tree order</a>.</p>
 
-    <p>Otherwise, return the children of the <code>Document</code>
+    <p>Otherwise, return the children of the <code><a href=#document>Document</a></code>
     object, in <a href=#tree-order>tree order</a>.</p>
 
    </li>
@@ -75277,7 +75287,7 @@
 
   <hr><p>An element is <dfn id=being-rendered>being rendered</dfn> if it is <a href=#in-a-document>in a
   <code>Document</code></a>, either its parent node is itself
-  <a href=#being-rendered>being rendered</a> or it is the <code>Document</code> node,
+  <a href=#being-rendered>being rendered</a> or it is the <code><a href=#document>Document</a></code> node,
   and it is not explicitly excluded from the rendering using either:</p>
   <ul class=brief><li>the CSS 'display' property's 'none' value, or</li>
    <li>the 'visibility' property's 'collapse' value unless it is being treated as equivalent to the 'hidden' value, or</li>
@@ -75484,7 +75494,7 @@
      <td><code><a href=#the-body-element-0>body</a></code> element's <code title=attr-body-marginwidth>marginwidth</code> attribute
     <tr><td>The <code><a href=#the-body-element-0>body</a></code> element's <a href=#container-frame-element>container frame element</a>'s <code title=attr-frame-marginwidth>marginwidth</code> attribute
     <tr><td><code><a href=#the-body-element-0>body</a></code> element's <code title=attr-body-leftmargin>rightmargin</code> attribute
-  </table><p>If the <code><a href=#the-body-element-0>body</a></code> element's <code>Document</code>'s
+  </table><p>If the <code><a href=#the-body-element-0>body</a></code> element's <code><a href=#document>Document</a></code>'s
   <a href=#browsing-context>browsing context</a> is a <a href=#nested-browsing-context>nested browsing
   context</a>, and the <a href=#browsing-context-container>browsing context container</a> of
   that <a href=#nested-browsing-context>nested browsing context</a> is a <code><a href=#frame>frame</a></code> or
@@ -75501,8 +75511,8 @@
   a page is rendered not as the author intended, possibly for the
   purposes of phishing or otherwise misleading the user.</p>
 
-  <hr><p>If the <code>Document</code> has a <a href=#root-element>root element</a>, and
-  the <code>Document</code>'s <a href=#browsing-context>browsing context</a> is a
+  <hr><p>If the <code><a href=#document>Document</a></code> has a <a href=#root-element>root element</a>, and
+  the <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> is a
   <a href=#nested-browsing-context>nested browsing context</a>, and the <a href=#browsing-context-container>browsing context
   container</a> of that <a href=#nested-browsing-context>nested browsing context</a> is a
   <code><a href=#frame>frame</a></code> or <code><a href=#the-iframe-element>iframe</a></code> element, and that element
@@ -75583,7 +75593,7 @@
 
 form { margin-bottom: 1em; }</pre>
 
-  <p>When a <code>Document</code> is in <a href=#quirks-mode>quirks mode</a>,
+  <p>When a <code><a href=#document>Document</a></code> is in <a href=#quirks-mode>quirks mode</a>,
   margins on <a href=#html-elements>HTML elements</a> at the top or bottom of
   <code><a href=#the-body-element-0>body</a></code>, <code><a href=#the-td-element>td</a></code>, or <code><a href=#the-th-element>th</a></code> elements are
   expected to be collapsed to zero.</p>
@@ -75797,21 +75807,21 @@
   value</a>, and if that does not return an error, the user agent
   is expected to treat the attribute as a <a href=#presentational-hints title="presentational
   hints">presentational hint</a> setting the 'color' property of
-  any element in the <code>Document</code> matching the ':link'
+  any element in the <code><a href=#document>Document</a></code> matching the ':link'
   pseudo-class to the resulting color.</p>
 
   <p>When a <code><a href=#the-body-element-0>body</a></code> element has a <code title=attr-body-vlink><a href=#attr-body-vlink>vlink</a></code> attribute, its value is
   expected to be parsed using the <a href=#rules-for-parsing-a-legacy-color-value>rules for parsing a legacy
   color value</a>, and if that does not return an error, the user
   agent is expected to treat the attribute as a <a href=#presentational-hints title="presentational hints">presentational hint</a> setting the
-  'color' property of any element in the <code>Document</code>
+  'color' property of any element in the <code><a href=#document>Document</a></code>
   matching the ':visited' pseudo-class to the resulting color.</p>
 
   <p>When a <code><a href=#the-body-element-0>body</a></code> element has a <code title=attr-body-alink><a href=#attr-body-alink>alink</a></code> attribute, its value is
   expected to be parsed using the <a href=#rules-for-parsing-a-legacy-color-value>rules for parsing a legacy
   color value</a>, and if that does not return an error, the user
   agent is expected to treat the attribute as a <a href=#presentational-hints title="presentational hints">presentational hint</a> setting the
-  'color' property of any element in the <code>Document</code>
+  'color' property of any element in the <code><a href=#document>Document</a></code>
   matching the ':active' pseudo-class and either the ':link'
   pseudo-class or the ':visited' pseudo-class to the resulting
   color.</p>
@@ -76307,7 +76317,7 @@
   element already has intrinsic dimensions (e.g. from the
   <a href=#dimension-attributes>dimension attributes</a> or CSS rules), and either the user
   agent has reason to believe that the image will become <i title=img-available><a href=#img-available>available</a></i><!--input-img-available also-->
-  and be rendered in due course or the <code>Document</code> is in
+  and be rendered in due course or the <code><a href=#document>Document</a></code> is in
   <a href=#quirks-mode>quirks mode</a>, the element is expected to be treated as a
   replaced element whose content is the text that the element
   represents, if any, optionally alongside an icon indicating that the
@@ -76352,7 +76362,7 @@
   up if the user interacted with the actual image.</p>
 
   <hr><p>The following CSS rules are expected to apply when the
-  <code>Document</code> is in <a href=#quirks-mode>quirks mode</a>:</p>
+  <code><a href=#document>Document</a></code> is in <a href=#quirks-mode>quirks mode</a>:</p>
 
   <pre class=css>@namespace url(http://www.w3.org/1999/xhtml);
 
@@ -77544,13 +77554,13 @@
 
   <p>User agents are expected to allow the user to request the
   opportunity to <dfn id=obtain-a-physical-form>obtain a physical form</dfn> (or a
-  representation of a physical form) of a <code>Document</code>. For
+  representation of a physical form) of a <code><a href=#document>Document</a></code>. For
   example, selecting the option to print a page or convert it to PDF
   format.</p>
 
   <p>When the user actually <a href=#obtain-a-physical-form title="obtain a physical
   form">obtains a physical form</a> (or a representation of a
-  physical form) of a <code>Document</code>, the user agent is
+  physical form) of a <code><a href=#document>Document</a></code>, the user agent is
   expected to create a new view with the print media, render the
   result, and the discard the view.</p>
 
@@ -77886,10 +77896,10 @@
   <p id=sandboxPluginApplet>When the element is not <a href=#in-a-document>in a
   <code>Document</code></a>, and when the element's document is not
   <a href=#fully-active>fully active</a>, and when the element's
-  <code>Document</code>'s <a href=#browsing-context>browsing context</a> had its
+  <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> had its
   <a href=#sandboxed-plugins-browsing-context-flag>sandboxed plugins browsing context flag</a> when that
-  <code>Document</code> was created, and when the element's
-  <code>Document</code> was parsed from a resource whose <a href=#content-type-sniffing-0 title="Content-Type sniffing">sniffed type</a> as determined
+  <code><a href=#document>Document</a></code> was created, and when the element's
+  <code><a href=#document>Document</a></code> was parsed from a resource whose <a href=#content-type-sniffing-0 title="Content-Type sniffing">sniffed type</a> as determined
   during <a href=#navigate title=navigate>navigation</a> is
   <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code>, and when the element has an
   ancestor <a href=#media-element>media element</a>, and when the element has an
@@ -78296,7 +78306,7 @@
 
   <p>The <dfn id=dom-frame-contentdocument title=dom-frame-contentDocument><code>contentDocument</code></dfn>
   IDL attribute of the <code><a href=#frame>frame</a></code> element must return the
-  <code>Document</code> object of the <a href=#active-document>active document</a> of
+  <code><a href=#document>Document</a></code> object of the <a href=#active-document>active document</a> of
   the <code><a href=#frame>frame</a></code> element's <a href=#nested-browsing-context>nested browsing
   context</a>.</p>
 
@@ -78964,7 +78974,7 @@
   readonly attribute <a href=#htmlallcollection>HTMLAllCollection</a> <a href=#dom-document-all title=dom-document-all>all</a>;
 };</pre>
 
-  <p>The attributes of the <code>Document</code> object listed in the
+  <p>The attributes of the <code><a href=#document>Document</a></code> object listed in the
   first column of the following table must <a href=#reflect>reflect</a> the
   content attribute on <a href=#the-body-element>the body element</a> with the name
   given in the corresponding cell in the second column on the same
@@ -78988,13 +78998,13 @@
      <td><code title=attr-body-alink><a href=#attr-body-alink>alink</a></code>
   </table><hr><p>The <dfn id=dom-document-anchors title=dom-document-anchors><code>anchors</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only <code><a href=#the-a-element>a</a></code>
+  <code><a href=#document>Document</a></code> node, whose filter matches only <code><a href=#the-a-element>a</a></code>
   elements with <code title=attr-a-name><a href=#attr-a-name>name</a></code>
   attributes.</p>
 
   <p>The <dfn id=dom-document-applets title=dom-document-applets><code>applets</code></dfn>
   attribute must return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches only
+  <code><a href=#document>Document</a></code> node, whose filter matches only
   <code><a href=#the-applet-element>applet</a></code> elements.</p>
 
   <p>The <dfn id=dom-document-clear title=dom-document-clear><code>clear()</code></dfn>
@@ -79002,7 +79012,7 @@
 
   <hr><p>The <dfn id=dom-document-all title=dom-document-all><code>all</code></dfn>
   attribute must return an <code><a href=#htmlallcollection>HTMLAllCollection</a></code> rooted at the
-  <code>Document</code> node, whose filter matches all elements.</p>
+  <code><a href=#document>Document</a></code> node, whose filter matches all elements.</p>
 
   <p>The object returned for <code title=dom-document-all><a href=#dom-document-all>all</a></code>
   has several unusual behaviors:</p>
@@ -79194,7 +79204,7 @@
     is to provide a way for content providers to indicate that they
     want the file to be interpreted in a manner that does not give the
     file's contents access to the rest of the site. This is achieved
-    by assigning the <code>Document</code> objects generated from
+    by assigning the <code><a href=#document>Document</a></code> objects generated from
     resources labeled as <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code> unique
     origins.</p>
     <p>To avoid having legacy user agents treating resources labeled
@@ -82000,23 +82010,23 @@
      <th> Interface
      <th> Description
    <tbody><tr><td> <code title=event-DOMActivate>DOMActivate</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at an element before its <a href=#activation-behavior>activation behavior</a> is run
 
     <tr><td> <code title=event-DOMContentLoaded>DOMContentLoaded</code>
-     <td> <code>Event</code>
-     <td> Fired at the <code>Document</code> once it and its scripts have loaded, without waiting for other subresources
+     <td> <code><a href=#event>Event</a></code>
+     <td> Fired at the <code><a href=#document>Document</a></code> once it and its scripts have loaded, without waiting for other subresources
 
     <tr><td> <code title=event-abort>abort</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at the <code><a href=#window>Window</a></code> when the download was aborted by the user
 
     <tr><td> <code title=event-afterprint>afterprint</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at the <code><a href=#window>Window</a></code> after printing
 
     <tr><td> <code title=event-beforeprint>beforeprint</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at the <code><a href=#window>Window</a></code> before printing
 
     <tr><td> <code title=event-beforeunload>beforeunload</code>
@@ -82024,31 +82034,31 @@
      <td> Fired at the <code><a href=#window>Window</a></code> when the page is about to be unloaded, in case the page would like to show a warning prompt
 
     <tr><td> <code title=event-blur>blur</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at nodes losing focus
 
     <tr><td> <code title=event-change>change</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at controls when the user commits a value change
 
     <tr><td> <code title=event-contextmenu>contextmenu</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at elements when the user requests their context menu
 
     <tr><td> <code title=event-error>error</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at elements when network and script errors occur
 
     <tr><td> <code title=event-focus>focus</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at nodes gaining focus
 
     <tr><td> <code title=event-formchange>formchange</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at form controls when the user commits a value change to a control on the form
 
     <tr><td> <code title=event-forminput>forminput</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at form controls when the user changes the value of a control on the form
 
     <tr><td> <code title=event-hashchange><a href=#event-hashchange>hashchange</a></code>
@@ -82056,15 +82066,15 @@
      <td> Fired at the <code><a href=#window>Window</a></code> when the fragment identifier part of <a href="#the-document's-current-address">the document's current address</a> changes
 
     <tr><td> <code title=event-input>input</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at controls when the user changes the value
 
     <tr><td> <code title=event-invalid>invalid</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at controls during form validation if they do not satisfy their constraints
 
     <tr><td> <code title=event-load>load</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at the <code><a href=#window>Window</a></code> when the document has finished loading; fired at an element containing a resource (e.g. <code><a href=#the-img-element>img</a></code>, <code><a href=#the-embed-element>embed</a></code>) when its resource has finished loading
 
     <tr><td> <code title=event-message><a href=#event-message>message</a></code>
@@ -82072,19 +82082,19 @@
      <td> Fired at an object when the object receives a message
 
     <tr><td> <code title=event-offline><a href=#event-offline>offline</a></code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at the <code><a href=#window>Window</a></code> when the network connections fails
 
     <tr><td> <code title=event-online><a href=#event-online>online</a></code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at the <code><a href=#window>Window</a></code> when the network connections returns
 
     <tr><td> <code title=event-pagehide>pagehide</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at the <code><a href=#window>Window</a></code> when the page's entry in the <a href=#session-history>session history</a> stops being the <a href=#current-entry>current entry</a>
 
     <tr><td> <code title=event-pageshow>pageshow</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at the <code><a href=#window>Window</a></code> when the page's entry in the <a href=#session-history>session history</a> becomes the <a href=#current-entry>current entry</a>
 
     <tr><td> <code title=event-popstate><a href=#event-popstate>popstate</a></code>
@@ -82092,23 +82102,23 @@
      <td> Fired at the <code><a href=#window>Window</a></code> when the user navigates the <a href=#session-history>session history</a>
 
     <tr><td> <code title=event-readystatechange>readystatechange</code>
-     <td> <code>Event</code>
-     <td> Fired at the <code>Document</code> when it finishes parsing and again when all its subresources have finished loading
+     <td> <code><a href=#event>Event</a></code>
+     <td> Fired at the <code><a href=#document>Document</a></code> when it finishes parsing and again when all its subresources have finished loading
 
     <tr><td> <code title=event-redo><a href=#event-redo>redo</a></code>
      <td> <code><a href=#undomanagerevent>UndoManagerEvent</a></code>
      <td> Fired at the <code><a href=#window>Window</a></code> object when the user <a href=#redo:-moving-forward-in-the-undo-transaction-history title=do-redo>goes forward in the undo transaction history</a>
 
     <tr><td> <code title=event-reset>reset</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at a <code><a href=#the-form-element>form</a></code> element when it is <a href=#concept-form-reset title=concept-form-reset>reset</a>
 
     <tr><td> <code title=event-show>show</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at a <code><a href=#menus>menu</a></code> element when it is shown as a context menu
 
     <tr><td> <code title=event-submit>submit</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at a <code><a href=#the-form-element>form</a></code> element when it is <a href=#concept-form-submit title=concept-form-submit>submitted</a>
 
     <tr><td> <code title=event-undo><a href=#event-undo>undo</a></code>
@@ -82116,7 +82126,7 @@
      <td> Fired at the <code><a href=#window>Window</a></code> object when the user <a href=#undo:-moving-back-in-the-undo-transaction-history title=do-undo>goes backward in the undo transaction history</a>
 
     <tr><td> <code title=event-unload>unload</code>
-     <td> <code>Event</code>
+     <td> <code><a href=#event>Event</a></code>
      <td> Fired at the <code><a href=#window>Window</a></code> object when the page is going away
 
   </table><p class=note>See also <a href=#mediaevents>media element

Modified: source
===================================================================
--- source	2010-02-16 08:22:23 UTC (rev 4747)
+++ source	2010-02-16 08:32:30 UTC (rev 4748)
@@ -1403,8 +1403,24 @@
     Events, because this specification is defined in terms of the DOM,
     and some of the features are defined as extensions to the DOM Core
     interfaces. <a href="#refsDOMCORE">[DOMCORE]</a> <a
-    href="#refsDOMCORE">[DOMEVENTS]</a></p>
+    href="#refsDOMEVENTS">[DOMEVENTS]</a></p>
 
+    <p>In particular, the following features are defined in the DOM
+    Core specification: <a href="#refsDOMCORE">[DOMCORE]</a></p>
+    <ul class="brief">
+     <li><dfn>Document</dfn></li>
+     <li><dfn>Element</dfn></li>
+     <li><dfn>NodeList</dfn></li>
+     <li><dfn>textContent</dfn></li>
+    </ul>
+
+    <p>The following features are defined in the DOM Events
+    specification: <a href="#refsDOMEVENTS">[DOMEVENTS]</a></p>
+    <ul class="brief">
+     <li><dfn>Event</dfn></li>
+     <li><dfn>EventTarget</dfn></li>
+    </ul>
+
    </dd>
 
    <dt>Web IDL</dt>




More information about the Commit-Watchers mailing list