[html5] r8023 - [e] (0) Clean up some redundancy and duplication and errors in examples. (affect [...]

whatwg at whatwg.org whatwg at whatwg.org
Wed Jul 3 11:39:21 PDT 2013


Author: ianh
Date: 2013-07-03 11:39:19 -0700 (Wed, 03 Jul 2013)
New Revision: 8023

Modified:
   complete.html
   index
   source
Log:
[e] (0) Clean up some redundancy and duplication and errors in examples. (affects parser, amongst other things)
Affected topics: HTML, HTML Syntax and Parsing

Modified: complete.html
===================================================================
--- complete.html	2013-07-03 18:26:58 UTC (rev 8022)
+++ complete.html	2013-07-03 18:39:19 UTC (rev 8023)
@@ -1842,7 +1842,7 @@
   </dl><pre class=css>/* this is a CSS fragment */</pre>
 
   <p>The defining instance of a term is marked up like <dfn id=x-this title=x-this>this</dfn>. Uses of that
-  term are marked up like <a href=#x-this title=x-this>this</a> or like <i title=x-this>this</i>.</p>
+  term are marked up like <a href=#x-this title=x-this>this</a> or like <i title=x-this><a href=#x-this>this</a></i>.</p>
 
   <p>The defining instance of an element, attribute, or API is marked up like <dfn id=x-that title=x-that><code>this</code></dfn>. References to that element, attribute, or API are marked
   up like <code title=x-that><a href=#x-that>this</a></code>.</p>
@@ -3045,7 +3045,7 @@
 
   <h4 id=encoding-terminology><span class=secno>2.1.6 </span>Character encodings</h4>
 
-  <p>A <dfn id=encoding title=encoding>character encoding</dfn>, or just <i>encoding</i> where that is not
+  <p>A <dfn id=encoding title=encoding>character encoding</dfn>, or just <i><a href=#encoding>encoding</a></i> where that is not
   ambiguous, is a defined way to convert between byte streams and Unicode strings, as defined in the
   WHATWG Encoding standard. An <a href=#encoding>encoding</a> has an <dfn id=encoding-name>encoding name</dfn> and one or more
   <dfn id=encoding-label title="encoding label">encoding labels</dfn>, referred to as the encoding's <i>name</i> and
@@ -6704,7 +6704,7 @@
   <strong>from</strong> an origin <i title="">origin</i>, optionally <strong>using</strong> a
   specific <a href=#referrer-source>referrer source</a> as an <i>override referrer source</i>, and optionally with
   any of a <i>synchronous flag</i>, a <i>manual redirect flag</i>, a <i>force same-origin flag</i>,
-  and a <i>block cookies flag</i>, the following steps must be run. (When a <em>URL</em> is to be
+  and a <i>block cookies flag</i>, the following steps must be run. (When a <em><a href=#url>URL</a></em> is to be
   fetched, the URL identifies a resource to be obtained.)</p>
 
   <!-- if invoked with the synchronous flag, make sure to release the storage mutex first -->
@@ -7064,10 +7064,10 @@
      <th> Brief description
    <tbody><tr><td><dfn id=attr-crossorigin-anonymous-keyword title=attr-crossorigin-anonymous-keyword><code>anonymous</code></dfn>
      <td><dfn id=attr-crossorigin-anonymous title=attr-crossorigin-anonymous>Anonymous</dfn>
-     <td>Cross-origin CORS requests for the element will have the <i>omit credentials flag</i> set.
+     <td>Cross-origin CORS requests for the element will have the <i><a href=#omit-credentials-flag>omit credentials flag</a></i> set.
     <tr><td><dfn id=attr-crossorigin-use-credentials-keyword title=attr-crossorigin-use-credentials-keyword><code>use-credentials</code></dfn>
      <td><dfn id=attr-crossorigin-use-credentials title=attr-crossorigin-use-credentials>Use Credentials</dfn>
-     <td>Cross-origin CORS requests for the element will not have the <i>omit credentials flag</i> set.
+     <td>Cross-origin CORS requests for the element will not have the <i><a href=#omit-credentials-flag>omit credentials flag</a></i> set.
   </table><p>The empty string is also a valid keyword, and maps to the <a href=#attr-crossorigin-anonymous title=attr-crossorigin-anonymous>Anonymous</a> state. The
   attribute's <i>invalid value default</i> is the <a href=#attr-crossorigin-anonymous title=attr-crossorigin-anonymous>Anonymous</a> state. For the purposes of <a href=#reflect title=reflect>reflection</a>, the canonical case for the <a href=#attr-crossorigin-anonymous title=attr-crossorigin-anonymous>Anonymous</a> state is the <code title=attr-crossorigin-anonymous-keyword><a href=#attr-crossorigin-anonymous-keyword>anonymous</a></code> keyword. The
   <i>missing value default</i>, used when the attribute is omitted, is
@@ -7214,7 +7214,7 @@
      with the <i>request URL</i> set to <var title="">URL</var>, with
      the CORS <i title="">referrer source</i> set to <var title="">referrer source</var> if one was specified, the
      <i>source origin</i> set to <var title="">origin</var>, and with
-     the <i>omit credentials flag</i> set if <var title="">mode</var>
+     the <i><a href=#omit-credentials-flag>omit credentials flag</a></i> set if <var title="">mode</var>
      is "<a href=#attr-crossorigin-anonymous title=attr-crossorigin-anonymous>Anonymous</a>"
      and not set otherwise. <a href=#refsCORS>[CORS]</a></li>
 
@@ -8040,7 +8040,7 @@
 
    <li><p>Let <var title="">memory</var> be an association list of pairs of objects, initially
    empty. This is used to handle duplicate references. In each pair of objects, one is called the
-   <em>source</em> object and the other the <em>destination</em> object.</li>
+   <em><a href=#the-source-element>source</a></em> object and the other the <em>destination</em> object.</li>
 
    <li><p>For each mapping in <var title="">transfer map</var>, add a mapping from the
    <code><a href=#transferable>Transferable</a></code> object (the source object) to the placeholder object (the destination
@@ -11909,7 +11909,7 @@
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
-   <li><p>Set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to false.</li>
+   <li><p>Set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to false.</li>
 
    <li><p><a href=#prompt-to-unload-a-document title="prompt to unload a document">Prompt to 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
@@ -11950,7 +11950,7 @@
    <code><a href=#document>Document</a></code> object's <a href=#reload-override-flag>reload override flag</a> and set the
    <code><a href=#document>Document</a></code>'s <a href=#reload-override-buffer>reload override buffer</a> to the empty string.</li>
 
-   <li><p>Set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state back to true.</li>
+   <li><p>Set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state back to true.</li>
 
    <li><p>Change <a href="#the-document's-address">the document's address</a> to the <a href=#entry-script>entry script</a>'s <a href="#script's-document" title="script's document">document</a>'s <a href="#the-document's-address" title="the document's
    address">address</a>.</li>
@@ -14460,15 +14460,15 @@
      <li>the <code><a href=#the-script-element>script</a></code> element has neither a <code title=attr-script-type><a href=#attr-script-type>type</a></code>
      attribute nor a <code title=attr-script-language><a href=#attr-script-language>language</a></code> attribute, then</li>
 
-    </ul><p>...let <var>the script block's type</var> for this <code><a href=#the-script-element>script</a></code> element be "<code title="">text/javascript</code>".</p>
+    </ul><p>...let <var><a href="#the-script-block's-type">the script block's type</a></var> for this <code><a href=#the-script-element>script</a></code> element be "<code title="">text/javascript</code>".</p>
 
-    <p>Otherwise, if the <code><a href=#the-script-element>script</a></code> element has a <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute, let <var>the script block's type</var> for this
+    <p>Otherwise, if the <code><a href=#the-script-element>script</a></code> element has a <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute, let <var><a href="#the-script-block's-type">the script block's type</a></var> for this
     <code><a href=#the-script-element>script</a></code> element be the value of that attribute with any leading or trailing
     sequences of <a href=#space-character title="space character">space characters</a> removed.</p> <!-- <span>Strip
     leading and trailing whitespace</span> from... -->
 
     <p>Otherwise, the element has a non-empty <code title=attr-script-language><a href=#attr-script-language>language</a></code>
-    attribute; let <var>the script block's type</var> for this <code><a href=#the-script-element>script</a></code> element be the
+    attribute; let <var><a href="#the-script-block's-type">the script block's type</a></var> for this <code><a href=#the-script-element>script</a></code> element be the
     concatenation of the string "<code title="">text/</code>" followed by the value of the <code title=attr-script-language><a href=#attr-script-language>language</a></code> attribute.</p> <!-- user agents already support,
     e.g., type="text/javascript1.3", so we don't have to support that separately. -->
 
@@ -14480,8 +14480,8 @@
 
    <li>
 
-    <p>If the user agent does not <a href=#support-the-scripting-language>support the scripting language</a> given by <var>the
-    script block's type</var> for this <code><a href=#the-script-element>script</a></code> element, then the user agent must abort
+    <p>If the user agent does not <a href=#support-the-scripting-language>support the scripting language</a> given by <var><a href="#the-script-block's-type">the
+    script block's type</a></var> for this <code><a href=#the-script-element>script</a></code> element, then the user agent must abort
     these steps at this point. The script is not executed.</p>
 
    </li>
@@ -14554,11 +14554,11 @@
    <li id=script-processing-encoding>
 
     <p>If the <code><a href=#the-script-element>script</a></code> element has a <code title=attr-script-charset><a href=#attr-script-charset>charset</a></code>
-    attribute, then let <var>the script block's character encoding</var> for this
+    attribute, then let <var><a href="#the-script-block's-character-encoding">the script block's character encoding</a></var> for this
     <code><a href=#the-script-element>script</a></code> element be the result of <a href=#getting-an-encoding>getting an encoding</a> from the value of
     the <code title=attr-script-charset><a href=#attr-script-charset>charset</a></code> attribute.</p>
 
-    <p>Otherwise, let <var>the script block's fallback character encoding</var> for this
+    <p>Otherwise, let <var><a href="#the-script-block's-fallback-character-encoding">the script block's fallback character encoding</a></var> for this
     <code><a href=#the-script-element>script</a></code> element be the same as <a href="#document's-character-encoding" title="document's character encoding">the
     encoding of the document itself</a>.</p>
 
@@ -14787,7 +14787,7 @@
 
         <p>Initialize <dfn id="the-script-block's-source"><var>the script block's source</var></dfn> as follows:</p>
 
-        <dl class=switch><dt>If the script is from an external file and <var>the script block's type</var> is a
+        <dl class=switch><dt>If the script is from an external file and <var><a href="#the-script-block's-type">the script block's type</a></var> is a
          text-based language</dt>
 
          <dd>
@@ -14800,16 +14800,16 @@
            specifies a character encoding, and the user agent supports that encoding, then let <var title="">character encoding</var> be that encoding, and jump to the bottom step in this
            series of steps.</li>
 
-           <li><p>If the algorithm above set <var>the script block's character encoding</var>, then
+           <li><p>If the algorithm above set <var><a href="#the-script-block's-character-encoding">the script block's character encoding</a></var>, then
            let <var title="">character encoding</var> be that encoding, and jump to the bottom step
            in this series of steps.</li>
 
-           <li><p>Let <var title="">character encoding</var> be <var>the script block's fallback
-           character encoding</var>.</li>
+           <li><p>Let <var title="">character encoding</var> be <var><a href="#the-script-block's-fallback-character-encoding">the script block's fallback
+           character encoding</a></var>.</li>
 
            <li>
 
-            <p>If the specification for <var>the script block's type</var> gives specific rules for
+            <p>If the specification for <var><a href="#the-script-block's-type">the script block's type</a></var> gives specific rules for
             decoding files in that format to Unicode, follow them, using <var>character
             encoding</var> as the character encoding specified by higher-level protocols, if
             necessary.</p> <!-- e.g. XML -->
@@ -14824,18 +14824,18 @@
 
           </ol></dd>
 
-         <dt>If the script is from an external file and <var>the script block's type</var> is an
+         <dt>If the script is from an external file and <var><a href="#the-script-block's-type">the script block's type</a></var> is an
          XML-based language</dt>
 
          <dd>
 
           <p>The external file is the script source. When it is later executed, it must be
           interpreted in a manner consistent with the specification defining the language given by
-          <var>the script block's type</var>.</p>
+          <var><a href="#the-script-block's-type">the script block's type</a></var>.</p>
 
          </dd>
 
-         <dt>If the script is inline and <var>the script block's type</var> is a text-based
+         <dt>If the script is inline and <var><a href="#the-script-block's-type">the script block's type</a></var> is a text-based
          language</dt>
 
          <dd>
@@ -14845,7 +14845,7 @@
 
          </dd>
 
-         <dt>If the script is inline and <var>the script block's type</var> is an XML-based
+         <dt>If the script is inline and <var><a href="#the-script-block's-type">the script block's type</a></var> is an XML-based
          language</dt>
 
          <dd>
@@ -14893,9 +14893,9 @@
        <li>
 
         <p><a href=#create-a-script-from-a-node title="create a script from a node">Create a script</a> from the
-        <code><a href=#the-script-element>script</a></code> element node, using <var>the script block's source</var>, the
-        <a href=#url>URL</a> from which the script was obtained, and <var>the script block's
-        type</var>.</p>
+        <code><a href=#the-script-element>script</a></code> element node, using <var><a href="#the-script-block's-source">the script block's source</a></var>, the
+        <a href=#url>URL</a> from which the script was obtained, and <var><a href="#the-script-block's-type">the script block's
+        type</a></var>.</p>
 
         <p>If the script came from a resource that was <a href=#fetch title=fetch>fetched</a> in the
         steps above, and the resource was <a href=#cors-cross-origin>CORS-cross-origin</a>, then pass the <var title="">muted errors</var> flag to the <a href=#create-a-script-from-a-node>create a script from a node</a>
@@ -15052,8 +15052,8 @@
 
   <div class=impl>
 
-  <p>A user agent is said to <dfn id=support-the-scripting-language>support the scripting language</dfn> if each component of <var>the
-  script block's type</var> is an <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the corresponding
+  <p>A user agent is said to <dfn id=support-the-scripting-language>support the scripting language</dfn> if each component of <var><a href="#the-script-block's-type">the
+  script block's type</a></var> is an <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the corresponding
   component in the <a href=#mime-type>MIME type</a> string of a scripting language that the user agent
   implements.</p>
 
@@ -15306,7 +15306,7 @@
    <dd><p>The <code><a href=#the-noscript-element>noscript</a></code> element must contain only text,
    except that invoking the <a href=#html-fragment-parsing-algorithm>HTML fragment parsing
    algorithm</a> <!-- (which disables <script> execution) --> with
-   the <code><a href=#the-noscript-element>noscript</a></code> element as the <var title=concept-frag-parse-context>context</var> element and the
+   the <code><a href=#the-noscript-element>noscript</a></code> element as the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element and the
    text contents as the <var title="">input</var> must result in a
    list of nodes that consists only of <code><a href=#the-link-element>link</a></code>,
    <code><a href=#the-style-element>style</a></code>, and <code><a href=#the-meta-element>meta</a></code> elements that would be
@@ -17886,7 +17886,7 @@
     </ul><p>and is further discussed below.</p>
    </div>
 
-   <p>The solution is to realise that a <i>paragraph</i>, in HTML terms, is not a logical concept,
+   <p>The solution is to realise that a <i><a href=#paragraph>paragraph</a></i>, in HTML terms, is not a logical concept,
    but a structural one. In the fantastic example above, there are actually <em>five</em> <a href=#paragraph title=paragraph>paragraphs</a> as defined by this specification: one before the list, one
    for each bullet, and one after the list.</p>
 
@@ -19383,7 +19383,7 @@
    <li><p>Finally, the user agent must <a href=#following-hyperlinks title="following hyperlinks">follow the
    hyperlink</a> or <a href=#downloading-hyperlinks title="downloading hyperlinks">download the hyperlink</a> created by
    the <code><a href=#the-a-element>a</a></code> element, as determined by the <code title=attr-hyperlink-download><a href=#attr-hyperlink-download>download</a></code> attribute and any expressed user preference. If
-   the steps above defined a <var>hyperlink suffix</var>, then take that into account when following
+   the steps above defined a <var><a href=#hyperlink-suffix>hyperlink suffix</a></var>, then take that into account when following
    or downloading the hyperlink.</li>
 
   </ol></div>
@@ -21815,11 +21815,11 @@
 
   <div class=impl>
 
-  <p>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <i title=attr-dir-rtl-state>rtl</i> state, then for the purposes of the bidirectional algorithm,
+  <p>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <i title=attr-dir-rtl-state><a href=#attr-dir-rtl-state>rtl</a></i> state, then for the purposes of the bidirectional algorithm,
   the user agent must act as if there was a U+202D LEFT-TO-RIGHT OVERRIDE character at the start of
   the element, and a U+202C POP DIRECTIONAL FORMATTING at the end of the element.</p>
 
-  <p>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <i title=attr-dir-ltr-state>ltr</i>, then for the purposes of the bidirectional algorithm, the user
+  <p>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <i title=attr-dir-ltr-state><a href=#attr-dir-ltr-state>ltr</a></i>, then for the purposes of the bidirectional algorithm, the user
   agent must act as if there was a U+202E RIGHT-TO-LEFT OVERRIDE character at the start of the
   element, and a U+202C POP DIRECTIONAL FORMATTING at the end of the element.</p>
 
@@ -23396,9 +23396,9 @@
   rendered width and height of the image, in CSS pixels, if the image
   is <a href=#being-rendered>being rendered</a>, and is being rendered to a visual
   medium; or else the intrinsic width and height of the image, in CSS
-  pixels, if the image is <i title=img-available>available</i> but
+  pixels, if the image is <i title=img-available><a href=#img-available>available</a></i> but
   not being rendered to a visual medium; or else 0, if the image is
-  not <i title=img-available>available</i>. <a href=#refsCSS>[CSS]</a></p>
+  not <i title=img-available><a href=#img-available>available</a></i>. <a href=#refsCSS>[CSS]</a></p>
 
   <p>On setting, they must act as if they <a href=#reflect title=reflect>reflected</a> the respective content attributes
   of the same name.</p>
@@ -23406,7 +23406,7 @@
   <p>The IDL attributes <dfn id=dom-img-naturalwidth title=dom-img-naturalWidth><code>naturalWidth</code></dfn> and
   <dfn id=dom-img-naturalheight title=dom-img-naturalHeight><code>naturalHeight</code></dfn>
   must return the intrinsic width and height of the image, in CSS
-  pixels, if the image is <i title=img-available>available</i>, or
+  pixels, if the image is <i title=img-available><a href=#img-available>available</a></i>, or
   else 0. <a href=#refsCSS>[CSS]</a></p>
 
   <p>The IDL attribute <dfn id=dom-img-complete title=dom-img-complete><code>complete</code></dfn> must return
@@ -23561,8 +23561,8 @@
   image.</p>
 
   <p>A corollary to this is that the <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code> attribute's value should never
-  contain text that could be considered the image's <em>caption</em>,
-  <em>title</em>, or <em>legend</em>. It is supposed to contain
+  contain text that could be considered the image's <em><a href=#the-caption-element>caption</a></em>,
+  <em><a href=#the-title-element>title</a></em>, or <em><a href=#the-legend-element>legend</a></em>. It is supposed to contain
   replacement text that could be used by users <em>instead</em> of the
   image; it is not meant to supplement the image. The <code title=attr-title><a href=#attr-title>title</a></code> attribute can be used for
   supplemental information.</p>
@@ -23825,7 +23825,7 @@
 at least that would look good on the cover of a blue book.</p></pre>
 
    <p>This example shows how the alternative text should be written
-   such that if the image isn't <i title=img-available>available</i>, and the text is used instead,
+   such that if the image isn't <i title=img-available><a href=#img-available>available</a></i>, and the text is used instead,
    the text flows seamlessly into the surrounding text, as if the
    image had never been there in the first place.</p>
 
@@ -24091,7 +24091,7 @@
      with each year: 624%, 75%, 138%, 40%, 35%, 9%, 21%"></strong></pre>
 
      <p>Note that "sales graph" would be inadequate alternative text
-     for a sales graph. Text that would be a good <em>caption</em> is
+     for a sales graph. Text that would be a good <em><a href=#the-caption-element>caption</a></em> is
      not generally suitable as replacement text.</p>
 
     </div>
@@ -24682,7 +24682,7 @@
 
   <p class=note>This happens without any <code title=event-unload>unload</code> events firing
   (the <a href=#nested-browsing-context>nested browsing context</a> and its <code><a href=#document>Document</a></code> are <em title="a browsing
-  context is discarded">discarded</em>, not <em title="unload a document">unloaded</em>).</p>
+  context is discarded"><a href=#a-browsing-context-is-discarded>discarded</a></em>, not <em title="unload a document"><a href=#unload-a-document>unloaded</a></em>).</p>
 
   <!-- START of section that's very similar to <frame> -->
 
@@ -25011,8 +25011,8 @@
     <ul><li>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 <code><a href=#document>Document</a></code>, or
 
-     <li>The <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active document</a>'s <em><a href="#the-document's-address" title="the
-     document's address">address</a></em> has the <a href=#same-origin>same origin</a> as the
+     <li>The <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active document</a>'s <em><a href=#the-address-element><span title="the
+     document's address">address</span></a></em> has the <a href=#same-origin>same origin</a> as the
      <code><a href=#the-iframe-element>iframe</a></code> element's <code><a href=#document>Document</a></code>, or
 
      <li>The <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active document</a> is <a href=#an-iframe-srcdoc-document>an
@@ -25148,7 +25148,7 @@
 
   <p id=iframe-content-model>When used in <a href=#html-documents>HTML documents</a>, the allowed content model
   of <code><a href=#the-iframe-element>iframe</a></code> elements is text, except that invoking the <a href=#html-fragment-parsing-algorithm>HTML fragment parsing
-  algorithm</a> with the <code><a href=#the-iframe-element>iframe</a></code> element as the <var title=concept-frag-parse-context>context</var> element and the text contents as the <var title="">input</var> must result in a list of nodes that are all <a href=#phrasing-content>phrasing content</a>,
+  algorithm</a> with the <code><a href=#the-iframe-element>iframe</a></code> element as the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element and the text contents as the <var title="">input</var> must result in a list of nodes that are all <a href=#phrasing-content>phrasing content</a>,
   with no <a href=#parse-error title="parse error">parse errors</a> having occurred, with no <code><a href=#the-script-element>script</a></code>
   elements being anywhere in the list or as descendants of elements in the list, and with all the
   elements in the list (including their descendants) being themselves conforming.</p>
@@ -26410,7 +26410,7 @@
   </ol></div>
 
   <p class=note>The image given by the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code> attribute,
-  the <i>poster frame</i>, is intended to be a representative frame of the video (typically one of
+  the <i><a href=#poster-frame>poster frame</a></i>, is intended to be a representative frame of the video (typically one of
   the first non-blank frames) that gives the user an idea of what the video is like.</p>
 
   <div class=impl>
@@ -28881,7 +28881,7 @@
       <ol><li>Set the <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> attribute to false.</li>
 
        <li>If the element's <a href=#show-poster-flag>show poster flag</a> is true, set it to false and run the
-       <i>time marches on</i> steps.</li>
+       <i><a href=#time-marches-on>time marches on</a></i> steps.</li>
 
        <li><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-media-play><a href=#event-media-play>play</a></code> at the element.</li>
 
@@ -29199,7 +29199,7 @@
     <ol><li><p>Change the value of <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> to false.</li>
 
      <li><p>If the <a href=#show-poster-flag>show poster flag</a> is true, set the element's <a href=#show-poster-flag>show poster
-     flag</a> to false and run the <i>time marches on</i> steps.</li>
+     flag</a> to false and run the <i><a href=#time-marches-on>time marches on</a></i> steps.</li>
 
      <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-media-play><a href=#event-media-play>play</a></code> at the element.</li>
 
@@ -29313,17 +29313,17 @@
   <a href=#media-element>media element</a>'s <a href=#list-of-newly-introduced-cues>list of newly introduced cues</a>. When a <a href=#media-element>media
   element</a>'s <a href=#list-of-newly-introduced-cues>list of newly introduced cues</a> has new cues added while the
   <a href=#media-element>media element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, then the user agent must
-  run the <i>time marches on</i> steps.</p>
+  run the <i><a href=#time-marches-on>time marches on</a></i> steps.</p>
 
   <p>When a <a href=#text-track-cue>text track cue</a> is removed from the <a href=#text-track-list-of-cues title="text track list of
   cues">list of cues</a> of a <a href=#text-track>text track</a> that is in the <a href=#list-of-text-tracks>list of text
   tracks</a> for a <a href=#media-element>media element</a>, and whenever a <a href=#text-track>text track</a> is removed
   from the <a href=#list-of-text-tracks>list of text tracks</a> of a <a href=#media-element>media element</a>, if the <a href=#media-element>media
   element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, then the user agent must run the
-  <i>time marches on</i> steps.</p>
+  <i><a href=#time-marches-on>time marches on</a></i> steps.</p>
 
   <p>When the <a href=#current-playback-position>current playback position</a> of a <a href=#media-element>media element</a> changes (e.g.
-  due to playback or seeking), the user agent must run the <i>time marches on</i> steps. If the
+  due to playback or seeking), the user agent must run the <i><a href=#time-marches-on>time marches on</a></i> steps. If the
   <a href=#current-playback-position>current playback position</a> changes while the steps are running, then the user agent
   must wait for the steps to complete, and then must immediately rerun the steps. (These steps are
   thus run as often as possible or needed — if one iteration takes a long time, this can cause
@@ -31130,7 +31130,7 @@
     </ol></li>
 
    <li><p>If the <a href=#media-element>media element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, run the
-   <i>time marches on</i> steps.</li>
+   <i><a href=#time-marches-on>time marches on</a></i> steps.</li>
 
   </ol><p>The <a href=#task-source>task source</a> for the <a href=#concept-task title=concept-task>tasks</a> listed in this
   section is the <a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</p>
@@ -32161,7 +32161,7 @@
   <code><a href=#texttrackcue>TextTrackCue</a></code> object's <a href=#text-track-cue>text track cue</a> is in a <a href=#text-track>text track</a>'s
   <a href=#text-track-list-of-cues title="text track list of cues">list of cues</a>, and that <a href=#text-track>text track</a> is in
   a <a href=#media-element>media element</a>'s <a href=#list-of-text-tracks>list of text tracks</a>, and the <a href=#media-element>media
-  element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, then run the <i>time marches on</i>
+  element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, then run the <i><a href=#time-marches-on>time marches on</a></i>
   steps for that <a href=#media-element>media element</a>.</p>
 
   <p>The <dfn id=dom-texttrackcue-endtime title=dom-TextTrackCue-endTime><code>endTime</code></dfn> attribute, on getting,
@@ -32171,7 +32171,7 @@
   <code><a href=#texttrackcue>TextTrackCue</a></code> object's <a href=#text-track-cue>text track cue</a> is in a <a href=#text-track>text track</a>'s
   <a href=#text-track-list-of-cues title="text track list of cues">list of cues</a>, and that <a href=#text-track>text track</a> is in
   a <a href=#media-element>media element</a>'s <a href=#list-of-text-tracks>list of text tracks</a>, and the <a href=#media-element>media
-  element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, then run the <i>time marches on</i>
+  element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, then run the <i><a href=#time-marches-on>time marches on</a></i>
   steps for that <a href=#media-element>media element</a>.</p>
 
   <p>The <dfn id=dom-texttrackcue-pauseonexit title=dom-TextTrackCue-pauseOnExit><code>pauseOnExit</code></dfn> attribute, on
@@ -37103,7 +37103,7 @@
   path</a> is defined, overlapping parts of the paths in one stroke
   operation are treated as if their union was what was painted.</p>
 
-  <p class=note>The stroke <em>style</em> is affected by the
+  <p class=note>The stroke <em><a href=#the-style-element>style</a></em> is affected by the
   transformation during painting, even if the intended path is the
   <a href=#current-default-path>current default path</a>.</p>
 
@@ -37420,7 +37420,7 @@
     If the image has no intrinsic dimensions, the <i>concrete object size</i> must be used instead,
     as determined using the CSS "<a href=http://dev.w3.org/csswg/css3-images/#default-sizing>Concrete Object Size Resolution</a>"
     algorithm, with the <i>specified size</i> having neither a definite width nor height, nor any
-    additional contraints, the object's intrinsic properties being those of the <var title="">image</var> argument, and the <i>default object size</i> being the size of the
+    additional contraints, the object's intrinsic properties being those of the <var title="">image</var> argument, and the <i><a href=#default-object-size>default object size</a></i> being the size of the
     <a href=#scratch-bitmap>scratch bitmap</a>. <a href=#refsCSSIMAGES>[CSSIMAGES]</a></p>
 
     <p>The source rectangle is the rectangle whose corners are the four points (<var title="">sx</var>, <var title="">sy</var>), (<span title=""><var title="">sx</var>+<var title="">sw</var></span>, <var title="">sy</var>), (<span title=""><var title="">sx</var>+<var title="">sw</var></span>, <span title=""><var title="">sy</var>+<var title="">sh</var></span>),
@@ -42863,11 +42863,11 @@
 
      <li>
 
-      <p>Let <var title="">cell<sub>a</sub></var> be the element corresponding to the <a href=#concept-cell title=concept-cell>cell</a> in the first <a href=#concept-row title=concept-row>row</a> of group
+      <p>Let <var title="">cell<sub><a href=#the-a-element>a</a></sub></var> be the element corresponding to the <a href=#concept-cell title=concept-cell>cell</a> in the first <a href=#concept-row title=concept-row>row</a> of group
       <var title="">a</var> that covers the slot in that <a href=#concept-row title=concept-row>row</a> whose
       <var title="">x</var>-coordinate is <var title="">x</var>.</p>
 
-      <p>Let <var title="">cell<sub>b</sub></var> be the element corresponding to the <a href=#concept-cell title=concept-cell>cell</a> in the first <a href=#concept-row title=concept-row>row</a> of group
+      <p>Let <var title="">cell<sub><a href=#the-b-element>b</a></sub></var> be the element corresponding to the <a href=#concept-cell title=concept-cell>cell</a> in the first <a href=#concept-row title=concept-row>row</a> of group
       <var title="">b</var> that covers the slot in that <a href=#concept-row title=concept-row>row</a> whose
       <var title="">x</var>-coordinate is <var title="">x</var>.</p>
 
@@ -42883,12 +42883,12 @@
 
      <li>
 
-      <p>Let <var title="">type<sub>a</sub></var> and <var title="">value<sub>a</sub></var> be
-      the <a href=#type-and-value-of-the-cell>type and value of the cell</a> <var title="">cell<sub>a</sub></var>, as defined
+      <p>Let <var title="">type<sub><a href=#the-a-element>a</a></sub></var> and <var title="">value<sub><a href=#the-a-element>a</a></sub></var> be
+      the <a href=#type-and-value-of-the-cell>type and value of the cell</a> <var title="">cell<sub><a href=#the-a-element>a</a></sub></var>, as defined
       below.</p>
 
-      <p>Let <var title="">type<sub>b</sub></var> and <var title="">value<sub>b</sub></var> be
-      the <a href=#type-and-value-of-the-cell>type and value of the cell</a> <var title="">cell<sub>b</sub></var>, as defined
+      <p>Let <var title="">type<sub><a href=#the-b-element>b</a></sub></var> and <var title="">value<sub><a href=#the-b-element>b</a></sub></var> be
+      the <a href=#type-and-value-of-the-cell>type and value of the cell</a> <var title="">cell<sub><a href=#the-b-element>b</a></sub></var>, as defined
       below.</p>
 
       <p>The <dfn id=type-and-value-of-the-cell>type and value of the cell</dfn> <var title="">cell</var> are computed as follows.</p>
@@ -42961,9 +42961,9 @@
 
      <li>
 
-      <p>If <var title="">type<sub>a</sub></var> and <var title="">type<sub>b</sub></var> are not
-      equal, then: return "a before b" if <var title="">type<sub>a</sub></var> is earlier in the
-      following list than <var title="">type<sub>b</sub></var>, otherwise, return "b before a";
+      <p>If <var title="">type<sub><a href=#the-a-element>a</a></sub></var> and <var title="">type<sub><a href=#the-b-element>b</a></sub></var> are not
+      equal, then: return "a before b" if <var title="">type<sub><a href=#the-a-element>a</a></sub></var> is earlier in the
+      following list than <var title="">type<sub><a href=#the-b-element>b</a></sub></var>, otherwise, return "b before a";
       then, abort these steps.</p>
 
       <ol class=brief><li><a href=#concept-time title=concept-time>time</a></li>
@@ -42975,13 +42975,13 @@
        <li>"string"</li>
       </ol></li>
 
-     <li><p>If <var title="">value<sub>a</sub></var> and <var title="">value<sub>b</sub></var> are
+     <li><p>If <var title="">value<sub><a href=#the-a-element>a</a></sub></var> and <var title="">value<sub><a href=#the-b-element>b</a></sub></var> are
      equal, then return "equal" and abort these steps.</li>
 
      <li>
 
-      <p>If <var title="">type<sub>a</sub></var> and <var title="">type<sub>b</sub></var> are not
-      "string", then: if <var title="">value<sub>a</sub></var> is earlier than <var title="">value<sub>b</sub></var> then return "a before b" and abort these steps, otherwise,
+      <p>If <var title="">type<sub><a href=#the-a-element>a</a></sub></var> and <var title="">type<sub><a href=#the-b-element>b</a></sub></var> are not
+      "string", then: if <var title="">value<sub><a href=#the-a-element>a</a></sub></var> is earlier than <var title="">value<sub><a href=#the-b-element>b</a></sub></var> then return "a before b" and abort these steps, otherwise,
       return "b before a" and abort these steps.</p>
 
       <p>Values sort in their natural order, with the following additional constraints:</p>
@@ -43009,13 +43009,13 @@
 
      <li>
 
-      <p>Let <var title="">components<sub>a</sub></var> be the result of <a href=#parsing-the-sort-key>parsing the sort
-      key</a> <var title="">value<sub>a</sub></var>.</p>
+      <p>Let <var title="">components<sub><a href=#the-a-element>a</a></sub></var> be the result of <a href=#parsing-the-sort-key>parsing the sort
+      key</a> <var title="">value<sub><a href=#the-a-element>a</a></sub></var>.</p>
 
-      <p>Let <var title="">components<sub>b</sub></var> be the result of <a href=#parsing-the-sort-key>parsing the sort
-      key</a> <var title="">value<sub>b</sub></var>.</p>
+      <p>Let <var title="">components<sub><a href=#the-b-element>b</a></sub></var> be the result of <a href=#parsing-the-sort-key>parsing the sort
+      key</a> <var title="">value<sub><a href=#the-b-element>b</a></sub></var>.</p>
 
-      <p>As described below, <var title="">components<sub>a</sub></var> and <var title="">components<sub>b</sub></var> are tuples consisting of a list of <var title="">n</var>
+      <p>As described below, <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var> are tuples consisting of a list of <var title="">n</var>
       <i>numbers</i>, a list of <var title="">n</var> <i>number strings</i>, a list of <var title="">n</var>+1 <i>non-numeric strings</i>, and a list of 2<var title="">n</var>+1 <i>raw
       strings</i>, for any non-negative integer value of <var title="">n</var> (zero or more).</p>
 
@@ -43024,8 +43024,8 @@
      <li>
 
       <p>Let <var title="">order</var> be the result a <a href=#locale-specific-string-comparison>locale-specific string
-      comparison</a> of <var title="">components<sub>a</sub></var>'s first <i>non-numeric
-      string</i> and <var title="">components<sub>b</sub></var>'s first <i>non-numeric string</i>,
+      comparison</a> of <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s first <i>non-numeric
+      string</i> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s first <i>non-numeric string</i>,
       in the context of <var title="">th</var>.</p>
 
       <p>If <var title="">order</var> is not "equal" then return <var title="">order</var> and abort
@@ -43035,22 +43035,22 @@
 
      <li>
 
-      <p>If <var title="">components<sub>a</sub></var> and <var title="">components<sub>b</sub></var> both have exactly one <i>number</i>, then run these
+      <p>If <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var> both have exactly one <i>number</i>, then run these
       substeps:</p>
 
       <ol><li>
 
-        <p>If <var title="">components<sub>a</sub></var>'s <i>number</i> is less than <var title="">components<sub>b</sub></var>'s <i>number</i>, return "a before b".</p>
+        <p>If <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <i>number</i> is less than <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <i>number</i>, return "a before b".</p>
 
-        <p>If <var title="">components<sub>b</sub></var>'s <i>number</i> is less than <var title="">components<sub>a</sub></var>'s <i>number</i>, return "b before a".</p>
+        <p>If <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <i>number</i> is less than <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <i>number</i>, return "b before a".</p>
 
        </li>
 
        <li>
 
         <p>Let <var title="">order</var> be the result a <a href=#locale-specific-string-comparison>locale-specific string
-        comparison</a> of <var title="">components<sub>a</sub></var>'s second <i>non-numeric
-        string</i> and <var title="">components<sub>b</sub></var>'s second <i>non-numeric
+        comparison</a> of <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s second <i>non-numeric
+        string</i> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s second <i>non-numeric
         string</i>, in the context of <var title="">th</var>.</p>
 
         <p>If <var title="">order</var> is not "equal" then return <var title="">order</var> and
@@ -43061,8 +43061,8 @@
        <li>
 
         <p>Let <var title="">order</var> be the result a <a href=#locale-specific-string-comparison>locale-specific string
-        comparison</a> of <var title="">components<sub>a</sub></var>'s <i>number string</i> and
-        <var title="">components<sub>b</sub></var>'s <i>number string</i>, in the context of <var title="">th</var>.</p>
+        comparison</a> of <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <i>number string</i> and
+        <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <i>number string</i>, in the context of <var title="">th</var>.</p>
 
         <p>If <var title="">order</var> is not "equal" then return <var title="">order</var> and
         abort these steps.</p>
@@ -43073,10 +43073,10 @@
 
       <ol><li>
 
-        <p>If <var title="">components<sub>a</sub></var> has zero <i>numbers</i> but <var title="">components<sub>b</sub></var> has more than zero <i>numbers</i>, return "a before
+        <p>If <var title="">components<sub><a href=#the-a-element>a</a></sub></var> has zero <i>numbers</i> but <var title="">components<sub><a href=#the-b-element>b</a></sub></var> has more than zero <i>numbers</i>, return "a before
         b".</p>
 
-        <p>If <var title="">components<sub>b</sub></var> has zero <i>numbers</i> but <var title="">components<sub>a</sub></var> has more than zero <i>numbers</i>, return "b before
+        <p>If <var title="">components<sub><a href=#the-b-element>b</a></sub></var> has zero <i>numbers</i> but <var title="">components<sub><a href=#the-a-element>a</a></sub></var> has more than zero <i>numbers</i>, return "b before
         a".</p>
 
        </li>
@@ -43085,10 +43085,10 @@
 
         <!-- either an=bn=0, an=1 bn>1, bn=1 an>1, or an and bn > 1. -->
 
-        <p>If <var title="">components<sub>a</sub></var> has one <i>number</i>, return "a before
+        <p>If <var title="">components<sub><a href=#the-a-element>a</a></sub></var> has one <i>number</i>, return "a before
         b".</p>
 
-        <p>If <var title="">components<sub>b</sub></var> has one <i>number</i>, return "b before
+        <p>If <var title="">components<sub><a href=#the-b-element>b</a></sub></var> has one <i>number</i>, return "b before
         a".</p>
 
        </li>
@@ -43097,21 +43097,21 @@
 
         <!-- either an=bn=0, or an and bn > 1. -->
 
-        <p>If <var title="">components<sub>a</sub></var> and <var title="">components<sub>b</sub></var> have more than one <i>number</i>, run these substeps:</p>
+        <p>If <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var> have more than one <i>number</i>, run these substeps:</p>
 
-        <ol><li><p>Let <var title="">count</var> be the smaller of the number of <i>numbers</i> in <var title="">components<sub>a</sub></var> and the number of <i>numbers</i> in <var title="">components<sub>b</sub></var>.</li>
+        <ol><li><p>Let <var title="">count</var> be the smaller of the number of <i>numbers</i> in <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and the number of <i>numbers</i> in <var title="">components<sub><a href=#the-b-element>b</a></sub></var>.</li>
 
-         <li><p>For each <i>number</i> in <var title="">components<sub>a</sub></var> and <var title="">components<sub>b</sub></var> from the first to the <var title="">count</var>th, in
-         order: if <var title="">components<sub>a</sub></var>'s <i>number</i> is less than <var title="">components<sub>b</sub></var>'s <i>number</i>, then return "a before b" and abort
-         these steps; otherwise, if <var title="">components<sub>b</sub></var>'s <i>number</i> is
-         less than <var title="">components<sub>a</sub></var>'s <i>number</i>, return "b before a"
+         <li><p>For each <i>number</i> in <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var> from the first to the <var title="">count</var>th, in
+         order: if <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <i>number</i> is less than <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <i>number</i>, then return "a before b" and abort
+         these steps; otherwise, if <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <i>number</i> is
+         less than <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <i>number</i>, return "b before a"
          and abort these steps.</li>
 
          <li>
 
-          <p>If <var title="">components<sub>a</sub></var> has fewer <i>numbers</i> than <var title="">components<sub>b</sub></var>, return "a before b" and abort these steps.</p>
+          <p>If <var title="">components<sub><a href=#the-a-element>a</a></sub></var> has fewer <i>numbers</i> than <var title="">components<sub><a href=#the-b-element>b</a></sub></var>, return "a before b" and abort these steps.</p>
 
-          <p>If <var title="">components<sub>b</sub></var> has fewer <i>numbers</i> than <var title="">components<sub>a</sub></var>, return "b before a" and abort these steps.</p>
+          <p>If <var title="">components<sub><a href=#the-b-element>b</a></sub></var> has fewer <i>numbers</i> than <var title="">components<sub><a href=#the-a-element>a</a></sub></var>, return "b before a" and abort these steps.</p>
 
          </li>
 
@@ -43122,7 +43122,7 @@
          <li>
 
           <p><i>String loop</i>: Let <var title="">order</var> be the result a <a href=#locale-specific-string-comparison>locale-specific
-          string comparison</a> of <var title="">components<sub>a</sub></var>'s <var title="">index</var>th <i>number string</i> and <var title="">components<sub>b</sub></var>'s <var title="">index</var>th <i>number string</i>,
+          string comparison</a> of <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <var title="">index</var>th <i>number string</i> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <var title="">index</var>th <i>number string</i>,
           in the context of <var title="">th</var>.</p>
 
           <p>If <var title="">order</var> is not "equal" then return <var title="">order</var> and
@@ -43139,7 +43139,7 @@
          <li>
 
           <p>Let <var title="">order</var> be the result a <a href=#locale-specific-string-comparison>locale-specific string
-          comparison</a> of <var title="">components<sub>a</sub></var>'s <var title="">index</var>th <i>separator string</i> and <var title="">components<sub>b</sub></var>'s <var title="">index</var>th <i>separator
+          comparison</a> of <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <var title="">index</var>th <i>separator string</i> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <var title="">index</var>th <i>separator
           string</i>, in the context of <var title="">th</var>.</p>
 
           <p>If <var title="">order</var> is not "equal" then return <var title="">order</var> and
@@ -43149,7 +43149,7 @@
 
          <li>
 
-          <p>If <var title="">index</var> is less than the number of <i>numbers</i> in <var title="">components<sub>a</sub></var> and <var title="">components<sub>b</sub></var>, return
+          <p>If <var title="">index</var> is less than the number of <i>numbers</i> in <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>, return
           to the step labeled <i>string loop</i>.</p>
 
          </li>
@@ -43169,8 +43169,8 @@
      <li>
 
       <p><i>Final loop:</i> Let <var title="">order</var> be the result a <a href=#raw-string-comparison>raw string
-      comparison</a> of <var title="">components<sub>a</sub></var>'s <var title="">n</var>th
-      <i>raw string</i> and <var title="">components<sub>b</sub></var>'s <var title="">n</var>th
+      comparison</a> of <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <var title="">n</var>th
+      <i>raw string</i> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <var title="">n</var>th
       <i>raw string</i>.</p>
 
       <p>If <var title="">order</var> is not "equal" then return <var title="">order</var> and abort
@@ -43186,7 +43186,7 @@
 
      <li>
 
-      <p>If <var title="">index</var> is less than the number of <i>raw strings</i> in <var title="">components<sub>a</sub></var> and <var title="">components<sub>b</sub></var>, return
+      <p>If <var title="">index</var> is less than the number of <i>raw strings</i> in <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>, return
       to the step labeled <i>final loop</i>.</p>
 
      </li>
@@ -44863,14 +44863,14 @@
   <p>The <dfn id=dom-form-reset title=dom-form-reset><code>reset()</code></dfn> method, when invoked, must run the
   following steps:</p>
 
-  <ol><li><p>If the <code><a href=#the-form-element>form</a></code> element is marked as <i>locked for reset</i>, then abort these
+  <ol><li><p>If the <code><a href=#the-form-element>form</a></code> element is marked as <i><a href=#locked-for-reset>locked for reset</a></i>, then abort these
    steps.</li>
 
    <li><p>Mark the <code><a href=#the-form-element>form</a></code> element as <dfn id=locked-for-reset>locked for reset</dfn>.</li>
 
    <li><p><a href=#concept-form-reset title=concept-form-reset>Reset</a> the <code><a href=#the-form-element>form</a></code> element.</li>
 
-   <li><p>Unmark the <code><a href=#the-form-element>form</a></code> element as <i>locked for reset</i>.</li>
+   <li><p>Unmark the <code><a href=#the-form-element>form</a></code> element as <i><a href=#locked-for-reset>locked for reset</a></i>.</li>
 
   </ol><p>If the <dfn id=dom-form-checkvalidity title=dom-form-checkValidity><code>checkValidity()</code></dfn> method is
   invoked, the user agent must <a href=#statically-validate-the-constraints>statically validate the constraints</a> of the
@@ -46527,10 +46527,10 @@
 
   <p>The <dfn id=attr-input-checked title=attr-input-checked><code>checked</code></dfn> content attribute is a
   <a href=#boolean-attribute>boolean attribute</a> that gives the default <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> of the <code><a href=#the-input-element>input</a></code> element. <span class=impl>When the <code title=attr-input-checked><a href=#attr-input-checked>checked</a></code> content attribute is added,
-  if the control does not have <i title=concept-input-checked-dirty>dirty checkedness</i>, the
+  if the control does not have <i title=concept-input-checked-dirty><a href=#concept-input-checked-dirty>dirty checkedness</a></i>, the
   user agent must set the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> of the element to
   true; when the <code title=attr-input-checked><a href=#attr-input-checked>checked</a></code> content attribute is removed, if
-  the control does not have <i title=concept-input-checked-dirty>dirty checkedness</i>, the user
+  the control does not have <i title=concept-input-checked-dirty><a href=#concept-input-checked-dirty>dirty checkedness</a></i>, the user
   agent must set the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> of the element to
   false.</span></p>
 
@@ -46545,15 +46545,15 @@
   it does not, empty the list of <a href=#concept-input-type-file-selected title=concept-input-type-file-selected>selected
   files</a>, and then invoke the <a href=#value-sanitization-algorithm>value sanitization algorithm</a>, if the <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute's current state defines one.</p>
 
-  <p>Each <code><a href=#the-input-element>input</a></code> element can be <i title=concept-fe-mutable>mutable</i>. Except where
-  otherwise specified, an <code><a href=#the-input-element>input</a></code> element is always <i title=concept-fe-mutable>mutable</i>. Similarly, except where otherwise specified, the user
+  <p>Each <code><a href=#the-input-element>input</a></code> element can be <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>. Except where
+  otherwise specified, an <code><a href=#the-input-element>input</a></code> element is always <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>. Similarly, except where otherwise specified, the user
   agent should not allow the user to modify the element's <a href=#concept-fe-value title=concept-fe-value>value</a> or <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a>.</p>
 
-  <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 not <i title=concept-fe-mutable>mutable</i>.</p>
+  <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 not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>.</p>
 
   <p class=note>The <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code> attribute can also in some
   cases (e.g. for the <a href="#date-state-(type=date)" title=attr-input-type-date>Date</a> state, but not the <a href="#checkbox-state-(type=checkbox)" title=attr-input-type-checkbox>Checkbox</a> state) stop an <code><a href=#the-input-element>input</a></code> element from
-  being <i title=concept-fe-mutable>mutable</i>.</p>
+  being <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>.</p>
 
   <p>The <a href=#concept-node-clone-ext title=concept-node-clone-ext>cloning steps</a> for <code><a href=#the-input-element>input</a></code> elements
   must propagate the <a href=#concept-fe-value title=concept-fe-value>value</a>, <a href=#concept-input-value-dirty-flag title=concept-input-value-dirty-flag>dirty value flag</a>, <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a>, and <a href=#concept-input-checked-dirty-flag title=concept-input-checked-dirty-flag>dirty checkedness flag</a> from the node being cloned
@@ -46572,12 +46572,12 @@
   changes state, the user agent must run the following steps:</p>
 
   <ol><!-- http://software.hixie.ch/utilities/js/live-dom-viewer/saved/602 --><li><p>If the previous state of the element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute
-   put the <code title=dom-input-value><a href=#dom-input-value>value</a></code> IDL attribute in the <i title=dom-input-value-value>value</i> mode, and the element's <a href=#concept-fe-value title=concept-fe-value>value</a> is not the empty string, and the new state of the element's
-   <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute puts the <code title=dom-input-value><a href=#dom-input-value>value</a></code> IDL attribute in either the <i title=dom-input-value-default>default</i> mode or the <i title=dom-input-value-default-on>default/on</i> mode, then set the element's <code title=attr-input-value><a href=#attr-input-value>value</a></code> content attribute to the element's <a href=#concept-fe-value title=concept-fe-value>value</a>.</li>
+   put the <code title=dom-input-value><a href=#dom-input-value>value</a></code> IDL attribute in the <i title=dom-input-value-value><a href=#dom-input-value-value>value</a></i> mode, and the element's <a href=#concept-fe-value title=concept-fe-value>value</a> is not the empty string, and the new state of the element's
+   <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute puts the <code title=dom-input-value><a href=#dom-input-value>value</a></code> IDL attribute in either the <i title=dom-input-value-default><a href=#dom-input-value-default>default</a></i> mode or the <i title=dom-input-value-default-on><a href=#dom-input-value-default-on>default/on</a></i> mode, then set the element's <code title=attr-input-value><a href=#attr-input-value>value</a></code> content attribute to the element's <a href=#concept-fe-value title=concept-fe-value>value</a>.</li>
 
    <li><p>Otherwise, if the previous state of the element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute put the <code title=dom-input-value><a href=#dom-input-value>value</a></code>
-   IDL attribute in any mode other than the <i title=dom-input-value-value>value</i> mode, and the
-   new state of the element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute puts the <code title=dom-input-value><a href=#dom-input-value>value</a></code> IDL attribute in the <i title=dom-input-value-value>value</i> mode, then set the <a href=#concept-fe-value title=concept-fe-value>value</a> of the element to the value of the <code title=attr-input-value><a href=#attr-input-value>value</a></code> content attribute, if there is one, or the empty string
+   IDL attribute in any mode other than the <i title=dom-input-value-value><a href=#dom-input-value-value>value</a></i> mode, and the
+   new state of the element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute puts the <code title=dom-input-value><a href=#dom-input-value>value</a></code> IDL attribute in the <i title=dom-input-value-value><a href=#dom-input-value-value>value</a></i> mode, then set the <a href=#concept-fe-value title=concept-fe-value>value</a> of the element to the value of the <code title=attr-input-value><a href=#attr-input-value>value</a></code> content attribute, if there is one, or the empty string
    otherwise, and then set the control's <a href=#concept-input-value-dirty-flag title=concept-input-value-dirty-flag>dirty value
    flag</a> to false.</li>
 
@@ -46624,9 +46624,9 @@
   <p>The IDL attributes <dfn id=dom-input-width title=dom-input-width><code>width</code></dfn> and <dfn id=dom-input-height title=dom-input-height><code>height</code></dfn> must return the rendered width and height of
   the image, in CSS pixels, if an image is <a href=#being-rendered>being rendered</a>, and is being rendered to a
   visual medium; or else the intrinsic width and height of the image, in CSS pixels, if an image is
-  <i title=input-img-available>available</i> but not being rendered to a visual medium; or else 0,
-  if no image is <i title=input-img-available>available</i>. When the <code><a href=#the-input-element>input</a></code> element's
-  <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is not in the <a href="#image-button-state-(type=image)" title=attr-input-type-image>Image Button</a> state, then no image is <i title=input-img-available>available</i>. <a href=#refsCSS>[CSS]</a></p>
+  <i title=input-img-available><a href=#input-img-available>available</a></i> but not being rendered to a visual medium; or else 0,
+  if no image is <i title=input-img-available><a href=#input-img-available>available</a></i>. When the <code><a href=#the-input-element>input</a></code> element's
+  <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is not in the <a href="#image-button-state-(type=image)" title=attr-input-type-image>Image Button</a> state, then no image is <i title=input-img-available><a href=#input-img-available>available</a></i>. <a href=#refsCSS>[CSS]</a></p>
 
   <p>On setting, they must act as if they <a href=#reflect title=reflect>reflected</a> the respective
   content attributes of the same name.</p>
@@ -46744,13 +46744,13 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, its <a href=#concept-fe-value title=concept-fe-value>value</a> should be editable by the user. User agents must not allow
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, its <a href=#concept-fe-value title=concept-fe-value>value</a> should be editable by the user. User agents must not allow
   users to insert U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN (CR) characters into the element's
   <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
 
   <!-- this next bit is also in the <textarea> section -->
   <!-- and something similar is in the session history section -->
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the writing direction of the element, setting it either to a left-to-right writing
   direction or a right-to-left writing direction. If the user does so, the user agent must then run
   the following steps:</p>
@@ -46845,7 +46845,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, its <a href=#concept-fe-value title=concept-fe-value>value</a> should be editable by the user. User agents may change the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, its <a href=#concept-fe-value title=concept-fe-value>value</a> should be editable by the user. User agents may change the
   spacing and, with care, the punctuation of <a href=#concept-fe-value title=concept-fe-value>values</a> that the
   user enters. User agents must not allow users to insert U+000A LINE FEED (LF) or U+000D CARRIAGE
   RETURN (CR) characters into the element's <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
@@ -46941,7 +46941,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the URL represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>. User agents
   may allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a string that is not
   a <a href=#valid-url title="valid URL">valid</a> <a href=#absolute-url>absolute URL</a>, but may also or instead
@@ -47083,7 +47083,7 @@
 
     <div class=impl>
 
-    <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+    <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
     user to change the e-mail address represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>. User agents may allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a string that is not a <a href=#valid-e-mail-address>valid e-mail
     address</a>. The user agent should act in a manner consistent with expecting the user to
     provide a single e-mail address. User agents should allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string. User agents must not allow users to
@@ -47133,7 +47133,7 @@
 
     <div class=impl>
 
-    <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+    <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
     user to add, remove, and edit the e-mail addresses represented by its <a href=#concept-fe-values title=concept-fe-values>value<em>s</em></a>. User agents may allow the user to set any
     individual value in the list of <a href=#concept-fe-value title=concept-fe-value>value<em>s</em></a> to a
     string that is not a <a href=#valid-e-mail-address>valid e-mail address</a>, but must not allow users to set any
@@ -47309,7 +47309,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, its <a href=#concept-fe-value title=concept-fe-value>value</a> should be editable by the user. User agents must not allow
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, its <a href=#concept-fe-value title=concept-fe-value>value</a> should be editable by the user. User agents must not allow
   users to insert U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN (CR) characters into the <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
 
   </div>
@@ -47398,7 +47398,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the <a href=#concept-datetime title=concept-datetime>global date and time</a> represented by its
   <a href=#concept-fe-value title=concept-fe-value>value</a>, as obtained by <a href=#parse-a-global-date-and-time-string title="parse a global date and
   time string">parsing a global date and time</a> from it. User agents must not allow the user to
@@ -47590,7 +47590,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the <a href=#concept-date title=concept-date>date</a> represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as obtained by <a href=#parse-a-date-string title="parse a date string">parsing a
   date</a> from it. User agents must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a non-empty string that is not a <a href=#valid-date-string>valid date
   string</a>. If the user agent provides a user interface for selecting a <a href=#concept-date title=concept-date>date</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a> must be set
@@ -47729,7 +47729,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the <a href=#concept-month title=concept-month>month</a> represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as obtained by <a href=#parse-a-month-string title="parse a month string">parsing a
   month</a> from it. User agents must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a non-empty string that is not a <a href=#valid-month-string>valid month
   string</a>. If the user agent provides a user interface for selecting a <a href=#concept-month title=concept-month>month</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a> must be
@@ -47869,7 +47869,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the <a href=#concept-week title=concept-week>week</a> represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as obtained by <a href=#parse-a-week-string title="parse a week string">parsing a
   week</a> from it. User agents must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a non-empty string that is not a <a href=#valid-week-string>valid week
   string</a>. If the user agent provides a user interface for selecting a <a href=#concept-week title=concept-week>week</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a> must be set
@@ -48012,7 +48012,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the <a href=#concept-time title=concept-time>time</a> represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as obtained by <a href=#parse-a-time-string title="parse a time string">parsing a
   time</a> from it. User agents must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a non-empty string that is not a <a href=#valid-time-string>valid time
   string</a>. If the user agent provides a user interface for selecting a <a href=#concept-time title=concept-time>time</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a> must be set
@@ -48151,7 +48151,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the <a href=#concept-datetime-local title=concept-datetime-local>date and time</a> represented by its
   <a href=#concept-fe-value title=concept-fe-value>value</a>, as obtained by <a href=#parse-a-local-date-and-time-string title="parse a local date and
   time string">parsing a date and time</a> from it. User agents must not allow the user to set
@@ -48311,7 +48311,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the number represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as
   obtained from applying the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating-point number values</a> to it. User
   agents must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a
@@ -48477,7 +48477,7 @@
   <p class=note>In this state, the range and step constraints are enforced even during user input,
   and there is no way to set the value to the empty string.</p>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the number represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as
   obtained from applying the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating-point number values</a> to it. User
   agents must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a string
@@ -48700,7 +48700,7 @@
   <p class=note>In this state, there is always a color picked, and there is no way to set the
   value to the empty string.</p>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the color represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as
   obtained from applying the <a href=#rules-for-parsing-simple-color-values>rules for parsing simple color values</a> to it. User agents
   must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a string that is
@@ -48805,7 +48805,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, then: The <a href=#pre-click-activation-steps>pre-click
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, then: The <a href=#pre-click-activation-steps>pre-click
   activation steps</a> consist of setting the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> to its opposite value (i.e. true if it is false,
   false if it is true), and of setting the element's <code title=dom-input-indeterminate><a href=#dom-input-indeterminate>indeterminate</a></code> IDL attribute to false. The <a href=#canceled-activation-steps>canceled
   activation steps</a> consist of setting the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a>
@@ -48814,10 +48814,10 @@
   <a href=#activation-behavior>activation behavior</a> is to <a href=#fire-a-simple-event>fire a simple event</a> that bubbles named <code title=event-change>change</code> at the element. <!-- It's not cancelable. Once this fires, the
   control is checked, end of story. --></p>
 
-  <p>If the element is not <i title=concept-fe-mutable>mutable</i>, it has no <a href=#activation-behavior>activation
+  <p>If the element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, it has no <a href=#activation-behavior>activation
   behavior</a>.</p>
 
-  <p><strong>Constraint validation</strong>: If the element is <i title=concept-input-required>required</i> and its <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> is false, then the element is <a href=#suffering-from-being-missing>suffering from
+  <p><strong>Constraint validation</strong>: If the element is <i title=concept-input-required><a href=#concept-input-required>required</a></i> and its <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> is false, then the element is <a href=#suffering-from-being-missing>suffering from
   being missing</a>.</p>
 
   </div>
@@ -48904,7 +48904,7 @@
   </div>
 
   <p>The <code><a href=#the-input-element>input</a></code> element <a href=#represents>represents</a> a control that, when used in conjunction
-  with other <code><a href=#the-input-element>input</a></code> elements, forms a <i>radio button group</i> in which only one
+  with other <code><a href=#the-input-element>input</a></code> elements, forms a <i><a href=#radio-button-group>radio button group</a></i> in which only one
   control can have its <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state set to true. If the
   element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is true, the control
   represents the selected control in the group, and if it is false, it indicates a control in the
@@ -48925,13 +48925,13 @@
    <li>They both have a <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> attribute, their <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> attributes are not empty, and the value of <var title="">a</var>'s <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> attribute is a <a href=#compatibility-caseless>compatibility
    caseless</a> match for the value of <var title="">b</var>'s <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> attribute.</li>
 
-  </ul><p>A document must not contain an <code><a href=#the-input-element>input</a></code> element whose <i>radio button group</i>
+  </ul><p>A document must not contain an <code><a href=#the-input-element>input</a></code> element whose <i><a href=#radio-button-group>radio button group</a></i>
   contains only that element.</p>
 
   <div class=impl>
 
-  <p>When any of the following phenomena occur, if the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is true after the occurrence, the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state of all the other elements in the same <i>radio
-  button group</i> must be set to false:</p>
+  <p>When any of the following phenomena occur, if the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is true after the occurrence, the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state of all the other elements in the same <i><a href=#radio-button-group>radio
+  button group</a></i> must be set to false:</p>
 
   <ul><li>The element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is set to true (for
    whatever reason).</li>
@@ -48941,17 +48941,17 @@
 
    <li>The element's <a href=#form-owner>form owner</a> changes.</li>
 
-  </ul><p>If the element is <i title=concept-fe-mutable>mutable</i>, then: The <a href=#pre-click-activation-steps>pre-click
+  </ul><p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, then: The <a href=#pre-click-activation-steps>pre-click
   activation steps</a> consist of setting the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> to true. The <a href=#canceled-activation-steps>canceled activation steps</a>
   consist of setting the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> to false. The
   <a href=#activation-behavior>activation behavior</a> is to <a href=#fire-a-simple-event>fire a simple event</a> that bubbles named <code title=event-change>change</code> at the element. <!-- It's not cancelable. Once this fires, the
   control is checked, end of story. -->.</p>
 
-  <p>If the element is not <i title=concept-fe-mutable>mutable</i>, it has no <a href=#activation-behavior>activation
+  <p>If the element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, it has no <a href=#activation-behavior>activation
   behavior</a>.</p>
 
-  <p><strong>Constraint validation</strong>: If an element in the <i>radio button group</i> is <i title=concept-input-required>required</i>, and all of the <code><a href=#the-input-element>input</a></code> elements in the
-  <i>radio button group</i> have a <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> that is
+  <p><strong>Constraint validation</strong>: If an element in the <i><a href=#radio-button-group>radio button group</a></i> is <i title=concept-input-required><a href=#concept-input-required>required</a></i>, and all of the <code><a href=#the-input-element>input</a></code> elements in the
+  <i><a href=#radio-button-group>radio button group</a></i> have a <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> that is
   false, then the element is <a href=#suffering-from-being-missing>suffering from being missing</a>.</p>
 
   </div>
@@ -49045,12 +49045,12 @@
   entire directory hierarchy or multiple files with the same name from different directories. Path
   components are those separated by U+005C REVERSE SOLIDUS character (\) characters.</p>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the files on the list, e.g. adding or removing files. Files can be from the
   filesystem or created on the fly, e.g. a picture taken from a camera connected to the user's
   device.</p>
 
-  <p><strong>Constraint validation</strong>: If the element is <i title=concept-input-required>required</i> and the list of <a href=#concept-input-type-file-selected title=concept-input-type-file-selected>selected files</a> is empty, then the element is
+  <p><strong>Constraint validation</strong>: If the element is <i title=concept-input-required><a href=#concept-input-required>required</a></i> and the list of <a href=#concept-input-type-file-selected title=concept-input-type-file-selected>selected files</a> is empty, then the element is
   <a href=#suffering-from-being-missing>suffering from being missing</a>.</p>
 
   <p>Unless the <code title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code> attribute is set, there must be no
@@ -49254,12 +49254,12 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, then the element's
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, then the element's
   <a href=#activation-behavior>activation behavior</a> is as follows: if the element has a <a href=#form-owner>form owner</a>,
   <a href=#concept-form-submit title=concept-form-submit>submit</a> the <a href=#form-owner>form owner</a> from the
   <code><a href=#the-input-element>input</a></code> element; otherwise, do nothing.</p>
 
-  <p>If the element is not <i title=concept-fe-mutable>mutable</i>, it has no <a href=#activation-behavior>activation
+  <p>If the element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, it has no <a href=#activation-behavior>activation
   behavior</a>.</p>
 
   </div>
@@ -49396,7 +49396,7 @@
   interactive fashion, but should honor any animation in the resource.</p>
 
   <p>The <a href=#concept-task title=concept-task>task</a> that is <a href=#queue-a-task title="queue a task">queued</a> by
-  the <a href=#networking-task-source>networking task source</a> once the resource has been <a href=#fetch title=fetch>fetched</a>, must, if the download was successful and the image is <i title=input-img-available>available</i>, <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple
+  the <a href=#networking-task-source>networking task source</a> once the resource has been <a href=#fetch title=fetch>fetched</a>, must, if the download was successful and the image is <i title=input-img-available><a href=#input-img-available>available</a></i>, <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><a href=#the-input-element>input</a></code> element; and
   otherwise, if the fetching process fails without a response from the remote server, or completes
   but the image is not a valid or supported image, <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple
@@ -49413,22 +49413,22 @@
 
   <div class=impl>
 
-  <hr><p>If the <code title=attr-input-src><a href=#attr-input-src>src</a></code> attribute is set, and the image is <i title=input-img-available>available</i> and the user agent is configured to display that image,
+  <hr><p>If the <code title=attr-input-src><a href=#attr-input-src>src</a></code> attribute is set, and the image is <i title=input-img-available><a href=#input-img-available>available</a></i> and the user agent is configured to display that image,
   then: The element <a href=#represents>represents</a> a control for selecting a <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>coordinate</a> from the image specified by the
-  <code title=attr-input-src><a href=#attr-input-src>src</a></code> attribute; if the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the user to select this <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>coordinate</a>, and the element's <a href=#activation-behavior>activation
+  <code title=attr-input-src><a href=#attr-input-src>src</a></code> attribute; if the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the user to select this <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>coordinate</a>, and the element's <a href=#activation-behavior>activation
   behavior</a> is as follows: if the element has a <a href=#form-owner>form owner</a>, take the user's
   selected <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>coordinate</a>, and <a href=#concept-form-submit title=concept-form-submit>submit</a> the <code><a href=#the-input-element>input</a></code> element's <a href=#form-owner>form owner</a>
   from the <code><a href=#the-input-element>input</a></code> element. If the user activates the control without explicitly
   selecting a coordinate, then the coordinate (0,0) must be assumed.</p>
 
   <p>Otherwise, the element <a href=#represents>represents</a> a submit button whose label is given by the
-  value of the <code title=attr-input-alt><a href=#attr-input-alt>alt</a></code> attribute; if the element is <i title=concept-fe-mutable>mutable</i>, then the element's <a href=#activation-behavior>activation behavior</a> is as
+  value of the <code title=attr-input-alt><a href=#attr-input-alt>alt</a></code> attribute; if the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, then the element's <a href=#activation-behavior>activation behavior</a> is as
   follows: if the element has a <a href=#form-owner>form owner</a>, set the <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected coordinate</a> to (0,0), and <a href=#concept-form-submit title=concept-form-submit>submit</a> the <code><a href=#the-input-element>input</a></code> element's <a href=#form-owner>form owner</a>
   from the <code><a href=#the-input-element>input</a></code> element.</p>
 
-  <p>In either case, if the element is <i title=concept-fe-mutable>mutable</i> but has no
+  <p>In either case, if the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i> but has no
   <a href=#form-owner>form owner</a>, then its <a href=#activation-behavior>activation behavior</a> must be to do nothing. If the
-  element is not <i title=concept-fe-mutable>mutable</i>, it has no <a href=#activation-behavior>activation
+  element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, it has no <a href=#activation-behavior>activation
   behavior</a>.</p>
 
   <p>The <dfn id=concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected coordinate</dfn> must consist of
@@ -49566,11 +49566,11 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, then the element's
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, then the element's
   <a href=#activation-behavior>activation behavior</a>, if the element has a <a href=#form-owner>form owner</a>, is to <a href=#concept-form-reset title=concept-form-reset>reset</a> the <a href=#form-owner>form owner</a>; otherwise, it is to do
   nothing.</p>
 
-  <p>If the element is not <i title=concept-fe-mutable>mutable</i>, it has no <a href=#activation-behavior>activation
+  <p>If the element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, it has no <a href=#activation-behavior>activation
   behavior</a>.</p>
 
   <p><strong>Constraint validation</strong>: The element is <a href=#barred-from-constraint-validation>barred from constraint
@@ -49648,10 +49648,10 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the element's <a href=#activation-behavior>activation
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the element's <a href=#activation-behavior>activation
   behavior</a> is to do nothing.</p>
 
-  <p>If the element is not <i title=concept-fe-mutable>mutable</i>, it has no <a href=#activation-behavior>activation
+  <p>If the element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, it has no <a href=#activation-behavior>activation
   behavior</a>.</p>
 
   <p><strong>Constraint validation</strong>: The element is <a href=#barred-from-constraint-validation>barred from constraint
@@ -49798,7 +49798,7 @@
   <h6 id=the-readonly-attribute><span class=secno>4.10.7.3.3 </span>The <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code> attribute</h6>
 
   <p>The <dfn id=attr-input-readonly title=attr-input-readonly><code>readonly</code></dfn> attribute is a <a href=#boolean-attribute>boolean
-  attribute</a> that controls whether or not the user can edit the form control. <span class=impl>When specified, the element is not <i title=concept-fe-mutable>mutable</i>.</span></p>
+  attribute</a> that controls whether or not the user can edit the form control. <span class=impl>When specified, the element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>.</span></p>
 
   <div class=impl>
 
@@ -49852,9 +49852,9 @@
 
   <div class=impl>
 
-  <p><strong>Constraint validation</strong>: If the element is <i title=concept-input-required>required</i>, and its <code title=dom-input-value><a href=#dom-input-value>value</a></code>
+  <p><strong>Constraint validation</strong>: If the element is <i title=concept-input-required><a href=#concept-input-required>required</a></i>, and its <code title=dom-input-value><a href=#dom-input-value>value</a></code>
   IDL attribute <a href=#concept-input-apply title=concept-input-apply>applies</a> and is in the mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>, and the
-  element is <i title=concept-fe-mutable>mutable</i>, and the element's <a href=#concept-fe-value title=concept-fe-value>value</a> is the empty string, then the element is <a href=#suffering-from-being-missing>suffering
+  element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, and the element's <a href=#concept-fe-value title=concept-fe-value>value</a> is the empty string, then the element is <a href=#suffering-from-being-missing>suffering
   from being missing</a>.</p>
 
   </div>
@@ -51060,7 +51060,7 @@
   attribute controls focus.</p>
 
   <p>A <code><a href=#the-select-element>select</a></code> element that is not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a> is
-  <i title=concept-fe-mutable>mutable</i>.</p>
+  <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>.</p>
 
 <!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">select</var> . <code title=dom-select-type><a href=#dom-select-type>type</a></code></dt>
@@ -54605,7 +54605,7 @@
 
   <p>The autocompletion mechanism must be implemented by the user
   agent acting as if the user had modified the element's <a href=#concept-fe-value title=concept-fe-value>value</a>, and must be done at a time
-  where the element is <i title=concept-fe-mutable>mutable</i> (e.g.
+  where the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i> (e.g.
   just after the element has been inserted into the document, or when
   the user agent <a href=#stop-parsing title="stop parsing">stops parsing</a>).
   User agents must only prefill controls using values that the user
@@ -55101,8 +55101,8 @@
 
   <dl><dt> <dfn id=suffering-from-being-missing>Suffering from being missing</dfn> </dt>
 
-   <dd> <p>When a control has no <a href=#concept-fe-value title=concept-fe-value>value</a> but has a <code title="">required</code> attribute (<code><a href=#the-input-element>input</a></code> <code title=attr-input-required><a href=#attr-input-required>required</a></code>, <code><a href=#the-select-element>select</a></code> <code title=attr-select-required><a href=#attr-select-required>required</a></code>, <code><a href=#the-textarea-element>textarea</a></code> <code title=attr-textarea-required><a href=#attr-textarea-required>required</a></code>), or, in the case of an element in a <i>radio
-   button group</i>, any of the other elements in the group has a <code title=attr-input-required><a href=#attr-input-required>required</a></code> attribute. </dd>
+   <dd> <p>When a control has no <a href=#concept-fe-value title=concept-fe-value>value</a> but has a <code title="">required</code> attribute (<code><a href=#the-input-element>input</a></code> <code title=attr-input-required><a href=#attr-input-required>required</a></code>, <code><a href=#the-select-element>select</a></code> <code title=attr-select-required><a href=#attr-select-required>required</a></code>, <code><a href=#the-textarea-element>textarea</a></code> <code title=attr-textarea-required><a href=#attr-textarea-required>required</a></code>), or, in the case of an element in a <i><a href=#radio-button-group>radio
+   button group</a></i>, any of the other elements in the group has a <code title=attr-input-required><a href=#attr-input-required>required</a></code> attribute. </dd>
 
    <dt> <dfn id=suffering-from-a-type-mismatch>Suffering from a type mismatch</dfn> </dt>
 
@@ -58620,7 +58620,7 @@
 
    </li>
 
-   <li><p>In the case of server-side image maps, append the <var>hyperlink suffix</var> to <var title="">URL</var>.</li>
+   <li><p>In the case of server-side image maps, append the <var><a href=#hyperlink-suffix>hyperlink suffix</a></var> to <var title="">URL</var>.</li>
 
    <li>
 
@@ -58679,7 +58679,7 @@
    <a href=#absolute-url>absolute URL</a>.</li>
 
    <li><p>In the case of server-side image maps, append the
-   <var>hyperlink suffix</var> to <var title="">URL</var>.</li>
+   <var><a href=#hyperlink-suffix>hyperlink suffix</a></var> to <var title="">URL</var>.</li>
 
    <li><p>Return to whatever algorithm invoked these steps and continue
    these steps asynchronously.</li>
@@ -60337,7 +60337,7 @@
    his boat, which you do. The conversation ends.
   </dl>
  </dd>
-</ul></pre>
+</dl></pre>
 
   </div>
 
@@ -60913,7 +60913,7 @@
     pseudo-class must match any element falling into one of the
     following categories:</p>
 
-    <ul><li><code><a href=#the-input-element>input</a></code> elements that are <i title=concept-input-required>required</i></li>
+    <ul><li><code><a href=#the-input-element>input</a></code> elements that are <i title=concept-input-required><a href=#concept-input-required>required</a></i></li>
 
      <li><code><a href=#the-select-element>select</a></code> elements that have a <code title=attr-select-required><a href=#attr-select-required>required</a></code>
      attribute</li>
@@ -60933,7 +60933,7 @@
     following categories:</p>
 
     <ul><li><code><a href=#the-input-element>input</a></code> elements to which the <code title=attr-input-required><a href=#attr-input-required>required</a></code> attribute applies
-     that are not <i title=concept-input-required>required</i></li>
+     that are not <i title=concept-input-required><a href=#concept-input-required>required</a></i></li>
 
      <li><code><a href=#the-select-element>select</a></code> elements that do not have a <code title=attr-select-required><a href=#attr-select-required>required</a></code> attribute</li>
 
@@ -60953,7 +60953,7 @@
     considered <i>user-alterable</i>: <a href=#refsSELECTORS>[SELECTORS]</a></p>
 
     <ul><li><code><a href=#the-input-element>input</a></code> elements to which the <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code> attribute applies,
-     and that are <i title=concept-fe-mutable>mutable</i> (i.e. that
+     and that are <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i> (i.e. that
      do not have the <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code>
      attribute specified and that are not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a>)</li>
 
@@ -60992,7 +60992,7 @@
    </dd>
 
   </dl><p class=note>Another section of this specification defines the
-  <i>target element</i> used with the <code title=selector-target>:target</code> pseudo-class.</p>
+  <i><a href=#target-element>target element</a></i> used with the <code title=selector-target>:target</code> pseudo-class.</p>
 
   <p class=note>This specification does not define when an element
   matches the <code title=selector-focus>:focus</code> or <code title=selector-lang()>:lang()</code> dynamic pseudo-classes, as
@@ -65046,7 +65046,7 @@
   object, on getting, must return the <code><a href=#windowproxy>WindowProxy</a></code> object of the <a href=#browsing-context>browsing
   context</a> from which the current <a href=#browsing-context>browsing context</a> was created (its <a href=#opener-browsing-context>opener
   browsing context</a>), if there is one, if it is still available, and if the current
-  <a href=#browsing-context>browsing context</a> has not <i>disowned its opener</i>; otherwise, it must return null.
+  <a href=#browsing-context>browsing context</a> has not <i><a href=#disowned-its-opener>disowned its opener</a></i>; otherwise, it must return null.
   On setting, if the new value is null then the current <a href=#browsing-context>browsing context</a> must <dfn id=disowned-its-opener title="disowned its opener">disown its opener</dfn>; if the new value is anything else then the
   user agent must ignore the new value.</p>
 
@@ -65089,8 +65089,8 @@
 
   </ul><p class=note>Sandboxing (in particular the <a href=#sandboxed-navigation-browsing-context-flag>sandboxed navigation browsing context
   flag</a>) can further restrict the above in certain cases, but it does so indirectly via other
-  algorithms and doesn't affect whether a browsing context is considered to be <i>allowed to
-  navigate</i> another as defined above.</p>
+  algorithms and doesn't affect whether a browsing context is considered to be <i><a href=#allowed-to-navigate>allowed to
+  navigate</a></i> another as defined above.</p>
 
   <hr><p>An element has a <dfn id=browsing-context-scope-origin>browsing context scope origin</dfn> if its <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
@@ -65949,7 +65949,7 @@
   <p>When a <a href=#browsing-context>browsing context</a> is to <dfn id=discard-a-document>discard a <code>Document</code></dfn>, the user
   agent must run the following steps:</p>
 
-  <ol><li><p>Set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to false.</li>
+  <ol><li><p>Set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to false.</li>
 
    <li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for the <code><a href=#document>Document</a></code> that
    are defined by this specification and <a href=#other-applicable-specifications>other applicable specifications</a>.</li>
@@ -67759,7 +67759,7 @@
 
   <h4 id=navigating-across-documents><span class=secno>6.6.1 </span>Navigating across documents</h4>
 
-  <p>Certain actions cause the <a href=#browsing-context>browsing context</a> to <i>navigate</i> to a new resource.
+  <p>Certain actions cause the <a href=#browsing-context>browsing context</a> to <i><a href=#navigate>navigate</a></i> to a new resource.
   Navigation always involves <dfn id=source-browsing-context>source browsing context</dfn>, which is the browsing context which
   was responsible for starting the navigation.</p>
 
@@ -68627,7 +68627,7 @@
 
   </ol><p>For the purposes of the interaction of HTML with Selectors' <code title=selector-target>:target</code> pseudo-class, the <dfn id=target-element><i>target element</i></dfn> is
   <a href=#the-indicated-part-of-the-document>the indicated part of the document</a>, if that is an element; otherwise there is no
-  <i>target element</i>. <a href=#refsSELECTORS>[SELECTORS]</a></p>
+  <i><a href=#target-element>target element</a></i>. <a href=#refsSELECTORS>[SELECTORS]</a></p>
 
   <p>The <a href=#task-source>task source</a> for the task mentioned in this section must be the <a href=#dom-manipulation-task-source>DOM
   manipulation task source</a>.</p>
@@ -68953,7 +68953,7 @@
    <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><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to
+   <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to
    false.</li>
 
    <li>
@@ -68992,9 +68992,9 @@
      be unloaded</a>; jump to the step labeled <i>end</i>.</p>
 
 <!--CLEANUP-->
-     <li><p>If the <i title=concept-document-salvageable>salvageable</i> state of the <a href=#active-document>active
+     <li><p>If the <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state of the <a href=#active-document>active
      document</a> of the <a href=#browsing-context>browsing context</a> <var title="">b</var> is false, then set
-     the <i title=concept-document-salvageable>salvageable</i> state of <em>this</em> document
+     the <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state of <em>this</em> document
      to false also.</li>
 
     </ol></li>
@@ -69045,7 +69045,7 @@
    <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><a href=#document>Document</a></code> object's <i title=concept-document-salvageable>salvageable</i>
+   the <code><a href=#document>Document</a></code> object's <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i>
    state to false and set the <code><a href=#document>Document</a></code>'s <a href=#fired-unload>fired unload</a> flag to
    true.</li>
 
@@ -69070,14 +69070,14 @@
      parameter set to false.</li>
 
 <!--CLEANUP-->
-     <li><p>If the <i title=concept-document-salvageable>salvageable</i> state of the <a href=#active-document>active
+     <li><p>If the <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state of the <a href=#active-document>active
      document</a> of the <a href=#browsing-context>browsing context</a> <var title="">b</var> is false, then set
-     the <i title=concept-document-salvageable>salvageable</i> state of <em>this</em> document
+     the <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state of <em>this</em> document
      to false also.</li>
 
     </ol></li>
 
-   <li><p>If both the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state and <var title="">recycle</var> are false, then the <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing
+   <li><p>If both the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state and <var title="">recycle</var> are false, then 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>
 
@@ -69092,16 +69092,16 @@
     <p><a href=#make-disappear>Make disappear</a> 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 whose global object is the
     <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</p>
 
-    <p>If this affected any <code><a href=#websocket>WebSocket</a></code> objects, then set <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to false.</p>
+    <p>If this affected any <code><a href=#websocket>WebSocket</a></code> objects, then set <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to false.</p>
 
    </li>
 
-   <li><p>If the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i>
+   <li><p>If the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i>
    state is false, <a href=#concept-eventsource-forcibly-close title=concept-EventSource-forcibly-close>forcibly close</a> any
    <code><a href=#eventsource>EventSource</a></code> objects that whose constructor was invoked from the
    <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
-   <li><p>If the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i>
+   <li><p>If the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i>
    state is false, empty the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code>'s <a href=#list-of-active-timers>list of active
    timers</a>.</li>
 
@@ -69147,19 +69147,19 @@
 
   <ol><li><p><a href=#abort-a-document title="abort a document">Abort</a> the <a href=#active-document title="active document">active
    documents</a> of every <a href=#child-browsing-context>child browsing context</a>. If this results in any of those
-   <code><a href=#document>Document</a></code> objects having their <i title=concept-document-salvageable>salvageable</i> state set to false, then set this
-   <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to
+   <code><a href=#document>Document</a></code> objects having their <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state set to false, then set this
+   <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to
    false also.</li>
 
    <li><p>Cancel any instances of the <a href=#fetch title=fetch>fetch</a> algorithm in the context of
    this <code><a href=#document>Document</a></code>, discarding any <a href=#concept-task title=concept-task>tasks</a> <a href=#queue-a-task title="queue a task">queued</a> for them, and discarding any further data received from the
    network for them. If this resulted in any instances of the <a href=#fetch title=fetch>fetch</a>
    algorithm being canceled or any <a href=#queue-a-task title="queue a task">queued</a> <a href=#concept-task title=concept-task>tasks</a> or any network data getting discarded, then set the
-   <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to
+   <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to
    false.</li>
 
    <li><p>If the <code><a href=#document>Document</a></code> has an <a href=#active-parser>active parser</a>, then <a href=#abort-a-parser title="abort a
-   parser">abort that parser</a> and set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to false.</li>
+   parser">abort that parser</a> and set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to false.</li>
 
    <!-- we could also stop all script, or stop animations -->
 
@@ -71333,7 +71333,7 @@
   <h4 id=enabling-and-disabling-scripting><span class=secno>7.1.2 </span>Enabling and disabling scripting</h4>
 
   <p><dfn id=concept-bc-script title=concept-bc-script>Scripting is enabled</dfn> in a
-  <em><a href=#browsing-context>browsing context</a></em> when all of the
+  <em><a href=#browsing-context><span>browsing context</span></a></em> when all of the
   following conditions are true:</p>
 
   <ul><li>The user agent supports scripting.</li>
@@ -71355,7 +71355,7 @@
   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><a href=#document>Document</a></code> object of the node (the
+  <em><a href=#node>node</a></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>
@@ -71566,7 +71566,7 @@
   the algorithm to <a href=#concept-mo-invoke title=concept-mo-invoke>invoke <code>MutationObserver</code>
   objects</a>. For the purposes of <code><a href=#mutationobserver>MutationObserver</a></code> objects, each <a href=#unit-of-related-similar-origin-browsing-contexts>unit of
   related similar-origin browsing contexts</a> is a distinct <var title="MutationObserver
-  scripting environment">scripting environment</var>.</p>
+  scripting environment"><a href=#mutationobserver-scripting-environment>scripting environment</a></var>.</p>
 
   <p>Each <a href=#unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing contexts</a> has a <dfn id=global-script-clean-up-jobs-list>global script
   clean-up jobs list</dfn>, which must initially be empty. A global script clean-up job cannot run
@@ -71602,8 +71602,8 @@
    scripting language, and thus obtain the <a href=#list-of-code-entry-points>list of code
    entry-points</a> for the script. If the semantics of the
    scripting language and the given source code are such that there is
-   executable code to be immediately run, then the <i>initial code
-   entry-point</i> is the entry-point for that code.</li>
+   executable code to be immediately run, then the <i><a href=#initial-code-entry-point>initial code
+   entry-point</a></i> is the entry-point for that code.</li>
 
    <li><p>Set up the <a href="#script's-global-object">script's global object</a>, the
    <a href="#script's-browsing-context">script's browsing context</a>, the <a href="#script's-document">script's
@@ -71619,12 +71619,12 @@
  
     <p>If all the steps above succeeded (in particular, if the script
     was compiled successfully), <a href=#jump-to-a-code-entry-point title="jump to a code
-    entry-point">Jump</a> to the <a href=#concept-script title=concept-script>script</a>'s <i>initial code
-    entry-point</i>.</p>
+    entry-point">Jump</a> to the <a href=#concept-script title=concept-script>script</a>'s <i><a href=#initial-code-entry-point>initial code
+    entry-point</a></i>.</p>
 
     <p>Otherwise, <a href=#report-the-error>report the error</a> for the <a href=#concept-script title=concept-script>script</a>,
     with the problematic position (line number and column number), using <a href="#script's-global-object">script's global object</a> as the target. If the
-    error is still <i title=concept-error-nothandled>not handled</i> after this, then the error
+    error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i> after this, then the error
     may be reported to the user.</p>
 
    </li>
@@ -71720,7 +71720,7 @@
   handled</i></dfn>:</p>
 
   <ol><li><p>If <var title="">target</var> is <a href=#in-error-reporting-mode>in error reporting mode</a>, then abort these
-   steps; the error is <i title=concept-error-nothandled>not handled</i>.</li>
+   steps; the error is <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i>.</li>
 
    <li><p>Let <var title="">target</var> be <dfn id=in-error-reporting-mode>in error reporting mode</dfn>.</li>
 
@@ -71773,14 +71773,14 @@
 
    <li><p>Let <var title="">target</var> no longer be <a href=#in-error-reporting-mode>in error reporting mode</a>.</li>
 
-   <li><p>If <var title="">event</var> was canceled, then the error is <i title=concept-error-handled>handled</i>. Otherwise, the error is <i title=concept-error-nothandled>not handled</i>.</p>
+   <li><p>If <var title="">event</var> was canceled, then the error is <i title=concept-error-handled><a href=#concept-error-handled>handled</a></i>. Otherwise, the error is <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i>.</p>
 
   </ol><h6 id=runtime-script-errors-in-documents><span class=secno>7.1.3.5.1 </span>Runtime script errors in documents</h6>
 
   <p>Whenever an uncaught runtime script error occurs in one of the scripts associated with a
   <code><a href=#document>Document</a></code>, the user agent must <a href=#report-the-error>report the error</a> for the relevant <a href=#concept-script title=concept-script>script</a>, with the problematic position (line number and column
   number) in the resource containing the script, using
-  the <a href="#script's-global-object">script's global object</a> as the target. If the error is still <i title=concept-error-nothandled>not handled</i> after this, then the error may be reported to the
+  the <a href="#script's-global-object">script's global object</a> as the target. If the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i> after this, then the error may be reported to the
   user.</p>
 
   </div>
@@ -72180,7 +72180,7 @@
       scripting language is JavaScript.</p>
 
       <p>Let <var title="">result</var> be the return value of the
-      <i>initial code entry-point</i> of this <a href=#concept-script title=concept-script>script</a>. If an exception was
+      <i><a href=#initial-code-entry-point>initial code entry-point</a></i> of this <a href=#concept-script title=concept-script>script</a>. If an exception was
       thrown, let <var title="">result</var> be void instead. (The
       result will be void also if <a href=#concept-bc-noscript title=concept-bc-noscript>scripting is disabled</a>.)</p>
 
@@ -72526,7 +72526,7 @@
    <a href=#report-the-error>report the error</a> for the appropriate <a href=#concept-script title=concept-script>script</a> and
    with the appropriate position (line number and column number), as established when the error was
    detected, using the <code><a href=#window>Window</a></code> object of that <code><a href=#document>Document</a></code> as the target. If
-   the error is still <i title=concept-error-nothandled>not handled</i> after this, then the error
+   the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i> after this, then the error
    may be reported to the user. Finally, abort these steps.</li>
 
    <li><p>Let <var title="">callback</var> be <var title="">H</var>'s value, the callback that the
@@ -75735,7 +75735,7 @@
   <p>The <dfn id=dom-focus title=dom-focus><code>focus()</code></dfn> method,
   when invoked, must run the following algorithm:</p>
 
-  <ol><li><p>If the element is marked as <i>locked for focus</i>, then abort
+  <ol><li><p>If the element is marked as <i><a href=#locked-for-focus>locked for focus</a></i>, then abort
    these steps.</li>
 
    <li><p>Mark the element as <dfn id=locked-for-focus>locked for focus</dfn>.</li>
@@ -75743,7 +75743,7 @@
    <li><p>Run the <a href=#focusing-steps>focusing steps</a> for the
    element.</li>
 
-   <li><p>Unmark the element as <i>locked for focus</i>.</li>
+   <li><p>Unmark the element as <i><a href=#locked-for-focus>locked for focus</a></i>.</li>
 
   </ol><p>The <dfn id=dom-blur title=dom-blur><code>blur()</code></dfn> method, when
   invoked, should run the <a href=#unfocusing-steps>unfocusing steps</a> for the
@@ -75865,7 +75865,7 @@
    <p>In the following example, the search field is given two possible
    access keys, "s" and "0" (in that order). A user agent on a device
    with a full keyboard might pick
-   <kbd><kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>S</kbd></kbd> as the
+   <kbd><kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd><a href=#the-s-element>S</a></kbd></kbd> as the
    shortcut key, while a user agent on a small device with just a
    numeric keypad might pick just the plain unadorned key
    <kbd><kbd>0</kbd></kbd>:</p>
@@ -76240,7 +76240,7 @@
   <ul><li>The value of <code><a href=#the-input-element>input</a></code> elements to which the <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code> attribute <a href=#concept-input-apply title=concept-input-apply>applies</a>,
    whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attributes are not
    in the <a href="#password-state-(type=password)" title=attr-input-type-password>Password</a>
-   state, and that are <i title=concept-fe-mutable>mutable</i> (i.e.
+   state, and that are <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i> (i.e.
    that do not have the <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code> attribute specified and
    that are not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a>).</li>
 
@@ -76893,7 +76893,7 @@
 
    <li><p>If there are any items in the <a href=#drag-data-store-item-list>drag data store item
    list</a> whose <a href=#the-drag-data-item-kind title="the drag data item kind">kind</a>
-   is <i>File</i>, then add an entry to the list <var title="">L</var>
+   is <i><a href=#file>File</a></i>, then add an entry to the list <var title="">L</var>
    consisting of the string "<code title="">Files</code>". (This value
    can be distinguished from the other values because it is not
    lowercase.)</li>
@@ -77032,7 +77032,7 @@
 
    <li><p>For each item in the <a href=#drag-data-store-item-list>drag data store item list</a>
    <!-- in some order...? --> whose <a href=#the-drag-data-item-kind title="the drag data item
-   kind">kind</a> is <i>File</i> <!-- DND-v3: (not <i>Blob</i>) -->,
+   kind">kind</a> is <i><a href=#file>File</a></i> <!-- DND-v3: (not <i>Blob</i>) -->,
    add the item's data (the file, in particular its name and contents,
    as well as its <a href=#the-drag-data-item-type-string title="the drag data item type
    string">type</a>) to the list <var title="">L</var>.</li>
@@ -77156,7 +77156,7 @@
   invoked with the argument <var title="">i</var>, must run these steps:</p>
 
   <ol><li><p>If the <code><a href=#datatransferitemlist>DataTransferItemList</a></code> object is not in the
-   <i title=concept-dnd-rw>read/write mode</i>, throw an
+   <i title=concept-dnd-rw><a href=#concept-dnd-rw>read/write mode</a></i>, throw an
    <code><a href=#invalidstateerror>InvalidStateError</a></code> exception and abort these
    steps.</li>
 
@@ -77164,7 +77164,7 @@
    data store</a>.</li>
 
   </ol><p>The <dfn id=dom-datatransferitemlist-clear title=dom-DataTransferItemList-clear><code>clear</code></dfn> method,
-  if the <code><a href=#datatransferitemlist>DataTransferItemList</a></code> object is in the <i title=concept-dnd-rw>read/write mode</i>, must remove all the
+  if the <code><a href=#datatransferitemlist>DataTransferItemList</a></code> object is in the <i title=concept-dnd-rw><a href=#concept-dnd-rw>read/write mode</a></i>, must remove all the
   items from the <a href=#drag-data-store>drag data store</a>. Otherwise, it must do
   nothing.</p>
 
@@ -77172,7 +77172,7 @@
   must run the following steps:</p>
 
   <ol><li><p>If the <code><a href=#datatransferitemlist>DataTransferItemList</a></code> object is not in the
-   <i title=concept-dnd-rw>read/write mode</i>, return null and
+   <i title=concept-dnd-rw><a href=#concept-dnd-rw>read/write mode</a></i>, return null and
    abort these steps.</li>
 
    <li>
@@ -77222,7 +77222,7 @@
 
       <p>Add an item to the <a href=#drag-data-store-item-list>drag data store item list</a>
       whose <a href=#the-drag-data-item-kind title="the drag data item kind">kind</a> is
-      <i>File</i>, whose <a href=#the-drag-data-item-type-string title="the drag data item type
+      <i><a href=#file>File</a></i>, whose <a href=#the-drag-data-item-type-string title="the drag data item type
       string">type string</a> is the <code title=dom-Blob-type>type</code> of the <code><a href=#file>File</a></code>,
       <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>, and whose data is the
       same as the <code><a href=#file>File</a></code>'s data.</p>
@@ -77310,7 +77310,7 @@
    <dt><var title="">file</var> = <var title="">item</var> . <code title=dom-DataTransferItem-getAsFile><a href=#dom-datatransferitem-getasfile>getAsFile</a></code>()</dt>
    <dd>
 
-    <p>Returns a <code><a href=#file>File</a></code> object, if <a href=#the-drag-data-item-kind>the drag data item kind</a> is <i>File</i>.</p>
+    <p>Returns a <code><a href=#file>File</a></code> object, if <a href=#the-drag-data-item-kind>the drag data item kind</a> is <i><a href=#file>File</a></i>.</p>
 
    </dd>
 
@@ -77355,7 +77355,7 @@
   <table><thead><tr><th> Kind <th> String
    <tbody><tr><td> <i>Plain Unicode string</i> <td> "<code title="">string</code>"
 <!-- DND-v3:    <tr> <td> <i>Blob</i> <td> "<code title="">blob</code>"-->
-    <tr><td> <i>File</i> <td> "<code title="">file</code>"
+    <tr><td> <i><a href=#file>File</a></i> <td> "<code title="">file</code>"
 <!-- DND-v4:    <tr> <td> <i>Object</i> <td> "<code title="">object</code>"-->
   </table><p>The <dfn id=dom-datatransferitem-type title=dom-DataTransferItem-type><code>type</code></dfn> attribute
   must return the empty string if the <code><a href=#datatransferitem>DataTransferItem</a></code>
@@ -77369,7 +77369,7 @@
   <ol><li><p>If the <var title="">callback</var> is null, abort these
    steps.</li>
 
-   <li><p>If the <code><a href=#datatransferitem>DataTransferItem</a></code> object is not in the <i title=concept-dnd-rw>read/write mode</i> or the <i title=concept-dnd-ro>read-only mode</i>, abort these steps. The
+   <li><p>If the <code><a href=#datatransferitem>DataTransferItem</a></code> object is not in the <i title=concept-dnd-rw><a href=#concept-dnd-rw>read/write mode</a></i> or the <i title=concept-dnd-ro><a href=#concept-dnd-ro>read-only mode</a></i>, abort these steps. The
    callback is never invoked.</li>
 
    <li><p>If <a href=#the-drag-data-item-kind>the drag data item kind</a> is not <i>Plain
@@ -77424,10 +77424,10 @@
 --><p>The <dfn id=dom-datatransferitem-getasfile title=dom-DataTransferItem-getAsFile><code>getAsFile()</code></dfn>
   method must run the following steps:</p>
 
-  <ol><li><p>If the <code><a href=#datatransferitem>DataTransferItem</a></code> object is not in the <i title=concept-dnd-rw>read/write mode</i> or the <i title=concept-dnd-ro>read-only mode</i>, return null and abort
+  <ol><li><p>If the <code><a href=#datatransferitem>DataTransferItem</a></code> object is not in the <i title=concept-dnd-rw><a href=#concept-dnd-rw>read/write mode</a></i> or the <i title=concept-dnd-ro><a href=#concept-dnd-ro>read-only mode</a></i>, return null and abort
    these steps.</li>
 
-   <li><p>If <a href=#the-drag-data-item-kind>the drag data item kind</a> is not <i>File</i>,
+   <li><p>If <a href=#the-drag-data-item-kind>the drag data item kind</a> is not <i><a href=#file>File</a></i>,
    then return null and abort these steps.</li>
 
    <li><p>Return a new <code><a href=#file>File</a></code> object representing the
@@ -77704,7 +77704,7 @@
      <dd>The MIME type of the file, if known, or "<code>application/octet-stream</code>" otherwise.</dd>
 
      <dt><a href=#the-drag-data-item-kind>The drag data item kind</a>
-     <dd><i>File</i></dd>
+     <dd><i><a href=#file>File</a></i></dd>
 
      <dt>The actual data</dt>
      <dd>The file's contents and name.</dd>
@@ -78038,7 +78038,7 @@
 
       <p>Otherwise, if the <a href=#current-target-element>current target element</a> is not a DOM element, use
       platform-specific mechanisms to determine what drag operation is being performed (none, copy,
-      link, or move), and set the <i>current drag operation</i> accordingly.</p>
+      link, or move), and set the <i><a href=#current-drag-operation>current drag operation</a></i> accordingly.</p>
 
      </li>
 
@@ -78392,7 +78392,7 @@
    <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the string "<code title="">file:</code>"</dt>
 
    <dd><p>Indicates that items with <a href=#the-drag-data-item-kind>the drag data item
-   kind</a> <i>File</i> and <a href=#the-drag-data-item-type-string>the drag data item type
+   kind</a> <i><a href=#file>File</a></i> and <a href=#the-drag-data-item-type-string>the drag data item type
    string</a> set to a value that matches the remainder of the
    keyword are accepted.</dd>
 
@@ -78505,7 +78505,7 @@
        <dd>
 
         <p>Let <var title="">kind<!--DND-v3:/DND-v4: s--></var> be
-        <i>File</i>.</p>
+        <i><a href=#file>File</a></i>.</p>
 
        </dd>
 
@@ -80076,7 +80076,7 @@
 
     <p>Parse/compile/initialize <var title="">source</var> using that <a href=#script-execution-environment>script execution
     environment</a>, as appropriate for <var title="">language</var>, and thus obtain a
-    <a href=#list-of-code-entry-points>list of code entry-points</a>; set the <i>initial code entry-point</i> to the
+    <a href=#list-of-code-entry-points>list of code entry-points</a>; set the <i><a href=#initial-code-entry-point>initial code entry-point</a></i> to the
     entry-point for any executable code to be immediately run.</p>
 
     <p>Set the <a href="#script's-global-object">script's global object</a> to <var title="">worker global scope</var>.</p>
@@ -80118,7 +80118,7 @@
 
    <li>
 
-    <p><a href=#jump-to-a-code-entry-point title="jump to a code entry-point">Jump</a> to the <a href=#concept-script title=concept-script>script</a>'s <i>initial code entry-point</i>, and let that run until
+    <p><a href=#jump-to-a-code-entry-point title="jump to a code entry-point">Jump</a> to the <a href=#concept-script title=concept-script>script</a>'s <i><a href=#initial-code-entry-point>initial code entry-point</a></i>, and let that run until
     it either returns, fails to catch an exception, or gets prematurely aborted by the "<a href=#kill-a-worker>kill a
     worker</a>" or "<a href=#terminate-a-worker>terminate a worker</a>" algorithms defined below.</p>
 
@@ -80138,7 +80138,7 @@
 
    <li>
 
-    <p><strong>Event loop<!-- labeled for ease of discussion --></strong>: Create a new <a href=#event-loop>event
+    <p><strong><a href=#event-loop>Event loop<!-- labeled for ease of discussion --></a></strong>: Create a new <a href=#event-loop>event
     loop</a>, and run it until it is destroyed.</p>
 
     <p class=note>The handling of events or the execution of callbacks by <a href=#concept-task title=concept-task>tasks</a> run by the <a href=#event-loop>event loop</a> might get prematurely
@@ -80240,12 +80240,12 @@
   and column number) where the error occurred, using the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object as the target.
   </p>
 
-  <p>For shared workers, if the error is still <i title=concept-error-nothandled>not handled</i>
+  <p>For shared workers, if the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i>
   afterwards, the error may be reported to the user.
   </p>
 
-  <p>For dedicated workers, if the error is still <i title=concept-error-nothandled>not
-  handled</i> afterwards, the user
+  <p>For dedicated workers, if the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not
+  handled</a></i> afterwards, the user
   agent must <a href=#queue-a-task>queue a task</a> to <a href=#concept-event-fire title=concept-event-fire>fire</a> a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a> event that uses the <code><a href=#errorevent>ErrorEvent</a></code>
   interface, with the name <code title=event-error>error</code>, that doesn't bubble and is
   cancelable, with its <code title=dom-ErrorEvent-message><a href=#dom-errorevent-message>message</a></code>, <code title=dom-ErrorEvent-filename><a href=#dom-errorevent-filename>filename</a></code>, <code title=dom-ErrorEvent-lineno><a href=#dom-errorevent-lineno>lineno</a></code>, and <code title=dom-ErrorEvent-column><a href=#dom-errorevent-column>column</a></code>
@@ -81245,7 +81245,7 @@
 
      <li><p>Perform a <a href=#potentially-cors-enabled-fetch>potentially CORS-enabled
      fetch</a><!--FETCH--> of the <a href=#absolute-url>absolute URL</a> of the
-     event source resource, using the same <i>referrer source</i>, and
+     event source resource, using the same <i><a href=#referrer-source>referrer source</a></i>, and
      with the same <i>mode</i><!--, <i>default origin
      behaviour</i>,--> and <i title="">origin</i>, as those used in
      the original request triggered by the <code title=dom-EventSource><a href=#dom-eventsource>EventSource()</a></code> constructor, and
@@ -81881,7 +81881,7 @@
 
   <p>When the <code>WebSocket()</code> constructor is invoked, the UA must run these steps:</p>
 
-  <ol><li><p><i>Parse a WebSocket URL's components</i> from the <var title="">url</var> argument, to
+  <ol><li><p><i><a href="#parse-a-websocket-url's-components">Parse a WebSocket URL's components</a></i> from the <var title="">url</var> argument, to
    obtain <var title="">host</var>, <var title="">port</var>, <var title="">resource name</var>, and
    <var title="">secure</var>. If this fails, throw a <code><a href=#syntaxerror>SyntaxError</a></code> exception and abort
    these steps. <a href=#refsWSP>[WSP]</a></li>
@@ -81926,15 +81926,15 @@
 
    <li>
 
-    <p><i>Establish a WebSocket connection</i> given the set (<var title="">host</var>, <var title="">port</var>, <var title="">resource name</var>, <var title="">secure</var>), along with
-    the <var title="">protocols</var> list, an empty list for the extensions, and <var title="">origin</var>. The <i>headers to send appropriate cookies</i> must be a <code title=http-Cookie>Cookie</code> header whose value is the <i>cookie-string</i> computed from
+    <p><i><a href=#establish-a-websocket-connection>Establish a WebSocket connection</a></i> given the set (<var title="">host</var>, <var title="">port</var>, <var title="">resource name</var>, <var title="">secure</var>), along with
+    the <var title="">protocols</var> list, an empty list for the extensions, and <var title="">origin</var>. The <i><a href=#headers-to-send-appropriate-cookies>headers to send appropriate cookies</a></i> must be a <code title=http-Cookie>Cookie</code> header whose value is the <i><a href=#cookie-string>cookie-string</a></i> computed from
     the user's cookie store and the URL <var title="">url</var>; for these purposes this is
     <em>not</em> a "non-HTTP" API. <a href=#refsWSP>[WSP]</a> <a href=#refsCOOKIES>[COOKIES]</a></p>
 
-    <p>When the user agent <i title="validate the server's response">validates the server's
-    response</i> during the "<i>establish a WebSocket connection</i>" algorithm, if the status code
-    received from the server is not 101 (e.g. it is a redirect), the user agent must <i>fail the
-    WebSocket connection</i>.</p>
+    <p>When the user agent <i title="validate the server's response"><a href="#validate-the-server's-response">validates the server's
+    response</a></i> during the "<i><a href=#establish-a-websocket-connection>establish a WebSocket connection</a></i>" algorithm, if the status code
+    received from the server is not 101 (e.g. it is a redirect), the user agent must <i><a href=#fail-the-websocket-connection>fail the
+    WebSocket connection</a></i>.</p>
 
     <p class=warning>Following HTTP procedures here could introduce serious security problems in a
     Web browser context. For example, consider a host with a WebSocket server at one path and an
@@ -81943,9 +81943,9 @@
     Internet, even if the script checks that the URL has the right hostname.</p>
     <!-- http://www.ietf.org/mail-archive/web/hybi/current/msg06951.html -->
 
-    <p class=note>If the <i>establish a WebSocket connection</i> algorithm fails, it triggers the
-    <i>fail the WebSocket connection</i> algorithm, which then invokes the <i>close the WebSocket
-    connection</i> algorithm, which then establishes that <i>the WebSocket connection is closed</i>,
+    <p class=note>If the <i><a href=#establish-a-websocket-connection>establish a WebSocket connection</a></i> algorithm fails, it triggers the
+    <i><a href=#fail-the-websocket-connection>fail the WebSocket connection</a></i> algorithm, which then invokes the <i><a href=#close-the-websocket-connection>close the WebSocket
+    connection</a></i> algorithm, which then establishes that <i><a href=#the-websocket-connection-is-closed>the WebSocket connection is closed</a></i>,
     which fires the <code title=event-socket-close>close</code> event <a href=#closeWebSocket>as
     described below</a>.</p>
 
@@ -81965,7 +81965,7 @@
 
    <dt><dfn id=dom-websocket-open title=dom-WebSocket-OPEN><code>OPEN</code></dfn> (numeric value 1)</dt>
 
-   <dd><i>The WebSocket connection is established</i> and communication is possible.</dd>
+   <dd><i><a href=#the-websocket-connection-is-established>The WebSocket connection is established</a></i> and communication is possible.</dd>
 
    <dt><dfn id=dom-websocket-closing title=dom-WebSocket-CLOSING><code>CLOSING</code></dfn> (numeric value 2)</dt>
 
@@ -81979,7 +81979,7 @@
   set to <code title=dom-WebSocket-CONNECTING><a href=#dom-websocket-connecting>CONNECTING</a></code> (0).</p>
 
   <p>The <dfn id=dom-websocket-extensions title=dom-WebSocket-extensions><code>extensions</code></dfn> attribute must
-  initially return the empty string. After <i>the WebSocket connection is established</i>, its value
+  initially return the empty string. After <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, its value
   might change, as defined below.</p>
 
   <p class=note>The <code title=dom-WebSocket-extensions><a href=#dom-websocket-extensions>extensions</a></code> attribute returns the
@@ -81987,7 +81987,7 @@
   string.)</p>
 
   <p>The <dfn id=dom-websocket-protocol title=dom-WebSocket-protocol><code>protocol</code></dfn> attribute must initially
-  return the empty string. After <i>the WebSocket connection is established</i>, its value might
+  return the empty string. After <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, its value might
   change, as defined below.</p>
 
   <p class=note>The <code title=dom-WebSocket-protocol><a href=#dom-websocket-protocol>protocol</a></code> attribute returns the
@@ -82034,25 +82034,25 @@
 
 
      <dt>If the WebSocket connection is not yet <i title="the WebSocket connection is
-     established">established</i> <a href=#refsWSP>[WSP]</a></dt>
+     established"><a href=#the-websocket-connection-is-established>established</a></i> <a href=#refsWSP>[WSP]</a></dt>
 
      <dd>
 
-      <p><i>Fail the WebSocket connection</i> and set the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). <a href=#refsWSP>[WSP]</a></p>
+      <p><i><a href=#fail-the-websocket-connection>Fail the WebSocket connection</a></i> and set the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). <a href=#refsWSP>[WSP]</a></p>
 
-      <p class=note>The <i>fail the WebSocket connection</i> algorithm invokes the <i>close the
-      WebSocket connection</i> algorithm, which then establishes that <i>the WebSocket connection is
-      closed</i>, which fires the <code title=event-socket-close>close</code> event <a href=#closeWebSocket>as described below</a>.</p>
+      <p class=note>The <i><a href=#fail-the-websocket-connection>fail the WebSocket connection</a></i> algorithm invokes the <i><a href=#close-the-websocket-connection>close the
+      WebSocket connection</a></i> algorithm, which then establishes that <i><a href=#the-websocket-connection-is-closed>the WebSocket connection is
+      closed</a></i>, which fires the <code title=event-socket-close>close</code> event <a href=#closeWebSocket>as described below</a>.</p>
 
      </dd>
 
 
      <dt>If the WebSocket closing handshake has not yet been <i title="the WebSocket closing
-     handshake is started">started</i> <a href=#refsWSP>[WSP]</a></dt>
+     handshake is started"><a href=#the-websocket-closing-handshake-is-started>started</a></i> <a href=#refsWSP>[WSP]</a></dt>
 
      <dd>
 
-      <p><i>Start the WebSocket closing handshake</i> and set the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). <a href=#refsWSP>[WSP]</a></p>
+      <p><i><a href=#start-the-websocket-closing-handshake>Start the WebSocket closing handshake</a></i> and set the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). <a href=#refsWSP>[WSP]</a></p>
 
       <p>If the first argument is present, then the status code<!--CLOSE CODE--> to use in the
       WebSocket Close message must be the integer given by the first argument. <a href=#refsWSP>[WSP]</a></p>
@@ -82061,9 +82061,9 @@
       the Close message after the status code<!--CLOSE CODE-->. <a href=#refsRFC3629>[RFC3629]</a>
       <a href=#refsWSP>[WSP]</a></p>
 
-      <p class=note>The <i>start the WebSocket closing handshake</i> algorithm eventually invokes
-      the <i>close the WebSocket connection</i> algorithm, which then establishes that <i>the
-      WebSocket connection is closed</i>, which fires the <code title=event-socket-close>close</code> event <a href=#closeWebSocket>as described
+      <p class=note>The <i><a href=#start-the-websocket-closing-handshake>start the WebSocket closing handshake</a></i> algorithm eventually invokes
+      the <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> algorithm, which then establishes that <i><a href=#the-websocket-connection-is-closed>the
+      WebSocket connection is closed</a></i>, which fires the <code title=event-socket-close>close</code> event <a href=#closeWebSocket>as described
       below</a>.</p>
 
      </dd>
@@ -82075,9 +82075,9 @@
 
       <p>Set the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2).</p>
 
-      <p class=note><i>The WebSocket closing handshake is started</i>, and will eventually invoke
-      the <i>close the WebSocket connection</i> algorithm, which will establish that <i>the
-      WebSocket connection is closed</i>, and thus the <code title=event-socket-close>close</code>
+      <p class=note><i><a href=#the-websocket-closing-handshake-is-started>The WebSocket closing handshake is started</a></i>, and will eventually invoke
+      the <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> algorithm, which will establish that <i><a href=#the-websocket-connection-is-closed>the
+      WebSocket connection is closed</a></i>, and thus the <code title=event-socket-close>close</code>
       event will fire, <a href=#closeWebSocket>as described below</a>.</p>
 
      </dd>
@@ -82143,11 +82143,11 @@
 
     <p>Let <var title="">data</var> be the result of <a href=#convert-a-domstring-to-a-sequence-of-unicode-characters title="convert a DOMString to a sequence
     of Unicode characters">converting the <var title="">data</var> argument to a sequence of Unicode
-    characters</a>. If <i>the WebSocket connection is established</i> and <i title="the WebSocket
-    closing handshake is started">the WebSocket closing handshake has not yet started</i>, then the
+    characters</a>. If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i> and <i title="the WebSocket
+    closing handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the
     user agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a
     text frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i>close the WebSocket connection</i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. Any invocation of this method with a
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. Any invocation of this method with a
     string argument that does not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code> attribute by the number of bytes
     needed to express the argument as UTF-8. <a href=#refsUNICODE>[UNICODE]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></p>
 
@@ -82158,11 +82158,11 @@
 
    <dd>
 
-    <p>If <i>the WebSocket connection is established</i>, and <i title="the WebSocket closing
-    handshake is started">the WebSocket closing handshake has not yet started</i>, then the user
+    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing
+    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the user
     agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
     frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i>close the WebSocket connection</i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the raw data
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the raw data
     represented by the <code><a href=#blob>Blob</a></code> object. <!-- that sentence is meant to invoke "This
     interface represents immutable raw data." --> Any invocation of this method with a
     <code><a href=#blob>Blob</a></code> argument that does not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code> attribute by the size of the
@@ -82176,11 +82176,11 @@
 
    <dd>
 
-    <p>If <i>the WebSocket connection is established</i>, and <i title="the WebSocket closing
-    handshake is started">the WebSocket closing handshake has not yet started</i>, then the user
+    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing
+    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the user
     agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
     frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i>close the WebSocket connection</i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the data
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the data
     stored in the buffer described by the <code><a href=#arraybuffer>ArrayBuffer</a></code> object. <!-- that sentence is
     meant to invoke "The ArrayBuffer type describes a buffer used to store data for the array buffer
     views." at the top of the Typed Array spec, and "Optional byteOffset and length can be used to
@@ -82197,11 +82197,11 @@
 
    <dd>
 
-    <p>If <i>the WebSocket connection is established</i>, and <i title="the WebSocket closing
-    handshake is started">the WebSocket closing handshake has not yet started</i>, then the user
+    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing
+    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the user
     agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
     frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i>close the WebSocket connection</i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the data
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the data
     stored in the section of the buffer described by the <code><a href=#arraybuffer>ArrayBuffer</a></code> object that the
     <code><a href=#arraybufferview>ArrayBufferView</a></code> object references. <!-- that sentence is meant to invoke "The
     ArrayBuffer type describes a buffer used to store data for the array buffer views." at the top
@@ -82225,26 +82225,26 @@
     <tr><td><dfn id=handler-websocket-onclose title=handler-WebSocket-onclose><code>onclose</code></dfn> <td> <code title=event-socket-close>close</code>
   </table><h4 id=feedback-from-the-protocol><span class=secno>10.3.3 </span>Feedback from the protocol</h4>
 
-  <p>When <i>the WebSocket connection is established</i>, the user agent must <a href=#queue-a-task>queue a
+  <p>When <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, the user agent must <a href=#queue-a-task>queue a
   task</a> to run these steps:</p>
 
   <ol><li><p>Change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to
    <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1).</li>
 
    <li><p>Change the <code title=dom-WebSocket-extensions><a href=#dom-websocket-extensions>extensions</a></code> attribute's value to
-   the <i>extensions in use</i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
+   the <i><a href=#extensions-in-use>extensions in use</a></i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
 
    <li><p>Change the <code title=dom-WebSocket-protocol><a href=#dom-websocket-protocol>protocol</a></code> attribute's value to the
-   <i>subprotocol in use</i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
+   <i><a href=#subprotocol-in-use>subprotocol in use</a></i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
 
    <li><p>Act as if the user agent had <a href=#receives-a-set-cookie-string title="receives a set-cookie-string">received a
-   set-cookie-string</a> consisting of the <i>cookies set during the server's opening
-   handshake</i>, for the URL <var title="">url</var> given to the <code title=dom-WebSocket><a href=#dom-websocket>WebSocket()</a></code> constructor. <a href=#refsCOOKIES>[COOKIES]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></li>
+   set-cookie-string</a> consisting of the <i><a href="#cookies-set-during-the-server's-opening-handshake">cookies set during the server's opening
+   handshake</a></i>, for the URL <var title="">url</var> given to the <code title=dom-WebSocket><a href=#dom-websocket>WebSocket()</a></code> constructor. <a href=#refsCOOKIES>[COOKIES]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></li>
 
    <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-open>open</code> at the
    <code><a href=#websocket>WebSocket</a></code> object.</p>
 
-  </ol><hr><p>When <i>a WebSocket message has been received</i> with type <var title="">type</var> and data
+  </ol><hr><p>When <i><a href=#a-websocket-message-has-been-received>a WebSocket message has been received</a></i> with type <var title="">type</var> and data
   <var title="">data</var>, the user agent must <a href=#queue-a-task>queue a task</a> to follow these steps: <a href=#refsWSP>[WSP]</a></p>
 
   <ol><li>
@@ -82312,28 +82312,28 @@
 
   </div>
 
-  <hr><p>When <i>the WebSocket closing handshake is started</i>, the user agent must <a href=#queue-a-task>queue a
+  <hr><p>When <i><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake is started</a></i>, the user agent must <a href=#queue-a-task>queue a
   task</a> to change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's
   value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). (If the <code title=dom-WebSocket-close><a href=#dom-websocket-close>close()</a></code> method was called, the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value will already be set to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2) when this task runs.) <a href=#refsWSP>[WSP]</a></p>
 
-  <hr><p id=closeWebSocket>When <i>the WebSocket connection is closed</i>, possibly <i title="">cleanly</i>, the user agent must <a href=#queue-a-task>queue a task</a> to run the following
+  <hr><p id=closeWebSocket>When <i><a href=#the-websocket-connection-is-closed>the WebSocket connection is closed</a></i>, possibly <i title="">cleanly</i>, the user agent must <a href=#queue-a-task>queue a task</a> to run the following
   substeps:</p>
 
   <ol><li><p>Change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to
    <code title=dom-WebSocket-CLOSED><a href=#dom-websocket-closed>CLOSED</a></code> (3).</li>
 
-   <li><p>If the user agent was required to <i>fail the WebSocket connection</i> or <i>the WebSocket
-   connection is closed</i> <dfn id=concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</dfn>,
+   <li><p>If the user agent was required to <i><a href=#fail-the-websocket-connection>fail the WebSocket connection</a></i> or <i><a href=#the-websocket-connection-is-closed>the WebSocket
+   connection is closed</a></i> <dfn id=concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</dfn>,
    <a href=#fire-a-simple-event>fire a simple event</a> named <code title="">error</code> at the <code><a href=#websocket>WebSocket</a></code>
    object. <a href=#refsWSP>[WSP]</a></li>
 
    <li><p>Create a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a> event that uses the
    <code><a href=#closeevent>CloseEvent</a></code> interface, with the event type <code title=event-socket-close>close</code>, which does not bubble, is not cancelable, has no default
    action, whose <code title=dom-CloseEvent-wasClean><a href=#dom-closeevent-wasclean>wasClean</a></code> attribute is initialized to
-   true if the connection closed <i title="">cleanly</i> and false otherwise, whose <code title=dom-CloseEvent-code><a href=#dom-closeevent-code>code</a></code> attribute is initialized to <i>the WebSocket connection
-   close code</i>, and whose <code title=dom-CloseEvent-reason><a href=#dom-closeevent-reason>reason</a></code> attribute is
-   initialized to the result of applying the <a href=#utf-8-decoder>UTF-8 decoder</a> to <i>the WebSocket
-   connection close reason</i>, and <a href=#concept-event-dispatch title=concept-event-dispatch>dispatch</a> the event
+   true if the connection closed <i title="">cleanly</i> and false otherwise, whose <code title=dom-CloseEvent-code><a href=#dom-closeevent-code>code</a></code> attribute is initialized to <i><a href=#the-websocket-connection-close-code>the WebSocket connection
+   close code</a></i>, and whose <code title=dom-CloseEvent-reason><a href=#dom-closeevent-reason>reason</a></code> attribute is
+   initialized to the result of applying the <a href=#utf-8-decoder>UTF-8 decoder</a> to <i><a href=#the-websocket-connection-close-reason>the WebSocket
+   connection close reason</a></i>, and <a href=#concept-event-dispatch title=concept-event-dispatch>dispatch</a> the event
    at the <code><a href=#websocket>WebSocket</a></code> object. <a href=#refsWSP>[WSP]</a></li>
 
   </ol><div class=warning>
@@ -82360,7 +82360,7 @@
     <li>A WebSocket server that abruptly closed the connection after successfully completing the
     opening handshake.
 
-   </ul><p>In all of these cases, the <i>the WebSocket connection close code</i> would be 1006, as
+   </ul><p>In all of these cases, the <i><a href=#the-websocket-connection-close-code>the WebSocket connection close code</a></i> would be 1006, as
    required by the WebSocket Protocol specification. <a href=#refsWSP>[WSP]</a></p>
 
    <p>Allowing a script to distinguish these cases would allow a script to probe the user's local
@@ -82490,12 +82490,12 @@
   time the <a href=#event-loop>event loop</a> started executing a <a href=#concept-task title=concept-task>task</a> must
   not be garbage collected if there are any event listeners registered for <code title=event-error>error</code> or <code title=event-socket-close>close</code> events.</p>
 
-  <p>A <code><a href=#websocket>WebSocket</a></code> object with <i title="the WebSocket connection is established">an
-  established connection</i> that has data queued to be transmitted to the network must not be
+  <p>A <code><a href=#websocket>WebSocket</a></code> object with <i title="the WebSocket connection is established"><a href=#the-websocket-connection-is-established>an
+  established connection</a></i> that has data queued to be transmitted to the network must not be
   garbage collected. <a href=#refsWSP>[WSP]</a></p>
 
   <p>If a <code><a href=#websocket>WebSocket</a></code> object is garbage collected while its connection is still open, the
-  user agent must <i>start the WebSocket closing handshake</i>, with no status code<!--CLOSE CODE-->
+  user agent must <i><a href=#start-the-websocket-closing-handshake>start the WebSocket closing handshake</a></i>, with no status code<!--CLOSE CODE-->
   for the Close message. <a href=#refsWSP>[WSP]</a></p>
 
   <hr><p>If a user agent is to <dfn id=make-disappear>make disappear</dfn> a <code><a href=#websocket>WebSocket</a></code> object (this happens
@@ -82503,21 +82503,21 @@
   set of steps from the following list:</p>
 
   <dl class=switch><dt>If the WebSocket connection is not yet <i title="the WebSocket
-   connection is established">established</i> <a href=#refsWSP>[WSP]</a></dt>
+   connection is established"><a href=#the-websocket-connection-is-established>established</a></i> <a href=#refsWSP>[WSP]</a></dt>
 
    <dd>
 
-    <p><i>Fail the WebSocket connection</i>. <a href=#refsWSP>[WSP]</a></p>
+    <p><i><a href=#fail-the-websocket-connection>Fail the WebSocket connection</a></i>. <a href=#refsWSP>[WSP]</a></p>
 
    </dd>
 
 
-   <dt>If the WebSocket closing handshake has not yet been <i title="the WebSocket closing handshake is started">started</i>
+   <dt>If the WebSocket closing handshake has not yet been <i title="the WebSocket closing handshake is started"><a href=#the-websocket-closing-handshake-is-started>started</a></i>
    <a href=#refsWSP>[WSP]</a></dt>
 
    <dd>
 
-    <p><i>Start the WebSocket closing handshake</i>, with the
+    <p><i><a href=#start-the-websocket-closing-handshake>Start the WebSocket closing handshake</a></i>, with the
     status code<!--CLOSE CODE--> to use in the WebSocket Close message
     being 1001. <a href=#refsWSP>[WSP]</a></p>
 
@@ -86199,9 +86199,9 @@
   <p>The <dfn id=next-input-character>next input character</dfn> is the first character in the
   <a href=#input-stream>input stream</a> that has not yet been <dfn id=consumed>consumed</dfn>
   or explicitly ignored by the requirements in this section.
-  Initially, the <i>next input character</i> is the first character in
+  Initially, the <i><a href=#next-input-character>next input character</a></i> is the first character in
   the input. The <dfn id=current-input-character>current input character</dfn> is the last
-  character to have been <i>consumed</i>.</p>
+  character to have been <i><a href=#consumed>consumed</a></i>.</p>
 
   <p>The <dfn id=insertion-point>insertion point</dfn> is the position (just before a
   character or just before the end of the input stream) where content
@@ -86299,7 +86299,7 @@
 
    <li><i>Loop</i>: If <var title="">node</var> is the first node in
    the stack of open elements, then set <var title="">last</var> to
-   true and set <var title="">node</var> to the <var title=concept-frag-parse-context>context</var> element.
+   true and set <var title="">node</var> to the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element.
    (<a href=#fragment-case>fragment case</a>)</li>
 
    <li>
@@ -86426,7 +86426,7 @@
   <p>The <dfn id=current-node>current node</dfn> is the bottommost node in this <a href=#stack-of-open-elements>stack of open
   elements</a>.</p>
 
-  <p>The <dfn id=adjusted-current-node>adjusted current node</dfn> is the <i title=concept-frag-parse-context>context</i>
+  <p>The <dfn id=adjusted-current-node>adjusted current node</dfn> is the <i title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></i>
   element if the <a href=#stack-of-open-elements>stack of open elements</a> has only one element in it and the parser was
   created by the <a href=#html-fragment-parsing-algorithm>HTML fragment parsing algorithm</a>; otherwise, the <a href=#adjusted-current-node>adjusted current
   node</a> is the <a href=#current-node>current node</a>.</p>
@@ -86510,16 +86510,16 @@
   scope">have an element in list item scope</dfn> when it <a href=#has-an-element-in-the-specific-scope>has an element in the specific
   scope</a> consisting of the following element types:</p>
 
-  <ul class=brief><li>All the element types listed above for the <i>has an element
-   in scope</i> algorithm.</li>
+  <ul class=brief><li>All the element types listed above for the <i><a href=#has-an-element-in-scope>has an element
+   in scope</a></i> algorithm.</li>
    <li><code><a href=#the-ol-element>ol</a></code> in the <a href=#html-namespace-0>HTML namespace</a></li>
    <li><code><a href=#the-ul-element>ul</a></code> in the <a href=#html-namespace-0>HTML namespace</a></li>
   </ul><p>The <a href=#stack-of-open-elements>stack of open elements</a> is said to <dfn id=has-an-element-in-button-scope title="has an element in button
   scope">have an element in button scope</dfn> when it <a href=#has-an-element-in-the-specific-scope>has an element in the specific
   scope</a> consisting of the following element types:</p>
 
-  <ul class=brief><li>All the element types listed above for the <i>has an element
-   in scope</i> algorithm.</li>
+  <ul class=brief><li>All the element types listed above for the <i><a href=#has-an-element-in-scope>has an element
+   in scope</a></i> algorithm.</li>
    <li><code><a href=#the-button-element>button</a></code> in the <a href=#html-namespace-0>HTML namespace</a></li>
   </ul><p>The <a href=#stack-of-open-elements>stack of open elements</a> is said to <dfn id=has-an-element-in-table-scope title="has an element in table
   scope">have an element in table scope</dfn> when it <a href=#has-an-element-in-the-specific-scope>has an element in the specific
@@ -86986,7 +86986,7 @@
   <p>Consume the <a href=#next-input-character>next input character</a>:</p>
 
   <dl class=switch><dt>U+002F SOLIDUS (/)</dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Switch
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Switch
    to the <a href=#rcdata-end-tag-open-state>RCDATA end tag open state</a>.</dd>
 
    <dt>Anything else</dt>
@@ -87003,7 +87003,7 @@
    <dd>Create a new end tag token, and set its tag name to the
    lowercase version of the <a href=#current-input-character>current input character</a> (add
    0x0020 to the character's code point). Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#rcdata-end-tag-name-state>RCDATA end tag name state</a>. (Don't emit
    the token yet; further details will be filled in before it is
    emitted.)</dd>
@@ -87011,7 +87011,7 @@
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Create a new end tag token, and set its tag name to the
    <a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#rcdata-end-tag-name-state>RCDATA end tag name state</a>. (Don't emit
    the token yet; further details will be filled in before it is
    emitted.)</dd>
@@ -87052,18 +87052,18 @@
    <dd>Append the lowercase version of the <a href=#current-input-character>current input
    character</a> (add 0x0020 to the character's code point) to the
    current tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Append the <a href=#current-input-character>current input character</a> to the current
    tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt>Anything else</dt>
    <dd>Switch to the <a href=#rcdata-state>RCDATA state</a>. Emit a U+003C
    LESS-THAN SIGN character token, a U+002F SOLIDUS character token,
    and a character token for each of the characters in the
-   <var>temporary buffer</var> (in the order they were added to the
+   <var><a href=#temporary-buffer>temporary buffer</a></var> (in the order they were added to the
    buffer). Reconsume the <a href=#current-input-character>current input character</a>.</dd>
 
   </dl><h5 id=rawtext-less-than-sign-state><span class=secno>12.2.4.14 </span><dfn>RAWTEXT less-than sign state</dfn></h5>
@@ -87072,7 +87072,7 @@
   <p>Consume the <a href=#next-input-character>next input character</a>:</p>
 
   <dl class=switch><dt>U+002F SOLIDUS (/)</dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Switch
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Switch
    to the <a href=#rawtext-end-tag-open-state>RAWTEXT end tag open state</a>.</dd>
 
    <dt>Anything else</dt>
@@ -87089,7 +87089,7 @@
    <dd>Create a new end tag token, and set its tag name to the
    lowercase version of the <a href=#current-input-character>current input character</a> (add
    0x0020 to the character's code point). Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#rawtext-end-tag-name-state>RAWTEXT end tag name state</a>. (Don't emit
    the token yet; further details will be filled in before it is
    emitted.)</dd>
@@ -87097,7 +87097,7 @@
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Create a new end tag token, and set its tag name to the
    <a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#rawtext-end-tag-name-state>RAWTEXT end tag name state</a>. (Don't emit
    the token yet; further details will be filled in before it is
    emitted.)</dd>
@@ -87138,18 +87138,18 @@
    <dd>Append the lowercase version of the <a href=#current-input-character>current input
    character</a> (add 0x0020 to the character's code point) to the
    current tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Append the <a href=#current-input-character>current input character</a> to the current
    tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt>Anything else</dt>
    <dd>Switch to the <a href=#rawtext-state>RAWTEXT state</a>. Emit a U+003C
    LESS-THAN SIGN character token, a U+002F SOLIDUS character token,
    and a character token for each of the characters in the
-   <var>temporary buffer</var> (in the order they were added to the
+   <var><a href=#temporary-buffer>temporary buffer</a></var> (in the order they were added to the
    buffer). Reconsume the <a href=#current-input-character>current input character</a>.</dd>
 
   </dl><h5 id=script-data-less-than-sign-state><span class=secno>12.2.4.17 </span><dfn>Script data less-than sign state</dfn></h5>
@@ -87157,7 +87157,7 @@
   <p>Consume the <a href=#next-input-character>next input character</a>:</p>
 
   <dl class=switch><dt>U+002F SOLIDUS (/)</dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Switch
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Switch
    to the <a href=#script-data-end-tag-open-state>script data end tag open state</a>.</dd>
 
    <dt>U+0021 EXCLAMATION MARK (!)</dt>
@@ -87179,7 +87179,7 @@
    <dd>Create a new end tag token, and set its tag name to the
    lowercase version of the <a href=#current-input-character>current input character</a> (add
    0x0020 to the character's code point). Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#script-data-end-tag-name-state>script data end tag name state</a>. (Don't emit
    the token yet; further details will be filled in before it is
    emitted.)</dd>
@@ -87187,7 +87187,7 @@
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Create a new end tag token, and set its tag name to the
    <a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#script-data-end-tag-name-state>script data end tag name state</a>. (Don't emit
    the token yet; further details will be filled in before it is
    emitted.)</dd>
@@ -87228,18 +87228,18 @@
    <dd>Append the lowercase version of the <a href=#current-input-character>current input
    character</a> (add 0x0020 to the character's code point) to the
    current tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Append the <a href=#current-input-character>current input character</a> to the current
    tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt>Anything else</dt>
    <dd>Switch to the <a href=#script-data-state>script data state</a>. Emit a U+003C
    LESS-THAN SIGN character token, a U+002F SOLIDUS character token,
    and a character token for each of the characters in the
-   <var>temporary buffer</var> (in the order they were added to the
+   <var><a href=#temporary-buffer>temporary buffer</a></var> (in the order they were added to the
    buffer). Reconsume the <a href=#current-input-character>current input character</a>.</dd>
 
   </dl><h5 id=script-data-escape-start-state><span class=secno>12.2.4.20 </span><dfn>Script data escape start state</dfn></h5>
@@ -87348,21 +87348,21 @@
   <p>Consume the <a href=#next-input-character>next input character</a>:</p>
 
   <dl class=switch><dt>U+002F SOLIDUS (/)</dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Switch
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Switch
    to the <a href=#script-data-escaped-end-tag-open-state>script data escaped end tag open state</a>.</dd>
 
    <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Append
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Append
    the lowercase version of the <a href=#current-input-character>current input character</a>
-   (add 0x0020 to the character's code point) to the <var>temporary
-   buffer</var>. Switch to the <a href=#script-data-double-escape-start-state>script data double escape start
+   (add 0x0020 to the character's code point) to the <var><a href=#temporary-buffer>temporary
+   buffer</a></var>. Switch to the <a href=#script-data-double-escape-start-state>script data double escape start
    state</a>. Emit a U+003C LESS-THAN SIGN character token and the
    <a href=#current-input-character>current input character</a> as a character token.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Append
-   the <a href=#current-input-character>current input character</a> to the <var>temporary
-   buffer</var>. Switch to the <a href=#script-data-double-escape-start-state>script data double escape start
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Append
+   the <a href=#current-input-character>current input character</a> to the <var><a href=#temporary-buffer>temporary
+   buffer</a></var>. Switch to the <a href=#script-data-double-escape-start-state>script data double escape start
    state</a>. Emit a U+003C LESS-THAN SIGN character token and the
    <a href=#current-input-character>current input character</a> as a character token.</dd>
 
@@ -87379,7 +87379,7 @@
    <dd>Create a new end tag token, and set its tag name to the
    lowercase version of the <a href=#current-input-character>current input character</a> (add
    0x0020 to the character's code point). Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#script-data-escaped-end-tag-name-state>script data escaped end tag name
    state</a>. (Don't emit the token yet; further details will be
    filled in before it is emitted.)</dd>
@@ -87387,7 +87387,7 @@
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Create a new end tag token, and set its tag name to the
    <a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#script-data-escaped-end-tag-name-state>script data escaped end tag name
    state</a>. (Don't emit the token yet; further details will be
    filled in before it is emitted.)</dd>
@@ -87428,18 +87428,18 @@
    <dd>Append the lowercase version of the <a href=#current-input-character>current input
    character</a> (add 0x0020 to the character's code point) to the
    current tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Append the <a href=#current-input-character>current input character</a> to the current
    tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt>Anything else</dt>
    <dd>Switch to the <a href=#script-data-escaped-state>script data escaped state</a>. Emit a
    U+003C LESS-THAN SIGN character token, a U+002F SOLIDUS character
    token, and a character token for each of the characters in the
-   <var>temporary buffer</var> (in the order they were added to the
+   <var><a href=#temporary-buffer>temporary buffer</a></var> (in the order they were added to the
    buffer). Reconsume the <a href=#current-input-character>current input character</a>.</dd>
 
   </dl><h5 id=script-data-double-escape-start-state><span class=secno>12.2.4.28 </span><dfn>Script data double escape start state</dfn></h5>
@@ -87453,7 +87453,7 @@
    <dt>U+0020 SPACE</dt>
    <dt>U+002F SOLIDUS (/)</dt>
    <dt>U+003E GREATER-THAN SIGN (>)</dt>
-   <dd>If the <var>temporary buffer</var> is the string "<code title="">script</code>", then switch to the <a href=#script-data-double-escaped-state>script data
+   <dd>If the <var><a href=#temporary-buffer>temporary buffer</a></var> is the string "<code title="">script</code>", then switch to the <a href=#script-data-double-escaped-state>script data
    double escaped state</a>. Otherwise, switch to the <a href=#script-data-escaped-state>script
    data escaped state</a>. Emit the <a href=#current-input-character>current input
    character</a> as a character token.</dd>
@@ -87461,12 +87461,12 @@
    <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
    <dd>Append the lowercase version of the <a href=#current-input-character>current input
    character</a> (add 0x0020 to the character's code point) to the
-   <var>temporary buffer</var>. Emit the <a href=#current-input-character>current input
+   <var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
    character</a> as a character token.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Append the <a href=#current-input-character>current input character</a> to the
-   <var>temporary buffer</var>. Emit the <a href=#current-input-character>current input
+   <var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
    character</a> as a character token.</dd>
 
    <dt>Anything else</dt>
@@ -87560,7 +87560,7 @@
   <p>Consume the <a href=#next-input-character>next input character</a>:</p>
 
   <dl class=switch><dt>U+002F SOLIDUS (/)</dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Switch
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Switch
    to the <a href=#script-data-double-escape-end-state>script data double escape end state</a>. Emit a
    U+002F SOLIDUS character token.</dd>
 
@@ -87579,7 +87579,7 @@
    <dt>U+0020 SPACE</dt>
    <dt>U+002F SOLIDUS (/)</dt>
    <dt>U+003E GREATER-THAN SIGN (>)</dt>
-   <dd>If the <var>temporary buffer</var> is the string "<code title="">script</code>", then switch to the <a href=#script-data-escaped-state>script data
+   <dd>If the <var><a href=#temporary-buffer>temporary buffer</a></var> is the string "<code title="">script</code>", then switch to the <a href=#script-data-escaped-state>script data
    escaped state</a>. Otherwise, switch to the <a href=#script-data-double-escaped-state>script data
    double escaped state</a>. Emit the <a href=#current-input-character>current input
    character</a> as a character token.</dd>
@@ -87587,12 +87587,12 @@
    <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
    <dd>Append the lowercase version of the <a href=#current-input-character>current input
    character</a> (add 0x0020 to the character's code point) to the
-   <var>temporary buffer</var>. Emit the <a href=#current-input-character>current input
+   <var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
    character</a> as a character token.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Append the <a href=#current-input-character>current input character</a> to the
-   <var>temporary buffer</var>. Emit the <a href=#current-input-character>current input
+   <var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
    character</a> as a character token.</dd>
 
    <dt>Anything else</dt>
@@ -90114,7 +90114,8 @@
    </dd>
 
    <dt>A start tag whose tag name is one of: "base", "basefont",
-   "bgsound", "link", "meta", "noframes", "script", "style", "title"</dt>
+   "bgsound", "link", "meta", "noframes", "script", "style", "template", "title"</dt>
+   <dt>An end tag whose tag name is "template"</dt>
    <dd>
     <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
     mode</a>.</p>
@@ -91152,15 +91153,6 @@
 
    </dd>
 
-   <dt>A start tag whose tag name is "template"</dt>
-   <dt>An end tag whose tag name is "template"</dt>
-   <dd>
-
-    <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
-    mode</a>.</p>
-
-   </dd>
-
    <dt>A start <!--or end--> tag whose tag name is one of: "caption",
    "col", "colgroup", "frame", "head", "tbody", "td", "tfoot", "th",
    "thead", "tr"</dt>
@@ -91683,7 +91675,8 @@
     <p><a href=#parse-error>Parse error</a>. Ignore the token.</p>
    </dd>
 
-   <dt>A start tag whose tag name is one of: "style", "script"</dt>
+   <dt>A start tag whose tag name is one of: "style", "script", "template"</dt>
+   <dt>An end tag whose tag name is "template"</dt>
    <dd>
 
     <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
@@ -91734,15 +91727,6 @@
 
    <!-- "form" end tag falls through to in-body, which does the right thing -->
 
-   <dt>A start tag whose tag name is "template"</dt>
-   <dt>An end tag whose tag name is "template"</dt>
-   <dd>
-
-    <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
-    mode</a>.</p>
-
-   </dd>
-
    <dt>An end-of-file token</dt>
    <dd>
 
@@ -91788,8 +91772,8 @@
    <dt>Any other character token</dt>
    <dd>
 
-    <p>Append the character token to the <var>pending table character
-    tokens</var> list.</p>
+    <p>Append the character token to the <var><a href=#pending-table-character-tokens>pending table character
+    tokens</a></var> list.</p>
 
    </dd>
 
@@ -91800,10 +91784,10 @@
     <!-- this can only be called if the current node is one of the
     table model elements -->
 
-    <p>If any of the tokens in the <var>pending table character
-    tokens</var> list are character tokens that are not <a href=#space-character title="space character">space characters</a>, then reprocess
-    the character tokens in the <var>pending table character
-    tokens</var> list using the rules given in the "anything else"
+    <p>If any of the tokens in the <var><a href=#pending-table-character-tokens>pending table character
+    tokens</a></var> list are character tokens that are not <a href=#space-character title="space character">space characters</a>, then reprocess
+    the character tokens in the <var><a href=#pending-table-character-tokens>pending table character
+    tokens</a></var> list using the rules given in the "anything else"
     entry in the "<a href=#parsing-main-intable title="insertion mode: in table">in
     table</a>" insertion mode.</p>
 
@@ -91813,8 +91797,8 @@
     tokens. -->
 
     <p>Otherwise, <a href=#insert-a-character title="insert a character">insert the
-    characters</a> given by the <var>pending table character
-    tokens</var> list.</p> <!--
+    characters</a> given by the <var><a href=#pending-table-character-tokens>pending table character
+    tokens</a></var> list.</p> <!--
     i.e. inter-element whitespace in the table model isn't foster
     parented -->
 
@@ -92448,19 +92432,11 @@
 
    </dd>
 
-   <dt>A start tag whose tag name is "script"</dt>
-   <dd>
-    <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
-    mode</a>.</p>
-   </dd>
-
-   <dt>A start tag whose tag name is "template"</dt>
+   <dt>A start tag whose tag name is one of: "script", "template"</dt>
    <dt>An end tag whose tag name is "template"</dt>
    <dd>
-
     <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
     mode</a>.</p>
-
    </dd>
 
    <dt>An end-of-file token</dt>
@@ -92540,8 +92516,7 @@
     mode</a>.</p>
    </dd>
 
-   <dt>A start tag whose tag name is one of: "base", "basefont", "bgsound", "link", "meta", "noframes", "script", "style", "title"</dt>
-   <dt>A start tag whose tag name is "template"</dt>
+   <dt>A start tag whose tag name is one of: "base", "basefont", "bgsound", "link", "meta", "noframes", "script", "style", "template", "title"</dt>
    <dt>An end tag whose tag name is "template"</dt>
    <dd>
     <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
@@ -93329,8 +93304,8 @@
   <p>If the tool has no way to convey out-of-band information, then
   the tool may drop the following information:</p>
 
-  <ul><li>Whether the document is set to <i>no-quirks mode</i>,
-   <i>limited-quirks mode</i>, or <i>quirks mode</i></li>
+  <ul><li>Whether the document is set to <i><a href=#no-quirks-mode>no-quirks mode</a></i>,
+   <i><a href=#limited-quirks-mode>limited-quirks mode</a></i>, or <i><a href=#quirks-mode>quirks mode</a></i></li>
 
    <li>The association between form controls and forms that aren't
    their nearest <code><a href=#the-form-element>form</a></code> element ancestor (use of the
@@ -93451,7 +93426,7 @@
 
   <p>The highlighted <code><a href=#the-b-element>b</a></code> element start tag is not allowed
   directly inside a table like that, and the parser handles this case
-  by placing the element <em>before</em> the table. (This is called <i title="foster parent">foster parenting</i>.) This can be seen by
+  by placing the element <em>before</em> the table. (This is called <i title="foster parent"><a href=#foster-parent>foster parenting</a></i>.) This can be seen by
   examining the DOM tree as it stands just after the
   <code><a href=#the-table-element>table</a></code> element's start tag has been seen:</p>
 
@@ -93911,7 +93886,7 @@
 
   <p class=note>Parts marked <dfn id=fragment-case>fragment case</dfn> in algorithms
   in the parser section are parts that only occur if the parser was
-  created for the purposes of this algorithm (and with a <var title=concept-frag-parse-context>context</var> element). The
+  created for the purposes of this algorithm (and with a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element). The
   algorithms have been annotated with such markings for informational
   purposes only; such markings have no normative weight. If it is
   possible for a condition described as a <a href=#fragment-case>fragment case</a>
@@ -93928,11 +93903,11 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element, and the
-    <code><a href=#document>Document</a></code> of the <var title=concept-frag-parse-context>context</var> element is in
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, and the
+    <code><a href=#document>Document</a></code> of the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></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=concept-frag-parse-context>context</var> element, and the
-    <code><a href=#document>Document</a></code> of the <var title=concept-frag-parse-context>context</var> element is in
+    <a href=#quirks-mode>quirks mode</a>. Otherwise, if there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, and the
+    <code><a href=#document>Document</a></code> of the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element is in
     <a href=#limited-quirks-mode>limited-quirks 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><a href=#document>Document</a></code> in <a href=#no-quirks-mode>no-quirks
@@ -93949,7 +93924,7 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element, run
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, run
     these substeps:</p>
 
     <ol><li>
@@ -94026,7 +94001,7 @@
 
      <li>
 
-      <p>If the <var title=concept-frag-parse-context>context</var> element is a
+      <p>If the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element is a
       <code><a href=#the-template-element>template</a></code> element, push "<a href=#parsing-main-intemplate title="insertion mode: in template">in
       template</a>" onto the <a href=#stack-of-template-insertion-modes>stack of template insertion modes</a> so that it is the new
       <a href=#current-template-insertion-mode>current template insertion mode</a>.</p>
@@ -94038,7 +94013,7 @@
       <p><a href=#reset-the-insertion-mode-appropriately title="reset the insertion mode appropriately">Reset the
       parser's insertion mode appropriately</a>.</p>
 
-      <p class=note>The parser will reference the <var title=concept-frag-parse-context>context</var> element as part
+      <p class=note>The parser will reference the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element as part
       of that algorithm.</p>
 
      </li>
@@ -94046,7 +94021,7 @@
      <li>
 
       <p>Set the parser's <a href=#form-element-pointer><code>form</code> element
-      pointer</a> to the nearest node to the <var title=concept-frag-parse-context>context</var> element that is
+      pointer</a> to the nearest node to the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element that is
       a <code><a href=#the-form-element>form</a></code> element (going straight up the ancestor
       chain, and including the element itself, if it is a
       <code><a href=#the-form-element>form</a></code> element), or, if there is no such
@@ -94074,7 +94049,7 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element, return
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, return
     the child nodes of <var title="">root</var>, in <a href=#tree-order>tree
     order</a>.</p>
 
@@ -94361,7 +94336,7 @@
   <p>The <dfn id=xml-fragment-parsing-algorithm>XML fragment parsing algorithm</dfn> either returns a
   <code><a href=#document>Document</a></code> or throws a <code><a href=#syntaxerror>SyntaxError</a></code> exception.
   Given a string <var title="">input</var> and an optional context
-  element <var title=concept-frag-parse-context>context</var>, the
+  element <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var>, the
   algorithm is as follows:</p>
 
   <ol><li>
@@ -94372,7 +94347,7 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element, <a href=#feed-the-parser>feed the
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, <a href=#feed-the-parser>feed the
     parser</a> just created the string corresponding to the start tag of that element, declaring
     all the namespace prefixes that are in scope on that element in the DOM, as well as declaring
     the default namespace (if any) that is in scope on that element in the DOM.</p>
@@ -94382,7 +94357,7 @@
 
     <p>The default namespace is the namespace for which the DOM <code title="">isDefaultNamespace()</code> method on the element would return true.</p>
 
-    <p class=note>If there is a <var title=concept-frag-parse-context>context</var> element, no
+    <p class=note>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, no
     <code title="">DOCTYPE</code> is passed to the parser, and therefore no external subset is
     referenced, and therefore no entities will be recognized.</p>
 
@@ -94396,7 +94371,7 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element,
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element,
     <a href=#feed-the-parser>feed the parser</a> just created the string corresponding
     to the end tag of that element.</p>
 
@@ -94412,7 +94387,7 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element, and the
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, and the
     root element of the resulting <code><a href=#document>Document</a></code> has any
     sibling nodes, then throw a <code><a href=#syntaxerror>SyntaxError</a></code> exception and
     abort these steps.</p>
@@ -94423,7 +94398,7 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element, then
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, then
     return the child nodes of the root element of the resulting
     <code><a href=#document>Document</a></code>, in <a href=#tree-order>tree order</a>.</p>
 
@@ -95902,7 +95877,7 @@
   <p>When an <code><a href=#the-img-element>img</a></code> element or an <code><a href=#the-input-element>input</a></code> element when its <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href="#image-button-state-(type=image)" title=attr-input-type-image>Image
   Button</a> state does not <a href=#represents title=represents>represent</a> an image, but the 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>available</i><!--input-img-available also--> and be rendered in due course
+  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><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 image is being obtained. For <code><a href=#the-input-element>input</a></code> elements,

Modified: index
===================================================================
--- index	2013-07-03 18:26:58 UTC (rev 8022)
+++ index	2013-07-03 18:39:19 UTC (rev 8023)
@@ -1842,7 +1842,7 @@
   </dl><pre class=css>/* this is a CSS fragment */</pre>
 
   <p>The defining instance of a term is marked up like <dfn id=x-this title=x-this>this</dfn>. Uses of that
-  term are marked up like <a href=#x-this title=x-this>this</a> or like <i title=x-this>this</i>.</p>
+  term are marked up like <a href=#x-this title=x-this>this</a> or like <i title=x-this><a href=#x-this>this</a></i>.</p>
 
   <p>The defining instance of an element, attribute, or API is marked up like <dfn id=x-that title=x-that><code>this</code></dfn>. References to that element, attribute, or API are marked
   up like <code title=x-that><a href=#x-that>this</a></code>.</p>
@@ -3045,7 +3045,7 @@
 
   <h4 id=encoding-terminology><span class=secno>2.1.6 </span>Character encodings</h4>
 
-  <p>A <dfn id=encoding title=encoding>character encoding</dfn>, or just <i>encoding</i> where that is not
+  <p>A <dfn id=encoding title=encoding>character encoding</dfn>, or just <i><a href=#encoding>encoding</a></i> where that is not
   ambiguous, is a defined way to convert between byte streams and Unicode strings, as defined in the
   WHATWG Encoding standard. An <a href=#encoding>encoding</a> has an <dfn id=encoding-name>encoding name</dfn> and one or more
   <dfn id=encoding-label title="encoding label">encoding labels</dfn>, referred to as the encoding's <i>name</i> and
@@ -6704,7 +6704,7 @@
   <strong>from</strong> an origin <i title="">origin</i>, optionally <strong>using</strong> a
   specific <a href=#referrer-source>referrer source</a> as an <i>override referrer source</i>, and optionally with
   any of a <i>synchronous flag</i>, a <i>manual redirect flag</i>, a <i>force same-origin flag</i>,
-  and a <i>block cookies flag</i>, the following steps must be run. (When a <em>URL</em> is to be
+  and a <i>block cookies flag</i>, the following steps must be run. (When a <em><a href=#url>URL</a></em> is to be
   fetched, the URL identifies a resource to be obtained.)</p>
 
   <!-- if invoked with the synchronous flag, make sure to release the storage mutex first -->
@@ -7064,10 +7064,10 @@
      <th> Brief description
    <tbody><tr><td><dfn id=attr-crossorigin-anonymous-keyword title=attr-crossorigin-anonymous-keyword><code>anonymous</code></dfn>
      <td><dfn id=attr-crossorigin-anonymous title=attr-crossorigin-anonymous>Anonymous</dfn>
-     <td>Cross-origin CORS requests for the element will have the <i>omit credentials flag</i> set.
+     <td>Cross-origin CORS requests for the element will have the <i><a href=#omit-credentials-flag>omit credentials flag</a></i> set.
     <tr><td><dfn id=attr-crossorigin-use-credentials-keyword title=attr-crossorigin-use-credentials-keyword><code>use-credentials</code></dfn>
      <td><dfn id=attr-crossorigin-use-credentials title=attr-crossorigin-use-credentials>Use Credentials</dfn>
-     <td>Cross-origin CORS requests for the element will not have the <i>omit credentials flag</i> set.
+     <td>Cross-origin CORS requests for the element will not have the <i><a href=#omit-credentials-flag>omit credentials flag</a></i> set.
   </table><p>The empty string is also a valid keyword, and maps to the <a href=#attr-crossorigin-anonymous title=attr-crossorigin-anonymous>Anonymous</a> state. The
   attribute's <i>invalid value default</i> is the <a href=#attr-crossorigin-anonymous title=attr-crossorigin-anonymous>Anonymous</a> state. For the purposes of <a href=#reflect title=reflect>reflection</a>, the canonical case for the <a href=#attr-crossorigin-anonymous title=attr-crossorigin-anonymous>Anonymous</a> state is the <code title=attr-crossorigin-anonymous-keyword><a href=#attr-crossorigin-anonymous-keyword>anonymous</a></code> keyword. The
   <i>missing value default</i>, used when the attribute is omitted, is
@@ -7214,7 +7214,7 @@
      with the <i>request URL</i> set to <var title="">URL</var>, with
      the CORS <i title="">referrer source</i> set to <var title="">referrer source</var> if one was specified, the
      <i>source origin</i> set to <var title="">origin</var>, and with
-     the <i>omit credentials flag</i> set if <var title="">mode</var>
+     the <i><a href=#omit-credentials-flag>omit credentials flag</a></i> set if <var title="">mode</var>
      is "<a href=#attr-crossorigin-anonymous title=attr-crossorigin-anonymous>Anonymous</a>"
      and not set otherwise. <a href=#refsCORS>[CORS]</a></li>
 
@@ -8040,7 +8040,7 @@
 
    <li><p>Let <var title="">memory</var> be an association list of pairs of objects, initially
    empty. This is used to handle duplicate references. In each pair of objects, one is called the
-   <em>source</em> object and the other the <em>destination</em> object.</li>
+   <em><a href=#the-source-element>source</a></em> object and the other the <em>destination</em> object.</li>
 
    <li><p>For each mapping in <var title="">transfer map</var>, add a mapping from the
    <code><a href=#transferable>Transferable</a></code> object (the source object) to the placeholder object (the destination
@@ -11909,7 +11909,7 @@
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
-   <li><p>Set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to false.</li>
+   <li><p>Set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to false.</li>
 
    <li><p><a href=#prompt-to-unload-a-document title="prompt to unload a document">Prompt to 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
@@ -11950,7 +11950,7 @@
    <code><a href=#document>Document</a></code> object's <a href=#reload-override-flag>reload override flag</a> and set the
    <code><a href=#document>Document</a></code>'s <a href=#reload-override-buffer>reload override buffer</a> to the empty string.</li>
 
-   <li><p>Set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state back to true.</li>
+   <li><p>Set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state back to true.</li>
 
    <li><p>Change <a href="#the-document's-address">the document's address</a> to the <a href=#entry-script>entry script</a>'s <a href="#script's-document" title="script's document">document</a>'s <a href="#the-document's-address" title="the document's
    address">address</a>.</li>
@@ -14460,15 +14460,15 @@
      <li>the <code><a href=#the-script-element>script</a></code> element has neither a <code title=attr-script-type><a href=#attr-script-type>type</a></code>
      attribute nor a <code title=attr-script-language><a href=#attr-script-language>language</a></code> attribute, then</li>
 
-    </ul><p>...let <var>the script block's type</var> for this <code><a href=#the-script-element>script</a></code> element be "<code title="">text/javascript</code>".</p>
+    </ul><p>...let <var><a href="#the-script-block's-type">the script block's type</a></var> for this <code><a href=#the-script-element>script</a></code> element be "<code title="">text/javascript</code>".</p>
 
-    <p>Otherwise, if the <code><a href=#the-script-element>script</a></code> element has a <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute, let <var>the script block's type</var> for this
+    <p>Otherwise, if the <code><a href=#the-script-element>script</a></code> element has a <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute, let <var><a href="#the-script-block's-type">the script block's type</a></var> for this
     <code><a href=#the-script-element>script</a></code> element be the value of that attribute with any leading or trailing
     sequences of <a href=#space-character title="space character">space characters</a> removed.</p> <!-- <span>Strip
     leading and trailing whitespace</span> from... -->
 
     <p>Otherwise, the element has a non-empty <code title=attr-script-language><a href=#attr-script-language>language</a></code>
-    attribute; let <var>the script block's type</var> for this <code><a href=#the-script-element>script</a></code> element be the
+    attribute; let <var><a href="#the-script-block's-type">the script block's type</a></var> for this <code><a href=#the-script-element>script</a></code> element be the
     concatenation of the string "<code title="">text/</code>" followed by the value of the <code title=attr-script-language><a href=#attr-script-language>language</a></code> attribute.</p> <!-- user agents already support,
     e.g., type="text/javascript1.3", so we don't have to support that separately. -->
 
@@ -14480,8 +14480,8 @@
 
    <li>
 
-    <p>If the user agent does not <a href=#support-the-scripting-language>support the scripting language</a> given by <var>the
-    script block's type</var> for this <code><a href=#the-script-element>script</a></code> element, then the user agent must abort
+    <p>If the user agent does not <a href=#support-the-scripting-language>support the scripting language</a> given by <var><a href="#the-script-block's-type">the
+    script block's type</a></var> for this <code><a href=#the-script-element>script</a></code> element, then the user agent must abort
     these steps at this point. The script is not executed.</p>
 
    </li>
@@ -14554,11 +14554,11 @@
    <li id=script-processing-encoding>
 
     <p>If the <code><a href=#the-script-element>script</a></code> element has a <code title=attr-script-charset><a href=#attr-script-charset>charset</a></code>
-    attribute, then let <var>the script block's character encoding</var> for this
+    attribute, then let <var><a href="#the-script-block's-character-encoding">the script block's character encoding</a></var> for this
     <code><a href=#the-script-element>script</a></code> element be the result of <a href=#getting-an-encoding>getting an encoding</a> from the value of
     the <code title=attr-script-charset><a href=#attr-script-charset>charset</a></code> attribute.</p>
 
-    <p>Otherwise, let <var>the script block's fallback character encoding</var> for this
+    <p>Otherwise, let <var><a href="#the-script-block's-fallback-character-encoding">the script block's fallback character encoding</a></var> for this
     <code><a href=#the-script-element>script</a></code> element be the same as <a href="#document's-character-encoding" title="document's character encoding">the
     encoding of the document itself</a>.</p>
 
@@ -14787,7 +14787,7 @@
 
         <p>Initialize <dfn id="the-script-block's-source"><var>the script block's source</var></dfn> as follows:</p>
 
-        <dl class=switch><dt>If the script is from an external file and <var>the script block's type</var> is a
+        <dl class=switch><dt>If the script is from an external file and <var><a href="#the-script-block's-type">the script block's type</a></var> is a
          text-based language</dt>
 
          <dd>
@@ -14800,16 +14800,16 @@
            specifies a character encoding, and the user agent supports that encoding, then let <var title="">character encoding</var> be that encoding, and jump to the bottom step in this
            series of steps.</li>
 
-           <li><p>If the algorithm above set <var>the script block's character encoding</var>, then
+           <li><p>If the algorithm above set <var><a href="#the-script-block's-character-encoding">the script block's character encoding</a></var>, then
            let <var title="">character encoding</var> be that encoding, and jump to the bottom step
            in this series of steps.</li>
 
-           <li><p>Let <var title="">character encoding</var> be <var>the script block's fallback
-           character encoding</var>.</li>
+           <li><p>Let <var title="">character encoding</var> be <var><a href="#the-script-block's-fallback-character-encoding">the script block's fallback
+           character encoding</a></var>.</li>
 
            <li>
 
-            <p>If the specification for <var>the script block's type</var> gives specific rules for
+            <p>If the specification for <var><a href="#the-script-block's-type">the script block's type</a></var> gives specific rules for
             decoding files in that format to Unicode, follow them, using <var>character
             encoding</var> as the character encoding specified by higher-level protocols, if
             necessary.</p> <!-- e.g. XML -->
@@ -14824,18 +14824,18 @@
 
           </ol></dd>
 
-         <dt>If the script is from an external file and <var>the script block's type</var> is an
+         <dt>If the script is from an external file and <var><a href="#the-script-block's-type">the script block's type</a></var> is an
          XML-based language</dt>
 
          <dd>
 
           <p>The external file is the script source. When it is later executed, it must be
           interpreted in a manner consistent with the specification defining the language given by
-          <var>the script block's type</var>.</p>
+          <var><a href="#the-script-block's-type">the script block's type</a></var>.</p>
 
          </dd>
 
-         <dt>If the script is inline and <var>the script block's type</var> is a text-based
+         <dt>If the script is inline and <var><a href="#the-script-block's-type">the script block's type</a></var> is a text-based
          language</dt>
 
          <dd>
@@ -14845,7 +14845,7 @@
 
          </dd>
 
-         <dt>If the script is inline and <var>the script block's type</var> is an XML-based
+         <dt>If the script is inline and <var><a href="#the-script-block's-type">the script block's type</a></var> is an XML-based
          language</dt>
 
          <dd>
@@ -14893,9 +14893,9 @@
        <li>
 
         <p><a href=#create-a-script-from-a-node title="create a script from a node">Create a script</a> from the
-        <code><a href=#the-script-element>script</a></code> element node, using <var>the script block's source</var>, the
-        <a href=#url>URL</a> from which the script was obtained, and <var>the script block's
-        type</var>.</p>
+        <code><a href=#the-script-element>script</a></code> element node, using <var><a href="#the-script-block's-source">the script block's source</a></var>, the
+        <a href=#url>URL</a> from which the script was obtained, and <var><a href="#the-script-block's-type">the script block's
+        type</a></var>.</p>
 
         <p>If the script came from a resource that was <a href=#fetch title=fetch>fetched</a> in the
         steps above, and the resource was <a href=#cors-cross-origin>CORS-cross-origin</a>, then pass the <var title="">muted errors</var> flag to the <a href=#create-a-script-from-a-node>create a script from a node</a>
@@ -15052,8 +15052,8 @@
 
   <div class=impl>
 
-  <p>A user agent is said to <dfn id=support-the-scripting-language>support the scripting language</dfn> if each component of <var>the
-  script block's type</var> is an <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the corresponding
+  <p>A user agent is said to <dfn id=support-the-scripting-language>support the scripting language</dfn> if each component of <var><a href="#the-script-block's-type">the
+  script block's type</a></var> is an <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the corresponding
   component in the <a href=#mime-type>MIME type</a> string of a scripting language that the user agent
   implements.</p>
 
@@ -15306,7 +15306,7 @@
    <dd><p>The <code><a href=#the-noscript-element>noscript</a></code> element must contain only text,
    except that invoking the <a href=#html-fragment-parsing-algorithm>HTML fragment parsing
    algorithm</a> <!-- (which disables <script> execution) --> with
-   the <code><a href=#the-noscript-element>noscript</a></code> element as the <var title=concept-frag-parse-context>context</var> element and the
+   the <code><a href=#the-noscript-element>noscript</a></code> element as the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element and the
    text contents as the <var title="">input</var> must result in a
    list of nodes that consists only of <code><a href=#the-link-element>link</a></code>,
    <code><a href=#the-style-element>style</a></code>, and <code><a href=#the-meta-element>meta</a></code> elements that would be
@@ -17886,7 +17886,7 @@
     </ul><p>and is further discussed below.</p>
    </div>
 
-   <p>The solution is to realise that a <i>paragraph</i>, in HTML terms, is not a logical concept,
+   <p>The solution is to realise that a <i><a href=#paragraph>paragraph</a></i>, in HTML terms, is not a logical concept,
    but a structural one. In the fantastic example above, there are actually <em>five</em> <a href=#paragraph title=paragraph>paragraphs</a> as defined by this specification: one before the list, one
    for each bullet, and one after the list.</p>
 
@@ -19383,7 +19383,7 @@
    <li><p>Finally, the user agent must <a href=#following-hyperlinks title="following hyperlinks">follow the
    hyperlink</a> or <a href=#downloading-hyperlinks title="downloading hyperlinks">download the hyperlink</a> created by
    the <code><a href=#the-a-element>a</a></code> element, as determined by the <code title=attr-hyperlink-download><a href=#attr-hyperlink-download>download</a></code> attribute and any expressed user preference. If
-   the steps above defined a <var>hyperlink suffix</var>, then take that into account when following
+   the steps above defined a <var><a href=#hyperlink-suffix>hyperlink suffix</a></var>, then take that into account when following
    or downloading the hyperlink.</li>
 
   </ol></div>
@@ -21815,11 +21815,11 @@
 
   <div class=impl>
 
-  <p>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <i title=attr-dir-rtl-state>rtl</i> state, then for the purposes of the bidirectional algorithm,
+  <p>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <i title=attr-dir-rtl-state><a href=#attr-dir-rtl-state>rtl</a></i> state, then for the purposes of the bidirectional algorithm,
   the user agent must act as if there was a U+202D LEFT-TO-RIGHT OVERRIDE character at the start of
   the element, and a U+202C POP DIRECTIONAL FORMATTING at the end of the element.</p>
 
-  <p>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <i title=attr-dir-ltr-state>ltr</i>, then for the purposes of the bidirectional algorithm, the user
+  <p>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <i title=attr-dir-ltr-state><a href=#attr-dir-ltr-state>ltr</a></i>, then for the purposes of the bidirectional algorithm, the user
   agent must act as if there was a U+202E RIGHT-TO-LEFT OVERRIDE character at the start of the
   element, and a U+202C POP DIRECTIONAL FORMATTING at the end of the element.</p>
 
@@ -23396,9 +23396,9 @@
   rendered width and height of the image, in CSS pixels, if the image
   is <a href=#being-rendered>being rendered</a>, and is being rendered to a visual
   medium; or else the intrinsic width and height of the image, in CSS
-  pixels, if the image is <i title=img-available>available</i> but
+  pixels, if the image is <i title=img-available><a href=#img-available>available</a></i> but
   not being rendered to a visual medium; or else 0, if the image is
-  not <i title=img-available>available</i>. <a href=#refsCSS>[CSS]</a></p>
+  not <i title=img-available><a href=#img-available>available</a></i>. <a href=#refsCSS>[CSS]</a></p>
 
   <p>On setting, they must act as if they <a href=#reflect title=reflect>reflected</a> the respective content attributes
   of the same name.</p>
@@ -23406,7 +23406,7 @@
   <p>The IDL attributes <dfn id=dom-img-naturalwidth title=dom-img-naturalWidth><code>naturalWidth</code></dfn> and
   <dfn id=dom-img-naturalheight title=dom-img-naturalHeight><code>naturalHeight</code></dfn>
   must return the intrinsic width and height of the image, in CSS
-  pixels, if the image is <i title=img-available>available</i>, or
+  pixels, if the image is <i title=img-available><a href=#img-available>available</a></i>, or
   else 0. <a href=#refsCSS>[CSS]</a></p>
 
   <p>The IDL attribute <dfn id=dom-img-complete title=dom-img-complete><code>complete</code></dfn> must return
@@ -23561,8 +23561,8 @@
   image.</p>
 
   <p>A corollary to this is that the <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code> attribute's value should never
-  contain text that could be considered the image's <em>caption</em>,
-  <em>title</em>, or <em>legend</em>. It is supposed to contain
+  contain text that could be considered the image's <em><a href=#the-caption-element>caption</a></em>,
+  <em><a href=#the-title-element>title</a></em>, or <em><a href=#the-legend-element>legend</a></em>. It is supposed to contain
   replacement text that could be used by users <em>instead</em> of the
   image; it is not meant to supplement the image. The <code title=attr-title><a href=#attr-title>title</a></code> attribute can be used for
   supplemental information.</p>
@@ -23825,7 +23825,7 @@
 at least that would look good on the cover of a blue book.</p></pre>
 
    <p>This example shows how the alternative text should be written
-   such that if the image isn't <i title=img-available>available</i>, and the text is used instead,
+   such that if the image isn't <i title=img-available><a href=#img-available>available</a></i>, and the text is used instead,
    the text flows seamlessly into the surrounding text, as if the
    image had never been there in the first place.</p>
 
@@ -24091,7 +24091,7 @@
      with each year: 624%, 75%, 138%, 40%, 35%, 9%, 21%"></strong></pre>
 
      <p>Note that "sales graph" would be inadequate alternative text
-     for a sales graph. Text that would be a good <em>caption</em> is
+     for a sales graph. Text that would be a good <em><a href=#the-caption-element>caption</a></em> is
      not generally suitable as replacement text.</p>
 
     </div>
@@ -24682,7 +24682,7 @@
 
   <p class=note>This happens without any <code title=event-unload>unload</code> events firing
   (the <a href=#nested-browsing-context>nested browsing context</a> and its <code><a href=#document>Document</a></code> are <em title="a browsing
-  context is discarded">discarded</em>, not <em title="unload a document">unloaded</em>).</p>
+  context is discarded"><a href=#a-browsing-context-is-discarded>discarded</a></em>, not <em title="unload a document"><a href=#unload-a-document>unloaded</a></em>).</p>
 
   <!-- START of section that's very similar to <frame> -->
 
@@ -25011,8 +25011,8 @@
     <ul><li>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 <code><a href=#document>Document</a></code>, or
 
-     <li>The <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active document</a>'s <em><a href="#the-document's-address" title="the
-     document's address">address</a></em> has the <a href=#same-origin>same origin</a> as the
+     <li>The <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active document</a>'s <em><a href=#the-address-element><span title="the
+     document's address">address</span></a></em> has the <a href=#same-origin>same origin</a> as the
      <code><a href=#the-iframe-element>iframe</a></code> element's <code><a href=#document>Document</a></code>, or
 
      <li>The <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active document</a> is <a href=#an-iframe-srcdoc-document>an
@@ -25148,7 +25148,7 @@
 
   <p id=iframe-content-model>When used in <a href=#html-documents>HTML documents</a>, the allowed content model
   of <code><a href=#the-iframe-element>iframe</a></code> elements is text, except that invoking the <a href=#html-fragment-parsing-algorithm>HTML fragment parsing
-  algorithm</a> with the <code><a href=#the-iframe-element>iframe</a></code> element as the <var title=concept-frag-parse-context>context</var> element and the text contents as the <var title="">input</var> must result in a list of nodes that are all <a href=#phrasing-content>phrasing content</a>,
+  algorithm</a> with the <code><a href=#the-iframe-element>iframe</a></code> element as the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element and the text contents as the <var title="">input</var> must result in a list of nodes that are all <a href=#phrasing-content>phrasing content</a>,
   with no <a href=#parse-error title="parse error">parse errors</a> having occurred, with no <code><a href=#the-script-element>script</a></code>
   elements being anywhere in the list or as descendants of elements in the list, and with all the
   elements in the list (including their descendants) being themselves conforming.</p>
@@ -26410,7 +26410,7 @@
   </ol></div>
 
   <p class=note>The image given by the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code> attribute,
-  the <i>poster frame</i>, is intended to be a representative frame of the video (typically one of
+  the <i><a href=#poster-frame>poster frame</a></i>, is intended to be a representative frame of the video (typically one of
   the first non-blank frames) that gives the user an idea of what the video is like.</p>
 
   <div class=impl>
@@ -28881,7 +28881,7 @@
       <ol><li>Set the <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> attribute to false.</li>
 
        <li>If the element's <a href=#show-poster-flag>show poster flag</a> is true, set it to false and run the
-       <i>time marches on</i> steps.</li>
+       <i><a href=#time-marches-on>time marches on</a></i> steps.</li>
 
        <li><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-media-play><a href=#event-media-play>play</a></code> at the element.</li>
 
@@ -29199,7 +29199,7 @@
     <ol><li><p>Change the value of <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> to false.</li>
 
      <li><p>If the <a href=#show-poster-flag>show poster flag</a> is true, set the element's <a href=#show-poster-flag>show poster
-     flag</a> to false and run the <i>time marches on</i> steps.</li>
+     flag</a> to false and run the <i><a href=#time-marches-on>time marches on</a></i> steps.</li>
 
      <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-media-play><a href=#event-media-play>play</a></code> at the element.</li>
 
@@ -29313,17 +29313,17 @@
   <a href=#media-element>media element</a>'s <a href=#list-of-newly-introduced-cues>list of newly introduced cues</a>. When a <a href=#media-element>media
   element</a>'s <a href=#list-of-newly-introduced-cues>list of newly introduced cues</a> has new cues added while the
   <a href=#media-element>media element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, then the user agent must
-  run the <i>time marches on</i> steps.</p>
+  run the <i><a href=#time-marches-on>time marches on</a></i> steps.</p>
 
   <p>When a <a href=#text-track-cue>text track cue</a> is removed from the <a href=#text-track-list-of-cues title="text track list of
   cues">list of cues</a> of a <a href=#text-track>text track</a> that is in the <a href=#list-of-text-tracks>list of text
   tracks</a> for a <a href=#media-element>media element</a>, and whenever a <a href=#text-track>text track</a> is removed
   from the <a href=#list-of-text-tracks>list of text tracks</a> of a <a href=#media-element>media element</a>, if the <a href=#media-element>media
   element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, then the user agent must run the
-  <i>time marches on</i> steps.</p>
+  <i><a href=#time-marches-on>time marches on</a></i> steps.</p>
 
   <p>When the <a href=#current-playback-position>current playback position</a> of a <a href=#media-element>media element</a> changes (e.g.
-  due to playback or seeking), the user agent must run the <i>time marches on</i> steps. If the
+  due to playback or seeking), the user agent must run the <i><a href=#time-marches-on>time marches on</a></i> steps. If the
   <a href=#current-playback-position>current playback position</a> changes while the steps are running, then the user agent
   must wait for the steps to complete, and then must immediately rerun the steps. (These steps are
   thus run as often as possible or needed — if one iteration takes a long time, this can cause
@@ -31130,7 +31130,7 @@
     </ol></li>
 
    <li><p>If the <a href=#media-element>media element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, run the
-   <i>time marches on</i> steps.</li>
+   <i><a href=#time-marches-on>time marches on</a></i> steps.</li>
 
   </ol><p>The <a href=#task-source>task source</a> for the <a href=#concept-task title=concept-task>tasks</a> listed in this
   section is the <a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</p>
@@ -32161,7 +32161,7 @@
   <code><a href=#texttrackcue>TextTrackCue</a></code> object's <a href=#text-track-cue>text track cue</a> is in a <a href=#text-track>text track</a>'s
   <a href=#text-track-list-of-cues title="text track list of cues">list of cues</a>, and that <a href=#text-track>text track</a> is in
   a <a href=#media-element>media element</a>'s <a href=#list-of-text-tracks>list of text tracks</a>, and the <a href=#media-element>media
-  element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, then run the <i>time marches on</i>
+  element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, then run the <i><a href=#time-marches-on>time marches on</a></i>
   steps for that <a href=#media-element>media element</a>.</p>
 
   <p>The <dfn id=dom-texttrackcue-endtime title=dom-TextTrackCue-endTime><code>endTime</code></dfn> attribute, on getting,
@@ -32171,7 +32171,7 @@
   <code><a href=#texttrackcue>TextTrackCue</a></code> object's <a href=#text-track-cue>text track cue</a> is in a <a href=#text-track>text track</a>'s
   <a href=#text-track-list-of-cues title="text track list of cues">list of cues</a>, and that <a href=#text-track>text track</a> is in
   a <a href=#media-element>media element</a>'s <a href=#list-of-text-tracks>list of text tracks</a>, and the <a href=#media-element>media
-  element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, then run the <i>time marches on</i>
+  element</a>'s <a href=#show-poster-flag>show poster flag</a> is not set, then run the <i><a href=#time-marches-on>time marches on</a></i>
   steps for that <a href=#media-element>media element</a>.</p>
 
   <p>The <dfn id=dom-texttrackcue-pauseonexit title=dom-TextTrackCue-pauseOnExit><code>pauseOnExit</code></dfn> attribute, on
@@ -37103,7 +37103,7 @@
   path</a> is defined, overlapping parts of the paths in one stroke
   operation are treated as if their union was what was painted.</p>
 
-  <p class=note>The stroke <em>style</em> is affected by the
+  <p class=note>The stroke <em><a href=#the-style-element>style</a></em> is affected by the
   transformation during painting, even if the intended path is the
   <a href=#current-default-path>current default path</a>.</p>
 
@@ -37420,7 +37420,7 @@
     If the image has no intrinsic dimensions, the <i>concrete object size</i> must be used instead,
     as determined using the CSS "<a href=http://dev.w3.org/csswg/css3-images/#default-sizing>Concrete Object Size Resolution</a>"
     algorithm, with the <i>specified size</i> having neither a definite width nor height, nor any
-    additional contraints, the object's intrinsic properties being those of the <var title="">image</var> argument, and the <i>default object size</i> being the size of the
+    additional contraints, the object's intrinsic properties being those of the <var title="">image</var> argument, and the <i><a href=#default-object-size>default object size</a></i> being the size of the
     <a href=#scratch-bitmap>scratch bitmap</a>. <a href=#refsCSSIMAGES>[CSSIMAGES]</a></p>
 
     <p>The source rectangle is the rectangle whose corners are the four points (<var title="">sx</var>, <var title="">sy</var>), (<span title=""><var title="">sx</var>+<var title="">sw</var></span>, <var title="">sy</var>), (<span title=""><var title="">sx</var>+<var title="">sw</var></span>, <span title=""><var title="">sy</var>+<var title="">sh</var></span>),
@@ -42863,11 +42863,11 @@
 
      <li>
 
-      <p>Let <var title="">cell<sub>a</sub></var> be the element corresponding to the <a href=#concept-cell title=concept-cell>cell</a> in the first <a href=#concept-row title=concept-row>row</a> of group
+      <p>Let <var title="">cell<sub><a href=#the-a-element>a</a></sub></var> be the element corresponding to the <a href=#concept-cell title=concept-cell>cell</a> in the first <a href=#concept-row title=concept-row>row</a> of group
       <var title="">a</var> that covers the slot in that <a href=#concept-row title=concept-row>row</a> whose
       <var title="">x</var>-coordinate is <var title="">x</var>.</p>
 
-      <p>Let <var title="">cell<sub>b</sub></var> be the element corresponding to the <a href=#concept-cell title=concept-cell>cell</a> in the first <a href=#concept-row title=concept-row>row</a> of group
+      <p>Let <var title="">cell<sub><a href=#the-b-element>b</a></sub></var> be the element corresponding to the <a href=#concept-cell title=concept-cell>cell</a> in the first <a href=#concept-row title=concept-row>row</a> of group
       <var title="">b</var> that covers the slot in that <a href=#concept-row title=concept-row>row</a> whose
       <var title="">x</var>-coordinate is <var title="">x</var>.</p>
 
@@ -42883,12 +42883,12 @@
 
      <li>
 
-      <p>Let <var title="">type<sub>a</sub></var> and <var title="">value<sub>a</sub></var> be
-      the <a href=#type-and-value-of-the-cell>type and value of the cell</a> <var title="">cell<sub>a</sub></var>, as defined
+      <p>Let <var title="">type<sub><a href=#the-a-element>a</a></sub></var> and <var title="">value<sub><a href=#the-a-element>a</a></sub></var> be
+      the <a href=#type-and-value-of-the-cell>type and value of the cell</a> <var title="">cell<sub><a href=#the-a-element>a</a></sub></var>, as defined
       below.</p>
 
-      <p>Let <var title="">type<sub>b</sub></var> and <var title="">value<sub>b</sub></var> be
-      the <a href=#type-and-value-of-the-cell>type and value of the cell</a> <var title="">cell<sub>b</sub></var>, as defined
+      <p>Let <var title="">type<sub><a href=#the-b-element>b</a></sub></var> and <var title="">value<sub><a href=#the-b-element>b</a></sub></var> be
+      the <a href=#type-and-value-of-the-cell>type and value of the cell</a> <var title="">cell<sub><a href=#the-b-element>b</a></sub></var>, as defined
       below.</p>
 
       <p>The <dfn id=type-and-value-of-the-cell>type and value of the cell</dfn> <var title="">cell</var> are computed as follows.</p>
@@ -42961,9 +42961,9 @@
 
      <li>
 
-      <p>If <var title="">type<sub>a</sub></var> and <var title="">type<sub>b</sub></var> are not
-      equal, then: return "a before b" if <var title="">type<sub>a</sub></var> is earlier in the
-      following list than <var title="">type<sub>b</sub></var>, otherwise, return "b before a";
+      <p>If <var title="">type<sub><a href=#the-a-element>a</a></sub></var> and <var title="">type<sub><a href=#the-b-element>b</a></sub></var> are not
+      equal, then: return "a before b" if <var title="">type<sub><a href=#the-a-element>a</a></sub></var> is earlier in the
+      following list than <var title="">type<sub><a href=#the-b-element>b</a></sub></var>, otherwise, return "b before a";
       then, abort these steps.</p>
 
       <ol class=brief><li><a href=#concept-time title=concept-time>time</a></li>
@@ -42975,13 +42975,13 @@
        <li>"string"</li>
       </ol></li>
 
-     <li><p>If <var title="">value<sub>a</sub></var> and <var title="">value<sub>b</sub></var> are
+     <li><p>If <var title="">value<sub><a href=#the-a-element>a</a></sub></var> and <var title="">value<sub><a href=#the-b-element>b</a></sub></var> are
      equal, then return "equal" and abort these steps.</li>
 
      <li>
 
-      <p>If <var title="">type<sub>a</sub></var> and <var title="">type<sub>b</sub></var> are not
-      "string", then: if <var title="">value<sub>a</sub></var> is earlier than <var title="">value<sub>b</sub></var> then return "a before b" and abort these steps, otherwise,
+      <p>If <var title="">type<sub><a href=#the-a-element>a</a></sub></var> and <var title="">type<sub><a href=#the-b-element>b</a></sub></var> are not
+      "string", then: if <var title="">value<sub><a href=#the-a-element>a</a></sub></var> is earlier than <var title="">value<sub><a href=#the-b-element>b</a></sub></var> then return "a before b" and abort these steps, otherwise,
       return "b before a" and abort these steps.</p>
 
       <p>Values sort in their natural order, with the following additional constraints:</p>
@@ -43009,13 +43009,13 @@
 
      <li>
 
-      <p>Let <var title="">components<sub>a</sub></var> be the result of <a href=#parsing-the-sort-key>parsing the sort
-      key</a> <var title="">value<sub>a</sub></var>.</p>
+      <p>Let <var title="">components<sub><a href=#the-a-element>a</a></sub></var> be the result of <a href=#parsing-the-sort-key>parsing the sort
+      key</a> <var title="">value<sub><a href=#the-a-element>a</a></sub></var>.</p>
 
-      <p>Let <var title="">components<sub>b</sub></var> be the result of <a href=#parsing-the-sort-key>parsing the sort
-      key</a> <var title="">value<sub>b</sub></var>.</p>
+      <p>Let <var title="">components<sub><a href=#the-b-element>b</a></sub></var> be the result of <a href=#parsing-the-sort-key>parsing the sort
+      key</a> <var title="">value<sub><a href=#the-b-element>b</a></sub></var>.</p>
 
-      <p>As described below, <var title="">components<sub>a</sub></var> and <var title="">components<sub>b</sub></var> are tuples consisting of a list of <var title="">n</var>
+      <p>As described below, <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var> are tuples consisting of a list of <var title="">n</var>
       <i>numbers</i>, a list of <var title="">n</var> <i>number strings</i>, a list of <var title="">n</var>+1 <i>non-numeric strings</i>, and a list of 2<var title="">n</var>+1 <i>raw
       strings</i>, for any non-negative integer value of <var title="">n</var> (zero or more).</p>
 
@@ -43024,8 +43024,8 @@
      <li>
 
       <p>Let <var title="">order</var> be the result a <a href=#locale-specific-string-comparison>locale-specific string
-      comparison</a> of <var title="">components<sub>a</sub></var>'s first <i>non-numeric
-      string</i> and <var title="">components<sub>b</sub></var>'s first <i>non-numeric string</i>,
+      comparison</a> of <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s first <i>non-numeric
+      string</i> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s first <i>non-numeric string</i>,
       in the context of <var title="">th</var>.</p>
 
       <p>If <var title="">order</var> is not "equal" then return <var title="">order</var> and abort
@@ -43035,22 +43035,22 @@
 
      <li>
 
-      <p>If <var title="">components<sub>a</sub></var> and <var title="">components<sub>b</sub></var> both have exactly one <i>number</i>, then run these
+      <p>If <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var> both have exactly one <i>number</i>, then run these
       substeps:</p>
 
       <ol><li>
 
-        <p>If <var title="">components<sub>a</sub></var>'s <i>number</i> is less than <var title="">components<sub>b</sub></var>'s <i>number</i>, return "a before b".</p>
+        <p>If <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <i>number</i> is less than <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <i>number</i>, return "a before b".</p>
 
-        <p>If <var title="">components<sub>b</sub></var>'s <i>number</i> is less than <var title="">components<sub>a</sub></var>'s <i>number</i>, return "b before a".</p>
+        <p>If <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <i>number</i> is less than <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <i>number</i>, return "b before a".</p>
 
        </li>
 
        <li>
 
         <p>Let <var title="">order</var> be the result a <a href=#locale-specific-string-comparison>locale-specific string
-        comparison</a> of <var title="">components<sub>a</sub></var>'s second <i>non-numeric
-        string</i> and <var title="">components<sub>b</sub></var>'s second <i>non-numeric
+        comparison</a> of <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s second <i>non-numeric
+        string</i> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s second <i>non-numeric
         string</i>, in the context of <var title="">th</var>.</p>
 
         <p>If <var title="">order</var> is not "equal" then return <var title="">order</var> and
@@ -43061,8 +43061,8 @@
        <li>
 
         <p>Let <var title="">order</var> be the result a <a href=#locale-specific-string-comparison>locale-specific string
-        comparison</a> of <var title="">components<sub>a</sub></var>'s <i>number string</i> and
-        <var title="">components<sub>b</sub></var>'s <i>number string</i>, in the context of <var title="">th</var>.</p>
+        comparison</a> of <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <i>number string</i> and
+        <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <i>number string</i>, in the context of <var title="">th</var>.</p>
 
         <p>If <var title="">order</var> is not "equal" then return <var title="">order</var> and
         abort these steps.</p>
@@ -43073,10 +43073,10 @@
 
       <ol><li>
 
-        <p>If <var title="">components<sub>a</sub></var> has zero <i>numbers</i> but <var title="">components<sub>b</sub></var> has more than zero <i>numbers</i>, return "a before
+        <p>If <var title="">components<sub><a href=#the-a-element>a</a></sub></var> has zero <i>numbers</i> but <var title="">components<sub><a href=#the-b-element>b</a></sub></var> has more than zero <i>numbers</i>, return "a before
         b".</p>
 
-        <p>If <var title="">components<sub>b</sub></var> has zero <i>numbers</i> but <var title="">components<sub>a</sub></var> has more than zero <i>numbers</i>, return "b before
+        <p>If <var title="">components<sub><a href=#the-b-element>b</a></sub></var> has zero <i>numbers</i> but <var title="">components<sub><a href=#the-a-element>a</a></sub></var> has more than zero <i>numbers</i>, return "b before
         a".</p>
 
        </li>
@@ -43085,10 +43085,10 @@
 
         <!-- either an=bn=0, an=1 bn>1, bn=1 an>1, or an and bn > 1. -->
 
-        <p>If <var title="">components<sub>a</sub></var> has one <i>number</i>, return "a before
+        <p>If <var title="">components<sub><a href=#the-a-element>a</a></sub></var> has one <i>number</i>, return "a before
         b".</p>
 
-        <p>If <var title="">components<sub>b</sub></var> has one <i>number</i>, return "b before
+        <p>If <var title="">components<sub><a href=#the-b-element>b</a></sub></var> has one <i>number</i>, return "b before
         a".</p>
 
        </li>
@@ -43097,21 +43097,21 @@
 
         <!-- either an=bn=0, or an and bn > 1. -->
 
-        <p>If <var title="">components<sub>a</sub></var> and <var title="">components<sub>b</sub></var> have more than one <i>number</i>, run these substeps:</p>
+        <p>If <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var> have more than one <i>number</i>, run these substeps:</p>
 
-        <ol><li><p>Let <var title="">count</var> be the smaller of the number of <i>numbers</i> in <var title="">components<sub>a</sub></var> and the number of <i>numbers</i> in <var title="">components<sub>b</sub></var>.</li>
+        <ol><li><p>Let <var title="">count</var> be the smaller of the number of <i>numbers</i> in <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and the number of <i>numbers</i> in <var title="">components<sub><a href=#the-b-element>b</a></sub></var>.</li>
 
-         <li><p>For each <i>number</i> in <var title="">components<sub>a</sub></var> and <var title="">components<sub>b</sub></var> from the first to the <var title="">count</var>th, in
-         order: if <var title="">components<sub>a</sub></var>'s <i>number</i> is less than <var title="">components<sub>b</sub></var>'s <i>number</i>, then return "a before b" and abort
-         these steps; otherwise, if <var title="">components<sub>b</sub></var>'s <i>number</i> is
-         less than <var title="">components<sub>a</sub></var>'s <i>number</i>, return "b before a"
+         <li><p>For each <i>number</i> in <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var> from the first to the <var title="">count</var>th, in
+         order: if <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <i>number</i> is less than <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <i>number</i>, then return "a before b" and abort
+         these steps; otherwise, if <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <i>number</i> is
+         less than <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <i>number</i>, return "b before a"
          and abort these steps.</li>
 
          <li>
 
-          <p>If <var title="">components<sub>a</sub></var> has fewer <i>numbers</i> than <var title="">components<sub>b</sub></var>, return "a before b" and abort these steps.</p>
+          <p>If <var title="">components<sub><a href=#the-a-element>a</a></sub></var> has fewer <i>numbers</i> than <var title="">components<sub><a href=#the-b-element>b</a></sub></var>, return "a before b" and abort these steps.</p>
 
-          <p>If <var title="">components<sub>b</sub></var> has fewer <i>numbers</i> than <var title="">components<sub>a</sub></var>, return "b before a" and abort these steps.</p>
+          <p>If <var title="">components<sub><a href=#the-b-element>b</a></sub></var> has fewer <i>numbers</i> than <var title="">components<sub><a href=#the-a-element>a</a></sub></var>, return "b before a" and abort these steps.</p>
 
          </li>
 
@@ -43122,7 +43122,7 @@
          <li>
 
           <p><i>String loop</i>: Let <var title="">order</var> be the result a <a href=#locale-specific-string-comparison>locale-specific
-          string comparison</a> of <var title="">components<sub>a</sub></var>'s <var title="">index</var>th <i>number string</i> and <var title="">components<sub>b</sub></var>'s <var title="">index</var>th <i>number string</i>,
+          string comparison</a> of <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <var title="">index</var>th <i>number string</i> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <var title="">index</var>th <i>number string</i>,
           in the context of <var title="">th</var>.</p>
 
           <p>If <var title="">order</var> is not "equal" then return <var title="">order</var> and
@@ -43139,7 +43139,7 @@
          <li>
 
           <p>Let <var title="">order</var> be the result a <a href=#locale-specific-string-comparison>locale-specific string
-          comparison</a> of <var title="">components<sub>a</sub></var>'s <var title="">index</var>th <i>separator string</i> and <var title="">components<sub>b</sub></var>'s <var title="">index</var>th <i>separator
+          comparison</a> of <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <var title="">index</var>th <i>separator string</i> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <var title="">index</var>th <i>separator
           string</i>, in the context of <var title="">th</var>.</p>
 
           <p>If <var title="">order</var> is not "equal" then return <var title="">order</var> and
@@ -43149,7 +43149,7 @@
 
          <li>
 
-          <p>If <var title="">index</var> is less than the number of <i>numbers</i> in <var title="">components<sub>a</sub></var> and <var title="">components<sub>b</sub></var>, return
+          <p>If <var title="">index</var> is less than the number of <i>numbers</i> in <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>, return
           to the step labeled <i>string loop</i>.</p>
 
          </li>
@@ -43169,8 +43169,8 @@
      <li>
 
       <p><i>Final loop:</i> Let <var title="">order</var> be the result a <a href=#raw-string-comparison>raw string
-      comparison</a> of <var title="">components<sub>a</sub></var>'s <var title="">n</var>th
-      <i>raw string</i> and <var title="">components<sub>b</sub></var>'s <var title="">n</var>th
+      comparison</a> of <var title="">components<sub><a href=#the-a-element>a</a></sub></var>'s <var title="">n</var>th
+      <i>raw string</i> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>'s <var title="">n</var>th
       <i>raw string</i>.</p>
 
       <p>If <var title="">order</var> is not "equal" then return <var title="">order</var> and abort
@@ -43186,7 +43186,7 @@
 
      <li>
 
-      <p>If <var title="">index</var> is less than the number of <i>raw strings</i> in <var title="">components<sub>a</sub></var> and <var title="">components<sub>b</sub></var>, return
+      <p>If <var title="">index</var> is less than the number of <i>raw strings</i> in <var title="">components<sub><a href=#the-a-element>a</a></sub></var> and <var title="">components<sub><a href=#the-b-element>b</a></sub></var>, return
       to the step labeled <i>final loop</i>.</p>
 
      </li>
@@ -44863,14 +44863,14 @@
   <p>The <dfn id=dom-form-reset title=dom-form-reset><code>reset()</code></dfn> method, when invoked, must run the
   following steps:</p>
 
-  <ol><li><p>If the <code><a href=#the-form-element>form</a></code> element is marked as <i>locked for reset</i>, then abort these
+  <ol><li><p>If the <code><a href=#the-form-element>form</a></code> element is marked as <i><a href=#locked-for-reset>locked for reset</a></i>, then abort these
    steps.</li>
 
    <li><p>Mark the <code><a href=#the-form-element>form</a></code> element as <dfn id=locked-for-reset>locked for reset</dfn>.</li>
 
    <li><p><a href=#concept-form-reset title=concept-form-reset>Reset</a> the <code><a href=#the-form-element>form</a></code> element.</li>
 
-   <li><p>Unmark the <code><a href=#the-form-element>form</a></code> element as <i>locked for reset</i>.</li>
+   <li><p>Unmark the <code><a href=#the-form-element>form</a></code> element as <i><a href=#locked-for-reset>locked for reset</a></i>.</li>
 
   </ol><p>If the <dfn id=dom-form-checkvalidity title=dom-form-checkValidity><code>checkValidity()</code></dfn> method is
   invoked, the user agent must <a href=#statically-validate-the-constraints>statically validate the constraints</a> of the
@@ -46527,10 +46527,10 @@
 
   <p>The <dfn id=attr-input-checked title=attr-input-checked><code>checked</code></dfn> content attribute is a
   <a href=#boolean-attribute>boolean attribute</a> that gives the default <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> of the <code><a href=#the-input-element>input</a></code> element. <span class=impl>When the <code title=attr-input-checked><a href=#attr-input-checked>checked</a></code> content attribute is added,
-  if the control does not have <i title=concept-input-checked-dirty>dirty checkedness</i>, the
+  if the control does not have <i title=concept-input-checked-dirty><a href=#concept-input-checked-dirty>dirty checkedness</a></i>, the
   user agent must set the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> of the element to
   true; when the <code title=attr-input-checked><a href=#attr-input-checked>checked</a></code> content attribute is removed, if
-  the control does not have <i title=concept-input-checked-dirty>dirty checkedness</i>, the user
+  the control does not have <i title=concept-input-checked-dirty><a href=#concept-input-checked-dirty>dirty checkedness</a></i>, the user
   agent must set the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> of the element to
   false.</span></p>
 
@@ -46545,15 +46545,15 @@
   it does not, empty the list of <a href=#concept-input-type-file-selected title=concept-input-type-file-selected>selected
   files</a>, and then invoke the <a href=#value-sanitization-algorithm>value sanitization algorithm</a>, if the <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute's current state defines one.</p>
 
-  <p>Each <code><a href=#the-input-element>input</a></code> element can be <i title=concept-fe-mutable>mutable</i>. Except where
-  otherwise specified, an <code><a href=#the-input-element>input</a></code> element is always <i title=concept-fe-mutable>mutable</i>. Similarly, except where otherwise specified, the user
+  <p>Each <code><a href=#the-input-element>input</a></code> element can be <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>. Except where
+  otherwise specified, an <code><a href=#the-input-element>input</a></code> element is always <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>. Similarly, except where otherwise specified, the user
   agent should not allow the user to modify the element's <a href=#concept-fe-value title=concept-fe-value>value</a> or <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a>.</p>
 
-  <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 not <i title=concept-fe-mutable>mutable</i>.</p>
+  <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 not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>.</p>
 
   <p class=note>The <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code> attribute can also in some
   cases (e.g. for the <a href="#date-state-(type=date)" title=attr-input-type-date>Date</a> state, but not the <a href="#checkbox-state-(type=checkbox)" title=attr-input-type-checkbox>Checkbox</a> state) stop an <code><a href=#the-input-element>input</a></code> element from
-  being <i title=concept-fe-mutable>mutable</i>.</p>
+  being <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>.</p>
 
   <p>The <a href=#concept-node-clone-ext title=concept-node-clone-ext>cloning steps</a> for <code><a href=#the-input-element>input</a></code> elements
   must propagate the <a href=#concept-fe-value title=concept-fe-value>value</a>, <a href=#concept-input-value-dirty-flag title=concept-input-value-dirty-flag>dirty value flag</a>, <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a>, and <a href=#concept-input-checked-dirty-flag title=concept-input-checked-dirty-flag>dirty checkedness flag</a> from the node being cloned
@@ -46572,12 +46572,12 @@
   changes state, the user agent must run the following steps:</p>
 
   <ol><!-- http://software.hixie.ch/utilities/js/live-dom-viewer/saved/602 --><li><p>If the previous state of the element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute
-   put the <code title=dom-input-value><a href=#dom-input-value>value</a></code> IDL attribute in the <i title=dom-input-value-value>value</i> mode, and the element's <a href=#concept-fe-value title=concept-fe-value>value</a> is not the empty string, and the new state of the element's
-   <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute puts the <code title=dom-input-value><a href=#dom-input-value>value</a></code> IDL attribute in either the <i title=dom-input-value-default>default</i> mode or the <i title=dom-input-value-default-on>default/on</i> mode, then set the element's <code title=attr-input-value><a href=#attr-input-value>value</a></code> content attribute to the element's <a href=#concept-fe-value title=concept-fe-value>value</a>.</li>
+   put the <code title=dom-input-value><a href=#dom-input-value>value</a></code> IDL attribute in the <i title=dom-input-value-value><a href=#dom-input-value-value>value</a></i> mode, and the element's <a href=#concept-fe-value title=concept-fe-value>value</a> is not the empty string, and the new state of the element's
+   <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute puts the <code title=dom-input-value><a href=#dom-input-value>value</a></code> IDL attribute in either the <i title=dom-input-value-default><a href=#dom-input-value-default>default</a></i> mode or the <i title=dom-input-value-default-on><a href=#dom-input-value-default-on>default/on</a></i> mode, then set the element's <code title=attr-input-value><a href=#attr-input-value>value</a></code> content attribute to the element's <a href=#concept-fe-value title=concept-fe-value>value</a>.</li>
 
    <li><p>Otherwise, if the previous state of the element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute put the <code title=dom-input-value><a href=#dom-input-value>value</a></code>
-   IDL attribute in any mode other than the <i title=dom-input-value-value>value</i> mode, and the
-   new state of the element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute puts the <code title=dom-input-value><a href=#dom-input-value>value</a></code> IDL attribute in the <i title=dom-input-value-value>value</i> mode, then set the <a href=#concept-fe-value title=concept-fe-value>value</a> of the element to the value of the <code title=attr-input-value><a href=#attr-input-value>value</a></code> content attribute, if there is one, or the empty string
+   IDL attribute in any mode other than the <i title=dom-input-value-value><a href=#dom-input-value-value>value</a></i> mode, and the
+   new state of the element's <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute puts the <code title=dom-input-value><a href=#dom-input-value>value</a></code> IDL attribute in the <i title=dom-input-value-value><a href=#dom-input-value-value>value</a></i> mode, then set the <a href=#concept-fe-value title=concept-fe-value>value</a> of the element to the value of the <code title=attr-input-value><a href=#attr-input-value>value</a></code> content attribute, if there is one, or the empty string
    otherwise, and then set the control's <a href=#concept-input-value-dirty-flag title=concept-input-value-dirty-flag>dirty value
    flag</a> to false.</li>
 
@@ -46624,9 +46624,9 @@
   <p>The IDL attributes <dfn id=dom-input-width title=dom-input-width><code>width</code></dfn> and <dfn id=dom-input-height title=dom-input-height><code>height</code></dfn> must return the rendered width and height of
   the image, in CSS pixels, if an image is <a href=#being-rendered>being rendered</a>, and is being rendered to a
   visual medium; or else the intrinsic width and height of the image, in CSS pixels, if an image is
-  <i title=input-img-available>available</i> but not being rendered to a visual medium; or else 0,
-  if no image is <i title=input-img-available>available</i>. When the <code><a href=#the-input-element>input</a></code> element's
-  <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is not in the <a href="#image-button-state-(type=image)" title=attr-input-type-image>Image Button</a> state, then no image is <i title=input-img-available>available</i>. <a href=#refsCSS>[CSS]</a></p>
+  <i title=input-img-available><a href=#input-img-available>available</a></i> but not being rendered to a visual medium; or else 0,
+  if no image is <i title=input-img-available><a href=#input-img-available>available</a></i>. When the <code><a href=#the-input-element>input</a></code> element's
+  <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is not in the <a href="#image-button-state-(type=image)" title=attr-input-type-image>Image Button</a> state, then no image is <i title=input-img-available><a href=#input-img-available>available</a></i>. <a href=#refsCSS>[CSS]</a></p>
 
   <p>On setting, they must act as if they <a href=#reflect title=reflect>reflected</a> the respective
   content attributes of the same name.</p>
@@ -46744,13 +46744,13 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, its <a href=#concept-fe-value title=concept-fe-value>value</a> should be editable by the user. User agents must not allow
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, its <a href=#concept-fe-value title=concept-fe-value>value</a> should be editable by the user. User agents must not allow
   users to insert U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN (CR) characters into the element's
   <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
 
   <!-- this next bit is also in the <textarea> section -->
   <!-- and something similar is in the session history section -->
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the writing direction of the element, setting it either to a left-to-right writing
   direction or a right-to-left writing direction. If the user does so, the user agent must then run
   the following steps:</p>
@@ -46845,7 +46845,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, its <a href=#concept-fe-value title=concept-fe-value>value</a> should be editable by the user. User agents may change the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, its <a href=#concept-fe-value title=concept-fe-value>value</a> should be editable by the user. User agents may change the
   spacing and, with care, the punctuation of <a href=#concept-fe-value title=concept-fe-value>values</a> that the
   user enters. User agents must not allow users to insert U+000A LINE FEED (LF) or U+000D CARRIAGE
   RETURN (CR) characters into the element's <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
@@ -46941,7 +46941,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the URL represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>. User agents
   may allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a string that is not
   a <a href=#valid-url title="valid URL">valid</a> <a href=#absolute-url>absolute URL</a>, but may also or instead
@@ -47083,7 +47083,7 @@
 
     <div class=impl>
 
-    <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+    <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
     user to change the e-mail address represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>. User agents may allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a string that is not a <a href=#valid-e-mail-address>valid e-mail
     address</a>. The user agent should act in a manner consistent with expecting the user to
     provide a single e-mail address. User agents should allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string. User agents must not allow users to
@@ -47133,7 +47133,7 @@
 
     <div class=impl>
 
-    <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+    <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
     user to add, remove, and edit the e-mail addresses represented by its <a href=#concept-fe-values title=concept-fe-values>value<em>s</em></a>. User agents may allow the user to set any
     individual value in the list of <a href=#concept-fe-value title=concept-fe-value>value<em>s</em></a> to a
     string that is not a <a href=#valid-e-mail-address>valid e-mail address</a>, but must not allow users to set any
@@ -47309,7 +47309,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, its <a href=#concept-fe-value title=concept-fe-value>value</a> should be editable by the user. User agents must not allow
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, its <a href=#concept-fe-value title=concept-fe-value>value</a> should be editable by the user. User agents must not allow
   users to insert U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN (CR) characters into the <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
 
   </div>
@@ -47398,7 +47398,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the <a href=#concept-datetime title=concept-datetime>global date and time</a> represented by its
   <a href=#concept-fe-value title=concept-fe-value>value</a>, as obtained by <a href=#parse-a-global-date-and-time-string title="parse a global date and
   time string">parsing a global date and time</a> from it. User agents must not allow the user to
@@ -47590,7 +47590,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the <a href=#concept-date title=concept-date>date</a> represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as obtained by <a href=#parse-a-date-string title="parse a date string">parsing a
   date</a> from it. User agents must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a non-empty string that is not a <a href=#valid-date-string>valid date
   string</a>. If the user agent provides a user interface for selecting a <a href=#concept-date title=concept-date>date</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a> must be set
@@ -47729,7 +47729,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the <a href=#concept-month title=concept-month>month</a> represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as obtained by <a href=#parse-a-month-string title="parse a month string">parsing a
   month</a> from it. User agents must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a non-empty string that is not a <a href=#valid-month-string>valid month
   string</a>. If the user agent provides a user interface for selecting a <a href=#concept-month title=concept-month>month</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a> must be
@@ -47869,7 +47869,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the <a href=#concept-week title=concept-week>week</a> represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as obtained by <a href=#parse-a-week-string title="parse a week string">parsing a
   week</a> from it. User agents must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a non-empty string that is not a <a href=#valid-week-string>valid week
   string</a>. If the user agent provides a user interface for selecting a <a href=#concept-week title=concept-week>week</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a> must be set
@@ -48012,7 +48012,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the <a href=#concept-time title=concept-time>time</a> represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as obtained by <a href=#parse-a-time-string title="parse a time string">parsing a
   time</a> from it. User agents must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a non-empty string that is not a <a href=#valid-time-string>valid time
   string</a>. If the user agent provides a user interface for selecting a <a href=#concept-time title=concept-time>time</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a> must be set
@@ -48151,7 +48151,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the <a href=#concept-datetime-local title=concept-datetime-local>date and time</a> represented by its
   <a href=#concept-fe-value title=concept-fe-value>value</a>, as obtained by <a href=#parse-a-local-date-and-time-string title="parse a local date and
   time string">parsing a date and time</a> from it. User agents must not allow the user to set
@@ -48311,7 +48311,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the number represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as
   obtained from applying the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating-point number values</a> to it. User
   agents must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a
@@ -48477,7 +48477,7 @@
   <p class=note>In this state, the range and step constraints are enforced even during user input,
   and there is no way to set the value to the empty string.</p>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the number represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as
   obtained from applying the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating-point number values</a> to it. User
   agents must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a string
@@ -48700,7 +48700,7 @@
   <p class=note>In this state, there is always a color picked, and there is no way to set the
   value to the empty string.</p>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the color represented by its <a href=#concept-fe-value title=concept-fe-value>value</a>, as
   obtained from applying the <a href=#rules-for-parsing-simple-color-values>rules for parsing simple color values</a> to it. User agents
   must not allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a string that is
@@ -48805,7 +48805,7 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, then: The <a href=#pre-click-activation-steps>pre-click
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, then: The <a href=#pre-click-activation-steps>pre-click
   activation steps</a> consist of setting the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> to its opposite value (i.e. true if it is false,
   false if it is true), and of setting the element's <code title=dom-input-indeterminate><a href=#dom-input-indeterminate>indeterminate</a></code> IDL attribute to false. The <a href=#canceled-activation-steps>canceled
   activation steps</a> consist of setting the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a>
@@ -48814,10 +48814,10 @@
   <a href=#activation-behavior>activation behavior</a> is to <a href=#fire-a-simple-event>fire a simple event</a> that bubbles named <code title=event-change>change</code> at the element. <!-- It's not cancelable. Once this fires, the
   control is checked, end of story. --></p>
 
-  <p>If the element is not <i title=concept-fe-mutable>mutable</i>, it has no <a href=#activation-behavior>activation
+  <p>If the element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, it has no <a href=#activation-behavior>activation
   behavior</a>.</p>
 
-  <p><strong>Constraint validation</strong>: If the element is <i title=concept-input-required>required</i> and its <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> is false, then the element is <a href=#suffering-from-being-missing>suffering from
+  <p><strong>Constraint validation</strong>: If the element is <i title=concept-input-required><a href=#concept-input-required>required</a></i> and its <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> is false, then the element is <a href=#suffering-from-being-missing>suffering from
   being missing</a>.</p>
 
   </div>
@@ -48904,7 +48904,7 @@
   </div>
 
   <p>The <code><a href=#the-input-element>input</a></code> element <a href=#represents>represents</a> a control that, when used in conjunction
-  with other <code><a href=#the-input-element>input</a></code> elements, forms a <i>radio button group</i> in which only one
+  with other <code><a href=#the-input-element>input</a></code> elements, forms a <i><a href=#radio-button-group>radio button group</a></i> in which only one
   control can have its <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state set to true. If the
   element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is true, the control
   represents the selected control in the group, and if it is false, it indicates a control in the
@@ -48925,13 +48925,13 @@
    <li>They both have a <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> attribute, their <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> attributes are not empty, and the value of <var title="">a</var>'s <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> attribute is a <a href=#compatibility-caseless>compatibility
    caseless</a> match for the value of <var title="">b</var>'s <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> attribute.</li>
 
-  </ul><p>A document must not contain an <code><a href=#the-input-element>input</a></code> element whose <i>radio button group</i>
+  </ul><p>A document must not contain an <code><a href=#the-input-element>input</a></code> element whose <i><a href=#radio-button-group>radio button group</a></i>
   contains only that element.</p>
 
   <div class=impl>
 
-  <p>When any of the following phenomena occur, if the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is true after the occurrence, the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state of all the other elements in the same <i>radio
-  button group</i> must be set to false:</p>
+  <p>When any of the following phenomena occur, if the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is true after the occurrence, the <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state of all the other elements in the same <i><a href=#radio-button-group>radio
+  button group</a></i> must be set to false:</p>
 
   <ul><li>The element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> state is set to true (for
    whatever reason).</li>
@@ -48941,17 +48941,17 @@
 
    <li>The element's <a href=#form-owner>form owner</a> changes.</li>
 
-  </ul><p>If the element is <i title=concept-fe-mutable>mutable</i>, then: The <a href=#pre-click-activation-steps>pre-click
+  </ul><p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, then: The <a href=#pre-click-activation-steps>pre-click
   activation steps</a> consist of setting the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> to true. The <a href=#canceled-activation-steps>canceled activation steps</a>
   consist of setting the element's <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> to false. The
   <a href=#activation-behavior>activation behavior</a> is to <a href=#fire-a-simple-event>fire a simple event</a> that bubbles named <code title=event-change>change</code> at the element. <!-- It's not cancelable. Once this fires, the
   control is checked, end of story. -->.</p>
 
-  <p>If the element is not <i title=concept-fe-mutable>mutable</i>, it has no <a href=#activation-behavior>activation
+  <p>If the element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, it has no <a href=#activation-behavior>activation
   behavior</a>.</p>
 
-  <p><strong>Constraint validation</strong>: If an element in the <i>radio button group</i> is <i title=concept-input-required>required</i>, and all of the <code><a href=#the-input-element>input</a></code> elements in the
-  <i>radio button group</i> have a <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> that is
+  <p><strong>Constraint validation</strong>: If an element in the <i><a href=#radio-button-group>radio button group</a></i> is <i title=concept-input-required><a href=#concept-input-required>required</a></i>, and all of the <code><a href=#the-input-element>input</a></code> elements in the
+  <i><a href=#radio-button-group>radio button group</a></i> have a <a href=#concept-fe-checked title=concept-fe-checked>checkedness</a> that is
   false, then the element is <a href=#suffering-from-being-missing>suffering from being missing</a>.</p>
 
   </div>
@@ -49045,12 +49045,12 @@
   entire directory hierarchy or multiple files with the same name from different directories. Path
   components are those separated by U+005C REVERSE SOLIDUS character (\) characters.</p>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the
   user to change the files on the list, e.g. adding or removing files. Files can be from the
   filesystem or created on the fly, e.g. a picture taken from a camera connected to the user's
   device.</p>
 
-  <p><strong>Constraint validation</strong>: If the element is <i title=concept-input-required>required</i> and the list of <a href=#concept-input-type-file-selected title=concept-input-type-file-selected>selected files</a> is empty, then the element is
+  <p><strong>Constraint validation</strong>: If the element is <i title=concept-input-required><a href=#concept-input-required>required</a></i> and the list of <a href=#concept-input-type-file-selected title=concept-input-type-file-selected>selected files</a> is empty, then the element is
   <a href=#suffering-from-being-missing>suffering from being missing</a>.</p>
 
   <p>Unless the <code title=attr-input-multiple><a href=#attr-input-multiple>multiple</a></code> attribute is set, there must be no
@@ -49254,12 +49254,12 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, then the element's
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, then the element's
   <a href=#activation-behavior>activation behavior</a> is as follows: if the element has a <a href=#form-owner>form owner</a>,
   <a href=#concept-form-submit title=concept-form-submit>submit</a> the <a href=#form-owner>form owner</a> from the
   <code><a href=#the-input-element>input</a></code> element; otherwise, do nothing.</p>
 
-  <p>If the element is not <i title=concept-fe-mutable>mutable</i>, it has no <a href=#activation-behavior>activation
+  <p>If the element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, it has no <a href=#activation-behavior>activation
   behavior</a>.</p>
 
   </div>
@@ -49396,7 +49396,7 @@
   interactive fashion, but should honor any animation in the resource.</p>
 
   <p>The <a href=#concept-task title=concept-task>task</a> that is <a href=#queue-a-task title="queue a task">queued</a> by
-  the <a href=#networking-task-source>networking task source</a> once the resource has been <a href=#fetch title=fetch>fetched</a>, must, if the download was successful and the image is <i title=input-img-available>available</i>, <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple
+  the <a href=#networking-task-source>networking task source</a> once the resource has been <a href=#fetch title=fetch>fetched</a>, must, if the download was successful and the image is <i title=input-img-available><a href=#input-img-available>available</a></i>, <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><a href=#the-input-element>input</a></code> element; and
   otherwise, if the fetching process fails without a response from the remote server, or completes
   but the image is not a valid or supported image, <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple
@@ -49413,22 +49413,22 @@
 
   <div class=impl>
 
-  <hr><p>If the <code title=attr-input-src><a href=#attr-input-src>src</a></code> attribute is set, and the image is <i title=input-img-available>available</i> and the user agent is configured to display that image,
+  <hr><p>If the <code title=attr-input-src><a href=#attr-input-src>src</a></code> attribute is set, and the image is <i title=input-img-available><a href=#input-img-available>available</a></i> and the user agent is configured to display that image,
   then: The element <a href=#represents>represents</a> a control for selecting a <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>coordinate</a> from the image specified by the
-  <code title=attr-input-src><a href=#attr-input-src>src</a></code> attribute; if the element is <i title=concept-fe-mutable>mutable</i>, the user agent should allow the user to select this <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>coordinate</a>, and the element's <a href=#activation-behavior>activation
+  <code title=attr-input-src><a href=#attr-input-src>src</a></code> attribute; if the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the user agent should allow the user to select this <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>coordinate</a>, and the element's <a href=#activation-behavior>activation
   behavior</a> is as follows: if the element has a <a href=#form-owner>form owner</a>, take the user's
   selected <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>coordinate</a>, and <a href=#concept-form-submit title=concept-form-submit>submit</a> the <code><a href=#the-input-element>input</a></code> element's <a href=#form-owner>form owner</a>
   from the <code><a href=#the-input-element>input</a></code> element. If the user activates the control without explicitly
   selecting a coordinate, then the coordinate (0,0) must be assumed.</p>
 
   <p>Otherwise, the element <a href=#represents>represents</a> a submit button whose label is given by the
-  value of the <code title=attr-input-alt><a href=#attr-input-alt>alt</a></code> attribute; if the element is <i title=concept-fe-mutable>mutable</i>, then the element's <a href=#activation-behavior>activation behavior</a> is as
+  value of the <code title=attr-input-alt><a href=#attr-input-alt>alt</a></code> attribute; if the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, then the element's <a href=#activation-behavior>activation behavior</a> is as
   follows: if the element has a <a href=#form-owner>form owner</a>, set the <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected coordinate</a> to (0,0), and <a href=#concept-form-submit title=concept-form-submit>submit</a> the <code><a href=#the-input-element>input</a></code> element's <a href=#form-owner>form owner</a>
   from the <code><a href=#the-input-element>input</a></code> element.</p>
 
-  <p>In either case, if the element is <i title=concept-fe-mutable>mutable</i> but has no
+  <p>In either case, if the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i> but has no
   <a href=#form-owner>form owner</a>, then its <a href=#activation-behavior>activation behavior</a> must be to do nothing. If the
-  element is not <i title=concept-fe-mutable>mutable</i>, it has no <a href=#activation-behavior>activation
+  element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, it has no <a href=#activation-behavior>activation
   behavior</a>.</p>
 
   <p>The <dfn id=concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected coordinate</dfn> must consist of
@@ -49566,11 +49566,11 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, then the element's
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, then the element's
   <a href=#activation-behavior>activation behavior</a>, if the element has a <a href=#form-owner>form owner</a>, is to <a href=#concept-form-reset title=concept-form-reset>reset</a> the <a href=#form-owner>form owner</a>; otherwise, it is to do
   nothing.</p>
 
-  <p>If the element is not <i title=concept-fe-mutable>mutable</i>, it has no <a href=#activation-behavior>activation
+  <p>If the element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, it has no <a href=#activation-behavior>activation
   behavior</a>.</p>
 
   <p><strong>Constraint validation</strong>: The element is <a href=#barred-from-constraint-validation>barred from constraint
@@ -49648,10 +49648,10 @@
 
   <div class=impl>
 
-  <p>If the element is <i title=concept-fe-mutable>mutable</i>, the element's <a href=#activation-behavior>activation
+  <p>If the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, the element's <a href=#activation-behavior>activation
   behavior</a> is to do nothing.</p>
 
-  <p>If the element is not <i title=concept-fe-mutable>mutable</i>, it has no <a href=#activation-behavior>activation
+  <p>If the element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, it has no <a href=#activation-behavior>activation
   behavior</a>.</p>
 
   <p><strong>Constraint validation</strong>: The element is <a href=#barred-from-constraint-validation>barred from constraint
@@ -49798,7 +49798,7 @@
   <h6 id=the-readonly-attribute><span class=secno>4.10.7.3.3 </span>The <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code> attribute</h6>
 
   <p>The <dfn id=attr-input-readonly title=attr-input-readonly><code>readonly</code></dfn> attribute is a <a href=#boolean-attribute>boolean
-  attribute</a> that controls whether or not the user can edit the form control. <span class=impl>When specified, the element is not <i title=concept-fe-mutable>mutable</i>.</span></p>
+  attribute</a> that controls whether or not the user can edit the form control. <span class=impl>When specified, the element is not <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>.</span></p>
 
   <div class=impl>
 
@@ -49852,9 +49852,9 @@
 
   <div class=impl>
 
-  <p><strong>Constraint validation</strong>: If the element is <i title=concept-input-required>required</i>, and its <code title=dom-input-value><a href=#dom-input-value>value</a></code>
+  <p><strong>Constraint validation</strong>: If the element is <i title=concept-input-required><a href=#concept-input-required>required</a></i>, and its <code title=dom-input-value><a href=#dom-input-value>value</a></code>
   IDL attribute <a href=#concept-input-apply title=concept-input-apply>applies</a> and is in the mode <a href=#dom-input-value-value title=dom-input-value-value>value</a>, and the
-  element is <i title=concept-fe-mutable>mutable</i>, and the element's <a href=#concept-fe-value title=concept-fe-value>value</a> is the empty string, then the element is <a href=#suffering-from-being-missing>suffering
+  element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>, and the element's <a href=#concept-fe-value title=concept-fe-value>value</a> is the empty string, then the element is <a href=#suffering-from-being-missing>suffering
   from being missing</a>.</p>
 
   </div>
@@ -51060,7 +51060,7 @@
   attribute controls focus.</p>
 
   <p>A <code><a href=#the-select-element>select</a></code> element that is not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a> is
-  <i title=concept-fe-mutable>mutable</i>.</p>
+  <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i>.</p>
 
 <!--TOPIC:DOM APIs-->
   <dl class=domintro><dt><var title="">select</var> . <code title=dom-select-type><a href=#dom-select-type>type</a></code></dt>
@@ -54605,7 +54605,7 @@
 
   <p>The autocompletion mechanism must be implemented by the user
   agent acting as if the user had modified the element's <a href=#concept-fe-value title=concept-fe-value>value</a>, and must be done at a time
-  where the element is <i title=concept-fe-mutable>mutable</i> (e.g.
+  where the element is <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i> (e.g.
   just after the element has been inserted into the document, or when
   the user agent <a href=#stop-parsing title="stop parsing">stops parsing</a>).
   User agents must only prefill controls using values that the user
@@ -55101,8 +55101,8 @@
 
   <dl><dt> <dfn id=suffering-from-being-missing>Suffering from being missing</dfn> </dt>
 
-   <dd> <p>When a control has no <a href=#concept-fe-value title=concept-fe-value>value</a> but has a <code title="">required</code> attribute (<code><a href=#the-input-element>input</a></code> <code title=attr-input-required><a href=#attr-input-required>required</a></code>, <code><a href=#the-select-element>select</a></code> <code title=attr-select-required><a href=#attr-select-required>required</a></code>, <code><a href=#the-textarea-element>textarea</a></code> <code title=attr-textarea-required><a href=#attr-textarea-required>required</a></code>), or, in the case of an element in a <i>radio
-   button group</i>, any of the other elements in the group has a <code title=attr-input-required><a href=#attr-input-required>required</a></code> attribute. </dd>
+   <dd> <p>When a control has no <a href=#concept-fe-value title=concept-fe-value>value</a> but has a <code title="">required</code> attribute (<code><a href=#the-input-element>input</a></code> <code title=attr-input-required><a href=#attr-input-required>required</a></code>, <code><a href=#the-select-element>select</a></code> <code title=attr-select-required><a href=#attr-select-required>required</a></code>, <code><a href=#the-textarea-element>textarea</a></code> <code title=attr-textarea-required><a href=#attr-textarea-required>required</a></code>), or, in the case of an element in a <i><a href=#radio-button-group>radio
+   button group</a></i>, any of the other elements in the group has a <code title=attr-input-required><a href=#attr-input-required>required</a></code> attribute. </dd>
 
    <dt> <dfn id=suffering-from-a-type-mismatch>Suffering from a type mismatch</dfn> </dt>
 
@@ -58620,7 +58620,7 @@
 
    </li>
 
-   <li><p>In the case of server-side image maps, append the <var>hyperlink suffix</var> to <var title="">URL</var>.</li>
+   <li><p>In the case of server-side image maps, append the <var><a href=#hyperlink-suffix>hyperlink suffix</a></var> to <var title="">URL</var>.</li>
 
    <li>
 
@@ -58679,7 +58679,7 @@
    <a href=#absolute-url>absolute URL</a>.</li>
 
    <li><p>In the case of server-side image maps, append the
-   <var>hyperlink suffix</var> to <var title="">URL</var>.</li>
+   <var><a href=#hyperlink-suffix>hyperlink suffix</a></var> to <var title="">URL</var>.</li>
 
    <li><p>Return to whatever algorithm invoked these steps and continue
    these steps asynchronously.</li>
@@ -60337,7 +60337,7 @@
    his boat, which you do. The conversation ends.
   </dl>
  </dd>
-</ul></pre>
+</dl></pre>
 
   </div>
 
@@ -60913,7 +60913,7 @@
     pseudo-class must match any element falling into one of the
     following categories:</p>
 
-    <ul><li><code><a href=#the-input-element>input</a></code> elements that are <i title=concept-input-required>required</i></li>
+    <ul><li><code><a href=#the-input-element>input</a></code> elements that are <i title=concept-input-required><a href=#concept-input-required>required</a></i></li>
 
      <li><code><a href=#the-select-element>select</a></code> elements that have a <code title=attr-select-required><a href=#attr-select-required>required</a></code>
      attribute</li>
@@ -60933,7 +60933,7 @@
     following categories:</p>
 
     <ul><li><code><a href=#the-input-element>input</a></code> elements to which the <code title=attr-input-required><a href=#attr-input-required>required</a></code> attribute applies
-     that are not <i title=concept-input-required>required</i></li>
+     that are not <i title=concept-input-required><a href=#concept-input-required>required</a></i></li>
 
      <li><code><a href=#the-select-element>select</a></code> elements that do not have a <code title=attr-select-required><a href=#attr-select-required>required</a></code> attribute</li>
 
@@ -60953,7 +60953,7 @@
     considered <i>user-alterable</i>: <a href=#refsSELECTORS>[SELECTORS]</a></p>
 
     <ul><li><code><a href=#the-input-element>input</a></code> elements to which the <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code> attribute applies,
-     and that are <i title=concept-fe-mutable>mutable</i> (i.e. that
+     and that are <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i> (i.e. that
      do not have the <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code>
      attribute specified and that are not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a>)</li>
 
@@ -60992,7 +60992,7 @@
    </dd>
 
   </dl><p class=note>Another section of this specification defines the
-  <i>target element</i> used with the <code title=selector-target>:target</code> pseudo-class.</p>
+  <i><a href=#target-element>target element</a></i> used with the <code title=selector-target>:target</code> pseudo-class.</p>
 
   <p class=note>This specification does not define when an element
   matches the <code title=selector-focus>:focus</code> or <code title=selector-lang()>:lang()</code> dynamic pseudo-classes, as
@@ -65046,7 +65046,7 @@
   object, on getting, must return the <code><a href=#windowproxy>WindowProxy</a></code> object of the <a href=#browsing-context>browsing
   context</a> from which the current <a href=#browsing-context>browsing context</a> was created (its <a href=#opener-browsing-context>opener
   browsing context</a>), if there is one, if it is still available, and if the current
-  <a href=#browsing-context>browsing context</a> has not <i>disowned its opener</i>; otherwise, it must return null.
+  <a href=#browsing-context>browsing context</a> has not <i><a href=#disowned-its-opener>disowned its opener</a></i>; otherwise, it must return null.
   On setting, if the new value is null then the current <a href=#browsing-context>browsing context</a> must <dfn id=disowned-its-opener title="disowned its opener">disown its opener</dfn>; if the new value is anything else then the
   user agent must ignore the new value.</p>
 
@@ -65089,8 +65089,8 @@
 
   </ul><p class=note>Sandboxing (in particular the <a href=#sandboxed-navigation-browsing-context-flag>sandboxed navigation browsing context
   flag</a>) can further restrict the above in certain cases, but it does so indirectly via other
-  algorithms and doesn't affect whether a browsing context is considered to be <i>allowed to
-  navigate</i> another as defined above.</p>
+  algorithms and doesn't affect whether a browsing context is considered to be <i><a href=#allowed-to-navigate>allowed to
+  navigate</a></i> another as defined above.</p>
 
   <hr><p>An element has a <dfn id=browsing-context-scope-origin>browsing context scope origin</dfn> if its <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
@@ -65949,7 +65949,7 @@
   <p>When a <a href=#browsing-context>browsing context</a> is to <dfn id=discard-a-document>discard a <code>Document</code></dfn>, the user
   agent must run the following steps:</p>
 
-  <ol><li><p>Set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to false.</li>
+  <ol><li><p>Set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to false.</li>
 
    <li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for the <code><a href=#document>Document</a></code> that
    are defined by this specification and <a href=#other-applicable-specifications>other applicable specifications</a>.</li>
@@ -67759,7 +67759,7 @@
 
   <h4 id=navigating-across-documents><span class=secno>6.6.1 </span>Navigating across documents</h4>
 
-  <p>Certain actions cause the <a href=#browsing-context>browsing context</a> to <i>navigate</i> to a new resource.
+  <p>Certain actions cause the <a href=#browsing-context>browsing context</a> to <i><a href=#navigate>navigate</a></i> to a new resource.
   Navigation always involves <dfn id=source-browsing-context>source browsing context</dfn>, which is the browsing context which
   was responsible for starting the navigation.</p>
 
@@ -68627,7 +68627,7 @@
 
   </ol><p>For the purposes of the interaction of HTML with Selectors' <code title=selector-target>:target</code> pseudo-class, the <dfn id=target-element><i>target element</i></dfn> is
   <a href=#the-indicated-part-of-the-document>the indicated part of the document</a>, if that is an element; otherwise there is no
-  <i>target element</i>. <a href=#refsSELECTORS>[SELECTORS]</a></p>
+  <i><a href=#target-element>target element</a></i>. <a href=#refsSELECTORS>[SELECTORS]</a></p>
 
   <p>The <a href=#task-source>task source</a> for the task mentioned in this section must be the <a href=#dom-manipulation-task-source>DOM
   manipulation task source</a>.</p>
@@ -68953,7 +68953,7 @@
    <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><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to
+   <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to
    false.</li>
 
    <li>
@@ -68992,9 +68992,9 @@
      be unloaded</a>; jump to the step labeled <i>end</i>.</p>
 
 <!--CLEANUP-->
-     <li><p>If the <i title=concept-document-salvageable>salvageable</i> state of the <a href=#active-document>active
+     <li><p>If the <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state of the <a href=#active-document>active
      document</a> of the <a href=#browsing-context>browsing context</a> <var title="">b</var> is false, then set
-     the <i title=concept-document-salvageable>salvageable</i> state of <em>this</em> document
+     the <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state of <em>this</em> document
      to false also.</li>
 
     </ol></li>
@@ -69045,7 +69045,7 @@
    <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><a href=#document>Document</a></code> object's <i title=concept-document-salvageable>salvageable</i>
+   the <code><a href=#document>Document</a></code> object's <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i>
    state to false and set the <code><a href=#document>Document</a></code>'s <a href=#fired-unload>fired unload</a> flag to
    true.</li>
 
@@ -69070,14 +69070,14 @@
      parameter set to false.</li>
 
 <!--CLEANUP-->
-     <li><p>If the <i title=concept-document-salvageable>salvageable</i> state of the <a href=#active-document>active
+     <li><p>If the <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state of the <a href=#active-document>active
      document</a> of the <a href=#browsing-context>browsing context</a> <var title="">b</var> is false, then set
-     the <i title=concept-document-salvageable>salvageable</i> state of <em>this</em> document
+     the <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state of <em>this</em> document
      to false also.</li>
 
     </ol></li>
 
-   <li><p>If both the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state and <var title="">recycle</var> are false, then the <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing
+   <li><p>If both the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state and <var title="">recycle</var> are false, then 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>
 
@@ -69092,16 +69092,16 @@
     <p><a href=#make-disappear>Make disappear</a> 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 whose global object is the
     <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</p>
 
-    <p>If this affected any <code><a href=#websocket>WebSocket</a></code> objects, then set <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to false.</p>
+    <p>If this affected any <code><a href=#websocket>WebSocket</a></code> objects, then set <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to false.</p>
 
    </li>
 
-   <li><p>If the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i>
+   <li><p>If the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i>
    state is false, <a href=#concept-eventsource-forcibly-close title=concept-EventSource-forcibly-close>forcibly close</a> any
    <code><a href=#eventsource>EventSource</a></code> objects that whose constructor was invoked from the
    <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
-   <li><p>If the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i>
+   <li><p>If the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i>
    state is false, empty the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code>'s <a href=#list-of-active-timers>list of active
    timers</a>.</li>
 
@@ -69147,19 +69147,19 @@
 
   <ol><li><p><a href=#abort-a-document title="abort a document">Abort</a> the <a href=#active-document title="active document">active
    documents</a> of every <a href=#child-browsing-context>child browsing context</a>. If this results in any of those
-   <code><a href=#document>Document</a></code> objects having their <i title=concept-document-salvageable>salvageable</i> state set to false, then set this
-   <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to
+   <code><a href=#document>Document</a></code> objects having their <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state set to false, then set this
+   <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to
    false also.</li>
 
    <li><p>Cancel any instances of the <a href=#fetch title=fetch>fetch</a> algorithm in the context of
    this <code><a href=#document>Document</a></code>, discarding any <a href=#concept-task title=concept-task>tasks</a> <a href=#queue-a-task title="queue a task">queued</a> for them, and discarding any further data received from the
    network for them. If this resulted in any instances of the <a href=#fetch title=fetch>fetch</a>
    algorithm being canceled or any <a href=#queue-a-task title="queue a task">queued</a> <a href=#concept-task title=concept-task>tasks</a> or any network data getting discarded, then set the
-   <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to
+   <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to
    false.</li>
 
    <li><p>If the <code><a href=#document>Document</a></code> has an <a href=#active-parser>active parser</a>, then <a href=#abort-a-parser title="abort a
-   parser">abort that parser</a> and set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable>salvageable</i> state to false.</li>
+   parser">abort that parser</a> and set the <code><a href=#document>Document</a></code>'s <i title=concept-document-salvageable><a href=#concept-document-salvageable>salvageable</a></i> state to false.</li>
 
    <!-- we could also stop all script, or stop animations -->
 
@@ -71333,7 +71333,7 @@
   <h4 id=enabling-and-disabling-scripting><span class=secno>7.1.2 </span>Enabling and disabling scripting</h4>
 
   <p><dfn id=concept-bc-script title=concept-bc-script>Scripting is enabled</dfn> in a
-  <em><a href=#browsing-context>browsing context</a></em> when all of the
+  <em><a href=#browsing-context><span>browsing context</span></a></em> when all of the
   following conditions are true:</p>
 
   <ul><li>The user agent supports scripting.</li>
@@ -71355,7 +71355,7 @@
   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><a href=#document>Document</a></code> object of the node (the
+  <em><a href=#node>node</a></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>
@@ -71566,7 +71566,7 @@
   the algorithm to <a href=#concept-mo-invoke title=concept-mo-invoke>invoke <code>MutationObserver</code>
   objects</a>. For the purposes of <code><a href=#mutationobserver>MutationObserver</a></code> objects, each <a href=#unit-of-related-similar-origin-browsing-contexts>unit of
   related similar-origin browsing contexts</a> is a distinct <var title="MutationObserver
-  scripting environment">scripting environment</var>.</p>
+  scripting environment"><a href=#mutationobserver-scripting-environment>scripting environment</a></var>.</p>
 
   <p>Each <a href=#unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing contexts</a> has a <dfn id=global-script-clean-up-jobs-list>global script
   clean-up jobs list</dfn>, which must initially be empty. A global script clean-up job cannot run
@@ -71602,8 +71602,8 @@
    scripting language, and thus obtain the <a href=#list-of-code-entry-points>list of code
    entry-points</a> for the script. If the semantics of the
    scripting language and the given source code are such that there is
-   executable code to be immediately run, then the <i>initial code
-   entry-point</i> is the entry-point for that code.</li>
+   executable code to be immediately run, then the <i><a href=#initial-code-entry-point>initial code
+   entry-point</a></i> is the entry-point for that code.</li>
 
    <li><p>Set up the <a href="#script's-global-object">script's global object</a>, the
    <a href="#script's-browsing-context">script's browsing context</a>, the <a href="#script's-document">script's
@@ -71619,12 +71619,12 @@
  
     <p>If all the steps above succeeded (in particular, if the script
     was compiled successfully), <a href=#jump-to-a-code-entry-point title="jump to a code
-    entry-point">Jump</a> to the <a href=#concept-script title=concept-script>script</a>'s <i>initial code
-    entry-point</i>.</p>
+    entry-point">Jump</a> to the <a href=#concept-script title=concept-script>script</a>'s <i><a href=#initial-code-entry-point>initial code
+    entry-point</a></i>.</p>
 
     <p>Otherwise, <a href=#report-the-error>report the error</a> for the <a href=#concept-script title=concept-script>script</a>,
     with the problematic position (line number and column number), using <a href="#script's-global-object">script's global object</a> as the target. If the
-    error is still <i title=concept-error-nothandled>not handled</i> after this, then the error
+    error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i> after this, then the error
     may be reported to the user.</p>
 
    </li>
@@ -71720,7 +71720,7 @@
   handled</i></dfn>:</p>
 
   <ol><li><p>If <var title="">target</var> is <a href=#in-error-reporting-mode>in error reporting mode</a>, then abort these
-   steps; the error is <i title=concept-error-nothandled>not handled</i>.</li>
+   steps; the error is <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i>.</li>
 
    <li><p>Let <var title="">target</var> be <dfn id=in-error-reporting-mode>in error reporting mode</dfn>.</li>
 
@@ -71773,14 +71773,14 @@
 
    <li><p>Let <var title="">target</var> no longer be <a href=#in-error-reporting-mode>in error reporting mode</a>.</li>
 
-   <li><p>If <var title="">event</var> was canceled, then the error is <i title=concept-error-handled>handled</i>. Otherwise, the error is <i title=concept-error-nothandled>not handled</i>.</p>
+   <li><p>If <var title="">event</var> was canceled, then the error is <i title=concept-error-handled><a href=#concept-error-handled>handled</a></i>. Otherwise, the error is <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i>.</p>
 
   </ol><h6 id=runtime-script-errors-in-documents><span class=secno>7.1.3.5.1 </span>Runtime script errors in documents</h6>
 
   <p>Whenever an uncaught runtime script error occurs in one of the scripts associated with a
   <code><a href=#document>Document</a></code>, the user agent must <a href=#report-the-error>report the error</a> for the relevant <a href=#concept-script title=concept-script>script</a>, with the problematic position (line number and column
   number) in the resource containing the script, using
-  the <a href="#script's-global-object">script's global object</a> as the target. If the error is still <i title=concept-error-nothandled>not handled</i> after this, then the error may be reported to the
+  the <a href="#script's-global-object">script's global object</a> as the target. If the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i> after this, then the error may be reported to the
   user.</p>
 
   </div>
@@ -72180,7 +72180,7 @@
       scripting language is JavaScript.</p>
 
       <p>Let <var title="">result</var> be the return value of the
-      <i>initial code entry-point</i> of this <a href=#concept-script title=concept-script>script</a>. If an exception was
+      <i><a href=#initial-code-entry-point>initial code entry-point</a></i> of this <a href=#concept-script title=concept-script>script</a>. If an exception was
       thrown, let <var title="">result</var> be void instead. (The
       result will be void also if <a href=#concept-bc-noscript title=concept-bc-noscript>scripting is disabled</a>.)</p>
 
@@ -72526,7 +72526,7 @@
    <a href=#report-the-error>report the error</a> for the appropriate <a href=#concept-script title=concept-script>script</a> and
    with the appropriate position (line number and column number), as established when the error was
    detected, using the <code><a href=#window>Window</a></code> object of that <code><a href=#document>Document</a></code> as the target. If
-   the error is still <i title=concept-error-nothandled>not handled</i> after this, then the error
+   the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i> after this, then the error
    may be reported to the user. Finally, abort these steps.</li>
 
    <li><p>Let <var title="">callback</var> be <var title="">H</var>'s value, the callback that the
@@ -75735,7 +75735,7 @@
   <p>The <dfn id=dom-focus title=dom-focus><code>focus()</code></dfn> method,
   when invoked, must run the following algorithm:</p>
 
-  <ol><li><p>If the element is marked as <i>locked for focus</i>, then abort
+  <ol><li><p>If the element is marked as <i><a href=#locked-for-focus>locked for focus</a></i>, then abort
    these steps.</li>
 
    <li><p>Mark the element as <dfn id=locked-for-focus>locked for focus</dfn>.</li>
@@ -75743,7 +75743,7 @@
    <li><p>Run the <a href=#focusing-steps>focusing steps</a> for the
    element.</li>
 
-   <li><p>Unmark the element as <i>locked for focus</i>.</li>
+   <li><p>Unmark the element as <i><a href=#locked-for-focus>locked for focus</a></i>.</li>
 
   </ol><p>The <dfn id=dom-blur title=dom-blur><code>blur()</code></dfn> method, when
   invoked, should run the <a href=#unfocusing-steps>unfocusing steps</a> for the
@@ -75865,7 +75865,7 @@
    <p>In the following example, the search field is given two possible
    access keys, "s" and "0" (in that order). A user agent on a device
    with a full keyboard might pick
-   <kbd><kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>S</kbd></kbd> as the
+   <kbd><kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd><a href=#the-s-element>S</a></kbd></kbd> as the
    shortcut key, while a user agent on a small device with just a
    numeric keypad might pick just the plain unadorned key
    <kbd><kbd>0</kbd></kbd>:</p>
@@ -76240,7 +76240,7 @@
   <ul><li>The value of <code><a href=#the-input-element>input</a></code> elements to which the <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code> attribute <a href=#concept-input-apply title=concept-input-apply>applies</a>,
    whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attributes are not
    in the <a href="#password-state-(type=password)" title=attr-input-type-password>Password</a>
-   state, and that are <i title=concept-fe-mutable>mutable</i> (i.e.
+   state, and that are <i title=concept-fe-mutable><a href=#concept-fe-mutable>mutable</a></i> (i.e.
    that do not have the <code title=attr-input-readonly><a href=#attr-input-readonly>readonly</a></code> attribute specified and
    that are not <a href=#concept-fe-disabled title=concept-fe-disabled>disabled</a>).</li>
 
@@ -76893,7 +76893,7 @@
 
    <li><p>If there are any items in the <a href=#drag-data-store-item-list>drag data store item
    list</a> whose <a href=#the-drag-data-item-kind title="the drag data item kind">kind</a>
-   is <i>File</i>, then add an entry to the list <var title="">L</var>
+   is <i><a href=#file>File</a></i>, then add an entry to the list <var title="">L</var>
    consisting of the string "<code title="">Files</code>". (This value
    can be distinguished from the other values because it is not
    lowercase.)</li>
@@ -77032,7 +77032,7 @@
 
    <li><p>For each item in the <a href=#drag-data-store-item-list>drag data store item list</a>
    <!-- in some order...? --> whose <a href=#the-drag-data-item-kind title="the drag data item
-   kind">kind</a> is <i>File</i> <!-- DND-v3: (not <i>Blob</i>) -->,
+   kind">kind</a> is <i><a href=#file>File</a></i> <!-- DND-v3: (not <i>Blob</i>) -->,
    add the item's data (the file, in particular its name and contents,
    as well as its <a href=#the-drag-data-item-type-string title="the drag data item type
    string">type</a>) to the list <var title="">L</var>.</li>
@@ -77156,7 +77156,7 @@
   invoked with the argument <var title="">i</var>, must run these steps:</p>
 
   <ol><li><p>If the <code><a href=#datatransferitemlist>DataTransferItemList</a></code> object is not in the
-   <i title=concept-dnd-rw>read/write mode</i>, throw an
+   <i title=concept-dnd-rw><a href=#concept-dnd-rw>read/write mode</a></i>, throw an
    <code><a href=#invalidstateerror>InvalidStateError</a></code> exception and abort these
    steps.</li>
 
@@ -77164,7 +77164,7 @@
    data store</a>.</li>
 
   </ol><p>The <dfn id=dom-datatransferitemlist-clear title=dom-DataTransferItemList-clear><code>clear</code></dfn> method,
-  if the <code><a href=#datatransferitemlist>DataTransferItemList</a></code> object is in the <i title=concept-dnd-rw>read/write mode</i>, must remove all the
+  if the <code><a href=#datatransferitemlist>DataTransferItemList</a></code> object is in the <i title=concept-dnd-rw><a href=#concept-dnd-rw>read/write mode</a></i>, must remove all the
   items from the <a href=#drag-data-store>drag data store</a>. Otherwise, it must do
   nothing.</p>
 
@@ -77172,7 +77172,7 @@
   must run the following steps:</p>
 
   <ol><li><p>If the <code><a href=#datatransferitemlist>DataTransferItemList</a></code> object is not in the
-   <i title=concept-dnd-rw>read/write mode</i>, return null and
+   <i title=concept-dnd-rw><a href=#concept-dnd-rw>read/write mode</a></i>, return null and
    abort these steps.</li>
 
    <li>
@@ -77222,7 +77222,7 @@
 
       <p>Add an item to the <a href=#drag-data-store-item-list>drag data store item list</a>
       whose <a href=#the-drag-data-item-kind title="the drag data item kind">kind</a> is
-      <i>File</i>, whose <a href=#the-drag-data-item-type-string title="the drag data item type
+      <i><a href=#file>File</a></i>, whose <a href=#the-drag-data-item-type-string title="the drag data item type
       string">type string</a> is the <code title=dom-Blob-type>type</code> of the <code><a href=#file>File</a></code>,
       <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>, and whose data is the
       same as the <code><a href=#file>File</a></code>'s data.</p>
@@ -77310,7 +77310,7 @@
    <dt><var title="">file</var> = <var title="">item</var> . <code title=dom-DataTransferItem-getAsFile><a href=#dom-datatransferitem-getasfile>getAsFile</a></code>()</dt>
    <dd>
 
-    <p>Returns a <code><a href=#file>File</a></code> object, if <a href=#the-drag-data-item-kind>the drag data item kind</a> is <i>File</i>.</p>
+    <p>Returns a <code><a href=#file>File</a></code> object, if <a href=#the-drag-data-item-kind>the drag data item kind</a> is <i><a href=#file>File</a></i>.</p>
 
    </dd>
 
@@ -77355,7 +77355,7 @@
   <table><thead><tr><th> Kind <th> String
    <tbody><tr><td> <i>Plain Unicode string</i> <td> "<code title="">string</code>"
 <!-- DND-v3:    <tr> <td> <i>Blob</i> <td> "<code title="">blob</code>"-->
-    <tr><td> <i>File</i> <td> "<code title="">file</code>"
+    <tr><td> <i><a href=#file>File</a></i> <td> "<code title="">file</code>"
 <!-- DND-v4:    <tr> <td> <i>Object</i> <td> "<code title="">object</code>"-->
   </table><p>The <dfn id=dom-datatransferitem-type title=dom-DataTransferItem-type><code>type</code></dfn> attribute
   must return the empty string if the <code><a href=#datatransferitem>DataTransferItem</a></code>
@@ -77369,7 +77369,7 @@
   <ol><li><p>If the <var title="">callback</var> is null, abort these
    steps.</li>
 
-   <li><p>If the <code><a href=#datatransferitem>DataTransferItem</a></code> object is not in the <i title=concept-dnd-rw>read/write mode</i> or the <i title=concept-dnd-ro>read-only mode</i>, abort these steps. The
+   <li><p>If the <code><a href=#datatransferitem>DataTransferItem</a></code> object is not in the <i title=concept-dnd-rw><a href=#concept-dnd-rw>read/write mode</a></i> or the <i title=concept-dnd-ro><a href=#concept-dnd-ro>read-only mode</a></i>, abort these steps. The
    callback is never invoked.</li>
 
    <li><p>If <a href=#the-drag-data-item-kind>the drag data item kind</a> is not <i>Plain
@@ -77424,10 +77424,10 @@
 --><p>The <dfn id=dom-datatransferitem-getasfile title=dom-DataTransferItem-getAsFile><code>getAsFile()</code></dfn>
   method must run the following steps:</p>
 
-  <ol><li><p>If the <code><a href=#datatransferitem>DataTransferItem</a></code> object is not in the <i title=concept-dnd-rw>read/write mode</i> or the <i title=concept-dnd-ro>read-only mode</i>, return null and abort
+  <ol><li><p>If the <code><a href=#datatransferitem>DataTransferItem</a></code> object is not in the <i title=concept-dnd-rw><a href=#concept-dnd-rw>read/write mode</a></i> or the <i title=concept-dnd-ro><a href=#concept-dnd-ro>read-only mode</a></i>, return null and abort
    these steps.</li>
 
-   <li><p>If <a href=#the-drag-data-item-kind>the drag data item kind</a> is not <i>File</i>,
+   <li><p>If <a href=#the-drag-data-item-kind>the drag data item kind</a> is not <i><a href=#file>File</a></i>,
    then return null and abort these steps.</li>
 
    <li><p>Return a new <code><a href=#file>File</a></code> object representing the
@@ -77704,7 +77704,7 @@
      <dd>The MIME type of the file, if known, or "<code>application/octet-stream</code>" otherwise.</dd>
 
      <dt><a href=#the-drag-data-item-kind>The drag data item kind</a>
-     <dd><i>File</i></dd>
+     <dd><i><a href=#file>File</a></i></dd>
 
      <dt>The actual data</dt>
      <dd>The file's contents and name.</dd>
@@ -78038,7 +78038,7 @@
 
       <p>Otherwise, if the <a href=#current-target-element>current target element</a> is not a DOM element, use
       platform-specific mechanisms to determine what drag operation is being performed (none, copy,
-      link, or move), and set the <i>current drag operation</i> accordingly.</p>
+      link, or move), and set the <i><a href=#current-drag-operation>current drag operation</a></i> accordingly.</p>
 
      </li>
 
@@ -78392,7 +78392,7 @@
    <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the string "<code title="">file:</code>"</dt>
 
    <dd><p>Indicates that items with <a href=#the-drag-data-item-kind>the drag data item
-   kind</a> <i>File</i> and <a href=#the-drag-data-item-type-string>the drag data item type
+   kind</a> <i><a href=#file>File</a></i> and <a href=#the-drag-data-item-type-string>the drag data item type
    string</a> set to a value that matches the remainder of the
    keyword are accepted.</dd>
 
@@ -78505,7 +78505,7 @@
        <dd>
 
         <p>Let <var title="">kind<!--DND-v3:/DND-v4: s--></var> be
-        <i>File</i>.</p>
+        <i><a href=#file>File</a></i>.</p>
 
        </dd>
 
@@ -80076,7 +80076,7 @@
 
     <p>Parse/compile/initialize <var title="">source</var> using that <a href=#script-execution-environment>script execution
     environment</a>, as appropriate for <var title="">language</var>, and thus obtain a
-    <a href=#list-of-code-entry-points>list of code entry-points</a>; set the <i>initial code entry-point</i> to the
+    <a href=#list-of-code-entry-points>list of code entry-points</a>; set the <i><a href=#initial-code-entry-point>initial code entry-point</a></i> to the
     entry-point for any executable code to be immediately run.</p>
 
     <p>Set the <a href="#script's-global-object">script's global object</a> to <var title="">worker global scope</var>.</p>
@@ -80118,7 +80118,7 @@
 
    <li>
 
-    <p><a href=#jump-to-a-code-entry-point title="jump to a code entry-point">Jump</a> to the <a href=#concept-script title=concept-script>script</a>'s <i>initial code entry-point</i>, and let that run until
+    <p><a href=#jump-to-a-code-entry-point title="jump to a code entry-point">Jump</a> to the <a href=#concept-script title=concept-script>script</a>'s <i><a href=#initial-code-entry-point>initial code entry-point</a></i>, and let that run until
     it either returns, fails to catch an exception, or gets prematurely aborted by the "<a href=#kill-a-worker>kill a
     worker</a>" or "<a href=#terminate-a-worker>terminate a worker</a>" algorithms defined below.</p>
 
@@ -80138,7 +80138,7 @@
 
    <li>
 
-    <p><strong>Event loop<!-- labeled for ease of discussion --></strong>: Create a new <a href=#event-loop>event
+    <p><strong><a href=#event-loop>Event loop<!-- labeled for ease of discussion --></a></strong>: Create a new <a href=#event-loop>event
     loop</a>, and run it until it is destroyed.</p>
 
     <p class=note>The handling of events or the execution of callbacks by <a href=#concept-task title=concept-task>tasks</a> run by the <a href=#event-loop>event loop</a> might get prematurely
@@ -80240,12 +80240,12 @@
   and column number) where the error occurred, using the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object as the target.
   </p>
 
-  <p>For shared workers, if the error is still <i title=concept-error-nothandled>not handled</i>
+  <p>For shared workers, if the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i>
   afterwards, the error may be reported to the user.
   </p>
 
-  <p>For dedicated workers, if the error is still <i title=concept-error-nothandled>not
-  handled</i> afterwards, the user
+  <p>For dedicated workers, if the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not
+  handled</a></i> afterwards, the user
   agent must <a href=#queue-a-task>queue a task</a> to <a href=#concept-event-fire title=concept-event-fire>fire</a> a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a> event that uses the <code><a href=#errorevent>ErrorEvent</a></code>
   interface, with the name <code title=event-error>error</code>, that doesn't bubble and is
   cancelable, with its <code title=dom-ErrorEvent-message><a href=#dom-errorevent-message>message</a></code>, <code title=dom-ErrorEvent-filename><a href=#dom-errorevent-filename>filename</a></code>, <code title=dom-ErrorEvent-lineno><a href=#dom-errorevent-lineno>lineno</a></code>, and <code title=dom-ErrorEvent-column><a href=#dom-errorevent-column>column</a></code>
@@ -81245,7 +81245,7 @@
 
      <li><p>Perform a <a href=#potentially-cors-enabled-fetch>potentially CORS-enabled
      fetch</a><!--FETCH--> of the <a href=#absolute-url>absolute URL</a> of the
-     event source resource, using the same <i>referrer source</i>, and
+     event source resource, using the same <i><a href=#referrer-source>referrer source</a></i>, and
      with the same <i>mode</i><!--, <i>default origin
      behaviour</i>,--> and <i title="">origin</i>, as those used in
      the original request triggered by the <code title=dom-EventSource><a href=#dom-eventsource>EventSource()</a></code> constructor, and
@@ -81881,7 +81881,7 @@
 
   <p>When the <code>WebSocket()</code> constructor is invoked, the UA must run these steps:</p>
 
-  <ol><li><p><i>Parse a WebSocket URL's components</i> from the <var title="">url</var> argument, to
+  <ol><li><p><i><a href="#parse-a-websocket-url's-components">Parse a WebSocket URL's components</a></i> from the <var title="">url</var> argument, to
    obtain <var title="">host</var>, <var title="">port</var>, <var title="">resource name</var>, and
    <var title="">secure</var>. If this fails, throw a <code><a href=#syntaxerror>SyntaxError</a></code> exception and abort
    these steps. <a href=#refsWSP>[WSP]</a></li>
@@ -81926,15 +81926,15 @@
 
    <li>
 
-    <p><i>Establish a WebSocket connection</i> given the set (<var title="">host</var>, <var title="">port</var>, <var title="">resource name</var>, <var title="">secure</var>), along with
-    the <var title="">protocols</var> list, an empty list for the extensions, and <var title="">origin</var>. The <i>headers to send appropriate cookies</i> must be a <code title=http-Cookie>Cookie</code> header whose value is the <i>cookie-string</i> computed from
+    <p><i><a href=#establish-a-websocket-connection>Establish a WebSocket connection</a></i> given the set (<var title="">host</var>, <var title="">port</var>, <var title="">resource name</var>, <var title="">secure</var>), along with
+    the <var title="">protocols</var> list, an empty list for the extensions, and <var title="">origin</var>. The <i><a href=#headers-to-send-appropriate-cookies>headers to send appropriate cookies</a></i> must be a <code title=http-Cookie>Cookie</code> header whose value is the <i><a href=#cookie-string>cookie-string</a></i> computed from
     the user's cookie store and the URL <var title="">url</var>; for these purposes this is
     <em>not</em> a "non-HTTP" API. <a href=#refsWSP>[WSP]</a> <a href=#refsCOOKIES>[COOKIES]</a></p>
 
-    <p>When the user agent <i title="validate the server's response">validates the server's
-    response</i> during the "<i>establish a WebSocket connection</i>" algorithm, if the status code
-    received from the server is not 101 (e.g. it is a redirect), the user agent must <i>fail the
-    WebSocket connection</i>.</p>
+    <p>When the user agent <i title="validate the server's response"><a href="#validate-the-server's-response">validates the server's
+    response</a></i> during the "<i><a href=#establish-a-websocket-connection>establish a WebSocket connection</a></i>" algorithm, if the status code
+    received from the server is not 101 (e.g. it is a redirect), the user agent must <i><a href=#fail-the-websocket-connection>fail the
+    WebSocket connection</a></i>.</p>
 
     <p class=warning>Following HTTP procedures here could introduce serious security problems in a
     Web browser context. For example, consider a host with a WebSocket server at one path and an
@@ -81943,9 +81943,9 @@
     Internet, even if the script checks that the URL has the right hostname.</p>
     <!-- http://www.ietf.org/mail-archive/web/hybi/current/msg06951.html -->
 
-    <p class=note>If the <i>establish a WebSocket connection</i> algorithm fails, it triggers the
-    <i>fail the WebSocket connection</i> algorithm, which then invokes the <i>close the WebSocket
-    connection</i> algorithm, which then establishes that <i>the WebSocket connection is closed</i>,
+    <p class=note>If the <i><a href=#establish-a-websocket-connection>establish a WebSocket connection</a></i> algorithm fails, it triggers the
+    <i><a href=#fail-the-websocket-connection>fail the WebSocket connection</a></i> algorithm, which then invokes the <i><a href=#close-the-websocket-connection>close the WebSocket
+    connection</a></i> algorithm, which then establishes that <i><a href=#the-websocket-connection-is-closed>the WebSocket connection is closed</a></i>,
     which fires the <code title=event-socket-close>close</code> event <a href=#closeWebSocket>as
     described below</a>.</p>
 
@@ -81965,7 +81965,7 @@
 
    <dt><dfn id=dom-websocket-open title=dom-WebSocket-OPEN><code>OPEN</code></dfn> (numeric value 1)</dt>
 
-   <dd><i>The WebSocket connection is established</i> and communication is possible.</dd>
+   <dd><i><a href=#the-websocket-connection-is-established>The WebSocket connection is established</a></i> and communication is possible.</dd>
 
    <dt><dfn id=dom-websocket-closing title=dom-WebSocket-CLOSING><code>CLOSING</code></dfn> (numeric value 2)</dt>
 
@@ -81979,7 +81979,7 @@
   set to <code title=dom-WebSocket-CONNECTING><a href=#dom-websocket-connecting>CONNECTING</a></code> (0).</p>
 
   <p>The <dfn id=dom-websocket-extensions title=dom-WebSocket-extensions><code>extensions</code></dfn> attribute must
-  initially return the empty string. After <i>the WebSocket connection is established</i>, its value
+  initially return the empty string. After <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, its value
   might change, as defined below.</p>
 
   <p class=note>The <code title=dom-WebSocket-extensions><a href=#dom-websocket-extensions>extensions</a></code> attribute returns the
@@ -81987,7 +81987,7 @@
   string.)</p>
 
   <p>The <dfn id=dom-websocket-protocol title=dom-WebSocket-protocol><code>protocol</code></dfn> attribute must initially
-  return the empty string. After <i>the WebSocket connection is established</i>, its value might
+  return the empty string. After <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, its value might
   change, as defined below.</p>
 
   <p class=note>The <code title=dom-WebSocket-protocol><a href=#dom-websocket-protocol>protocol</a></code> attribute returns the
@@ -82034,25 +82034,25 @@
 
 
      <dt>If the WebSocket connection is not yet <i title="the WebSocket connection is
-     established">established</i> <a href=#refsWSP>[WSP]</a></dt>
+     established"><a href=#the-websocket-connection-is-established>established</a></i> <a href=#refsWSP>[WSP]</a></dt>
 
      <dd>
 
-      <p><i>Fail the WebSocket connection</i> and set the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). <a href=#refsWSP>[WSP]</a></p>
+      <p><i><a href=#fail-the-websocket-connection>Fail the WebSocket connection</a></i> and set the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). <a href=#refsWSP>[WSP]</a></p>
 
-      <p class=note>The <i>fail the WebSocket connection</i> algorithm invokes the <i>close the
-      WebSocket connection</i> algorithm, which then establishes that <i>the WebSocket connection is
-      closed</i>, which fires the <code title=event-socket-close>close</code> event <a href=#closeWebSocket>as described below</a>.</p>
+      <p class=note>The <i><a href=#fail-the-websocket-connection>fail the WebSocket connection</a></i> algorithm invokes the <i><a href=#close-the-websocket-connection>close the
+      WebSocket connection</a></i> algorithm, which then establishes that <i><a href=#the-websocket-connection-is-closed>the WebSocket connection is
+      closed</a></i>, which fires the <code title=event-socket-close>close</code> event <a href=#closeWebSocket>as described below</a>.</p>
 
      </dd>
 
 
      <dt>If the WebSocket closing handshake has not yet been <i title="the WebSocket closing
-     handshake is started">started</i> <a href=#refsWSP>[WSP]</a></dt>
+     handshake is started"><a href=#the-websocket-closing-handshake-is-started>started</a></i> <a href=#refsWSP>[WSP]</a></dt>
 
      <dd>
 
-      <p><i>Start the WebSocket closing handshake</i> and set the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). <a href=#refsWSP>[WSP]</a></p>
+      <p><i><a href=#start-the-websocket-closing-handshake>Start the WebSocket closing handshake</a></i> and set the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). <a href=#refsWSP>[WSP]</a></p>
 
       <p>If the first argument is present, then the status code<!--CLOSE CODE--> to use in the
       WebSocket Close message must be the integer given by the first argument. <a href=#refsWSP>[WSP]</a></p>
@@ -82061,9 +82061,9 @@
       the Close message after the status code<!--CLOSE CODE-->. <a href=#refsRFC3629>[RFC3629]</a>
       <a href=#refsWSP>[WSP]</a></p>
 
-      <p class=note>The <i>start the WebSocket closing handshake</i> algorithm eventually invokes
-      the <i>close the WebSocket connection</i> algorithm, which then establishes that <i>the
-      WebSocket connection is closed</i>, which fires the <code title=event-socket-close>close</code> event <a href=#closeWebSocket>as described
+      <p class=note>The <i><a href=#start-the-websocket-closing-handshake>start the WebSocket closing handshake</a></i> algorithm eventually invokes
+      the <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> algorithm, which then establishes that <i><a href=#the-websocket-connection-is-closed>the
+      WebSocket connection is closed</a></i>, which fires the <code title=event-socket-close>close</code> event <a href=#closeWebSocket>as described
       below</a>.</p>
 
      </dd>
@@ -82075,9 +82075,9 @@
 
       <p>Set the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2).</p>
 
-      <p class=note><i>The WebSocket closing handshake is started</i>, and will eventually invoke
-      the <i>close the WebSocket connection</i> algorithm, which will establish that <i>the
-      WebSocket connection is closed</i>, and thus the <code title=event-socket-close>close</code>
+      <p class=note><i><a href=#the-websocket-closing-handshake-is-started>The WebSocket closing handshake is started</a></i>, and will eventually invoke
+      the <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> algorithm, which will establish that <i><a href=#the-websocket-connection-is-closed>the
+      WebSocket connection is closed</a></i>, and thus the <code title=event-socket-close>close</code>
       event will fire, <a href=#closeWebSocket>as described below</a>.</p>
 
      </dd>
@@ -82143,11 +82143,11 @@
 
     <p>Let <var title="">data</var> be the result of <a href=#convert-a-domstring-to-a-sequence-of-unicode-characters title="convert a DOMString to a sequence
     of Unicode characters">converting the <var title="">data</var> argument to a sequence of Unicode
-    characters</a>. If <i>the WebSocket connection is established</i> and <i title="the WebSocket
-    closing handshake is started">the WebSocket closing handshake has not yet started</i>, then the
+    characters</a>. If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i> and <i title="the WebSocket
+    closing handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the
     user agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a
     text frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i>close the WebSocket connection</i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. Any invocation of this method with a
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. Any invocation of this method with a
     string argument that does not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code> attribute by the number of bytes
     needed to express the argument as UTF-8. <a href=#refsUNICODE>[UNICODE]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></p>
 
@@ -82158,11 +82158,11 @@
 
    <dd>
 
-    <p>If <i>the WebSocket connection is established</i>, and <i title="the WebSocket closing
-    handshake is started">the WebSocket closing handshake has not yet started</i>, then the user
+    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing
+    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the user
     agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
     frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i>close the WebSocket connection</i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the raw data
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the raw data
     represented by the <code><a href=#blob>Blob</a></code> object. <!-- that sentence is meant to invoke "This
     interface represents immutable raw data." --> Any invocation of this method with a
     <code><a href=#blob>Blob</a></code> argument that does not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code> attribute by the size of the
@@ -82176,11 +82176,11 @@
 
    <dd>
 
-    <p>If <i>the WebSocket connection is established</i>, and <i title="the WebSocket closing
-    handshake is started">the WebSocket closing handshake has not yet started</i>, then the user
+    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing
+    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the user
     agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
     frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i>close the WebSocket connection</i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the data
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the data
     stored in the buffer described by the <code><a href=#arraybuffer>ArrayBuffer</a></code> object. <!-- that sentence is
     meant to invoke "The ArrayBuffer type describes a buffer used to store data for the array buffer
     views." at the top of the Typed Array spec, and "Optional byteOffset and length can be used to
@@ -82197,11 +82197,11 @@
 
    <dd>
 
-    <p>If <i>the WebSocket connection is established</i>, and <i title="the WebSocket closing
-    handshake is started">the WebSocket closing handshake has not yet started</i>, then the user
+    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing
+    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the user
     agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
     frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i>close the WebSocket connection</i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the data
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the data
     stored in the section of the buffer described by the <code><a href=#arraybuffer>ArrayBuffer</a></code> object that the
     <code><a href=#arraybufferview>ArrayBufferView</a></code> object references. <!-- that sentence is meant to invoke "The
     ArrayBuffer type describes a buffer used to store data for the array buffer views." at the top
@@ -82225,26 +82225,26 @@
     <tr><td><dfn id=handler-websocket-onclose title=handler-WebSocket-onclose><code>onclose</code></dfn> <td> <code title=event-socket-close>close</code>
   </table><h4 id=feedback-from-the-protocol><span class=secno>10.3.3 </span>Feedback from the protocol</h4>
 
-  <p>When <i>the WebSocket connection is established</i>, the user agent must <a href=#queue-a-task>queue a
+  <p>When <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, the user agent must <a href=#queue-a-task>queue a
   task</a> to run these steps:</p>
 
   <ol><li><p>Change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to
    <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1).</li>
 
    <li><p>Change the <code title=dom-WebSocket-extensions><a href=#dom-websocket-extensions>extensions</a></code> attribute's value to
-   the <i>extensions in use</i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
+   the <i><a href=#extensions-in-use>extensions in use</a></i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
 
    <li><p>Change the <code title=dom-WebSocket-protocol><a href=#dom-websocket-protocol>protocol</a></code> attribute's value to the
-   <i>subprotocol in use</i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
+   <i><a href=#subprotocol-in-use>subprotocol in use</a></i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
 
    <li><p>Act as if the user agent had <a href=#receives-a-set-cookie-string title="receives a set-cookie-string">received a
-   set-cookie-string</a> consisting of the <i>cookies set during the server's opening
-   handshake</i>, for the URL <var title="">url</var> given to the <code title=dom-WebSocket><a href=#dom-websocket>WebSocket()</a></code> constructor. <a href=#refsCOOKIES>[COOKIES]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></li>
+   set-cookie-string</a> consisting of the <i><a href="#cookies-set-during-the-server's-opening-handshake">cookies set during the server's opening
+   handshake</a></i>, for the URL <var title="">url</var> given to the <code title=dom-WebSocket><a href=#dom-websocket>WebSocket()</a></code> constructor. <a href=#refsCOOKIES>[COOKIES]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></li>
 
    <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-open>open</code> at the
    <code><a href=#websocket>WebSocket</a></code> object.</p>
 
-  </ol><hr><p>When <i>a WebSocket message has been received</i> with type <var title="">type</var> and data
+  </ol><hr><p>When <i><a href=#a-websocket-message-has-been-received>a WebSocket message has been received</a></i> with type <var title="">type</var> and data
   <var title="">data</var>, the user agent must <a href=#queue-a-task>queue a task</a> to follow these steps: <a href=#refsWSP>[WSP]</a></p>
 
   <ol><li>
@@ -82312,28 +82312,28 @@
 
   </div>
 
-  <hr><p>When <i>the WebSocket closing handshake is started</i>, the user agent must <a href=#queue-a-task>queue a
+  <hr><p>When <i><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake is started</a></i>, the user agent must <a href=#queue-a-task>queue a
   task</a> to change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's
   value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). (If the <code title=dom-WebSocket-close><a href=#dom-websocket-close>close()</a></code> method was called, the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value will already be set to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2) when this task runs.) <a href=#refsWSP>[WSP]</a></p>
 
-  <hr><p id=closeWebSocket>When <i>the WebSocket connection is closed</i>, possibly <i title="">cleanly</i>, the user agent must <a href=#queue-a-task>queue a task</a> to run the following
+  <hr><p id=closeWebSocket>When <i><a href=#the-websocket-connection-is-closed>the WebSocket connection is closed</a></i>, possibly <i title="">cleanly</i>, the user agent must <a href=#queue-a-task>queue a task</a> to run the following
   substeps:</p>
 
   <ol><li><p>Change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to
    <code title=dom-WebSocket-CLOSED><a href=#dom-websocket-closed>CLOSED</a></code> (3).</li>
 
-   <li><p>If the user agent was required to <i>fail the WebSocket connection</i> or <i>the WebSocket
-   connection is closed</i> <dfn id=concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</dfn>,
+   <li><p>If the user agent was required to <i><a href=#fail-the-websocket-connection>fail the WebSocket connection</a></i> or <i><a href=#the-websocket-connection-is-closed>the WebSocket
+   connection is closed</a></i> <dfn id=concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</dfn>,
    <a href=#fire-a-simple-event>fire a simple event</a> named <code title="">error</code> at the <code><a href=#websocket>WebSocket</a></code>
    object. <a href=#refsWSP>[WSP]</a></li>
 
    <li><p>Create a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a> event that uses the
    <code><a href=#closeevent>CloseEvent</a></code> interface, with the event type <code title=event-socket-close>close</code>, which does not bubble, is not cancelable, has no default
    action, whose <code title=dom-CloseEvent-wasClean><a href=#dom-closeevent-wasclean>wasClean</a></code> attribute is initialized to
-   true if the connection closed <i title="">cleanly</i> and false otherwise, whose <code title=dom-CloseEvent-code><a href=#dom-closeevent-code>code</a></code> attribute is initialized to <i>the WebSocket connection
-   close code</i>, and whose <code title=dom-CloseEvent-reason><a href=#dom-closeevent-reason>reason</a></code> attribute is
-   initialized to the result of applying the <a href=#utf-8-decoder>UTF-8 decoder</a> to <i>the WebSocket
-   connection close reason</i>, and <a href=#concept-event-dispatch title=concept-event-dispatch>dispatch</a> the event
+   true if the connection closed <i title="">cleanly</i> and false otherwise, whose <code title=dom-CloseEvent-code><a href=#dom-closeevent-code>code</a></code> attribute is initialized to <i><a href=#the-websocket-connection-close-code>the WebSocket connection
+   close code</a></i>, and whose <code title=dom-CloseEvent-reason><a href=#dom-closeevent-reason>reason</a></code> attribute is
+   initialized to the result of applying the <a href=#utf-8-decoder>UTF-8 decoder</a> to <i><a href=#the-websocket-connection-close-reason>the WebSocket
+   connection close reason</a></i>, and <a href=#concept-event-dispatch title=concept-event-dispatch>dispatch</a> the event
    at the <code><a href=#websocket>WebSocket</a></code> object. <a href=#refsWSP>[WSP]</a></li>
 
   </ol><div class=warning>
@@ -82360,7 +82360,7 @@
     <li>A WebSocket server that abruptly closed the connection after successfully completing the
     opening handshake.
 
-   </ul><p>In all of these cases, the <i>the WebSocket connection close code</i> would be 1006, as
+   </ul><p>In all of these cases, the <i><a href=#the-websocket-connection-close-code>the WebSocket connection close code</a></i> would be 1006, as
    required by the WebSocket Protocol specification. <a href=#refsWSP>[WSP]</a></p>
 
    <p>Allowing a script to distinguish these cases would allow a script to probe the user's local
@@ -82490,12 +82490,12 @@
   time the <a href=#event-loop>event loop</a> started executing a <a href=#concept-task title=concept-task>task</a> must
   not be garbage collected if there are any event listeners registered for <code title=event-error>error</code> or <code title=event-socket-close>close</code> events.</p>
 
-  <p>A <code><a href=#websocket>WebSocket</a></code> object with <i title="the WebSocket connection is established">an
-  established connection</i> that has data queued to be transmitted to the network must not be
+  <p>A <code><a href=#websocket>WebSocket</a></code> object with <i title="the WebSocket connection is established"><a href=#the-websocket-connection-is-established>an
+  established connection</a></i> that has data queued to be transmitted to the network must not be
   garbage collected. <a href=#refsWSP>[WSP]</a></p>
 
   <p>If a <code><a href=#websocket>WebSocket</a></code> object is garbage collected while its connection is still open, the
-  user agent must <i>start the WebSocket closing handshake</i>, with no status code<!--CLOSE CODE-->
+  user agent must <i><a href=#start-the-websocket-closing-handshake>start the WebSocket closing handshake</a></i>, with no status code<!--CLOSE CODE-->
   for the Close message. <a href=#refsWSP>[WSP]</a></p>
 
   <hr><p>If a user agent is to <dfn id=make-disappear>make disappear</dfn> a <code><a href=#websocket>WebSocket</a></code> object (this happens
@@ -82503,21 +82503,21 @@
   set of steps from the following list:</p>
 
   <dl class=switch><dt>If the WebSocket connection is not yet <i title="the WebSocket
-   connection is established">established</i> <a href=#refsWSP>[WSP]</a></dt>
+   connection is established"><a href=#the-websocket-connection-is-established>established</a></i> <a href=#refsWSP>[WSP]</a></dt>
 
    <dd>
 
-    <p><i>Fail the WebSocket connection</i>. <a href=#refsWSP>[WSP]</a></p>
+    <p><i><a href=#fail-the-websocket-connection>Fail the WebSocket connection</a></i>. <a href=#refsWSP>[WSP]</a></p>
 
    </dd>
 
 
-   <dt>If the WebSocket closing handshake has not yet been <i title="the WebSocket closing handshake is started">started</i>
+   <dt>If the WebSocket closing handshake has not yet been <i title="the WebSocket closing handshake is started"><a href=#the-websocket-closing-handshake-is-started>started</a></i>
    <a href=#refsWSP>[WSP]</a></dt>
 
    <dd>
 
-    <p><i>Start the WebSocket closing handshake</i>, with the
+    <p><i><a href=#start-the-websocket-closing-handshake>Start the WebSocket closing handshake</a></i>, with the
     status code<!--CLOSE CODE--> to use in the WebSocket Close message
     being 1001. <a href=#refsWSP>[WSP]</a></p>
 
@@ -86199,9 +86199,9 @@
   <p>The <dfn id=next-input-character>next input character</dfn> is the first character in the
   <a href=#input-stream>input stream</a> that has not yet been <dfn id=consumed>consumed</dfn>
   or explicitly ignored by the requirements in this section.
-  Initially, the <i>next input character</i> is the first character in
+  Initially, the <i><a href=#next-input-character>next input character</a></i> is the first character in
   the input. The <dfn id=current-input-character>current input character</dfn> is the last
-  character to have been <i>consumed</i>.</p>
+  character to have been <i><a href=#consumed>consumed</a></i>.</p>
 
   <p>The <dfn id=insertion-point>insertion point</dfn> is the position (just before a
   character or just before the end of the input stream) where content
@@ -86299,7 +86299,7 @@
 
    <li><i>Loop</i>: If <var title="">node</var> is the first node in
    the stack of open elements, then set <var title="">last</var> to
-   true and set <var title="">node</var> to the <var title=concept-frag-parse-context>context</var> element.
+   true and set <var title="">node</var> to the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element.
    (<a href=#fragment-case>fragment case</a>)</li>
 
    <li>
@@ -86426,7 +86426,7 @@
   <p>The <dfn id=current-node>current node</dfn> is the bottommost node in this <a href=#stack-of-open-elements>stack of open
   elements</a>.</p>
 
-  <p>The <dfn id=adjusted-current-node>adjusted current node</dfn> is the <i title=concept-frag-parse-context>context</i>
+  <p>The <dfn id=adjusted-current-node>adjusted current node</dfn> is the <i title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></i>
   element if the <a href=#stack-of-open-elements>stack of open elements</a> has only one element in it and the parser was
   created by the <a href=#html-fragment-parsing-algorithm>HTML fragment parsing algorithm</a>; otherwise, the <a href=#adjusted-current-node>adjusted current
   node</a> is the <a href=#current-node>current node</a>.</p>
@@ -86510,16 +86510,16 @@
   scope">have an element in list item scope</dfn> when it <a href=#has-an-element-in-the-specific-scope>has an element in the specific
   scope</a> consisting of the following element types:</p>
 
-  <ul class=brief><li>All the element types listed above for the <i>has an element
-   in scope</i> algorithm.</li>
+  <ul class=brief><li>All the element types listed above for the <i><a href=#has-an-element-in-scope>has an element
+   in scope</a></i> algorithm.</li>
    <li><code><a href=#the-ol-element>ol</a></code> in the <a href=#html-namespace-0>HTML namespace</a></li>
    <li><code><a href=#the-ul-element>ul</a></code> in the <a href=#html-namespace-0>HTML namespace</a></li>
   </ul><p>The <a href=#stack-of-open-elements>stack of open elements</a> is said to <dfn id=has-an-element-in-button-scope title="has an element in button
   scope">have an element in button scope</dfn> when it <a href=#has-an-element-in-the-specific-scope>has an element in the specific
   scope</a> consisting of the following element types:</p>
 
-  <ul class=brief><li>All the element types listed above for the <i>has an element
-   in scope</i> algorithm.</li>
+  <ul class=brief><li>All the element types listed above for the <i><a href=#has-an-element-in-scope>has an element
+   in scope</a></i> algorithm.</li>
    <li><code><a href=#the-button-element>button</a></code> in the <a href=#html-namespace-0>HTML namespace</a></li>
   </ul><p>The <a href=#stack-of-open-elements>stack of open elements</a> is said to <dfn id=has-an-element-in-table-scope title="has an element in table
   scope">have an element in table scope</dfn> when it <a href=#has-an-element-in-the-specific-scope>has an element in the specific
@@ -86986,7 +86986,7 @@
   <p>Consume the <a href=#next-input-character>next input character</a>:</p>
 
   <dl class=switch><dt>U+002F SOLIDUS (/)</dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Switch
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Switch
    to the <a href=#rcdata-end-tag-open-state>RCDATA end tag open state</a>.</dd>
 
    <dt>Anything else</dt>
@@ -87003,7 +87003,7 @@
    <dd>Create a new end tag token, and set its tag name to the
    lowercase version of the <a href=#current-input-character>current input character</a> (add
    0x0020 to the character's code point). Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#rcdata-end-tag-name-state>RCDATA end tag name state</a>. (Don't emit
    the token yet; further details will be filled in before it is
    emitted.)</dd>
@@ -87011,7 +87011,7 @@
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Create a new end tag token, and set its tag name to the
    <a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#rcdata-end-tag-name-state>RCDATA end tag name state</a>. (Don't emit
    the token yet; further details will be filled in before it is
    emitted.)</dd>
@@ -87052,18 +87052,18 @@
    <dd>Append the lowercase version of the <a href=#current-input-character>current input
    character</a> (add 0x0020 to the character's code point) to the
    current tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Append the <a href=#current-input-character>current input character</a> to the current
    tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt>Anything else</dt>
    <dd>Switch to the <a href=#rcdata-state>RCDATA state</a>. Emit a U+003C
    LESS-THAN SIGN character token, a U+002F SOLIDUS character token,
    and a character token for each of the characters in the
-   <var>temporary buffer</var> (in the order they were added to the
+   <var><a href=#temporary-buffer>temporary buffer</a></var> (in the order they were added to the
    buffer). Reconsume the <a href=#current-input-character>current input character</a>.</dd>
 
   </dl><h5 id=rawtext-less-than-sign-state><span class=secno>12.2.4.14 </span><dfn>RAWTEXT less-than sign state</dfn></h5>
@@ -87072,7 +87072,7 @@
   <p>Consume the <a href=#next-input-character>next input character</a>:</p>
 
   <dl class=switch><dt>U+002F SOLIDUS (/)</dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Switch
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Switch
    to the <a href=#rawtext-end-tag-open-state>RAWTEXT end tag open state</a>.</dd>
 
    <dt>Anything else</dt>
@@ -87089,7 +87089,7 @@
    <dd>Create a new end tag token, and set its tag name to the
    lowercase version of the <a href=#current-input-character>current input character</a> (add
    0x0020 to the character's code point). Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#rawtext-end-tag-name-state>RAWTEXT end tag name state</a>. (Don't emit
    the token yet; further details will be filled in before it is
    emitted.)</dd>
@@ -87097,7 +87097,7 @@
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Create a new end tag token, and set its tag name to the
    <a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#rawtext-end-tag-name-state>RAWTEXT end tag name state</a>. (Don't emit
    the token yet; further details will be filled in before it is
    emitted.)</dd>
@@ -87138,18 +87138,18 @@
    <dd>Append the lowercase version of the <a href=#current-input-character>current input
    character</a> (add 0x0020 to the character's code point) to the
    current tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Append the <a href=#current-input-character>current input character</a> to the current
    tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt>Anything else</dt>
    <dd>Switch to the <a href=#rawtext-state>RAWTEXT state</a>. Emit a U+003C
    LESS-THAN SIGN character token, a U+002F SOLIDUS character token,
    and a character token for each of the characters in the
-   <var>temporary buffer</var> (in the order they were added to the
+   <var><a href=#temporary-buffer>temporary buffer</a></var> (in the order they were added to the
    buffer). Reconsume the <a href=#current-input-character>current input character</a>.</dd>
 
   </dl><h5 id=script-data-less-than-sign-state><span class=secno>12.2.4.17 </span><dfn>Script data less-than sign state</dfn></h5>
@@ -87157,7 +87157,7 @@
   <p>Consume the <a href=#next-input-character>next input character</a>:</p>
 
   <dl class=switch><dt>U+002F SOLIDUS (/)</dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Switch
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Switch
    to the <a href=#script-data-end-tag-open-state>script data end tag open state</a>.</dd>
 
    <dt>U+0021 EXCLAMATION MARK (!)</dt>
@@ -87179,7 +87179,7 @@
    <dd>Create a new end tag token, and set its tag name to the
    lowercase version of the <a href=#current-input-character>current input character</a> (add
    0x0020 to the character's code point). Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#script-data-end-tag-name-state>script data end tag name state</a>. (Don't emit
    the token yet; further details will be filled in before it is
    emitted.)</dd>
@@ -87187,7 +87187,7 @@
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Create a new end tag token, and set its tag name to the
    <a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#script-data-end-tag-name-state>script data end tag name state</a>. (Don't emit
    the token yet; further details will be filled in before it is
    emitted.)</dd>
@@ -87228,18 +87228,18 @@
    <dd>Append the lowercase version of the <a href=#current-input-character>current input
    character</a> (add 0x0020 to the character's code point) to the
    current tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Append the <a href=#current-input-character>current input character</a> to the current
    tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt>Anything else</dt>
    <dd>Switch to the <a href=#script-data-state>script data state</a>. Emit a U+003C
    LESS-THAN SIGN character token, a U+002F SOLIDUS character token,
    and a character token for each of the characters in the
-   <var>temporary buffer</var> (in the order they were added to the
+   <var><a href=#temporary-buffer>temporary buffer</a></var> (in the order they were added to the
    buffer). Reconsume the <a href=#current-input-character>current input character</a>.</dd>
 
   </dl><h5 id=script-data-escape-start-state><span class=secno>12.2.4.20 </span><dfn>Script data escape start state</dfn></h5>
@@ -87348,21 +87348,21 @@
   <p>Consume the <a href=#next-input-character>next input character</a>:</p>
 
   <dl class=switch><dt>U+002F SOLIDUS (/)</dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Switch
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Switch
    to the <a href=#script-data-escaped-end-tag-open-state>script data escaped end tag open state</a>.</dd>
 
    <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Append
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Append
    the lowercase version of the <a href=#current-input-character>current input character</a>
-   (add 0x0020 to the character's code point) to the <var>temporary
-   buffer</var>. Switch to the <a href=#script-data-double-escape-start-state>script data double escape start
+   (add 0x0020 to the character's code point) to the <var><a href=#temporary-buffer>temporary
+   buffer</a></var>. Switch to the <a href=#script-data-double-escape-start-state>script data double escape start
    state</a>. Emit a U+003C LESS-THAN SIGN character token and the
    <a href=#current-input-character>current input character</a> as a character token.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Append
-   the <a href=#current-input-character>current input character</a> to the <var>temporary
-   buffer</var>. Switch to the <a href=#script-data-double-escape-start-state>script data double escape start
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Append
+   the <a href=#current-input-character>current input character</a> to the <var><a href=#temporary-buffer>temporary
+   buffer</a></var>. Switch to the <a href=#script-data-double-escape-start-state>script data double escape start
    state</a>. Emit a U+003C LESS-THAN SIGN character token and the
    <a href=#current-input-character>current input character</a> as a character token.</dd>
 
@@ -87379,7 +87379,7 @@
    <dd>Create a new end tag token, and set its tag name to the
    lowercase version of the <a href=#current-input-character>current input character</a> (add
    0x0020 to the character's code point). Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#script-data-escaped-end-tag-name-state>script data escaped end tag name
    state</a>. (Don't emit the token yet; further details will be
    filled in before it is emitted.)</dd>
@@ -87387,7 +87387,7 @@
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Create a new end tag token, and set its tag name to the
    <a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
-   input character</a> to the <var>temporary buffer</var>. Finally,
+   input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
    switch to the <a href=#script-data-escaped-end-tag-name-state>script data escaped end tag name
    state</a>. (Don't emit the token yet; further details will be
    filled in before it is emitted.)</dd>
@@ -87428,18 +87428,18 @@
    <dd>Append the lowercase version of the <a href=#current-input-character>current input
    character</a> (add 0x0020 to the character's code point) to the
    current tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Append the <a href=#current-input-character>current input character</a> to the current
    tag token's tag name. Append the <a href=#current-input-character>current input
-   character</a> to the <var>temporary buffer</var>.</dd>
+   character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
 
    <dt>Anything else</dt>
    <dd>Switch to the <a href=#script-data-escaped-state>script data escaped state</a>. Emit a
    U+003C LESS-THAN SIGN character token, a U+002F SOLIDUS character
    token, and a character token for each of the characters in the
-   <var>temporary buffer</var> (in the order they were added to the
+   <var><a href=#temporary-buffer>temporary buffer</a></var> (in the order they were added to the
    buffer). Reconsume the <a href=#current-input-character>current input character</a>.</dd>
 
   </dl><h5 id=script-data-double-escape-start-state><span class=secno>12.2.4.28 </span><dfn>Script data double escape start state</dfn></h5>
@@ -87453,7 +87453,7 @@
    <dt>U+0020 SPACE</dt>
    <dt>U+002F SOLIDUS (/)</dt>
    <dt>U+003E GREATER-THAN SIGN (>)</dt>
-   <dd>If the <var>temporary buffer</var> is the string "<code title="">script</code>", then switch to the <a href=#script-data-double-escaped-state>script data
+   <dd>If the <var><a href=#temporary-buffer>temporary buffer</a></var> is the string "<code title="">script</code>", then switch to the <a href=#script-data-double-escaped-state>script data
    double escaped state</a>. Otherwise, switch to the <a href=#script-data-escaped-state>script
    data escaped state</a>. Emit the <a href=#current-input-character>current input
    character</a> as a character token.</dd>
@@ -87461,12 +87461,12 @@
    <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
    <dd>Append the lowercase version of the <a href=#current-input-character>current input
    character</a> (add 0x0020 to the character's code point) to the
-   <var>temporary buffer</var>. Emit the <a href=#current-input-character>current input
+   <var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
    character</a> as a character token.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Append the <a href=#current-input-character>current input character</a> to the
-   <var>temporary buffer</var>. Emit the <a href=#current-input-character>current input
+   <var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
    character</a> as a character token.</dd>
 
    <dt>Anything else</dt>
@@ -87560,7 +87560,7 @@
   <p>Consume the <a href=#next-input-character>next input character</a>:</p>
 
   <dl class=switch><dt>U+002F SOLIDUS (/)</dt>
-   <dd>Set the <var>temporary buffer</var> to the empty string. Switch
+   <dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Switch
    to the <a href=#script-data-double-escape-end-state>script data double escape end state</a>. Emit a
    U+002F SOLIDUS character token.</dd>
 
@@ -87579,7 +87579,7 @@
    <dt>U+0020 SPACE</dt>
    <dt>U+002F SOLIDUS (/)</dt>
    <dt>U+003E GREATER-THAN SIGN (>)</dt>
-   <dd>If the <var>temporary buffer</var> is the string "<code title="">script</code>", then switch to the <a href=#script-data-escaped-state>script data
+   <dd>If the <var><a href=#temporary-buffer>temporary buffer</a></var> is the string "<code title="">script</code>", then switch to the <a href=#script-data-escaped-state>script data
    escaped state</a>. Otherwise, switch to the <a href=#script-data-double-escaped-state>script data
    double escaped state</a>. Emit the <a href=#current-input-character>current input
    character</a> as a character token.</dd>
@@ -87587,12 +87587,12 @@
    <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
    <dd>Append the lowercase version of the <a href=#current-input-character>current input
    character</a> (add 0x0020 to the character's code point) to the
-   <var>temporary buffer</var>. Emit the <a href=#current-input-character>current input
+   <var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
    character</a> as a character token.</dd>
 
    <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
    <dd>Append the <a href=#current-input-character>current input character</a> to the
-   <var>temporary buffer</var>. Emit the <a href=#current-input-character>current input
+   <var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
    character</a> as a character token.</dd>
 
    <dt>Anything else</dt>
@@ -90114,7 +90114,8 @@
    </dd>
 
    <dt>A start tag whose tag name is one of: "base", "basefont",
-   "bgsound", "link", "meta", "noframes", "script", "style", "title"</dt>
+   "bgsound", "link", "meta", "noframes", "script", "style", "template", "title"</dt>
+   <dt>An end tag whose tag name is "template"</dt>
    <dd>
     <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
     mode</a>.</p>
@@ -91152,15 +91153,6 @@
 
    </dd>
 
-   <dt>A start tag whose tag name is "template"</dt>
-   <dt>An end tag whose tag name is "template"</dt>
-   <dd>
-
-    <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
-    mode</a>.</p>
-
-   </dd>
-
    <dt>A start <!--or end--> tag whose tag name is one of: "caption",
    "col", "colgroup", "frame", "head", "tbody", "td", "tfoot", "th",
    "thead", "tr"</dt>
@@ -91683,7 +91675,8 @@
     <p><a href=#parse-error>Parse error</a>. Ignore the token.</p>
    </dd>
 
-   <dt>A start tag whose tag name is one of: "style", "script"</dt>
+   <dt>A start tag whose tag name is one of: "style", "script", "template"</dt>
+   <dt>An end tag whose tag name is "template"</dt>
    <dd>
 
     <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
@@ -91734,15 +91727,6 @@
 
    <!-- "form" end tag falls through to in-body, which does the right thing -->
 
-   <dt>A start tag whose tag name is "template"</dt>
-   <dt>An end tag whose tag name is "template"</dt>
-   <dd>
-
-    <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
-    mode</a>.</p>
-
-   </dd>
-
    <dt>An end-of-file token</dt>
    <dd>
 
@@ -91788,8 +91772,8 @@
    <dt>Any other character token</dt>
    <dd>
 
-    <p>Append the character token to the <var>pending table character
-    tokens</var> list.</p>
+    <p>Append the character token to the <var><a href=#pending-table-character-tokens>pending table character
+    tokens</a></var> list.</p>
 
    </dd>
 
@@ -91800,10 +91784,10 @@
     <!-- this can only be called if the current node is one of the
     table model elements -->
 
-    <p>If any of the tokens in the <var>pending table character
-    tokens</var> list are character tokens that are not <a href=#space-character title="space character">space characters</a>, then reprocess
-    the character tokens in the <var>pending table character
-    tokens</var> list using the rules given in the "anything else"
+    <p>If any of the tokens in the <var><a href=#pending-table-character-tokens>pending table character
+    tokens</a></var> list are character tokens that are not <a href=#space-character title="space character">space characters</a>, then reprocess
+    the character tokens in the <var><a href=#pending-table-character-tokens>pending table character
+    tokens</a></var> list using the rules given in the "anything else"
     entry in the "<a href=#parsing-main-intable title="insertion mode: in table">in
     table</a>" insertion mode.</p>
 
@@ -91813,8 +91797,8 @@
     tokens. -->
 
     <p>Otherwise, <a href=#insert-a-character title="insert a character">insert the
-    characters</a> given by the <var>pending table character
-    tokens</var> list.</p> <!--
+    characters</a> given by the <var><a href=#pending-table-character-tokens>pending table character
+    tokens</a></var> list.</p> <!--
     i.e. inter-element whitespace in the table model isn't foster
     parented -->
 
@@ -92448,19 +92432,11 @@
 
    </dd>
 
-   <dt>A start tag whose tag name is "script"</dt>
-   <dd>
-    <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
-    mode</a>.</p>
-   </dd>
-
-   <dt>A start tag whose tag name is "template"</dt>
+   <dt>A start tag whose tag name is one of: "script", "template"</dt>
    <dt>An end tag whose tag name is "template"</dt>
    <dd>
-
     <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
     mode</a>.</p>
-
    </dd>
 
    <dt>An end-of-file token</dt>
@@ -92540,8 +92516,7 @@
     mode</a>.</p>
    </dd>
 
-   <dt>A start tag whose tag name is one of: "base", "basefont", "bgsound", "link", "meta", "noframes", "script", "style", "title"</dt>
-   <dt>A start tag whose tag name is "template"</dt>
+   <dt>A start tag whose tag name is one of: "base", "basefont", "bgsound", "link", "meta", "noframes", "script", "style", "template", "title"</dt>
    <dt>An end tag whose tag name is "template"</dt>
    <dd>
     <p>Process the token <a href=#using-the-rules-for>using the rules for</a> the "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>" <a href=#insertion-mode>insertion
@@ -93329,8 +93304,8 @@
   <p>If the tool has no way to convey out-of-band information, then
   the tool may drop the following information:</p>
 
-  <ul><li>Whether the document is set to <i>no-quirks mode</i>,
-   <i>limited-quirks mode</i>, or <i>quirks mode</i></li>
+  <ul><li>Whether the document is set to <i><a href=#no-quirks-mode>no-quirks mode</a></i>,
+   <i><a href=#limited-quirks-mode>limited-quirks mode</a></i>, or <i><a href=#quirks-mode>quirks mode</a></i></li>
 
    <li>The association between form controls and forms that aren't
    their nearest <code><a href=#the-form-element>form</a></code> element ancestor (use of the
@@ -93451,7 +93426,7 @@
 
   <p>The highlighted <code><a href=#the-b-element>b</a></code> element start tag is not allowed
   directly inside a table like that, and the parser handles this case
-  by placing the element <em>before</em> the table. (This is called <i title="foster parent">foster parenting</i>.) This can be seen by
+  by placing the element <em>before</em> the table. (This is called <i title="foster parent"><a href=#foster-parent>foster parenting</a></i>.) This can be seen by
   examining the DOM tree as it stands just after the
   <code><a href=#the-table-element>table</a></code> element's start tag has been seen:</p>
 
@@ -93911,7 +93886,7 @@
 
   <p class=note>Parts marked <dfn id=fragment-case>fragment case</dfn> in algorithms
   in the parser section are parts that only occur if the parser was
-  created for the purposes of this algorithm (and with a <var title=concept-frag-parse-context>context</var> element). The
+  created for the purposes of this algorithm (and with a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element). The
   algorithms have been annotated with such markings for informational
   purposes only; such markings have no normative weight. If it is
   possible for a condition described as a <a href=#fragment-case>fragment case</a>
@@ -93928,11 +93903,11 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element, and the
-    <code><a href=#document>Document</a></code> of the <var title=concept-frag-parse-context>context</var> element is in
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, and the
+    <code><a href=#document>Document</a></code> of the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></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=concept-frag-parse-context>context</var> element, and the
-    <code><a href=#document>Document</a></code> of the <var title=concept-frag-parse-context>context</var> element is in
+    <a href=#quirks-mode>quirks mode</a>. Otherwise, if there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, and the
+    <code><a href=#document>Document</a></code> of the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element is in
     <a href=#limited-quirks-mode>limited-quirks 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><a href=#document>Document</a></code> in <a href=#no-quirks-mode>no-quirks
@@ -93949,7 +93924,7 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element, run
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, run
     these substeps:</p>
 
     <ol><li>
@@ -94026,7 +94001,7 @@
 
      <li>
 
-      <p>If the <var title=concept-frag-parse-context>context</var> element is a
+      <p>If the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element is a
       <code><a href=#the-template-element>template</a></code> element, push "<a href=#parsing-main-intemplate title="insertion mode: in template">in
       template</a>" onto the <a href=#stack-of-template-insertion-modes>stack of template insertion modes</a> so that it is the new
       <a href=#current-template-insertion-mode>current template insertion mode</a>.</p>
@@ -94038,7 +94013,7 @@
       <p><a href=#reset-the-insertion-mode-appropriately title="reset the insertion mode appropriately">Reset the
       parser's insertion mode appropriately</a>.</p>
 
-      <p class=note>The parser will reference the <var title=concept-frag-parse-context>context</var> element as part
+      <p class=note>The parser will reference the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element as part
       of that algorithm.</p>
 
      </li>
@@ -94046,7 +94021,7 @@
      <li>
 
       <p>Set the parser's <a href=#form-element-pointer><code>form</code> element
-      pointer</a> to the nearest node to the <var title=concept-frag-parse-context>context</var> element that is
+      pointer</a> to the nearest node to the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element that is
       a <code><a href=#the-form-element>form</a></code> element (going straight up the ancestor
       chain, and including the element itself, if it is a
       <code><a href=#the-form-element>form</a></code> element), or, if there is no such
@@ -94074,7 +94049,7 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element, return
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, return
     the child nodes of <var title="">root</var>, in <a href=#tree-order>tree
     order</a>.</p>
 
@@ -94361,7 +94336,7 @@
   <p>The <dfn id=xml-fragment-parsing-algorithm>XML fragment parsing algorithm</dfn> either returns a
   <code><a href=#document>Document</a></code> or throws a <code><a href=#syntaxerror>SyntaxError</a></code> exception.
   Given a string <var title="">input</var> and an optional context
-  element <var title=concept-frag-parse-context>context</var>, the
+  element <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var>, the
   algorithm is as follows:</p>
 
   <ol><li>
@@ -94372,7 +94347,7 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element, <a href=#feed-the-parser>feed the
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, <a href=#feed-the-parser>feed the
     parser</a> just created the string corresponding to the start tag of that element, declaring
     all the namespace prefixes that are in scope on that element in the DOM, as well as declaring
     the default namespace (if any) that is in scope on that element in the DOM.</p>
@@ -94382,7 +94357,7 @@
 
     <p>The default namespace is the namespace for which the DOM <code title="">isDefaultNamespace()</code> method on the element would return true.</p>
 
-    <p class=note>If there is a <var title=concept-frag-parse-context>context</var> element, no
+    <p class=note>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, no
     <code title="">DOCTYPE</code> is passed to the parser, and therefore no external subset is
     referenced, and therefore no entities will be recognized.</p>
 
@@ -94396,7 +94371,7 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element,
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element,
     <a href=#feed-the-parser>feed the parser</a> just created the string corresponding
     to the end tag of that element.</p>
 
@@ -94412,7 +94387,7 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element, and the
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, and the
     root element of the resulting <code><a href=#document>Document</a></code> has any
     sibling nodes, then throw a <code><a href=#syntaxerror>SyntaxError</a></code> exception and
     abort these steps.</p>
@@ -94423,7 +94398,7 @@
 
    <li>
 
-    <p>If there is a <var title=concept-frag-parse-context>context</var> element, then
+    <p>If there is a <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element, then
     return the child nodes of the root element of the resulting
     <code><a href=#document>Document</a></code>, in <a href=#tree-order>tree order</a>.</p>
 
@@ -95902,7 +95877,7 @@
   <p>When an <code><a href=#the-img-element>img</a></code> element or an <code><a href=#the-input-element>input</a></code> element when its <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href="#image-button-state-(type=image)" title=attr-input-type-image>Image
   Button</a> state does not <a href=#represents title=represents>represent</a> an image, but the 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>available</i><!--input-img-available also--> and be rendered in due course
+  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><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 image is being obtained. For <code><a href=#the-input-element>input</a></code> elements,

Modified: source
===================================================================
--- source	2013-07-03 18:26:58 UTC (rev 8022)
+++ source	2013-07-03 18:39:19 UTC (rev 8023)
@@ -66895,7 +66895,7 @@
    his boat, which you do. The conversation ends.
   </dl>
  </dd>
-</ul></pre>
+</dl></pre>
 
   </div>
 
@@ -100707,7 +100707,8 @@
    </dd>
 
    <dt>A start tag whose tag name is one of: "base", "basefont",
-   "bgsound", "link", "meta", "noframes", "script", "style", "title"</dt>
+   "bgsound", "link", "meta", "noframes", "script", "style", "template", "title"</dt>
+   <dt>An end tag whose tag name is "template"</dt>
    <dd>
     <p>Process the token <span>using the rules for</span> the "<span
     title="insertion mode: in head">in head</span>" <span>insertion
@@ -101830,16 +101831,6 @@
 
    </dd>
 
-   <dt>A start tag whose tag name is "template"</dt>
-   <dt>An end tag whose tag name is "template"</dt>
-   <dd>
-
-    <p>Process the token <span>using the rules for</span> the "<span
-    title="insertion mode: in head">in head</span>" <span>insertion
-    mode</span>.</p>
-
-   </dd>
-
    <dt>A start <!--or end--> tag whose tag name is one of: "caption",
    "col", "colgroup", "frame", "head", "tbody", "td", "tfoot", "th",
    "thead", "tr"</dt>
@@ -102427,7 +102418,8 @@
     <p><span>Parse error</span>. Ignore the token.</p>
    </dd>
 
-   <dt>A start tag whose tag name is one of: "style", "script"</dt>
+   <dt>A start tag whose tag name is one of: "style", "script", "template"</dt>
+   <dt>An end tag whose tag name is "template"</dt>
    <dd>
 
     <p>Process the token <span>using the rules for</span> the "<span
@@ -102480,16 +102472,6 @@
 
    <!-- "form" end tag falls through to in-body, which does the right thing -->
 
-   <dt>A start tag whose tag name is "template"</dt>
-   <dt>An end tag whose tag name is "template"</dt>
-   <dd>
-
-    <p>Process the token <span>using the rules for</span> the "<span
-    title="insertion mode: in head">in head</span>" <span>insertion
-    mode</span>.</p>
-
-   </dd>
-
    <dt>An end-of-file token</dt>
    <dd>
 
@@ -103257,21 +103239,12 @@
 
    </dd>
 
-   <dt>A start tag whose tag name is "script"</dt>
-   <dd>
-    <p>Process the token <span>using the rules for</span> the "<span
-    title="insertion mode: in head">in head</span>" <span>insertion
-    mode</span>.</p>
-   </dd>
-
-   <dt>A start tag whose tag name is "template"</dt>
+   <dt>A start tag whose tag name is one of: "script", "template"</dt>
    <dt>An end tag whose tag name is "template"</dt>
    <dd>
-
     <p>Process the token <span>using the rules for</span> the "<span
     title="insertion mode: in head">in head</span>" <span>insertion
     mode</span>.</p>
-
    </dd>
 
    <dt>An end-of-file token</dt>
@@ -103375,8 +103348,7 @@
     mode</span>.</p>
    </dd>
 
-   <dt>A start tag whose tag name is one of: "base", "basefont", "bgsound", "link", "meta", "noframes", "script", "style", "title"</dt>
-   <dt>A start tag whose tag name is "template"</dt>
+   <dt>A start tag whose tag name is one of: "base", "basefont", "bgsound", "link", "meta", "noframes", "script", "style", "template", "title"</dt>
    <dt>An end tag whose tag name is "template"</dt>
    <dd>
     <p>Process the token <span>using the rules for</span> the "<span




More information about the Commit-Watchers mailing list