[html5] r4666 - [e] (0) Move Links up to the Elements section, where it makes more sense. Fixing [...]

whatwg at whatwg.org whatwg at whatwg.org
Fri Feb 5 15:16:43 PST 2010


Author: ianh
Date: 2010-02-05 15:16:41 -0800 (Fri, 05 Feb 2010)
New Revision: 4666

Modified:
   complete.html
   index
   source
Log:
[e] (0) Move Links up to the Elements section, where it makes more sense.
Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=8689

Modified: complete.html
===================================================================
--- complete.html	2010-02-05 23:09:54 UTC (rev 4665)
+++ complete.html	2010-02-05 23:16:41 UTC (rev 4666)
@@ -598,15 +598,50 @@
      <li><a href=#devices><span class=secno>4.11.6 </span>The <code>device</code> element</a>
       <ol>
        <li><a href=#stream-api><span class=secno>4.11.6.1 </span>Stream API</a></ol></ol></li>
-   <li><a href=#common-idioms-without-dedicated-elements><span class=secno>4.12 </span>Common idioms without dedicated elements</a>
+   <li><a href=#links><span class=secno>4.12 </span>Links</a>
     <ol>
-     <li><a href=#tag-clouds><span class=secno>4.12.1 </span>Tag clouds</a></li>
-     <li><a href=#conversations><span class=secno>4.12.2 </span>Conversations</a></li>
-     <li><a href=#footnotes><span class=secno>4.12.3 </span>Footnotes</a></ol></li>
-   <li><a href=#matching-html-elements-using-selectors><span class=secno>4.13 </span>Matching HTML elements using selectors</a>
+     <li><a href=#hyperlink-elements><span class=secno>4.12.1 </span>Hyperlink elements</a></li>
+     <li><a href=#following-hyperlinks><span class=secno>4.12.2 </span>Following hyperlinks</a>
+      <ol>
+       <li><a href=#hyperlink-auditing><span class=secno>4.12.2.1 </span>Hyperlink auditing</a></ol></li>
+     <li><a href=#linkTypes><span class=secno>4.12.3 </span>Link types</a>
+      <ol>
+       <li><a href=#link-type-alternate><span class=secno>4.12.3.1 </span>Link type "<code>alternate</code>"</a></li>
+       <li><a href=#link-type-archives><span class=secno>4.12.3.2 </span>Link type "<code>archives</code>"</a></li>
+       <li><a href=#link-type-author><span class=secno>4.12.3.3 </span>Link type "<code>author</code>"</a></li>
+       <li><a href=#link-type-bookmark><span class=secno>4.12.3.4 </span>Link type "<code>bookmark</code>"</a></li>
+       <li><a href=#link-type-external><span class=secno>4.12.3.5 </span>Link type "<code>external</code>"</a></li>
+       <li><a href=#link-type-help><span class=secno>4.12.3.6 </span>Link type "<code>help</code>"</a></li>
+       <li><a href=#rel-icon><span class=secno>4.12.3.7 </span>Link type "<code>icon</code>"</a></li>
+       <li><a href=#link-type-license><span class=secno>4.12.3.8 </span>Link type "<code>license</code>"</a></li>
+       <li><a href=#link-type-nofollow><span class=secno>4.12.3.9 </span>Link type "<code>nofollow</code>"</a></li>
+       <li><a href=#link-type-noreferrer><span class=secno>4.12.3.10 </span>Link type "<code>noreferrer</code>"</a></li>
+       <li><a href=#link-type-pingback><span class=secno>4.12.3.11 </span>Link type "<code>pingback</code>"</a></li>
+       <li><a href=#link-type-prefetch><span class=secno>4.12.3.12 </span>Link type "<code>prefetch</code>"</a></li>
+       <li><a href=#link-type-search><span class=secno>4.12.3.13 </span>Link type "<code>search</code>"</a></li>
+       <li><a href=#link-type-stylesheet><span class=secno>4.12.3.14 </span>Link type "<code>stylesheet</code>"</a></li>
+       <li><a href=#link-type-sidebar><span class=secno>4.12.3.15 </span>Link type "<code>sidebar</code>"</a></li>
+       <li><a href=#link-type-tag><span class=secno>4.12.3.16 </span>Link type "<code>tag</code>"</a></li>
+       <li><a href=#hierarchical-link-types><span class=secno>4.12.3.17 </span>Hierarchical link types</a>
+        <ol>
+         <li><a href=#link-type-index><span class=secno>4.12.3.17.1 </span>Link type "<code>index</code>"</a></li>
+         <li><a href=#link-type-up><span class=secno>4.12.3.17.2 </span>Link type "<code>up</code>"</a></ol></li>
+       <li><a href=#sequential-link-types><span class=secno>4.12.3.18 </span>Sequential link types</a>
+        <ol>
+         <li><a href=#link-type-first><span class=secno>4.12.3.18.1 </span>Link type "<code>first</code>"</a></li>
+         <li><a href=#link-type-last><span class=secno>4.12.3.18.2 </span>Link type "<code>last</code>"</a></li>
+         <li><a href=#link-type-next><span class=secno>4.12.3.18.3 </span>Link type "<code>next</code>"</a></li>
+         <li><a href=#link-type-prev><span class=secno>4.12.3.18.4 </span>Link type "<code>prev</code>"</a></ol></li>
+       <li><a href=#other-link-types><span class=secno>4.12.3.19 </span>Other link types</a></ol></ol></li>
+   <li><a href=#common-idioms-without-dedicated-elements><span class=secno>4.13 </span>Common idioms without dedicated elements</a>
     <ol>
-     <li><a href=#selectors><span class=secno>4.13.1 </span>Case-sensitivity</a></li>
-     <li><a href=#pseudo-classes><span class=secno>4.13.2 </span>Pseudo-classes</a></ol></ol></li>
+     <li><a href=#tag-clouds><span class=secno>4.13.1 </span>Tag clouds</a></li>
+     <li><a href=#conversations><span class=secno>4.13.2 </span>Conversations</a></li>
+     <li><a href=#footnotes><span class=secno>4.13.3 </span>Footnotes</a></ol></li>
+   <li><a href=#matching-html-elements-using-selectors><span class=secno>4.14 </span>Matching HTML elements using selectors</a>
+    <ol>
+     <li><a href=#selectors><span class=secno>4.14.1 </span>Case-sensitivity</a></li>
+     <li><a href=#pseudo-classes><span class=secno>4.14.2 </span>Pseudo-classes</a></ol></ol></li>
  <li><a href=#microdata><span class=secno>5 </span>Microdata</a>
   <ol>
    <li><a href=#introduction-1><span class=secno>5.1 </span>Introduction</a>
@@ -750,42 +785,7 @@
      <li><a href=#unloading-documents><span class=secno>6.11.10 </span>Unloading documents</a>
       <ol>
        <li><a href=#event-definition><span class=secno>6.11.10.1 </span>Event definition</a></ol></li>
-     <li><a href=#aborting-a-document-load><span class=secno>6.11.11 </span>Aborting a document load</a></ol></li>
-   <li><a href=#links><span class=secno>6.12 </span>Links</a>
-    <ol>
-     <li><a href=#hyperlink-elements><span class=secno>6.12.1 </span>Hyperlink elements</a></li>
-     <li><a href=#following-hyperlinks><span class=secno>6.12.2 </span>Following hyperlinks</a>
-      <ol>
-       <li><a href=#hyperlink-auditing><span class=secno>6.12.2.1 </span>Hyperlink auditing</a></ol></li>
-     <li><a href=#linkTypes><span class=secno>6.12.3 </span>Link types</a>
-      <ol>
-       <li><a href=#link-type-alternate><span class=secno>6.12.3.1 </span>Link type "<code>alternate</code>"</a></li>
-       <li><a href=#link-type-archives><span class=secno>6.12.3.2 </span>Link type "<code>archives</code>"</a></li>
-       <li><a href=#link-type-author><span class=secno>6.12.3.3 </span>Link type "<code>author</code>"</a></li>
-       <li><a href=#link-type-bookmark><span class=secno>6.12.3.4 </span>Link type "<code>bookmark</code>"</a></li>
-       <li><a href=#link-type-external><span class=secno>6.12.3.5 </span>Link type "<code>external</code>"</a></li>
-       <li><a href=#link-type-help><span class=secno>6.12.3.6 </span>Link type "<code>help</code>"</a></li>
-       <li><a href=#rel-icon><span class=secno>6.12.3.7 </span>Link type "<code>icon</code>"</a></li>
-       <li><a href=#link-type-license><span class=secno>6.12.3.8 </span>Link type "<code>license</code>"</a></li>
-       <li><a href=#link-type-nofollow><span class=secno>6.12.3.9 </span>Link type "<code>nofollow</code>"</a></li>
-       <li><a href=#link-type-noreferrer><span class=secno>6.12.3.10 </span>Link type "<code>noreferrer</code>"</a></li>
-       <li><a href=#link-type-pingback><span class=secno>6.12.3.11 </span>Link type "<code>pingback</code>"</a></li>
-       <li><a href=#link-type-prefetch><span class=secno>6.12.3.12 </span>Link type "<code>prefetch</code>"</a></li>
-       <li><a href=#link-type-search><span class=secno>6.12.3.13 </span>Link type "<code>search</code>"</a></li>
-       <li><a href=#link-type-stylesheet><span class=secno>6.12.3.14 </span>Link type "<code>stylesheet</code>"</a></li>
-       <li><a href=#link-type-sidebar><span class=secno>6.12.3.15 </span>Link type "<code>sidebar</code>"</a></li>
-       <li><a href=#link-type-tag><span class=secno>6.12.3.16 </span>Link type "<code>tag</code>"</a></li>
-       <li><a href=#hierarchical-link-types><span class=secno>6.12.3.17 </span>Hierarchical link types</a>
-        <ol>
-         <li><a href=#link-type-index><span class=secno>6.12.3.17.1 </span>Link type "<code>index</code>"</a></li>
-         <li><a href=#link-type-up><span class=secno>6.12.3.17.2 </span>Link type "<code>up</code>"</a></ol></li>
-       <li><a href=#sequential-link-types><span class=secno>6.12.3.18 </span>Sequential link types</a>
-        <ol>
-         <li><a href=#link-type-first><span class=secno>6.12.3.18.1 </span>Link type "<code>first</code>"</a></li>
-         <li><a href=#link-type-last><span class=secno>6.12.3.18.2 </span>Link type "<code>last</code>"</a></li>
-         <li><a href=#link-type-next><span class=secno>6.12.3.18.3 </span>Link type "<code>next</code>"</a></li>
-         <li><a href=#link-type-prev><span class=secno>6.12.3.18.4 </span>Link type "<code>prev</code>"</a></ol></li>
-       <li><a href=#other-link-types><span class=secno>6.12.3.19 </span>Other link types</a></ol></ol></ol></li>
+     <li><a href=#aborting-a-document-load><span class=secno>6.11.11 </span>Aborting a document load</a></ol></ol></li>
  <li><a href=#webstorage><span class=secno>7 </span>Web Storage</a>
   <ol>
    <li><a href=#introduction-4><span class=secno>7.1 </span>Introduction</a></li>
@@ -44455,10 +44455,1343 @@
 
 
 
-  <h3 id=common-idioms-without-dedicated-elements><span class=secno>4.12 </span>Common idioms without dedicated elements</h3>
 
-  <h4 id=tag-clouds><span class=secno>4.12.1 </span>Tag clouds</h4>
+  <h3 id=links><span class=secno>4.12 </span>Links</h3>
 
+
+  <h4 id=hyperlink-elements><span class=secno>4.12.1 </span>Hyperlink elements</h4>
+
+  <p>The <code><a href=#the-a-element>a</a></code>, <code><a href=#the-area-element>area</a></code>, and <code><a href=#the-link-element>link</a></code>
+  elements can, in certain situations described in the definitions of
+  those elements, represent <dfn id=hyperlink title=hyperlink>hyperlinks</dfn>.</p>
+
+  <p>The <dfn id=attr-hyperlink-href title=attr-hyperlink-href><code>href</code></dfn>
+  attribute on a hyperlink element must have a value that is a
+  <a href=#valid-url>valid URL</a>. This URL is the <em>destination
+  resource</em> of the hyperlink.</p>
+
+  <div class=note>
+
+   <p>The <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute on
+   <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements is not required; when
+   those elements do not have <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attributes they do not
+   represent hyperlinks.</p>
+
+   <p>The <code title=attr-link-href><a href=#attr-link-href>href</a></code> attribute on the
+   <code><a href=#the-link-element>link</a></code> element <em>is</em> required, but whether a
+   <code><a href=#the-link-element>link</a></code> element represents a hyperlink or not depends on
+   the value of the <code title=attr-link-rel><a href=#attr-link-rel>rel</a></code> attribute
+   of that element.</p>
+
+  </div>
+
+  <p>The <dfn id=attr-hyperlink-target title=attr-hyperlink-target><code>target</code></dfn>
+  attribute, if present, must be a <a href=#valid-browsing-context-name-or-keyword>valid browsing context name
+  or keyword</a>. It gives the name of the <a href=#browsing-context>browsing
+  context</a> that will be used. <span class=impl>User agents use
+  this name when <a href=#following-hyperlinks>following hyperlinks</a>.</span></p>
+
+  <p>The <dfn id=ping title=attr-hyperlink-ping><code>ping</code></dfn> attribute, if
+  present, gives the URLs of the resources that are interested in
+  being notified if the user follows the hyperlink. The value must be
+  a <a href=#set-of-space-separated-tokens>set of space-separated tokens</a>, each of which must be a
+  <a href=#valid-url title="valid URL">valid URL</a>. <span class=impl>The
+  value is used by the user agent for <a href=#hyperlink-auditing>hyperlink
+  auditing</a>.</span></p>
+
+  <p>For <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements that represent
+  hyperlinks, the relationship between the document containing the
+  hyperlink and the destination resource indicated by the hyperlink is
+  given by the value of the element's <dfn id=attr-hyperlink-rel title=attr-hyperlink-rel><code>rel</code></dfn> attribute, which
+  must be a <a href=#set-of-space-separated-tokens>set of space-separated tokens</a>. The <a href=#linkTypes>allowed values and their meanings</a> are defined
+  below. The <code title=attr-hyperlink-rel><a href=#attr-hyperlink-rel>rel</a></code> attribute has
+  no default value. If the attribute is omitted or if none of the
+  values in the attribute are recognized by the user agent, then the
+  document has no particular relationship with the destination
+  resource other than there being a hyperlink between the two.</p>
+
+  <p>The <dfn id=attr-hyperlink-media title=attr-hyperlink-media><code>media</code></dfn>
+  attribute describes for which media the target document was
+  designed. It is purely advisory. The value must be a <a href=#valid-media-query>valid
+  media query</a>. The default, if the <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code> attribute is omitted, is
+  "<code title="">all</code>".</p>
+
+  <p>The <dfn id=attr-hyperlink-hreflang title=attr-hyperlink-hreflang><code>hreflang</code></dfn>
+  attribute on hyperlink elements, if present, gives the language of
+  the linked resource. It is purely advisory. The value must be a
+  valid BCP 47 language code. <a href=#refsBCP47>[BCP47]</a>
+  <span class=impl>User agents must not consider this attribute
+  authoritative — upon fetching the resource, user agents must
+  use only language information associated with the resource to
+  determine its language, not metadata included in the link to the
+  resource.</span></p>
+
+  <p>The <dfn id=attr-hyperlink-type title=attr-hyperlink-type><code>type</code></dfn>
+  attribute, if present, gives the <a href=#mime-type>MIME type</a> of the
+  linked resource. It is purely advisory. The value must be a
+  <a href=#valid-mime-type>valid MIME type</a>. <span class=impl>User agents must
+  not consider the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code>
+  attribute authoritative — upon fetching the resource, user
+  agents must not use metadata included in the link to the resource to
+  determine its type.</span></p>
+
+
+  <div class=impl>
+
+  <h4 id=following-hyperlinks><span class=secno>4.12.2 </span><dfn>Following hyperlinks</dfn></h4>
+
+  <p>When a user <em>follows a hyperlink</em>, the user agent must
+  <a href=#resolve-a-url title="resolve a url">resolve</a> the <a href=#url>URL</a>
+  given by the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute
+  of that hyperlink, relative to the hyperlink element, and if that is
+  successful, must <a href=#navigate>navigate</a> a <a href=#browsing-context>browsing
+  context</a> to the resulting <a href=#absolute-url>absolute URL</a>. In the
+  case of server-side image maps, the URL of the hyperlink must
+  further have its <var><a href=#hyperlink-suffix>hyperlink suffix</a></var> appended to it.</p>
+
+  <p>If <a href=#resolve-a-url title="resolve a url">resolving</a> the
+  <a href=#url>URL</a> fails, the user agent may report the error to the
+  user in a user-agent-specific manner, may navigate to an error page
+  to report the error, or may ignore the error and do nothing.</p>
+
+  <p>If the user indicated a specific <a href=#browsing-context>browsing context</a>
+  when following the hyperlink, or if the user agent is configured to
+  follow hyperlinks by navigating a particular browsing context, then
+  that must be the <a href=#browsing-context>browsing context</a> that is
+  navigated.</p>
+
+  <p>Otherwise, if the hyperlink element is an <code><a href=#the-a-element>a</a></code> or
+  <code><a href=#the-area-element>area</a></code> element that has a <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute, then the
+  <a href=#browsing-context>browsing context</a> that is navigated must be chosen by
+  applying <a href=#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name>the rules for choosing a browsing context given a
+  browsing context name</a>, using the value of the <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute as the
+  browsing context name. If these rules result in the creation of a
+  new <a href=#browsing-context>browsing context</a>, it must be navigated with
+  <a href=#replacement-enabled>replacement enabled</a>.</p>
+
+  <p>Otherwise, if the hyperlink element is a <a href=#rel-sidebar-hyperlink title=rel-sidebar-hyperlink>sidebar hyperlink</a> and the user
+  agent implements a feature that can be considered a secondary
+  browsing context, such a secondary browsing context may be selected
+  as the browsing context to be navigated.</p>
+
+  <p>Otherwise, if the hyperlink element is an <code><a href=#the-a-element>a</a></code> or
+  <code><a href=#the-area-element>area</a></code> element with no <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute, but one of
+  the child nodes of <a href=#the-head-element>the <code>head</code> element</a> is a
+  <code><a href=#the-base-element>base</a></code> element with a <code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute, then the browsing
+  context that is navigated must be chosen by applying <a href=#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name>the rules
+  for choosing a browsing context given a browsing context name</a>,
+  using the value of the <code title=attr-base-target><a href=#attr-base-target>target</a></code>
+  attribute of the first such <code><a href=#the-base-element>base</a></code> element as the
+  browsing context name. If these rules result in the creation of a
+  new <a href=#browsing-context>browsing context</a>, it must be navigated with
+  <a href=#replacement-enabled>replacement enabled</a>.</p>
+
+  <p>Otherwise, the browsing context that must be navigated is the
+  same browsing context as the one which the hyperlink element itself
+  is in.</p>
+
+  <p>The navigation must be done with the <a href=#browsing-context>browsing
+  context</a> that contains the <code>Document</code> object with
+  which the hyperlink's element in question is associated as the
+  <a href=#source-browsing-context>source browsing context</a>.</p>
+
+
+  <h5 id=hyperlink-auditing><span class=secno>4.12.2.1 </span><dfn>Hyperlink auditing</dfn></h5>
+
+  <p>If an <code><a href=#the-a-element>a</a></code> or <code><a href=#the-area-element>area</a></code> hyperlink element has a
+  <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute, and the
+  user follows the hyperlink, and the hyperlink's <a href=#url>URL</a> can
+  be <a href=#resolve-a-url title="resolve a url">resolved</a>, relative to the
+  hyperlink element, without failure, then the user agent must take
+  the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute's value,
+  <a href=#split-a-string-on-spaces title="split a string on spaces">split that string on
+  spaces</a>, <a href=#resolve-a-url title="resolve a url">resolve</a> each
+  resulting token relative to the hyperlink element, and then should
+  send a request (as described below) to each of the resulting <a href=#absolute-url title="absolute URL">absolute URLs</a>. (Tokens that fail to
+  resolve are ignored.) This may be done in parallel with the primary
+  request, and is independent of the result of that request.</p>
+
+  <p>User agents should allow the user to adjust this behavior, for
+  example in conjunction with a setting that disables the sending of
+  HTTP <code title=http-referer>Referer</code> (sic) headers. Based
+  on the user's preferences, UAs may either <a href=#ignore>ignore</a> the
+  <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute altogether,
+  or selectively ignore URLs in the list (e.g. ignoring any
+  third-party URLs).</p>
+
+  <p>For URLs that are HTTP URLs, the requests must be performed by
+  <a href=#fetch title=fetch>fetching</a> the specified URLs using the
+  POST method, with an entity body with the <a href=#mime-type>MIME type</a>
+  <code><a href=#text/ping>text/ping</a></code> consisting of the four-character string
+  "<code title="">PING</code>", from the <a href=#origin>origin</a> of the
+  <code>Document</code> containing the <a href=#hyperlink>hyperlink</a>. <!--
+  not http-origin privacy sensitive --> All relevant cookie and HTTP
+  authentication headers must be included in the request. Which other
+  headers are required depends on the URLs involved.</p>
+
+  <dl class=switch><dt>If both the <a href="#the-document's-address" title="the document's address">address</a>
+   of the <code>Document</code> object containing the hyperlink being
+   audited and the ping URL have the <a href=#same-origin>same origin</a></dt>
+
+   <dd>The request must include a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP header with, as its
+   value, the <a href="#the-document's-address" title="the document's address">address</a> of
+   the document containing the hyperlink, and a <code title=http-ping-to><a href=#ping-to>Ping-To</a></code> HTTP header with, as its value,
+   the address of the <a href=#absolute-url>absolute URL</a> of the target of the
+   hyperlink. The request must not include a <code title=http-referer>Referer</code> (sic) HTTP header. <!-- because
+   otherwise it would look like a trustable same-origin POST --></dd>
+
+   <dt>Otherwise, if the origins are different, but the document
+   containing the hyperlink being audited was not retrieved over an
+   encrypted connection</dt>
+
+   <dd>The request must include a <code title=http-referer>Referer</code> (sic) HTTP header [sic] with,
+   as its value, the <a href="#the-document's-current-address" title="the document's current
+   address">current address</a> of the document containing the
+   hyperlink, a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP
+   header with the same value, and a <code title=http-ping-to><a href=#ping-to>Ping-To</a></code> HTTP header with, as its value,
+   the address of the target of the hyperlink.</dd>
+
+   <dt>Otherwise, the origins are different and the document
+   containing the hyperlink being audited was retrieved over an
+   encrypted connection</dt>
+
+   <dd>The request must include a <code title=http-ping-to><a href=#ping-to>Ping-To</a></code> HTTP header with, as its value,
+   the address of the target of the hyperlink. The request must
+   neither include a <code title=http-referer>Referer</code> (sic)
+   HTTP header nor include a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP header.</dd>
+
+  </dl><p class=note>To save bandwidth, implementors might also wish to
+  consider omitting optional headers such as <code>Accept</code> from
+  these requests.</p>
+
+  <p>User agents must, unless otherwise specified by the user, honor
+  the HTTP headers (including, in particular, redirects and HTTP
+  cookie headers), but must ignore any entity bodies returned in the
+  responses. User agents may close the connection prematurely once
+  they start receiving an entity body. <a href=#refsCOOKIES>[COOKIES]</a></p>
+
+  <p>For URLs that are not HTTP URLs, the requests must be performed
+  by <a href=#fetch title=fetch>fetching</a> the specified URL normally,
+  and discarding the results.</p>
+
+  <p>When the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute is
+  present, user agents should clearly indicate to the user that
+  following the hyperlink will also cause secondary requests to be
+  sent in the background, possibly including listing the actual target
+  URLs.</p>
+
+  <p class=example>For example, a visual user agent could include
+  the hostnames of the target ping URLs along with the hyperlink's
+  actual URL in a status bar or tooltip.</p>
+
+  </div>
+
+  <div class=note>
+
+   <p>The <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute is redundant
+   with pre-existing technologies like HTTP redirects and JavaScript
+   in allowing Web pages to track which off-site links are most
+   popular or allowing advertisers to track click-through rates.</p>
+
+   <p>However, the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute
+   provides these advantages to the user over those alternatives:</p>
+
+   <ul><li>It allows the user to see the final target URL
+    unobscured.</li>
+
+    <li>It allows the UA to inform the user about the out-of-band
+    notifications.</li>
+
+    <li>It allows the user to disable the notifications without losing
+    the underlying link functionality.</li>
+
+    <li>It allows the UA to optimize the use of available network
+    bandwidth so that the target page loads faster.</li>
+
+   </ul><p>Thus, while it is possible to track users without this feature,
+   authors are encouraged to use the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute so that the user
+   agent can make the user experience more transparent.</p>
+
+  </div>
+
+  <!-- resolving ping urls happens at audit time, so base URL changes
+  affect the values of ping attributes -->
+
+
+
+  <h4 id=linkTypes><span class=secno>4.12.3 </span>Link types</h4>
+
+  <p>The following table summarizes the link types that are defined by
+  this specification. This table is non-normative; the actual
+  definitions for the link types are given in the next few
+  sections.</p>
+
+  <p>In this section, the term <i>referenced document</i> refers to
+  the resource identified by the element representing the link, and
+  the term <i>current document</i> refers to the resource within
+  which the element representing the link finds itself.</p>
+
+  <div class=impl>
+
+  <p>To determine which link types apply to a <code><a href=#the-link-element>link</a></code>,
+  <code><a href=#the-a-element>a</a></code>, or <code><a href=#the-area-element>area</a></code> element, the element's <code title="">rel</code> attribute must be <a href=#split-a-string-on-spaces title="split a string on
+  spaces">split on spaces</a>. The resulting tokens are the link
+  types that apply to that element.</p>
+
+  </div>
+
+  <p>Except where otherwise specified, a keyword must not be specified
+  more than once per <code title=attr-rel-hyperlink>rel</code>
+  attribute.</p>
+
+  <p>The link types that contain no U+003A COLON characters (:),
+  including all those defined in this specification, are <a href=#ascii-case-insensitive>ASCII
+  case-insensitive</a> values<span class=impl>, and must be
+  compared as such</span>.</p>
+
+  <p class=example>Thus, <code title="">rel="next"</code> is the
+  same as <code title="">rel="NEXT"</code>.</p>
+
+  <table><thead><tr><th rowspan=2>Link type</th>
+     <th colspan=2>Effect on...</th>
+     <th rowspan=2>Brief description</th>
+    <tr><th><code><a href=#the-link-element>link</a></code></th>
+     <th><code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code></th>
+    <tbody><tr><td><code title=rel-alternate><a href=#link-type-alternate>alternate</a></code></td> <!-- second most used <link rel> value -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Gives alternate representations of the current document.</td>
+    <tr><td><code title=rel-archives><a href=#link-type-archives>archives</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Provides a link to a collection of records, documents, or other materials of historical interest.</td>
+    <tr><td><code title=rel-author><a href=#link-type-author>author</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Gives a link to the current document's author.</td>
+    <tr><td><code title=rel-bookmark><a href=#link-type-bookmark>bookmark</a></code></td> <!-- fourth most used <a rel> value -->
+     <td><em>not allowed</em></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Gives the permalink for the nearest ancestor section.</td>
+    </tr><!-- (commented out on the assumption that rel=contact is really XFN)
+    <tr>
+     <td><code title="rel-contact">contact</code></td> <!- 8th most used <a rel> value ->
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Gives a link to contact information for the current document.</td>
+    </tr>
+--><tr><td><code title=rel-external><a href=#link-type-external>external</a></code></td> <!-- fifth and sixth most used <a rel> value (sixth is "external nofollow") -->
+     <td><em>not allowed</em></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the referenced document is not part of the same site as the current document.</td>
+    <tr><td><code title=rel-first><a href=#link-type-first>first</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the current document is a part of a series, and that the first document in the series is the referenced document.</td>
+    <tr><td><code title=rel-help><a href=#link-type-help>help</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Provides a link to context-sensitive help.</td>
+    <tr><td><code title=rel-icon><a href=#rel-icon>icon</a></code></td> <!-- link rel="shortcut icon" and its ilk are the fourth, sixth, and ninth most used values -->
+     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
+     <td><em>not allowed</em></td>
+     <td>Imports an icon to represent the current document.</td>
+    <tr><td><code title=rel-index><a href=#link-type-index>index</a></code></td> <!-- used more than "top" and "contents" on <link> (though on <a>, "contents" wins) -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Gives a link to the document that provides a table of contents or index listing the current document.</td>
+    <tr><td><code title=rel-last><a href=#link-type-last>last</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the current document is a part of a series, and that the last document in the series is the referenced document.</td>
+    <tr><td><code title=rel-license><a href=#link-type-license>license</a></code></td> <!-- seventh most used <a rel> value -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the main content of the current document is covered by the copyright license described by the referenced document.</td>
+    <tr><td><code title=rel-next><a href=#link-type-next>next</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the current document is a part of a series, and that the next document in the series is the referenced document.</td>
+    <tr><td><code title=rel-nofollow><a href=#link-type-nofollow>nofollow</a></code></td> <!-- most used <a rel> value (and sixth most used is "external nofollow") -->
+     <td><em>not allowed</em></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the current document's original author or publisher does not endorse the referenced document.</td>
+    <tr><td><code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code></td>
+     <td><em>not allowed</em></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Requires that the user agent not send an HTTP <code title=http-referer>Referer</code> (sic) header if the user follows the hyperlink.</td>
+    <tr><td><code title=rel-pingback><a href=#link-type-pingback>pingback</a></code></td>
+     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
+     <td><em>not allowed</em></td>
+     <td>Gives the address of the pingback server that handles pingbacks to the current document.</td>
+    <tr><td><code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code></td>
+     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
+     <td><em>not allowed</em></td>
+     <td>Specifies that the target resource should be preemptively cached.</td>
+    <tr><td><code title=rel-prev><a href=#link-type-prev>prev</a></code></td> <!-- prev is used more than previous -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the current document is a part of a series, and that the previous document in the series is the referenced document.</td>
+    <tr><td><code title=rel-search><a href=#link-type-search>search</a></code></td> <!-- used quite a bit -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Gives a link to a resource that can be used to search through the current document and its related pages.</td>
+    <tr><td><code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code></td> <!-- most commonly used <link rel> value, variants came in 7th, 8th, 12th, 17th... -->
+     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
+     <td><em>not allowed</em></td>
+     <td>Imports a stylesheet.</td>
+    <tr><td><code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code></td> <!-- used quite a bit -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Specifies that the referenced document, if retrieved, is intended to be shown in the browser's sidebar (if it has one).</td>
+    <tr><td><code title=rel-tag><a href=#link-type-tag>tag</a></code></td> <!-- second and third most used <a rel> value (third is technically "category tag"). -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Gives a tag (identified by the given address) that applies to the current document.</td>
+    <tr><td><code title=rel-up><a href=#link-type-up>up</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Provides a link to a document giving the context for the current document.</td>
+    </table><div class=impl>
+
+  <p>Some of the types described below list synonyms for these
+  values. These <!--<span class="impl">-->are to be handled as
+  specified by user agents, but<!--</span>--> must not be used in
+  documents.</p>
+
+  </div>
+
+  <!-- v2 ideas:
+   * rel="script"
+   * rel="related" // see also
+   * http://microformats.org/wiki/rel-enclosure
+  -->
+
+
+  <h5 id=link-type-alternate><span class=secno>4.12.3.1 </span>Link type "<dfn title=rel-alternate><code>alternate</code></dfn>"</h5>
+
+  <p>The <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword may be
+  used with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, if the <code title=attr-link-rel><a href=#attr-link-rel>rel</a></code> attribute does not also contain the
+  keyword <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>, it creates a
+  <a href=#hyperlink-link title="hyperlink link">hyperlink</a>; but if it
+  <em>does</em> also contain the keyword <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>, the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword instead modifies the
+  meaning of the <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>
+  keyword in the way described for that keyword, and the rest of this
+  subsection doesn't apply.</p>
+
+  <p>The <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword
+  indicates that the referenced document is an alternate
+  representation of the current document.</p>
+
+  <p>The nature of the referenced document is given by the <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code>, <code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code>, and <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code> attributes.</p>
+
+  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
+  used with the <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code>
+  attribute, it indicates that the referenced document is intended for
+  use with the media specified.</p>
+
+  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
+  used with the <code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code>
+  attribute, and that attribute's value differs from the <a href=#root-element>root
+  element</a>'s <a href=#language>language</a>, it indicates that the
+  referenced document is a translation.</p>
+
+  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
+  used with the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code>
+  attribute, it indicates that the referenced document is a
+  reformulation of the current document in the specified format.</p>
+
+  <p>The <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code>, <code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code>, and <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code> attributes can be combined
+  when specified with the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code>
+  keyword.</p>
+
+  <div class=example>
+
+   <p>For example, the following link is a French translation that
+   uses the PDF format:</p>
+
+   <pre><link rel=alternate type=application/pdf hreflang=fr href=manual-fr></pre>
+
+  </div>
+
+  <div class=impl>
+
+  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
+  used with the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code>
+  attribute set to the value <code title="">application/rss+xml</code>
+  or the value <code title="">application/atom+xml</code>, then it
+  indicates that the referenced document is a syndication feed (though
+  not necessarily syndicating exactly the same content as the current
+  page).</p>
+
+  <div class=impl>
+
+  <p>The first <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, or <code><a href=#the-area-element>area</a></code>
+  element in the document (in tree order) with the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword used with the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code> attribute set to the value
+  <code title="">application/rss+xml</code> or the value <code title="">application/atom+xml</code> must be treated as the default
+  syndication feed for the purposes of feed autodiscovery.</p>
+
+  <div class=example>
+   <p>The following <code><a href=#the-link-element>link</a></code> element gives the syndication
+   feed for the current page:</p>
+   <pre><link rel="alternate" type="application/atom+xml" href="data.xml"></pre>
+   <p>The following extract offers various different syndication
+   feeds:</p>
+   <pre><p>You can access the planets database using Atom feeds:</p>
+<ul>
+ <li><a href="recently-visited-planets.xml" rel="alternate" type="application/atom+xml">Recently Visited Planets</a></li>
+ <li><a href="known-bad-planets.xml" rel="alternate" type="application/atom+xml">Known Bad Planets</a></li>
+ <li><a href="unexplored-planets.xml" rel="alternate" type="application/atom+xml">Unexplored Planets</a></li>
+</ul></pre>
+  </div>
+
+  </div>
+
+
+
+
+  </div>
+
+  <p>The <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> link
+  relationship is transitive — that is, if a document links to
+  two other documents with the link type "<code title=rel-alternate><a href=#link-type-alternate>alternate</a></code>", then, in addition to
+  implying that those documents are alternative representations of the
+  first document, it is also implying that those two documents are
+  alternative representations of each other.</p>
+
+
+  <h5 id=link-type-archives><span class=secno>4.12.3.2 </span>Link type "<dfn title=rel-archives><code>archives</code></dfn>"</h5>
+
+  <p>The <code title=rel-archives><a href=#link-type-archives>archives</a></code> keyword may be
+  used with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-archives><a href=#link-type-archives>archives</a></code> keyword indicates
+  that the referenced document describes a collection of records,
+  documents, or other materials of historical interest.</p>
+
+  <p class=example>A blog's index page could link to an index of the
+  blog's past posts with <code title="">rel="archives"</code>.</p>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keyword "<code title="">archive</code>" like the
+  <code title=rel-archives><a href=#link-type-archives>archives</a></code> keyword.</p>
+
+  </div>
+
+
+  <h5 id=link-type-author><span class=secno>4.12.3.3 </span>Link type "<dfn title=rel-author><code>author</code></dfn>"</h5>
+
+  <p>The <code title=rel-author><a href=#link-type-author>author</a></code> keyword may be
+  used with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>For <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements, the <code title=rel-author><a href=#link-type-author>author</a></code> keyword indicates that the
+  referenced document provides further information about the author of
+  the nearest <code><a href=#the-article-element>article</a></code> element ancestor of the element
+  defining the hyperlink, if there is one, or of the page as a whole,
+  otherwise.</p>
+
+  <p>For <code><a href=#the-link-element>link</a></code> elements, the <code title=rel-author><a href=#link-type-author>author</a></code> keyword indicates that the
+  referenced document provides further information about the author
+  for the page as a whole.</p>
+
+  <p class=note>The "referenced document" can be, and often is, a
+  <code title="">mailto:</code> URL giving the e-mail address of the
+  author. <a href=#refsMAILTO>[MAILTO]</a></p>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and
+  <code><a href=#the-area-element>area</a></code> elements that have a <code title="">rev</code>
+  attribute with the value "<code>made</code>" as having the <code title=rel-author><a href=#link-type-author>author</a></code> keyword specified as a link
+  relationship.</p>
+
+  </div>
+
+
+  <h5 id=link-type-bookmark><span class=secno>4.12.3.4 </span>Link type "<dfn title=rel-bookmark><code>bookmark</code></dfn>"</h5>
+
+  <p>The <code title=rel-bookmark><a href=#link-type-bookmark>bookmark</a></code> keyword may be
+  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
+
+  <p>The <code title=rel-bookmark><a href=#link-type-bookmark>bookmark</a></code> keyword gives a
+  permalink for the nearest ancestor <code><a href=#the-article-element>article</a></code> element of
+  the linking element in question, or of <a href=#associatedSection>the section the linking element is most
+  closely associated with</a>, if there are no ancestor
+  <code><a href=#the-article-element>article</a></code> elements.</p>
+
+  <div class=example>
+   <p>The following snippet has three permalinks. A user agent could
+   determine which permalink applies to which part of the spec by
+   looking at where the permalinks are given.</p>
+   <pre> ...
+ <body>
+  <h1>Example of permalinks</h1>
+  <div id="a">
+   <h2>First example</h2>
+   <p><a href="a.html" rel="bookmark">This</a> permalink applies to
+   only the content from the first H2 to the second H2. The DIV isn't
+   exactly that section, but it roughly corresponds to it.</p>
+  </div>
+  <h2>Second example</h2>
+  <article id="b">
+   <p><a href="b.html" rel="bookmark">This</a> permalink applies to
+   the outer ARTICLE element (which could be, e.g., a blog post).</p>
+   <article id="c">
+    <p><a href="c.html" rel="bookmark">This</a> permalink applies to
+    the inner ARTICLE element (which could be, e.g., a blog comment).</p>
+   </article>
+  </article>
+ </body>
+ ...</pre>
+  </div>
+
+<!-- (commented out on the assumption that rel=contact is really XFN)
+  <h5>Link type "<dfn title="rel-contact"><code>contact</code></dfn>"</h5>
+
+  <p>The <code title="rel-contact">contact</code> keyword may be used
+  with <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>For <code>a</code> and <code>area</code> elements, the <code
+  title="rel-contact">contact</code> keyword indicates that the
+  referenced document provides further contact information for the
+  author of the nearest <code>article</code> element ancestor of the
+  element defining the hyperlink, if there is one, or of the page as a
+  whole, otherwise.</p>
+
+  <div class="impl">
+
+  <p>User agents must treat any hyperlink in an <code>address</code>
+  element as having the <code title="rel-contact">contact</code> link
+  type specified.</p>
+
+  </div>
+
+  <p>For <code>link</code> elements, the <code
+  title="rel-contact">contact</code> keyword indicates that the
+  referenced document provides further contact information for the
+  page as a whole.</p>
+-->
+
+
+  <h5 id=link-type-external><span class=secno>4.12.3.5 </span>Link type "<dfn title=rel-external><code>external</code></dfn>"</h5>
+
+  <p>The <code title=rel-external><a href=#link-type-external>external</a></code> keyword may be
+  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
+
+  <p>The <code title=rel-external><a href=#link-type-external>external</a></code> keyword indicates
+  that the link is leading to a document that is not part of the site
+  that the current document forms a part of.</p>
+
+
+  <h5 id=link-type-help><span class=secno>4.12.3.6 </span>Link type "<dfn title=rel-help><code>help</code></dfn>"</h5>
+
+  <p>The <code title=rel-help><a href=#link-type-help>help</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>For <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements, the <code title=rel-help><a href=#link-type-help>help</a></code> keyword indicates that the referenced
+  document provides further help information for the parent of the
+  element defining the hyperlink, and its children.</p>
+
+  <div class=example>
+
+   <p>In the following example, the form control has associated
+   context-sensitive help. The user agent could use this information,
+   for example, displaying the referenced document if the user presses
+   the "Help" or "F1" key.</p>
+
+   <pre> <p><label> Topic: <input name=topic> <a href="help/topic.html" rel="help">(Help)</a></label></p></pre>
+
+  </div>
+
+  <p>For <code><a href=#the-link-element>link</a></code> elements, the <code title=rel-help><a href=#link-type-help>help</a></code> keyword indicates that the referenced
+  document provides help for the page as a whole.</p>
+
+
+  <h5 id=rel-icon><span class=secno>4.12.3.7 </span>Link type "<dfn title=rel-icon><code>icon</code></dfn>"</h5>
+
+  <p>The <code title=rel-icon><a href=#rel-icon>icon</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a>.</p>
+
+  <div class=impl>
+
+  <p>The specified resource is an icon representing the page or site,
+  and should be used by the user agent when representing the page in
+  the user interface.</p>
+
+  </div>
+
+  <p>Icons could be auditory icons, visual icons, or other kinds of
+  icons. <span class=impl>If multiple icons are provided, the user
+  agent must select the most appropriate icon according to the <code title=attr-link-type><a href=#attr-link-type>type</a></code>, <code title=attr-link-media><a href=#attr-link-media>media</a></code>, and <code title=attr-link-sizes><a href=#attr-link-sizes>sizes</a></code> attributes. If there are
+  multiple equally appropriate icons, user agents must use the last
+  one declared in <a href=#tree-order>tree order</a>. If the user agent tries to
+  use an icon but that icon is determined, upon closer examination, to
+  in fact be inappropriate (e.g. because it uses an unsupported
+  format), then the user agent must try the next-most-appropriate icon
+  as determined by the attributes.</span></p>
+
+  <div class=impl>
+
+  <p>There is no default type for resources given by the <code title=rel-icon><a href=#rel-icon>icon</a></code> keyword. However, for the purposes of
+  <a href=#concept-link-type-sniffing>determining the type of the
+  resource</a>, user agents must expect the resource to be an image.</p>
+
+  </div>
+
+  <p>The <dfn id=attr-link-sizes title=attr-link-sizes><code>sizes</code></dfn>
+  attribute gives the sizes of icons for visual media.</p>
+
+  <p>If specified, the attribute must have a value that is an
+  <a href=#unordered-set-of-unique-space-separated-tokens>unordered set of unique space-separated tokens</a>. The
+  values must all be either <code title=attr-link-sizes-any><a href=#attr-link-sizes-any>any</a></code> or a value that consists of
+  two <a href=#valid-non-negative-integer title="valid non-negative integer">valid non-negative
+  integers</a> that do not have a leading U+0030 DIGIT ZERO (0)
+  character and that are separated by a single U+0078 LATIN SMALL
+  LETTER X character (x).</p>
+
+  <p>The keywords represent icon sizes.</p>
+
+  <div class=impl>
+
+  <p>To parse and process the attribute's value, the user agent must
+  first <a href=#split-a-string-on-spaces title="split a string on spaces">split the attribute's
+  value on spaces</a>, and must then parse each resulting keyword
+  to determine what it represents.</p>
+
+  </div>
+
+  <p>The <dfn id=attr-link-sizes-any title=attr-link-sizes-any><code>any</code></dfn> keyword
+  represents that the resource contains a scalable icon, e.g. as
+  provided by an SVG image.</p>
+
+  <div class=impl>
+
+  <p>Other keywords must be further parsed as follows to determine
+  what they represent:</p>
+
+  <ul><li><p>If the keyword doesn't contain exactly one U+0078 LATIN
+   SMALL LETTER X character (x), then this keyword doesn't represent
+   anything. Abort these steps for that keyword.</li>
+
+   <li><p>Let <var title="">width string</var> be the string before
+   the "<code title="">x</code>".</li>
+
+   <li><p>Let <var title="">height string</var> be the string after the
+   "<code title="">x</code>".</li>
+
+   <li><p>If either <var title="">width string</var> or <var title="">height string</var> start with a U+0030 DIGIT ZERO (0)
+   character or contain any characters other than characters in the
+   range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then this
+   keyword doesn't represent anything. Abort these steps for that
+   keyword.</li>
+
+   <li><p>Apply the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative
+   integers</a> to <var title="">width string</var> to obtain <var title="">width</var>.</li>
+
+   <li><p>Apply the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative
+   integers</a> to <var title="">height string</var> to obtain <var title="">height</var>.</li>
+
+   <li><p>The keyword represents that the resource contains a bitmap
+   icon with a width of <var title="">width</var> device pixels and a
+   height of <var title="">height</var> device pixels.</li>
+
+  </ul></div>
+
+  <p>The keywords specified on the <code title=attr-link-sizes><a href=#attr-link-sizes>sizes</a></code> attribute must not represent
+  icon sizes that are not actually available in the linked
+  resource.</p>
+
+  <div class=impl>
+
+  <p>If the attribute is not specified, then the user agent must
+  assume that the given icon is appropriate, but less appropriate than
+  an icon of a known and appropriate size.</p>
+
+  </div>
+
+  <div class=example>
+
+   <p>The following snippet shows the top part of an application with
+   several icons.</p>
+
+   <pre><!DOCTYPE HTML>
+<html>
+ <head>
+  <title>lsForums — Inbox</title>
+  <link rel=icon href=favicon.png sizes="16x16" type="image/png">
+  <link rel=icon href=windows.ico sizes="32x32 48x48" type="image/vnd.microsoft.icon">
+  <link rel=icon href=mac.icns sizes="128x128 512x512 8192x8192 32768x32768">
+  <link rel=icon href=iphone.png sizes="59x60" type="image/png">
+  <link rel=icon href=gnome.svg sizes="any" type="image/svg+xml">
+  <link rel=stylesheet href=lsforums.css>
+  <script src=lsforums.js></script>
+  <meta name=application-name content="lsForums">
+ </head>
+ <body>
+  ...</pre>
+
+  </div>
+
+
+  <h5 id=link-type-license><span class=secno>4.12.3.8 </span>Link type "<dfn title=rel-license><code>license</code></dfn>"</h5>
+
+  <p>The <code title=rel-license><a href=#link-type-license>license</a></code> keyword may be used
+  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-license><a href=#link-type-license>license</a></code> keyword indicates
+  that the referenced document provides the copyright license terms
+  under which the main content of the current document is
+  provided.</p>
+
+  <p>This specification does not specify how to distinguish between
+  the main content of a document and content that is not deemed to be
+  part of that main content. The distinction should be made clear to
+  the user.</p>
+
+  <div class=example>
+
+   <p>Consider a photo sharing site. A page on that site might
+   describe and show a photograph, and the page might be marked up as
+   follows:</p>
+
+   <pre><!DOCTYPE HTML>
+<html>
+ <head>
+  <title>Exampl Pictures: Kissat</title>
+  <link rel="stylesheet" href="/style/default">
+ </head>
+ <body>
+  <h1>Kissat</h1>
+  <nav>
+   <a href="../">Return to photo index</a>
+  </nav>
+  <figure>
+   <img src="/pix/39627052_fd8dcd98b5.jpg">
+   <figcaption>Kissat</figcaption>
+  </figure>
+  <p>One of them has six toes!</p>
+  <p><small><a rel="license" href="http://www.opensource.org/licenses/mit-license.php">MIT Licensed</a></small></p>
+  <footer>
+   <a href="/">Home</a> | <a href="../">Photo index</a>
+   <p><small>© copyright 2009 Exampl Pictures. All Rights Reserved.</small></p>
+  </footer>
+ </body>
+</html></pre>
+
+   <p>In this case the <code title=rel-license><a href=#link-type-license>license</a></code>
+   applies to just the photo (the main content of the document), not
+   the whole document. In particular not the design of the page
+   itself, which is covered by the copyright given at the bottom of
+   the document. This could be made clearer in the styling
+   (e.g. making the license link prominently positioned near the
+   photograph, while having the page copyright in light small text at
+   the foot of the page.</p>
+
+  </div>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keyword "<code title="">copyright</code>" like
+  the <code title=rel-license><a href=#link-type-license>license</a></code> keyword.</p>
+
+  </div>
+
+
+  <h5 id=link-type-nofollow><span class=secno>4.12.3.9 </span>Link type "<dfn title=rel-nofollow><code>nofollow</code></dfn>"</h5>
+
+  <p>The <code title=rel-nofollow><a href=#link-type-nofollow>nofollow</a></code> keyword may be
+  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
+
+  <p>The <code title=rel-nofollow><a href=#link-type-nofollow>nofollow</a></code> keyword indicates
+  that the link is not endorsed by the original author or publisher of
+  the page, or that the link to the referenced document was included
+  primarily because of a commercial relationship between people
+  affiliated with the two pages.</p>
+
+
+  <h5 id=link-type-noreferrer><span class=secno>4.12.3.10 </span>Link type "<dfn title=rel-noreferrer><code>noreferrer</code></dfn>"</h5>
+
+  <p>The <code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code> keyword may be
+  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
+
+  <p>It indicates that no referrer information is to be leaked when
+  following the link.</p>
+
+  <div class=impl>
+
+  <p>If a user agent follows a link defined by an <code><a href=#the-a-element>a</a></code> or
+  <code><a href=#the-area-element>area</a></code> element that has the <code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code> keyword, the user agent
+  must not include a <code title=http-referer>Referer</code> (sic)
+  HTTP header (<a href=#concept-http-equivalent-headers title=concept-http-equivalent-headers>or
+  equivalent</a> for other protocols) in the request.</p>
+
+  <p>This keyword also <a href=#noopener>causes the <code title=dom-opener>opener</code> attribute to remain null</a> if the
+  hyperlink creates a new <a href=#browsing-context>browsing context</a>.</p>
+
+  </div>
+
+  <!-- v2: Would be nice to apply this to other elements too,
+  e.g. letting <img> or CSS or <video> hide the referrer -->
+
+
+  <h5 id=link-type-pingback><span class=secno>4.12.3.11 </span>Link type "<dfn title=rel-pingback><code>pingback</code></dfn>"</h5>
+
+  <p>The <code title=rel-pingback><a href=#link-type-pingback>pingback</a></code> keyword may be
+  used with <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a>.</p>
+
+  <p>For the semantics of the <code title=rel-pingback><a href=#link-type-pingback>pingback</a></code> keyword, see the Pingback 1.0
+  specification. <a href=#refsPINGBACK>[PINGBACK]</a></p>
+
+
+  <h5 id=link-type-prefetch><span class=secno>4.12.3.12 </span>Link type "<dfn title=rel-prefetch><code>prefetch</code></dfn>"</h5>
+
+  <p>The <code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code> keyword may be
+  used with <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a>.</p>
+
+  <p>The <code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code> keyword indicates
+  that preemptively fetching and caching the specified resource is
+  likely to be beneficial, as it is highly likely that the user will
+  require this resource.</p>
+
+  <p>There is no default type for resources given by the <code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code> keyword.</p>
+
+
+  <h5 id=link-type-search><span class=secno>4.12.3.13 </span>Link type "<dfn title=rel-search><code>search</code></dfn>"</h5>
+
+  <p>The <code title=rel-search><a href=#link-type-search>search</a></code> keyword may be used
+  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-search><a href=#link-type-search>search</a></code> keyword indicates that
+  the referenced document provides an interface specifically for
+  searching the document and its related resources.</p>
+
+  <p class=note>OpenSearch description documents can be used with
+  <code><a href=#the-link-element>link</a></code> elements and the <code title=rel-search><a href=#link-type-search>search</a></code> link type to enable user agents to
+  autodiscover search interfaces. <a href=#refsOPENSEARCH>[OPENSEARCH]</a></p>
+
+
+  <h5 id=link-type-stylesheet><span class=secno>4.12.3.14 </span>Link type "<dfn title=rel-stylesheet><code>stylesheet</code></dfn>"</h5>
+
+  <p>The <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code> keyword may be
+  used with <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a> that
+  contributes to the <a href=#styling>styling processing model</a>.</p>
+
+  <p>The specified resource is a resource that describes how to
+  present the document. Exactly how the resource is to be processed
+  depends on the actual type of the resource.</p>
+
+  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
+  also specified on the <code><a href=#the-link-element>link</a></code> element, then <dfn id=the-link-is-an-alternative-stylesheet>the link
+  is an alternative stylesheet</dfn>; in this case, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute must be specified on the
+  <code><a href=#the-link-element>link</a></code> element, with a non-empty value.</p>
+
+  <p>The default type for resources given by the <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code> keyword is <code title="">text/css</code>.</p>
+
+  <div class=impl>
+
+  <p><strong>Quirk</strong>: If the document has been set to
+  <a href=#quirks-mode>quirks mode</a> and the <a href=#content-type title=Content-Type>Content-Type metadata</a> of the external
+  resource is not a supported style sheet type, the user agent must
+  instead assume it to be <code title="">text/css</code>.</p>
+
+  </div>
+
+
+  <h5 id=link-type-sidebar><span class=secno>4.12.3.15 </span>Link type "<dfn title=rel-sidebar><code>sidebar</code></dfn>"</h5>
+
+  <p>The <code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code> keyword may be used
+  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code> keyword indicates
+  that the referenced document, if retrieved, is intended to be shown
+  in a <a href=#secondary-browsing-context>secondary browsing context</a> (if possible), instead
+  of in the current <a href=#browsing-context>browsing context</a>.</p>
+
+  <p>A <a href=#hyperlink title=hyperlink>hyperlink element</a> with the <code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code> keyword specified is a <dfn id=rel-sidebar-hyperlink title=rel-sidebar-hyperlink>sidebar hyperlink</dfn>.</p>
+
+
+  <h5 id=link-type-tag><span class=secno>4.12.3.16 </span>Link type "<dfn title=rel-tag><code>tag</code></dfn>"</h5>
+
+  <p>The <code title=rel-tag><a href=#link-type-tag>tag</a></code> keyword may be used
+  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-tag><a href=#link-type-tag>tag</a></code> keyword indicates that the
+  <em>tag</em> that the referenced document represents applies to the
+  current document.</p>
+
+  <p class=note>Since it indicates that the tag <em>applies to the
+  current document</em>, it would be inappropriate to use this keyword
+  in the markup of a <a href=#tag-cloud>tag cloud</a>, which lists
+  the popular tag across a set of pages.</p>
+
+
+  <h5 id=hierarchical-link-types><span class=secno>4.12.3.17 </span>Hierarchical link types</h5>
+
+  <p>Some documents form part of a hierarchical structure of
+  documents.</p>
+
+  <p>A hierarchical structure of documents is one where each document
+  can have various subdocuments. The document of which a document is a
+  subdocument is said to be the document's <em>parent</em>. A document
+  with no parent forms the top of the hierarchy.</p>
+
+  <p>A document may be part of multiple hierarchies.</p>
+
+
+  <h6 id=link-type-index><span class=secno>4.12.3.17.1 </span>Link type "<dfn title=rel-index><code>index</code></dfn>"</h6>
+
+  <p>The <code title=rel-index><a href=#link-type-index>index</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-index><a href=#link-type-index>index</a></code> keyword indicates that
+  the document is part of a hierarchical structure, and that the link
+  is leading to the document that is the top of the hierarchy. It
+  conveys more information when used with the <code title=rel-up><a href=#link-type-up>up</a></code> keyword (q.v.).</p>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keywords "<code title="">top</code>", "<code title="">contents</code>", and "<code title="">toc</code>" like the
+  <code title=rel-index><a href=#link-type-index>index</a></code> keyword.</p>
+
+  </div>
+
+
+  <h6 id=link-type-up><span class=secno>4.12.3.17.2 </span>Link type "<dfn title=rel-up><code>up</code></dfn>"</h6>
+
+  <p>The <code title=rel-up><a href=#link-type-up>up</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-up><a href=#link-type-up>up</a></code> keyword indicates that the
+  document is part of a hierarchical structure, and that the link is
+  leading to a document that is an ancestor of the current
+  document.</p>
+
+  <p>The <code title=rel-up><a href=#link-type-up>up</a></code> keyword may be repeated within
+  a <code title=attr-hyperlink-rel><a href=#attr-hyperlink-rel>rel</a></code> attribute to indicate
+  the hierarchical distance from the current document to the
+  referenced document. If it occurs only once, then the link is
+  leading to the current document's parent; each additional occurrence
+  of the keyword represents one further level. If the <code title=rel-index><a href=#link-type-index>index</a></code> keyword is also present, then the
+  number of <code title=rel-up><a href=#link-type-up>up</a></code> keywords is the depth of
+  the current page relative to the top of the hierarchy. Only one link
+  is created for the set of one or more <code title=rel-up><a href=#link-type-up>up</a></code>
+  keywords and, if present, the <code title=rel-index><a href=#link-type-index>index</a></code>
+  keyword.</p>
+
+  <p>If the page is part of multiple hierarchies, then they should be
+  described in different <a href=#paragraph title=paragraph>paragraphs</a>. <span class=impl>User agents
+  must scope any interpretation of the <code title=rel-up><a href=#link-type-up>up</a></code>
+  and <code title=rel-index><a href=#link-type-index>index</a></code> keywords together
+  indicating the depth of the hierarchy to the <a href=#paragraph>paragraph</a>
+  in which the link finds itself, if any, or to the document
+  otherwise.</span></p>
+
+  <div class=impl>
+
+  <p>When two links have both the <code title=rel-up><a href=#link-type-up>up</a></code> and
+  <code title=rel-index><a href=#link-type-index>index</a></code> keywords specified together in
+  the same scope and contradict each other by having a different
+  number of <code title=rel-up><a href=#link-type-up>up</a></code> keywords, the link with the
+  greater number of <code title=rel-up><a href=#link-type-up>up</a></code> keywords must be
+  taken as giving the depth of the document.</p>
+
+  </div>
+
+  <div class=example>
+
+   <p>This can be used to mark up a navigation style sometimes known
+   as bread crumbs. In the following example, the current page can be
+   reached via two paths.</p>
+
+   <pre><nav>
+ <p>
+  <a href="/" rel="index up up up">Main</a> >
+  <a href="/products/" rel="up up">Products</a> >
+  <a href="/products/dishwashers/" rel="up">Dishwashers</a> >
+  <a>Second hand</a>
+ </p>
+ <p>
+  <a href="/" rel="index up up">Main</a> >
+  <a href="/second-hand/" rel="up">Second hand</a> >
+  <a>Dishwashers</a>
+ </p>
+</nav></pre>
+
+  </div>
+
+  <p class=note>The <code title=dom-a-relList><a href=#dom-a-rellist>relList</a></code> IDL
+  attribute (e.g. on the <code><a href=#the-a-element>a</a></code> element) does not currently
+  represent multiple <code title=rel-up><a href=#link-type-up>up</a></code> keywords (the
+  interface hides duplicates).</p>
+
+
+  <h5 id=sequential-link-types><span class=secno>4.12.3.18 </span>Sequential link types</h5>
+
+  <p>Some documents form part of a sequence of documents.</p>
+
+  <p>A sequence of documents is one where each document can have a
+  <em>previous sibling</em> and a <em>next sibling</em>. A document
+  with no previous sibling is the start of its sequence, a document
+  with no next sibling is the end of its sequence.</p>
+
+  <p>A document may be part of multiple sequences.</p>
+
+
+  <h6 id=link-type-first><span class=secno>4.12.3.18.1 </span>Link type "<dfn title=rel-first><code>first</code></dfn>"</h6>
+
+  <p>The <code title=rel-first><a href=#link-type-first>first</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-first><a href=#link-type-first>first</a></code> keyword indicates that
+  the document is part of a sequence, and that the link is leading to
+  the document that is the first logical document in the sequence.</p>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keywords "<code title="">begin</code>" and
+  "<code title="">start</code>" like the <code title=rel-first><a href=#link-type-first>first</a></code> keyword.</p>
+
+  </div>
+
+
+  <h6 id=link-type-last><span class=secno>4.12.3.18.2 </span>Link type "<dfn title=rel-last><code>last</code></dfn>"</h6>
+
+  <p>The <code title=rel-last><a href=#link-type-last>last</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-last><a href=#link-type-last>last</a></code> keyword indicates that the
+  document is part of a sequence, and that the link is leading to the
+  document that is the last logical document in the sequence.</p>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keyword "<code title="">end</code>" like the
+  <code title=rel-last><a href=#link-type-last>last</a></code> keyword.</p>
+
+  </div>
+
+
+  <h6 id=link-type-next><span class=secno>4.12.3.18.3 </span>Link type "<dfn title=rel-next><code>next</code></dfn>"</h6>
+
+  <p>The <code title=rel-next><a href=#link-type-next>next</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-next><a href=#link-type-next>next</a></code> keyword indicates that the
+  document is part of a sequence, and that the link is leading to the
+  document that is the next logical document in the sequence.</p>
+
+
+  <h6 id=link-type-prev><span class=secno>4.12.3.18.4 </span>Link type "<dfn title=rel-prev><code>prev</code></dfn>"</h6>
+
+  <p>The <code title=rel-prev><a href=#link-type-prev>prev</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-prev><a href=#link-type-prev>prev</a></code> keyword indicates that the
+  document is part of a sequence, and that the link is leading to the
+  document that is the previous logical document in the sequence.</p>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keyword "<code title="">previous</code>" like
+  the <code title=rel-prev><a href=#link-type-prev>prev</a></code> keyword.</p>
+
+  </div>
+
+
+  <h5 id=other-link-types><span class=secno>4.12.3.19 </span>Other link types</h5>
+
+  <p><dfn id=concept-rel-extensions title=concept-rel-extensions>Extensions to the predefined
+  set of link types</dfn> may be registered in the <a href=http://wiki.whatwg.org/wiki/RelExtensions>WHATWG Wiki
+  RelExtensions page</a>. <a href=#refsWHATWGWIKI>[WHATWGWIKI]</a></p>
+
+  <p>Anyone is free to edit the WHATWG Wiki RelExtensions page at any
+  time to add a type. Extension types must be specified with the
+  following information:</p>
+
+  <dl><dt>Keyword</dt>
+
+   <dd>
+
+    <p>The actual value being defined. The value should not be
+    confusingly similar to any other defined value (e.g. differing
+    only in case).</p>
+
+    <p>If the value contains a U+003A COLON character (:), it must
+    also be an <a href=#absolute-url>absolute URL</a>.</p>
+
+   </dd>
+
+
+   <dt>Effect on... <code><a href=#the-link-element>link</a></code></dt>
+
+   <dd>
+
+    <p>One of the following:</p>
+
+    <dl><dt>not allowed</dt>
+
+     <dd>The keyword is not allowed to be specified on
+     <code><a href=#the-link-element>link</a></code> elements.</dd>
+
+     <dt>Hyperlink</dt>
+
+     <dd>The keyword may be specified on a <code><a href=#the-link-element>link</a></code> element;
+     it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink
+     link</a>.</dd>
+
+     <dt>External Resource</dt>
+
+     <dd>The keyword may be specified on a <code><a href=#the-link-element>link</a></code> element;
+     it creates a <a href=#external-resource-link title="external resource link">external
+     resource link</a>.</dd>
+
+    </dl></dd>
+
+
+   <dt>Effect on... <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code></dt>
+
+   <dd>
+
+    <p>One of the following:</p>
+
+    <dl><dt>not allowed</dt>
+
+     <dd>The keyword is not allowed to be specified on <code><a href=#the-a-element>a</a></code>
+     and <code><a href=#the-area-element>area</a></code> elements.</dd>
+
+     <dt>Hyperlink</dt>
+
+     <dd>The keyword may be specified on <code><a href=#the-a-element>a</a></code> and
+     <code><a href=#the-area-element>area</a></code> elements.</dd>
+
+    </dl></dd>
+
+
+   <dt>Brief description</dt>
+
+   <dd><p>A short non-normative description of what the keyword's
+   meaning is.</dd>
+
+
+   <dt>Specification</dt>
+
+   <dd><p>A link to a more detailed description of the keyword's
+   semantics and requirements. It could be another page on the Wiki,
+   or a link to an external page.</dd>
+
+
+   <dt>Synonyms</dt>
+
+   <dd><p>A list of other keyword values that have exactly the same
+   processing requirements. Authors should not use the values defined
+   to be synonyms, they are only intended to allow user agents to
+   support legacy content. Anyone may remove synonyms that are not
+   used in practice; only names that need to be processed as synonyms
+   for compatibility with legacy content are to be registered in this
+   way.</dd>
+
+
+   <dt>Status</dt>
+
+   <dd>
+
+    <p>One of the following:</p>
+
+    <dl><dt>Proposed</dt>
+
+     <dd>The keyword has not received wide peer review and
+     approval. Someone has proposed it and is, or soon will be, using
+     it.</dd>
+
+     <dt>Ratified</dt>
+
+     <dd>The keyword has received wide peer review and approval. It
+     has a specification that unambiguously defines how to handle
+     pages that use the keyword, including when they use it in
+     incorrect ways.</dd>
+
+     <dt>Discontinued</dt>
+
+     <dd>The keyword has received wide peer review and it has been
+     found wanting. Existing pages are using this keyword, but new
+     pages should avoid it. The "brief description" and
+     "specification" entries will give details of what authors should
+     use instead, if anything.</dd>
+
+    </dl><p>If a keyword is found to be redundant with existing values, it
+    should be removed and listed as a synonym for the existing
+    value.</p>
+
+    <p>If a keyword is registered in the "proposed" state for a
+    period of a month or more without being used or specified, then it
+    may be removed from the registry.</p>
+
+    <p>If a keyword is added with the "proposed" status and found to
+    be redundant with existing values, it should be removed and listed
+    as a synonym for the existing value. If a keyword is added with
+    the "proposed" status and found to be harmful, then it should be
+    changed to "discontinued" status.</p>
+
+    <p>Anyone can change the status at any time, but should only do so
+    in accordance with the definitions above.</p>
+
+   </dd>
+
+  </dl><div class=impl>
+
+  <p>Conformance checkers must use the information given on the WHATWG
+  Wiki RelExtensions page to establish if a value is allowed or not:
+  values defined in this specification or marked as "proposed" or
+  "ratified" must be accepted when used on the elements for which they
+  apply as described in the "Effect on..." field, whereas values
+  marked as "discontinued" or not listed in either this specification
+  or on the aforementioned page must be rejected as invalid.
+  Conformance checkers may cache this information (e.g. for
+  performance reasons or to avoid the use of unreliable network
+  connectivity).</p>
+
+  <p>When an author uses a new type not defined by either this
+  specification or the Wiki page, conformance checkers should offer to
+  add the value to the Wiki, with the details described above, with
+  the "proposed" status.</p>
+
+  </div>
+
+  <p>Types defined as extensions in the <a href=http://wiki.whatwg.org/wiki/RelExtensions>WHATWG Wiki
+  RelExtensions page</a> with the status "proposed" or "ratified" may
+  be used with the <code title="">rel</code> attribute on
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code> elements in
+  accordance to the "Effect on..." field. <a href=#refsWHATWGWIKI>[WHATWGWIKI]</a></p>
+
+
+  <h3 id=common-idioms-without-dedicated-elements><span class=secno>4.13 </span>Common idioms without dedicated elements</h3>
+
+  <h4 id=tag-clouds><span class=secno>4.13.1 </span>Tag clouds</h4>
+
   <p id=tag-cloud>This specification does not define any markup
   specifically for marking up lists of keywords that apply to a group
   of pages (also known as <i>tag clouds</i>). In general, authors are
@@ -44509,7 +45842,7 @@
   </div>
 
 
-  <h4 id=conversations><span class=secno>4.12.2 </span>Conversations</h4>
+  <h4 id=conversations><span class=secno>4.13.2 </span>Conversations</h4>
 
   <!-- http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-September/022576.html -->
 
@@ -44555,7 +45888,7 @@
   </div>
 
 
-  <h4 id=footnotes><span class=secno>4.12.3 </span>Footnotes</h4>
+  <h4 id=footnotes><span class=secno>4.13.3 </span>Footnotes</h4>
 
   <p>HTML does not have a dedicated mechanism for marking up
   footnotes. Here are the recommended alternatives.</p>
@@ -44668,9 +46001,9 @@
 
   <div class=impl>
 
-  <h3 id=matching-html-elements-using-selectors><span class=secno>4.13 </span>Matching HTML elements using selectors</h3>
+  <h3 id=matching-html-elements-using-selectors><span class=secno>4.14 </span>Matching HTML elements using selectors</h3>
 
-  <h4 id=selectors><span class=secno>4.13.1 </span>Case-sensitivity</h4>
+  <h4 id=selectors><span class=secno>4.14.1 </span>Case-sensitivity</h4>
 
   <p>Attribute and element <em>names</em> of <a href=#html-elements>HTML
   elements</a> in <a href=#html-documents>HTML documents</a> must be treated as
@@ -44738,7 +46071,7 @@
   treated as <a href=#case-sensitive>case-sensitive</a>.</p>
 
 
-  <h4 id=pseudo-classes><span class=secno>4.13.2 </span>Pseudo-classes</h4>
+  <h4 id=pseudo-classes><span class=secno>4.14.2 </span>Pseudo-classes</h4>
 
   <p>There are a number of dynamic selectors that can be used with
   HTML. This section defines when these selectors match HTML
@@ -57839,1339 +59172,7 @@
 
 
 
-  <h3 id=links><span class=secno>6.12 </span>Links</h3>
 
-
-  <h4 id=hyperlink-elements><span class=secno>6.12.1 </span>Hyperlink elements</h4>
-
-  <p>The <code><a href=#the-a-element>a</a></code>, <code><a href=#the-area-element>area</a></code>, and <code><a href=#the-link-element>link</a></code>
-  elements can, in certain situations described in the definitions of
-  those elements, represent <dfn id=hyperlink title=hyperlink>hyperlinks</dfn>.</p>
-
-  <p>The <dfn id=attr-hyperlink-href title=attr-hyperlink-href><code>href</code></dfn>
-  attribute on a hyperlink element must have a value that is a
-  <a href=#valid-url>valid URL</a>. This URL is the <em>destination
-  resource</em> of the hyperlink.</p>
-
-  <div class=note>
-
-   <p>The <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute on
-   <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements is not required; when
-   those elements do not have <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attributes they do not
-   represent hyperlinks.</p>
-
-   <p>The <code title=attr-link-href><a href=#attr-link-href>href</a></code> attribute on the
-   <code><a href=#the-link-element>link</a></code> element <em>is</em> required, but whether a
-   <code><a href=#the-link-element>link</a></code> element represents a hyperlink or not depends on
-   the value of the <code title=attr-link-rel><a href=#attr-link-rel>rel</a></code> attribute
-   of that element.</p>
-
-  </div>
-
-  <p>The <dfn id=attr-hyperlink-target title=attr-hyperlink-target><code>target</code></dfn>
-  attribute, if present, must be a <a href=#valid-browsing-context-name-or-keyword>valid browsing context name
-  or keyword</a>. It gives the name of the <a href=#browsing-context>browsing
-  context</a> that will be used. <span class=impl>User agents use
-  this name when <a href=#following-hyperlinks>following hyperlinks</a>.</span></p>
-
-  <p>The <dfn id=ping title=attr-hyperlink-ping><code>ping</code></dfn> attribute, if
-  present, gives the URLs of the resources that are interested in
-  being notified if the user follows the hyperlink. The value must be
-  a <a href=#set-of-space-separated-tokens>set of space-separated tokens</a>, each of which must be a
-  <a href=#valid-url title="valid URL">valid URL</a>. <span class=impl>The
-  value is used by the user agent for <a href=#hyperlink-auditing>hyperlink
-  auditing</a>.</span></p>
-
-  <p>For <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements that represent
-  hyperlinks, the relationship between the document containing the
-  hyperlink and the destination resource indicated by the hyperlink is
-  given by the value of the element's <dfn id=attr-hyperlink-rel title=attr-hyperlink-rel><code>rel</code></dfn> attribute, which
-  must be a <a href=#set-of-space-separated-tokens>set of space-separated tokens</a>. The <a href=#linkTypes>allowed values and their meanings</a> are defined
-  below. The <code title=attr-hyperlink-rel><a href=#attr-hyperlink-rel>rel</a></code> attribute has
-  no default value. If the attribute is omitted or if none of the
-  values in the attribute are recognized by the user agent, then the
-  document has no particular relationship with the destination
-  resource other than there being a hyperlink between the two.</p>
-
-  <p>The <dfn id=attr-hyperlink-media title=attr-hyperlink-media><code>media</code></dfn>
-  attribute describes for which media the target document was
-  designed. It is purely advisory. The value must be a <a href=#valid-media-query>valid
-  media query</a>. The default, if the <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code> attribute is omitted, is
-  "<code title="">all</code>".</p>
-
-  <p>The <dfn id=attr-hyperlink-hreflang title=attr-hyperlink-hreflang><code>hreflang</code></dfn>
-  attribute on hyperlink elements, if present, gives the language of
-  the linked resource. It is purely advisory. The value must be a
-  valid BCP 47 language code. <a href=#refsBCP47>[BCP47]</a>
-  <span class=impl>User agents must not consider this attribute
-  authoritative — upon fetching the resource, user agents must
-  use only language information associated with the resource to
-  determine its language, not metadata included in the link to the
-  resource.</span></p>
-
-  <p>The <dfn id=attr-hyperlink-type title=attr-hyperlink-type><code>type</code></dfn>
-  attribute, if present, gives the <a href=#mime-type>MIME type</a> of the
-  linked resource. It is purely advisory. The value must be a
-  <a href=#valid-mime-type>valid MIME type</a>. <span class=impl>User agents must
-  not consider the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code>
-  attribute authoritative — upon fetching the resource, user
-  agents must not use metadata included in the link to the resource to
-  determine its type.</span></p>
-
-
-  <div class=impl>
-
-  <h4 id=following-hyperlinks><span class=secno>6.12.2 </span><dfn>Following hyperlinks</dfn></h4>
-
-  <p>When a user <em>follows a hyperlink</em>, the user agent must
-  <a href=#resolve-a-url title="resolve a url">resolve</a> the <a href=#url>URL</a>
-  given by the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute
-  of that hyperlink, relative to the hyperlink element, and if that is
-  successful, must <a href=#navigate>navigate</a> a <a href=#browsing-context>browsing
-  context</a> to the resulting <a href=#absolute-url>absolute URL</a>. In the
-  case of server-side image maps, the URL of the hyperlink must
-  further have its <var><a href=#hyperlink-suffix>hyperlink suffix</a></var> appended to it.</p>
-
-  <p>If <a href=#resolve-a-url title="resolve a url">resolving</a> the
-  <a href=#url>URL</a> fails, the user agent may report the error to the
-  user in a user-agent-specific manner, may navigate to an error page
-  to report the error, or may ignore the error and do nothing.</p>
-
-  <p>If the user indicated a specific <a href=#browsing-context>browsing context</a>
-  when following the hyperlink, or if the user agent is configured to
-  follow hyperlinks by navigating a particular browsing context, then
-  that must be the <a href=#browsing-context>browsing context</a> that is
-  navigated.</p>
-
-  <p>Otherwise, if the hyperlink element is an <code><a href=#the-a-element>a</a></code> or
-  <code><a href=#the-area-element>area</a></code> element that has a <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute, then the
-  <a href=#browsing-context>browsing context</a> that is navigated must be chosen by
-  applying <a href=#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name>the rules for choosing a browsing context given a
-  browsing context name</a>, using the value of the <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute as the
-  browsing context name. If these rules result in the creation of a
-  new <a href=#browsing-context>browsing context</a>, it must be navigated with
-  <a href=#replacement-enabled>replacement enabled</a>.</p>
-
-  <p>Otherwise, if the hyperlink element is a <a href=#rel-sidebar-hyperlink title=rel-sidebar-hyperlink>sidebar hyperlink</a> and the user
-  agent implements a feature that can be considered a secondary
-  browsing context, such a secondary browsing context may be selected
-  as the browsing context to be navigated.</p>
-
-  <p>Otherwise, if the hyperlink element is an <code><a href=#the-a-element>a</a></code> or
-  <code><a href=#the-area-element>area</a></code> element with no <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute, but one of
-  the child nodes of <a href=#the-head-element>the <code>head</code> element</a> is a
-  <code><a href=#the-base-element>base</a></code> element with a <code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute, then the browsing
-  context that is navigated must be chosen by applying <a href=#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name>the rules
-  for choosing a browsing context given a browsing context name</a>,
-  using the value of the <code title=attr-base-target><a href=#attr-base-target>target</a></code>
-  attribute of the first such <code><a href=#the-base-element>base</a></code> element as the
-  browsing context name. If these rules result in the creation of a
-  new <a href=#browsing-context>browsing context</a>, it must be navigated with
-  <a href=#replacement-enabled>replacement enabled</a>.</p>
-
-  <p>Otherwise, the browsing context that must be navigated is the
-  same browsing context as the one which the hyperlink element itself
-  is in.</p>
-
-  <p>The navigation must be done with the <a href=#browsing-context>browsing
-  context</a> that contains the <code>Document</code> object with
-  which the hyperlink's element in question is associated as the
-  <a href=#source-browsing-context>source browsing context</a>.</p>
-
-
-  <h5 id=hyperlink-auditing><span class=secno>6.12.2.1 </span><dfn>Hyperlink auditing</dfn></h5>
-
-  <p>If an <code><a href=#the-a-element>a</a></code> or <code><a href=#the-area-element>area</a></code> hyperlink element has a
-  <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute, and the
-  user follows the hyperlink, and the hyperlink's <a href=#url>URL</a> can
-  be <a href=#resolve-a-url title="resolve a url">resolved</a>, relative to the
-  hyperlink element, without failure, then the user agent must take
-  the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute's value,
-  <a href=#split-a-string-on-spaces title="split a string on spaces">split that string on
-  spaces</a>, <a href=#resolve-a-url title="resolve a url">resolve</a> each
-  resulting token relative to the hyperlink element, and then should
-  send a request (as described below) to each of the resulting <a href=#absolute-url title="absolute URL">absolute URLs</a>. (Tokens that fail to
-  resolve are ignored.) This may be done in parallel with the primary
-  request, and is independent of the result of that request.</p>
-
-  <p>User agents should allow the user to adjust this behavior, for
-  example in conjunction with a setting that disables the sending of
-  HTTP <code title=http-referer>Referer</code> (sic) headers. Based
-  on the user's preferences, UAs may either <a href=#ignore>ignore</a> the
-  <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute altogether,
-  or selectively ignore URLs in the list (e.g. ignoring any
-  third-party URLs).</p>
-
-  <p>For URLs that are HTTP URLs, the requests must be performed by
-  <a href=#fetch title=fetch>fetching</a> the specified URLs using the
-  POST method, with an entity body with the <a href=#mime-type>MIME type</a>
-  <code><a href=#text/ping>text/ping</a></code> consisting of the four-character string
-  "<code title="">PING</code>", from the <a href=#origin>origin</a> of the
-  <code>Document</code> containing the <a href=#hyperlink>hyperlink</a>. <!--
-  not http-origin privacy sensitive --> All relevant cookie and HTTP
-  authentication headers must be included in the request. Which other
-  headers are required depends on the URLs involved.</p>
-
-  <dl class=switch><dt>If both the <a href="#the-document's-address" title="the document's address">address</a>
-   of the <code>Document</code> object containing the hyperlink being
-   audited and the ping URL have the <a href=#same-origin>same origin</a></dt>
-
-   <dd>The request must include a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP header with, as its
-   value, the <a href="#the-document's-address" title="the document's address">address</a> of
-   the document containing the hyperlink, and a <code title=http-ping-to><a href=#ping-to>Ping-To</a></code> HTTP header with, as its value,
-   the address of the <a href=#absolute-url>absolute URL</a> of the target of the
-   hyperlink. The request must not include a <code title=http-referer>Referer</code> (sic) HTTP header. <!-- because
-   otherwise it would look like a trustable same-origin POST --></dd>
-
-   <dt>Otherwise, if the origins are different, but the document
-   containing the hyperlink being audited was not retrieved over an
-   encrypted connection</dt>
-
-   <dd>The request must include a <code title=http-referer>Referer</code> (sic) HTTP header [sic] with,
-   as its value, the <a href="#the-document's-current-address" title="the document's current
-   address">current address</a> of the document containing the
-   hyperlink, a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP
-   header with the same value, and a <code title=http-ping-to><a href=#ping-to>Ping-To</a></code> HTTP header with, as its value,
-   the address of the target of the hyperlink.</dd>
-
-   <dt>Otherwise, the origins are different and the document
-   containing the hyperlink being audited was retrieved over an
-   encrypted connection</dt>
-
-   <dd>The request must include a <code title=http-ping-to><a href=#ping-to>Ping-To</a></code> HTTP header with, as its value,
-   the address of the target of the hyperlink. The request must
-   neither include a <code title=http-referer>Referer</code> (sic)
-   HTTP header nor include a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP header.</dd>
-
-  </dl><p class=note>To save bandwidth, implementors might also wish to
-  consider omitting optional headers such as <code>Accept</code> from
-  these requests.</p>
-
-  <p>User agents must, unless otherwise specified by the user, honor
-  the HTTP headers (including, in particular, redirects and HTTP
-  cookie headers), but must ignore any entity bodies returned in the
-  responses. User agents may close the connection prematurely once
-  they start receiving an entity body. <a href=#refsCOOKIES>[COOKIES]</a></p>
-
-  <p>For URLs that are not HTTP URLs, the requests must be performed
-  by <a href=#fetch title=fetch>fetching</a> the specified URL normally,
-  and discarding the results.</p>
-
-  <p>When the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute is
-  present, user agents should clearly indicate to the user that
-  following the hyperlink will also cause secondary requests to be
-  sent in the background, possibly including listing the actual target
-  URLs.</p>
-
-  <p class=example>For example, a visual user agent could include
-  the hostnames of the target ping URLs along with the hyperlink's
-  actual URL in a status bar or tooltip.</p>
-
-  </div>
-
-  <div class=note>
-
-   <p>The <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute is redundant
-   with pre-existing technologies like HTTP redirects and JavaScript
-   in allowing Web pages to track which off-site links are most
-   popular or allowing advertisers to track click-through rates.</p>
-
-   <p>However, the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute
-   provides these advantages to the user over those alternatives:</p>
-
-   <ul><li>It allows the user to see the final target URL
-    unobscured.</li>
-
-    <li>It allows the UA to inform the user about the out-of-band
-    notifications.</li>
-
-    <li>It allows the user to disable the notifications without losing
-    the underlying link functionality.</li>
-
-    <li>It allows the UA to optimize the use of available network
-    bandwidth so that the target page loads faster.</li>
-
-   </ul><p>Thus, while it is possible to track users without this feature,
-   authors are encouraged to use the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute so that the user
-   agent can make the user experience more transparent.</p>
-
-  </div>
-
-  <!-- resolving ping urls happens at audit time, so base URL changes
-  affect the values of ping attributes -->
-
-
-
-  <h4 id=linkTypes><span class=secno>6.12.3 </span>Link types</h4>
-
-  <p>The following table summarizes the link types that are defined by
-  this specification. This table is non-normative; the actual
-  definitions for the link types are given in the next few
-  sections.</p>
-
-  <p>In this section, the term <i>referenced document</i> refers to
-  the resource identified by the element representing the link, and
-  the term <i>current document</i> refers to the resource within
-  which the element representing the link finds itself.</p>
-
-  <div class=impl>
-
-  <p>To determine which link types apply to a <code><a href=#the-link-element>link</a></code>,
-  <code><a href=#the-a-element>a</a></code>, or <code><a href=#the-area-element>area</a></code> element, the element's <code title="">rel</code> attribute must be <a href=#split-a-string-on-spaces title="split a string on
-  spaces">split on spaces</a>. The resulting tokens are the link
-  types that apply to that element.</p>
-
-  </div>
-
-  <p>Except where otherwise specified, a keyword must not be specified
-  more than once per <code title=attr-rel-hyperlink>rel</code>
-  attribute.</p>
-
-  <p>The link types that contain no U+003A COLON characters (:),
-  including all those defined in this specification, are <a href=#ascii-case-insensitive>ASCII
-  case-insensitive</a> values<span class=impl>, and must be
-  compared as such</span>.</p>
-
-  <p class=example>Thus, <code title="">rel="next"</code> is the
-  same as <code title="">rel="NEXT"</code>.</p>
-
-  <table><thead><tr><th rowspan=2>Link type</th>
-     <th colspan=2>Effect on...</th>
-     <th rowspan=2>Brief description</th>
-    <tr><th><code><a href=#the-link-element>link</a></code></th>
-     <th><code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code></th>
-    <tbody><tr><td><code title=rel-alternate><a href=#link-type-alternate>alternate</a></code></td> <!-- second most used <link rel> value -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Gives alternate representations of the current document.</td>
-    <tr><td><code title=rel-archives><a href=#link-type-archives>archives</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Provides a link to a collection of records, documents, or other materials of historical interest.</td>
-    <tr><td><code title=rel-author><a href=#link-type-author>author</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Gives a link to the current document's author.</td>
-    <tr><td><code title=rel-bookmark><a href=#link-type-bookmark>bookmark</a></code></td> <!-- fourth most used <a rel> value -->
-     <td><em>not allowed</em></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Gives the permalink for the nearest ancestor section.</td>
-    </tr><!-- (commented out on the assumption that rel=contact is really XFN)
-    <tr>
-     <td><code title="rel-contact">contact</code></td> <!- 8th most used <a rel> value ->
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Gives a link to contact information for the current document.</td>
-    </tr>
---><tr><td><code title=rel-external><a href=#link-type-external>external</a></code></td> <!-- fifth and sixth most used <a rel> value (sixth is "external nofollow") -->
-     <td><em>not allowed</em></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the referenced document is not part of the same site as the current document.</td>
-    <tr><td><code title=rel-first><a href=#link-type-first>first</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the current document is a part of a series, and that the first document in the series is the referenced document.</td>
-    <tr><td><code title=rel-help><a href=#link-type-help>help</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Provides a link to context-sensitive help.</td>
-    <tr><td><code title=rel-icon><a href=#rel-icon>icon</a></code></td> <!-- link rel="shortcut icon" and its ilk are the fourth, sixth, and ninth most used values -->
-     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
-     <td><em>not allowed</em></td>
-     <td>Imports an icon to represent the current document.</td>
-    <tr><td><code title=rel-index><a href=#link-type-index>index</a></code></td> <!-- used more than "top" and "contents" on <link> (though on <a>, "contents" wins) -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Gives a link to the document that provides a table of contents or index listing the current document.</td>
-    <tr><td><code title=rel-last><a href=#link-type-last>last</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the current document is a part of a series, and that the last document in the series is the referenced document.</td>
-    <tr><td><code title=rel-license><a href=#link-type-license>license</a></code></td> <!-- seventh most used <a rel> value -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the main content of the current document is covered by the copyright license described by the referenced document.</td>
-    <tr><td><code title=rel-next><a href=#link-type-next>next</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the current document is a part of a series, and that the next document in the series is the referenced document.</td>
-    <tr><td><code title=rel-nofollow><a href=#link-type-nofollow>nofollow</a></code></td> <!-- most used <a rel> value (and sixth most used is "external nofollow") -->
-     <td><em>not allowed</em></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the current document's original author or publisher does not endorse the referenced document.</td>
-    <tr><td><code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code></td>
-     <td><em>not allowed</em></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Requires that the user agent not send an HTTP <code title=http-referer>Referer</code> (sic) header if the user follows the hyperlink.</td>
-    <tr><td><code title=rel-pingback><a href=#link-type-pingback>pingback</a></code></td>
-     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
-     <td><em>not allowed</em></td>
-     <td>Gives the address of the pingback server that handles pingbacks to the current document.</td>
-    <tr><td><code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code></td>
-     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
-     <td><em>not allowed</em></td>
-     <td>Specifies that the target resource should be preemptively cached.</td>
-    <tr><td><code title=rel-prev><a href=#link-type-prev>prev</a></code></td> <!-- prev is used more than previous -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the current document is a part of a series, and that the previous document in the series is the referenced document.</td>
-    <tr><td><code title=rel-search><a href=#link-type-search>search</a></code></td> <!-- used quite a bit -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Gives a link to a resource that can be used to search through the current document and its related pages.</td>
-    <tr><td><code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code></td> <!-- most commonly used <link rel> value, variants came in 7th, 8th, 12th, 17th... -->
-     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
-     <td><em>not allowed</em></td>
-     <td>Imports a stylesheet.</td>
-    <tr><td><code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code></td> <!-- used quite a bit -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Specifies that the referenced document, if retrieved, is intended to be shown in the browser's sidebar (if it has one).</td>
-    <tr><td><code title=rel-tag><a href=#link-type-tag>tag</a></code></td> <!-- second and third most used <a rel> value (third is technically "category tag"). -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Gives a tag (identified by the given address) that applies to the current document.</td>
-    <tr><td><code title=rel-up><a href=#link-type-up>up</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Provides a link to a document giving the context for the current document.</td>
-    </table><div class=impl>
-
-  <p>Some of the types described below list synonyms for these
-  values. These <!--<span class="impl">-->are to be handled as
-  specified by user agents, but<!--</span>--> must not be used in
-  documents.</p>
-
-  </div>
-
-  <!-- v2 ideas:
-   * rel="script"
-   * rel="related" // see also
-   * http://microformats.org/wiki/rel-enclosure
-  -->
-
-
-  <h5 id=link-type-alternate><span class=secno>6.12.3.1 </span>Link type "<dfn title=rel-alternate><code>alternate</code></dfn>"</h5>
-
-  <p>The <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword may be
-  used with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, if the <code title=attr-link-rel><a href=#attr-link-rel>rel</a></code> attribute does not also contain the
-  keyword <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>, it creates a
-  <a href=#hyperlink-link title="hyperlink link">hyperlink</a>; but if it
-  <em>does</em> also contain the keyword <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>, the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword instead modifies the
-  meaning of the <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>
-  keyword in the way described for that keyword, and the rest of this
-  subsection doesn't apply.</p>
-
-  <p>The <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword
-  indicates that the referenced document is an alternate
-  representation of the current document.</p>
-
-  <p>The nature of the referenced document is given by the <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code>, <code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code>, and <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code> attributes.</p>
-
-  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
-  used with the <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code>
-  attribute, it indicates that the referenced document is intended for
-  use with the media specified.</p>
-
-  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
-  used with the <code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code>
-  attribute, and that attribute's value differs from the <a href=#root-element>root
-  element</a>'s <a href=#language>language</a>, it indicates that the
-  referenced document is a translation.</p>
-
-  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
-  used with the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code>
-  attribute, it indicates that the referenced document is a
-  reformulation of the current document in the specified format.</p>
-
-  <p>The <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code>, <code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code>, and <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code> attributes can be combined
-  when specified with the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code>
-  keyword.</p>
-
-  <div class=example>
-
-   <p>For example, the following link is a French translation that
-   uses the PDF format:</p>
-
-   <pre><link rel=alternate type=application/pdf hreflang=fr href=manual-fr></pre>
-
-  </div>
-
-  <div class=impl>
-
-  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
-  used with the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code>
-  attribute set to the value <code title="">application/rss+xml</code>
-  or the value <code title="">application/atom+xml</code>, then it
-  indicates that the referenced document is a syndication feed (though
-  not necessarily syndicating exactly the same content as the current
-  page).</p>
-
-  <div class=impl>
-
-  <p>The first <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, or <code><a href=#the-area-element>area</a></code>
-  element in the document (in tree order) with the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword used with the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code> attribute set to the value
-  <code title="">application/rss+xml</code> or the value <code title="">application/atom+xml</code> must be treated as the default
-  syndication feed for the purposes of feed autodiscovery.</p>
-
-  <div class=example>
-   <p>The following <code><a href=#the-link-element>link</a></code> element gives the syndication
-   feed for the current page:</p>
-   <pre><link rel="alternate" type="application/atom+xml" href="data.xml"></pre>
-   <p>The following extract offers various different syndication
-   feeds:</p>
-   <pre><p>You can access the planets database using Atom feeds:</p>
-<ul>
- <li><a href="recently-visited-planets.xml" rel="alternate" type="application/atom+xml">Recently Visited Planets</a></li>
- <li><a href="known-bad-planets.xml" rel="alternate" type="application/atom+xml">Known Bad Planets</a></li>
- <li><a href="unexplored-planets.xml" rel="alternate" type="application/atom+xml">Unexplored Planets</a></li>
-</ul></pre>
-  </div>
-
-  </div>
-
-
-
-
-  </div>
-
-  <p>The <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> link
-  relationship is transitive — that is, if a document links to
-  two other documents with the link type "<code title=rel-alternate><a href=#link-type-alternate>alternate</a></code>", then, in addition to
-  implying that those documents are alternative representations of the
-  first document, it is also implying that those two documents are
-  alternative representations of each other.</p>
-
-
-  <h5 id=link-type-archives><span class=secno>6.12.3.2 </span>Link type "<dfn title=rel-archives><code>archives</code></dfn>"</h5>
-
-  <p>The <code title=rel-archives><a href=#link-type-archives>archives</a></code> keyword may be
-  used with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-archives><a href=#link-type-archives>archives</a></code> keyword indicates
-  that the referenced document describes a collection of records,
-  documents, or other materials of historical interest.</p>
-
-  <p class=example>A blog's index page could link to an index of the
-  blog's past posts with <code title="">rel="archives"</code>.</p>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keyword "<code title="">archive</code>" like the
-  <code title=rel-archives><a href=#link-type-archives>archives</a></code> keyword.</p>
-
-  </div>
-
-
-  <h5 id=link-type-author><span class=secno>6.12.3.3 </span>Link type "<dfn title=rel-author><code>author</code></dfn>"</h5>
-
-  <p>The <code title=rel-author><a href=#link-type-author>author</a></code> keyword may be
-  used with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>For <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements, the <code title=rel-author><a href=#link-type-author>author</a></code> keyword indicates that the
-  referenced document provides further information about the author of
-  the nearest <code><a href=#the-article-element>article</a></code> element ancestor of the element
-  defining the hyperlink, if there is one, or of the page as a whole,
-  otherwise.</p>
-
-  <p>For <code><a href=#the-link-element>link</a></code> elements, the <code title=rel-author><a href=#link-type-author>author</a></code> keyword indicates that the
-  referenced document provides further information about the author
-  for the page as a whole.</p>
-
-  <p class=note>The "referenced document" can be, and often is, a
-  <code title="">mailto:</code> URL giving the e-mail address of the
-  author. <a href=#refsMAILTO>[MAILTO]</a></p>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and
-  <code><a href=#the-area-element>area</a></code> elements that have a <code title="">rev</code>
-  attribute with the value "<code>made</code>" as having the <code title=rel-author><a href=#link-type-author>author</a></code> keyword specified as a link
-  relationship.</p>
-
-  </div>
-
-
-  <h5 id=link-type-bookmark><span class=secno>6.12.3.4 </span>Link type "<dfn title=rel-bookmark><code>bookmark</code></dfn>"</h5>
-
-  <p>The <code title=rel-bookmark><a href=#link-type-bookmark>bookmark</a></code> keyword may be
-  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
-
-  <p>The <code title=rel-bookmark><a href=#link-type-bookmark>bookmark</a></code> keyword gives a
-  permalink for the nearest ancestor <code><a href=#the-article-element>article</a></code> element of
-  the linking element in question, or of <a href=#associatedSection>the section the linking element is most
-  closely associated with</a>, if there are no ancestor
-  <code><a href=#the-article-element>article</a></code> elements.</p>
-
-  <div class=example>
-   <p>The following snippet has three permalinks. A user agent could
-   determine which permalink applies to which part of the spec by
-   looking at where the permalinks are given.</p>
-   <pre> ...
- <body>
-  <h1>Example of permalinks</h1>
-  <div id="a">
-   <h2>First example</h2>
-   <p><a href="a.html" rel="bookmark">This</a> permalink applies to
-   only the content from the first H2 to the second H2. The DIV isn't
-   exactly that section, but it roughly corresponds to it.</p>
-  </div>
-  <h2>Second example</h2>
-  <article id="b">
-   <p><a href="b.html" rel="bookmark">This</a> permalink applies to
-   the outer ARTICLE element (which could be, e.g., a blog post).</p>
-   <article id="c">
-    <p><a href="c.html" rel="bookmark">This</a> permalink applies to
-    the inner ARTICLE element (which could be, e.g., a blog comment).</p>
-   </article>
-  </article>
- </body>
- ...</pre>
-  </div>
-
-<!-- (commented out on the assumption that rel=contact is really XFN)
-  <h5>Link type "<dfn title="rel-contact"><code>contact</code></dfn>"</h5>
-
-  <p>The <code title="rel-contact">contact</code> keyword may be used
-  with <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>For <code>a</code> and <code>area</code> elements, the <code
-  title="rel-contact">contact</code> keyword indicates that the
-  referenced document provides further contact information for the
-  author of the nearest <code>article</code> element ancestor of the
-  element defining the hyperlink, if there is one, or of the page as a
-  whole, otherwise.</p>
-
-  <div class="impl">
-
-  <p>User agents must treat any hyperlink in an <code>address</code>
-  element as having the <code title="rel-contact">contact</code> link
-  type specified.</p>
-
-  </div>
-
-  <p>For <code>link</code> elements, the <code
-  title="rel-contact">contact</code> keyword indicates that the
-  referenced document provides further contact information for the
-  page as a whole.</p>
--->
-
-
-  <h5 id=link-type-external><span class=secno>6.12.3.5 </span>Link type "<dfn title=rel-external><code>external</code></dfn>"</h5>
-
-  <p>The <code title=rel-external><a href=#link-type-external>external</a></code> keyword may be
-  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
-
-  <p>The <code title=rel-external><a href=#link-type-external>external</a></code> keyword indicates
-  that the link is leading to a document that is not part of the site
-  that the current document forms a part of.</p>
-
-
-  <h5 id=link-type-help><span class=secno>6.12.3.6 </span>Link type "<dfn title=rel-help><code>help</code></dfn>"</h5>
-
-  <p>The <code title=rel-help><a href=#link-type-help>help</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>For <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements, the <code title=rel-help><a href=#link-type-help>help</a></code> keyword indicates that the referenced
-  document provides further help information for the parent of the
-  element defining the hyperlink, and its children.</p>
-
-  <div class=example>
-
-   <p>In the following example, the form control has associated
-   context-sensitive help. The user agent could use this information,
-   for example, displaying the referenced document if the user presses
-   the "Help" or "F1" key.</p>
-
-   <pre> <p><label> Topic: <input name=topic> <a href="help/topic.html" rel="help">(Help)</a></label></p></pre>
-
-  </div>
-
-  <p>For <code><a href=#the-link-element>link</a></code> elements, the <code title=rel-help><a href=#link-type-help>help</a></code> keyword indicates that the referenced
-  document provides help for the page as a whole.</p>
-
-
-  <h5 id=rel-icon><span class=secno>6.12.3.7 </span>Link type "<dfn title=rel-icon><code>icon</code></dfn>"</h5>
-
-  <p>The <code title=rel-icon><a href=#rel-icon>icon</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a>.</p>
-
-  <div class=impl>
-
-  <p>The specified resource is an icon representing the page or site,
-  and should be used by the user agent when representing the page in
-  the user interface.</p>
-
-  </div>
-
-  <p>Icons could be auditory icons, visual icons, or other kinds of
-  icons. <span class=impl>If multiple icons are provided, the user
-  agent must select the most appropriate icon according to the <code title=attr-link-type><a href=#attr-link-type>type</a></code>, <code title=attr-link-media><a href=#attr-link-media>media</a></code>, and <code title=attr-link-sizes><a href=#attr-link-sizes>sizes</a></code> attributes. If there are
-  multiple equally appropriate icons, user agents must use the last
-  one declared in <a href=#tree-order>tree order</a>. If the user agent tries to
-  use an icon but that icon is determined, upon closer examination, to
-  in fact be inappropriate (e.g. because it uses an unsupported
-  format), then the user agent must try the next-most-appropriate icon
-  as determined by the attributes.</span></p>
-
-  <div class=impl>
-
-  <p>There is no default type for resources given by the <code title=rel-icon><a href=#rel-icon>icon</a></code> keyword. However, for the purposes of
-  <a href=#concept-link-type-sniffing>determining the type of the
-  resource</a>, user agents must expect the resource to be an image.</p>
-
-  </div>
-
-  <p>The <dfn id=attr-link-sizes title=attr-link-sizes><code>sizes</code></dfn>
-  attribute gives the sizes of icons for visual media.</p>
-
-  <p>If specified, the attribute must have a value that is an
-  <a href=#unordered-set-of-unique-space-separated-tokens>unordered set of unique space-separated tokens</a>. The
-  values must all be either <code title=attr-link-sizes-any><a href=#attr-link-sizes-any>any</a></code> or a value that consists of
-  two <a href=#valid-non-negative-integer title="valid non-negative integer">valid non-negative
-  integers</a> that do not have a leading U+0030 DIGIT ZERO (0)
-  character and that are separated by a single U+0078 LATIN SMALL
-  LETTER X character (x).</p>
-
-  <p>The keywords represent icon sizes.</p>
-
-  <div class=impl>
-
-  <p>To parse and process the attribute's value, the user agent must
-  first <a href=#split-a-string-on-spaces title="split a string on spaces">split the attribute's
-  value on spaces</a>, and must then parse each resulting keyword
-  to determine what it represents.</p>
-
-  </div>
-
-  <p>The <dfn id=attr-link-sizes-any title=attr-link-sizes-any><code>any</code></dfn> keyword
-  represents that the resource contains a scalable icon, e.g. as
-  provided by an SVG image.</p>
-
-  <div class=impl>
-
-  <p>Other keywords must be further parsed as follows to determine
-  what they represent:</p>
-
-  <ul><li><p>If the keyword doesn't contain exactly one U+0078 LATIN
-   SMALL LETTER X character (x), then this keyword doesn't represent
-   anything. Abort these steps for that keyword.</li>
-
-   <li><p>Let <var title="">width string</var> be the string before
-   the "<code title="">x</code>".</li>
-
-   <li><p>Let <var title="">height string</var> be the string after the
-   "<code title="">x</code>".</li>
-
-   <li><p>If either <var title="">width string</var> or <var title="">height string</var> start with a U+0030 DIGIT ZERO (0)
-   character or contain any characters other than characters in the
-   range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then this
-   keyword doesn't represent anything. Abort these steps for that
-   keyword.</li>
-
-   <li><p>Apply the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative
-   integers</a> to <var title="">width string</var> to obtain <var title="">width</var>.</li>
-
-   <li><p>Apply the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative
-   integers</a> to <var title="">height string</var> to obtain <var title="">height</var>.</li>
-
-   <li><p>The keyword represents that the resource contains a bitmap
-   icon with a width of <var title="">width</var> device pixels and a
-   height of <var title="">height</var> device pixels.</li>
-
-  </ul></div>
-
-  <p>The keywords specified on the <code title=attr-link-sizes><a href=#attr-link-sizes>sizes</a></code> attribute must not represent
-  icon sizes that are not actually available in the linked
-  resource.</p>
-
-  <div class=impl>
-
-  <p>If the attribute is not specified, then the user agent must
-  assume that the given icon is appropriate, but less appropriate than
-  an icon of a known and appropriate size.</p>
-
-  </div>
-
-  <div class=example>
-
-   <p>The following snippet shows the top part of an application with
-   several icons.</p>
-
-   <pre><!DOCTYPE HTML>
-<html>
- <head>
-  <title>lsForums — Inbox</title>
-  <link rel=icon href=favicon.png sizes="16x16" type="image/png">
-  <link rel=icon href=windows.ico sizes="32x32 48x48" type="image/vnd.microsoft.icon">
-  <link rel=icon href=mac.icns sizes="128x128 512x512 8192x8192 32768x32768">
-  <link rel=icon href=iphone.png sizes="59x60" type="image/png">
-  <link rel=icon href=gnome.svg sizes="any" type="image/svg+xml">
-  <link rel=stylesheet href=lsforums.css>
-  <script src=lsforums.js></script>
-  <meta name=application-name content="lsForums">
- </head>
- <body>
-  ...</pre>
-
-  </div>
-
-
-  <h5 id=link-type-license><span class=secno>6.12.3.8 </span>Link type "<dfn title=rel-license><code>license</code></dfn>"</h5>
-
-  <p>The <code title=rel-license><a href=#link-type-license>license</a></code> keyword may be used
-  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-license><a href=#link-type-license>license</a></code> keyword indicates
-  that the referenced document provides the copyright license terms
-  under which the main content of the current document is
-  provided.</p>
-
-  <p>This specification does not specify how to distinguish between
-  the main content of a document and content that is not deemed to be
-  part of that main content. The distinction should be made clear to
-  the user.</p>
-
-  <div class=example>
-
-   <p>Consider a photo sharing site. A page on that site might
-   describe and show a photograph, and the page might be marked up as
-   follows:</p>
-
-   <pre><!DOCTYPE HTML>
-<html>
- <head>
-  <title>Exampl Pictures: Kissat</title>
-  <link rel="stylesheet" href="/style/default">
- </head>
- <body>
-  <h1>Kissat</h1>
-  <nav>
-   <a href="../">Return to photo index</a>
-  </nav>
-  <figure>
-   <img src="/pix/39627052_fd8dcd98b5.jpg">
-   <figcaption>Kissat</figcaption>
-  </figure>
-  <p>One of them has six toes!</p>
-  <p><small><a rel="license" href="http://www.opensource.org/licenses/mit-license.php">MIT Licensed</a></small></p>
-  <footer>
-   <a href="/">Home</a> | <a href="../">Photo index</a>
-   <p><small>© copyright 2009 Exampl Pictures. All Rights Reserved.</small></p>
-  </footer>
- </body>
-</html></pre>
-
-   <p>In this case the <code title=rel-license><a href=#link-type-license>license</a></code>
-   applies to just the photo (the main content of the document), not
-   the whole document. In particular not the design of the page
-   itself, which is covered by the copyright given at the bottom of
-   the document. This could be made clearer in the styling
-   (e.g. making the license link prominently positioned near the
-   photograph, while having the page copyright in light small text at
-   the foot of the page.</p>
-
-  </div>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keyword "<code title="">copyright</code>" like
-  the <code title=rel-license><a href=#link-type-license>license</a></code> keyword.</p>
-
-  </div>
-
-
-  <h5 id=link-type-nofollow><span class=secno>6.12.3.9 </span>Link type "<dfn title=rel-nofollow><code>nofollow</code></dfn>"</h5>
-
-  <p>The <code title=rel-nofollow><a href=#link-type-nofollow>nofollow</a></code> keyword may be
-  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
-
-  <p>The <code title=rel-nofollow><a href=#link-type-nofollow>nofollow</a></code> keyword indicates
-  that the link is not endorsed by the original author or publisher of
-  the page, or that the link to the referenced document was included
-  primarily because of a commercial relationship between people
-  affiliated with the two pages.</p>
-
-
-  <h5 id=link-type-noreferrer><span class=secno>6.12.3.10 </span>Link type "<dfn title=rel-noreferrer><code>noreferrer</code></dfn>"</h5>
-
-  <p>The <code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code> keyword may be
-  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
-
-  <p>It indicates that no referrer information is to be leaked when
-  following the link.</p>
-
-  <div class=impl>
-
-  <p>If a user agent follows a link defined by an <code><a href=#the-a-element>a</a></code> or
-  <code><a href=#the-area-element>area</a></code> element that has the <code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code> keyword, the user agent
-  must not include a <code title=http-referer>Referer</code> (sic)
-  HTTP header (<a href=#concept-http-equivalent-headers title=concept-http-equivalent-headers>or
-  equivalent</a> for other protocols) in the request.</p>
-
-  <p>This keyword also <a href=#noopener>causes the <code title=dom-opener>opener</code> attribute to remain null</a> if the
-  hyperlink creates a new <a href=#browsing-context>browsing context</a>.</p>
-
-  </div>
-
-  <!-- v2: Would be nice to apply this to other elements too,
-  e.g. letting <img> or CSS or <video> hide the referrer -->
-
-
-  <h5 id=link-type-pingback><span class=secno>6.12.3.11 </span>Link type "<dfn title=rel-pingback><code>pingback</code></dfn>"</h5>
-
-  <p>The <code title=rel-pingback><a href=#link-type-pingback>pingback</a></code> keyword may be
-  used with <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a>.</p>
-
-  <p>For the semantics of the <code title=rel-pingback><a href=#link-type-pingback>pingback</a></code> keyword, see the Pingback 1.0
-  specification. <a href=#refsPINGBACK>[PINGBACK]</a></p>
-
-
-  <h5 id=link-type-prefetch><span class=secno>6.12.3.12 </span>Link type "<dfn title=rel-prefetch><code>prefetch</code></dfn>"</h5>
-
-  <p>The <code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code> keyword may be
-  used with <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a>.</p>
-
-  <p>The <code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code> keyword indicates
-  that preemptively fetching and caching the specified resource is
-  likely to be beneficial, as it is highly likely that the user will
-  require this resource.</p>
-
-  <p>There is no default type for resources given by the <code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code> keyword.</p>
-
-
-  <h5 id=link-type-search><span class=secno>6.12.3.13 </span>Link type "<dfn title=rel-search><code>search</code></dfn>"</h5>
-
-  <p>The <code title=rel-search><a href=#link-type-search>search</a></code> keyword may be used
-  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-search><a href=#link-type-search>search</a></code> keyword indicates that
-  the referenced document provides an interface specifically for
-  searching the document and its related resources.</p>
-
-  <p class=note>OpenSearch description documents can be used with
-  <code><a href=#the-link-element>link</a></code> elements and the <code title=rel-search><a href=#link-type-search>search</a></code> link type to enable user agents to
-  autodiscover search interfaces. <a href=#refsOPENSEARCH>[OPENSEARCH]</a></p>
-
-
-  <h5 id=link-type-stylesheet><span class=secno>6.12.3.14 </span>Link type "<dfn title=rel-stylesheet><code>stylesheet</code></dfn>"</h5>
-
-  <p>The <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code> keyword may be
-  used with <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a> that
-  contributes to the <a href=#styling>styling processing model</a>.</p>
-
-  <p>The specified resource is a resource that describes how to
-  present the document. Exactly how the resource is to be processed
-  depends on the actual type of the resource.</p>
-
-  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
-  also specified on the <code><a href=#the-link-element>link</a></code> element, then <dfn id=the-link-is-an-alternative-stylesheet>the link
-  is an alternative stylesheet</dfn>; in this case, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute must be specified on the
-  <code><a href=#the-link-element>link</a></code> element, with a non-empty value.</p>
-
-  <p>The default type for resources given by the <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code> keyword is <code title="">text/css</code>.</p>
-
-  <div class=impl>
-
-  <p><strong>Quirk</strong>: If the document has been set to
-  <a href=#quirks-mode>quirks mode</a> and the <a href=#content-type title=Content-Type>Content-Type metadata</a> of the external
-  resource is not a supported style sheet type, the user agent must
-  instead assume it to be <code title="">text/css</code>.</p>
-
-  </div>
-
-
-  <h5 id=link-type-sidebar><span class=secno>6.12.3.15 </span>Link type "<dfn title=rel-sidebar><code>sidebar</code></dfn>"</h5>
-
-  <p>The <code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code> keyword may be used
-  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code> keyword indicates
-  that the referenced document, if retrieved, is intended to be shown
-  in a <a href=#secondary-browsing-context>secondary browsing context</a> (if possible), instead
-  of in the current <a href=#browsing-context>browsing context</a>.</p>
-
-  <p>A <a href=#hyperlink title=hyperlink>hyperlink element</a> with the <code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code> keyword specified is a <dfn id=rel-sidebar-hyperlink title=rel-sidebar-hyperlink>sidebar hyperlink</dfn>.</p>
-
-
-  <h5 id=link-type-tag><span class=secno>6.12.3.16 </span>Link type "<dfn title=rel-tag><code>tag</code></dfn>"</h5>
-
-  <p>The <code title=rel-tag><a href=#link-type-tag>tag</a></code> keyword may be used
-  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-tag><a href=#link-type-tag>tag</a></code> keyword indicates that the
-  <em>tag</em> that the referenced document represents applies to the
-  current document.</p>
-
-  <p class=note>Since it indicates that the tag <em>applies to the
-  current document</em>, it would be inappropriate to use this keyword
-  in the markup of a <a href=#tag-cloud>tag cloud</a>, which lists
-  the popular tag across a set of pages.</p>
-
-
-  <h5 id=hierarchical-link-types><span class=secno>6.12.3.17 </span>Hierarchical link types</h5>
-
-  <p>Some documents form part of a hierarchical structure of
-  documents.</p>
-
-  <p>A hierarchical structure of documents is one where each document
-  can have various subdocuments. The document of which a document is a
-  subdocument is said to be the document's <em>parent</em>. A document
-  with no parent forms the top of the hierarchy.</p>
-
-  <p>A document may be part of multiple hierarchies.</p>
-
-
-  <h6 id=link-type-index><span class=secno>6.12.3.17.1 </span>Link type "<dfn title=rel-index><code>index</code></dfn>"</h6>
-
-  <p>The <code title=rel-index><a href=#link-type-index>index</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-index><a href=#link-type-index>index</a></code> keyword indicates that
-  the document is part of a hierarchical structure, and that the link
-  is leading to the document that is the top of the hierarchy. It
-  conveys more information when used with the <code title=rel-up><a href=#link-type-up>up</a></code> keyword (q.v.).</p>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keywords "<code title="">top</code>", "<code title="">contents</code>", and "<code title="">toc</code>" like the
-  <code title=rel-index><a href=#link-type-index>index</a></code> keyword.</p>
-
-  </div>
-
-
-  <h6 id=link-type-up><span class=secno>6.12.3.17.2 </span>Link type "<dfn title=rel-up><code>up</code></dfn>"</h6>
-
-  <p>The <code title=rel-up><a href=#link-type-up>up</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-up><a href=#link-type-up>up</a></code> keyword indicates that the
-  document is part of a hierarchical structure, and that the link is
-  leading to a document that is an ancestor of the current
-  document.</p>
-
-  <p>The <code title=rel-up><a href=#link-type-up>up</a></code> keyword may be repeated within
-  a <code title=attr-hyperlink-rel><a href=#attr-hyperlink-rel>rel</a></code> attribute to indicate
-  the hierarchical distance from the current document to the
-  referenced document. If it occurs only once, then the link is
-  leading to the current document's parent; each additional occurrence
-  of the keyword represents one further level. If the <code title=rel-index><a href=#link-type-index>index</a></code> keyword is also present, then the
-  number of <code title=rel-up><a href=#link-type-up>up</a></code> keywords is the depth of
-  the current page relative to the top of the hierarchy. Only one link
-  is created for the set of one or more <code title=rel-up><a href=#link-type-up>up</a></code>
-  keywords and, if present, the <code title=rel-index><a href=#link-type-index>index</a></code>
-  keyword.</p>
-
-  <p>If the page is part of multiple hierarchies, then they should be
-  described in different <a href=#paragraph title=paragraph>paragraphs</a>. <span class=impl>User agents
-  must scope any interpretation of the <code title=rel-up><a href=#link-type-up>up</a></code>
-  and <code title=rel-index><a href=#link-type-index>index</a></code> keywords together
-  indicating the depth of the hierarchy to the <a href=#paragraph>paragraph</a>
-  in which the link finds itself, if any, or to the document
-  otherwise.</span></p>
-
-  <div class=impl>
-
-  <p>When two links have both the <code title=rel-up><a href=#link-type-up>up</a></code> and
-  <code title=rel-index><a href=#link-type-index>index</a></code> keywords specified together in
-  the same scope and contradict each other by having a different
-  number of <code title=rel-up><a href=#link-type-up>up</a></code> keywords, the link with the
-  greater number of <code title=rel-up><a href=#link-type-up>up</a></code> keywords must be
-  taken as giving the depth of the document.</p>
-
-  </div>
-
-  <div class=example>
-
-   <p>This can be used to mark up a navigation style sometimes known
-   as bread crumbs. In the following example, the current page can be
-   reached via two paths.</p>
-
-   <pre><nav>
- <p>
-  <a href="/" rel="index up up up">Main</a> >
-  <a href="/products/" rel="up up">Products</a> >
-  <a href="/products/dishwashers/" rel="up">Dishwashers</a> >
-  <a>Second hand</a>
- </p>
- <p>
-  <a href="/" rel="index up up">Main</a> >
-  <a href="/second-hand/" rel="up">Second hand</a> >
-  <a>Dishwashers</a>
- </p>
-</nav></pre>
-
-  </div>
-
-  <p class=note>The <code title=dom-a-relList><a href=#dom-a-rellist>relList</a></code> IDL
-  attribute (e.g. on the <code><a href=#the-a-element>a</a></code> element) does not currently
-  represent multiple <code title=rel-up><a href=#link-type-up>up</a></code> keywords (the
-  interface hides duplicates).</p>
-
-
-  <h5 id=sequential-link-types><span class=secno>6.12.3.18 </span>Sequential link types</h5>
-
-  <p>Some documents form part of a sequence of documents.</p>
-
-  <p>A sequence of documents is one where each document can have a
-  <em>previous sibling</em> and a <em>next sibling</em>. A document
-  with no previous sibling is the start of its sequence, a document
-  with no next sibling is the end of its sequence.</p>
-
-  <p>A document may be part of multiple sequences.</p>
-
-
-  <h6 id=link-type-first><span class=secno>6.12.3.18.1 </span>Link type "<dfn title=rel-first><code>first</code></dfn>"</h6>
-
-  <p>The <code title=rel-first><a href=#link-type-first>first</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-first><a href=#link-type-first>first</a></code> keyword indicates that
-  the document is part of a sequence, and that the link is leading to
-  the document that is the first logical document in the sequence.</p>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keywords "<code title="">begin</code>" and
-  "<code title="">start</code>" like the <code title=rel-first><a href=#link-type-first>first</a></code> keyword.</p>
-
-  </div>
-
-
-  <h6 id=link-type-last><span class=secno>6.12.3.18.2 </span>Link type "<dfn title=rel-last><code>last</code></dfn>"</h6>
-
-  <p>The <code title=rel-last><a href=#link-type-last>last</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-last><a href=#link-type-last>last</a></code> keyword indicates that the
-  document is part of a sequence, and that the link is leading to the
-  document that is the last logical document in the sequence.</p>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keyword "<code title="">end</code>" like the
-  <code title=rel-last><a href=#link-type-last>last</a></code> keyword.</p>
-
-  </div>
-
-
-  <h6 id=link-type-next><span class=secno>6.12.3.18.3 </span>Link type "<dfn title=rel-next><code>next</code></dfn>"</h6>
-
-  <p>The <code title=rel-next><a href=#link-type-next>next</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-next><a href=#link-type-next>next</a></code> keyword indicates that the
-  document is part of a sequence, and that the link is leading to the
-  document that is the next logical document in the sequence.</p>
-
-
-  <h6 id=link-type-prev><span class=secno>6.12.3.18.4 </span>Link type "<dfn title=rel-prev><code>prev</code></dfn>"</h6>
-
-  <p>The <code title=rel-prev><a href=#link-type-prev>prev</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-prev><a href=#link-type-prev>prev</a></code> keyword indicates that the
-  document is part of a sequence, and that the link is leading to the
-  document that is the previous logical document in the sequence.</p>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keyword "<code title="">previous</code>" like
-  the <code title=rel-prev><a href=#link-type-prev>prev</a></code> keyword.</p>
-
-  </div>
-
-
-  <h5 id=other-link-types><span class=secno>6.12.3.19 </span>Other link types</h5>
-
-  <p><dfn id=concept-rel-extensions title=concept-rel-extensions>Extensions to the predefined
-  set of link types</dfn> may be registered in the <a href=http://wiki.whatwg.org/wiki/RelExtensions>WHATWG Wiki
-  RelExtensions page</a>. <a href=#refsWHATWGWIKI>[WHATWGWIKI]</a></p>
-
-  <p>Anyone is free to edit the WHATWG Wiki RelExtensions page at any
-  time to add a type. Extension types must be specified with the
-  following information:</p>
-
-  <dl><dt>Keyword</dt>
-
-   <dd>
-
-    <p>The actual value being defined. The value should not be
-    confusingly similar to any other defined value (e.g. differing
-    only in case).</p>
-
-    <p>If the value contains a U+003A COLON character (:), it must
-    also be an <a href=#absolute-url>absolute URL</a>.</p>
-
-   </dd>
-
-
-   <dt>Effect on... <code><a href=#the-link-element>link</a></code></dt>
-
-   <dd>
-
-    <p>One of the following:</p>
-
-    <dl><dt>not allowed</dt>
-
-     <dd>The keyword is not allowed to be specified on
-     <code><a href=#the-link-element>link</a></code> elements.</dd>
-
-     <dt>Hyperlink</dt>
-
-     <dd>The keyword may be specified on a <code><a href=#the-link-element>link</a></code> element;
-     it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink
-     link</a>.</dd>
-
-     <dt>External Resource</dt>
-
-     <dd>The keyword may be specified on a <code><a href=#the-link-element>link</a></code> element;
-     it creates a <a href=#external-resource-link title="external resource link">external
-     resource link</a>.</dd>
-
-    </dl></dd>
-
-
-   <dt>Effect on... <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code></dt>
-
-   <dd>
-
-    <p>One of the following:</p>
-
-    <dl><dt>not allowed</dt>
-
-     <dd>The keyword is not allowed to be specified on <code><a href=#the-a-element>a</a></code>
-     and <code><a href=#the-area-element>area</a></code> elements.</dd>
-
-     <dt>Hyperlink</dt>
-
-     <dd>The keyword may be specified on <code><a href=#the-a-element>a</a></code> and
-     <code><a href=#the-area-element>area</a></code> elements.</dd>
-
-    </dl></dd>
-
-
-   <dt>Brief description</dt>
-
-   <dd><p>A short non-normative description of what the keyword's
-   meaning is.</dd>
-
-
-   <dt>Specification</dt>
-
-   <dd><p>A link to a more detailed description of the keyword's
-   semantics and requirements. It could be another page on the Wiki,
-   or a link to an external page.</dd>
-
-
-   <dt>Synonyms</dt>
-
-   <dd><p>A list of other keyword values that have exactly the same
-   processing requirements. Authors should not use the values defined
-   to be synonyms, they are only intended to allow user agents to
-   support legacy content. Anyone may remove synonyms that are not
-   used in practice; only names that need to be processed as synonyms
-   for compatibility with legacy content are to be registered in this
-   way.</dd>
-
-
-   <dt>Status</dt>
-
-   <dd>
-
-    <p>One of the following:</p>
-
-    <dl><dt>Proposed</dt>
-
-     <dd>The keyword has not received wide peer review and
-     approval. Someone has proposed it and is, or soon will be, using
-     it.</dd>
-
-     <dt>Ratified</dt>
-
-     <dd>The keyword has received wide peer review and approval. It
-     has a specification that unambiguously defines how to handle
-     pages that use the keyword, including when they use it in
-     incorrect ways.</dd>
-
-     <dt>Discontinued</dt>
-
-     <dd>The keyword has received wide peer review and it has been
-     found wanting. Existing pages are using this keyword, but new
-     pages should avoid it. The "brief description" and
-     "specification" entries will give details of what authors should
-     use instead, if anything.</dd>
-
-    </dl><p>If a keyword is found to be redundant with existing values, it
-    should be removed and listed as a synonym for the existing
-    value.</p>
-
-    <p>If a keyword is registered in the "proposed" state for a
-    period of a month or more without being used or specified, then it
-    may be removed from the registry.</p>
-
-    <p>If a keyword is added with the "proposed" status and found to
-    be redundant with existing values, it should be removed and listed
-    as a synonym for the existing value. If a keyword is added with
-    the "proposed" status and found to be harmful, then it should be
-    changed to "discontinued" status.</p>
-
-    <p>Anyone can change the status at any time, but should only do so
-    in accordance with the definitions above.</p>
-
-   </dd>
-
-  </dl><div class=impl>
-
-  <p>Conformance checkers must use the information given on the WHATWG
-  Wiki RelExtensions page to establish if a value is allowed or not:
-  values defined in this specification or marked as "proposed" or
-  "ratified" must be accepted when used on the elements for which they
-  apply as described in the "Effect on..." field, whereas values
-  marked as "discontinued" or not listed in either this specification
-  or on the aforementioned page must be rejected as invalid.
-  Conformance checkers may cache this information (e.g. for
-  performance reasons or to avoid the use of unreliable network
-  connectivity).</p>
-
-  <p>When an author uses a new type not defined by either this
-  specification or the Wiki page, conformance checkers should offer to
-  add the value to the Wiki, with the details described above, with
-  the "proposed" status.</p>
-
-  </div>
-
-  <p>Types defined as extensions in the <a href=http://wiki.whatwg.org/wiki/RelExtensions>WHATWG Wiki
-  RelExtensions page</a> with the status "proposed" or "ratified" may
-  be used with the <code title="">rel</code> attribute on
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code> elements in
-  accordance to the "Effect on..." field. <a href=#refsWHATWGWIKI>[WHATWGWIKI]</a></p>
-
-
-
   <h2 id=webstorage><span class=secno>7 </span>Web Storage</h2>
 
 

Modified: index
===================================================================
--- index	2010-02-05 23:09:54 UTC (rev 4665)
+++ index	2010-02-05 23:16:41 UTC (rev 4666)
@@ -605,15 +605,50 @@
      <li><a href=#devices><span class=secno>4.11.6 </span>The <code>device</code> element</a>
       <ol>
        <li><a href=#stream-api><span class=secno>4.11.6.1 </span>Stream API</a></ol></ol></li>
-   <li><a href=#common-idioms-without-dedicated-elements><span class=secno>4.12 </span>Common idioms without dedicated elements</a>
+   <li><a href=#links><span class=secno>4.12 </span>Links</a>
     <ol>
-     <li><a href=#tag-clouds><span class=secno>4.12.1 </span>Tag clouds</a></li>
-     <li><a href=#conversations><span class=secno>4.12.2 </span>Conversations</a></li>
-     <li><a href=#footnotes><span class=secno>4.12.3 </span>Footnotes</a></ol></li>
-   <li><a href=#matching-html-elements-using-selectors><span class=secno>4.13 </span>Matching HTML elements using selectors</a>
+     <li><a href=#hyperlink-elements><span class=secno>4.12.1 </span>Hyperlink elements</a></li>
+     <li><a href=#following-hyperlinks><span class=secno>4.12.2 </span>Following hyperlinks</a>
+      <ol>
+       <li><a href=#hyperlink-auditing><span class=secno>4.12.2.1 </span>Hyperlink auditing</a></ol></li>
+     <li><a href=#linkTypes><span class=secno>4.12.3 </span>Link types</a>
+      <ol>
+       <li><a href=#link-type-alternate><span class=secno>4.12.3.1 </span>Link type "<code>alternate</code>"</a></li>
+       <li><a href=#link-type-archives><span class=secno>4.12.3.2 </span>Link type "<code>archives</code>"</a></li>
+       <li><a href=#link-type-author><span class=secno>4.12.3.3 </span>Link type "<code>author</code>"</a></li>
+       <li><a href=#link-type-bookmark><span class=secno>4.12.3.4 </span>Link type "<code>bookmark</code>"</a></li>
+       <li><a href=#link-type-external><span class=secno>4.12.3.5 </span>Link type "<code>external</code>"</a></li>
+       <li><a href=#link-type-help><span class=secno>4.12.3.6 </span>Link type "<code>help</code>"</a></li>
+       <li><a href=#rel-icon><span class=secno>4.12.3.7 </span>Link type "<code>icon</code>"</a></li>
+       <li><a href=#link-type-license><span class=secno>4.12.3.8 </span>Link type "<code>license</code>"</a></li>
+       <li><a href=#link-type-nofollow><span class=secno>4.12.3.9 </span>Link type "<code>nofollow</code>"</a></li>
+       <li><a href=#link-type-noreferrer><span class=secno>4.12.3.10 </span>Link type "<code>noreferrer</code>"</a></li>
+       <li><a href=#link-type-pingback><span class=secno>4.12.3.11 </span>Link type "<code>pingback</code>"</a></li>
+       <li><a href=#link-type-prefetch><span class=secno>4.12.3.12 </span>Link type "<code>prefetch</code>"</a></li>
+       <li><a href=#link-type-search><span class=secno>4.12.3.13 </span>Link type "<code>search</code>"</a></li>
+       <li><a href=#link-type-stylesheet><span class=secno>4.12.3.14 </span>Link type "<code>stylesheet</code>"</a></li>
+       <li><a href=#link-type-sidebar><span class=secno>4.12.3.15 </span>Link type "<code>sidebar</code>"</a></li>
+       <li><a href=#link-type-tag><span class=secno>4.12.3.16 </span>Link type "<code>tag</code>"</a></li>
+       <li><a href=#hierarchical-link-types><span class=secno>4.12.3.17 </span>Hierarchical link types</a>
+        <ol>
+         <li><a href=#link-type-index><span class=secno>4.12.3.17.1 </span>Link type "<code>index</code>"</a></li>
+         <li><a href=#link-type-up><span class=secno>4.12.3.17.2 </span>Link type "<code>up</code>"</a></ol></li>
+       <li><a href=#sequential-link-types><span class=secno>4.12.3.18 </span>Sequential link types</a>
+        <ol>
+         <li><a href=#link-type-first><span class=secno>4.12.3.18.1 </span>Link type "<code>first</code>"</a></li>
+         <li><a href=#link-type-last><span class=secno>4.12.3.18.2 </span>Link type "<code>last</code>"</a></li>
+         <li><a href=#link-type-next><span class=secno>4.12.3.18.3 </span>Link type "<code>next</code>"</a></li>
+         <li><a href=#link-type-prev><span class=secno>4.12.3.18.4 </span>Link type "<code>prev</code>"</a></ol></li>
+       <li><a href=#other-link-types><span class=secno>4.12.3.19 </span>Other link types</a></ol></ol></li>
+   <li><a href=#common-idioms-without-dedicated-elements><span class=secno>4.13 </span>Common idioms without dedicated elements</a>
     <ol>
-     <li><a href=#selectors><span class=secno>4.13.1 </span>Case-sensitivity</a></li>
-     <li><a href=#pseudo-classes><span class=secno>4.13.2 </span>Pseudo-classes</a></ol></ol></li>
+     <li><a href=#tag-clouds><span class=secno>4.13.1 </span>Tag clouds</a></li>
+     <li><a href=#conversations><span class=secno>4.13.2 </span>Conversations</a></li>
+     <li><a href=#footnotes><span class=secno>4.13.3 </span>Footnotes</a></ol></li>
+   <li><a href=#matching-html-elements-using-selectors><span class=secno>4.14 </span>Matching HTML elements using selectors</a>
+    <ol>
+     <li><a href=#selectors><span class=secno>4.14.1 </span>Case-sensitivity</a></li>
+     <li><a href=#pseudo-classes><span class=secno>4.14.2 </span>Pseudo-classes</a></ol></ol></li>
  <li><a href=#microdata><span class=secno>5 </span>Microdata</a>
   <ol>
    <li><a href=#introduction-1><span class=secno>5.1 </span>Introduction</a>
@@ -757,42 +792,7 @@
      <li><a href=#unloading-documents><span class=secno>6.11.10 </span>Unloading documents</a>
       <ol>
        <li><a href=#event-definition><span class=secno>6.11.10.1 </span>Event definition</a></ol></li>
-     <li><a href=#aborting-a-document-load><span class=secno>6.11.11 </span>Aborting a document load</a></ol></li>
-   <li><a href=#links><span class=secno>6.12 </span>Links</a>
-    <ol>
-     <li><a href=#hyperlink-elements><span class=secno>6.12.1 </span>Hyperlink elements</a></li>
-     <li><a href=#following-hyperlinks><span class=secno>6.12.2 </span>Following hyperlinks</a>
-      <ol>
-       <li><a href=#hyperlink-auditing><span class=secno>6.12.2.1 </span>Hyperlink auditing</a></ol></li>
-     <li><a href=#linkTypes><span class=secno>6.12.3 </span>Link types</a>
-      <ol>
-       <li><a href=#link-type-alternate><span class=secno>6.12.3.1 </span>Link type "<code>alternate</code>"</a></li>
-       <li><a href=#link-type-archives><span class=secno>6.12.3.2 </span>Link type "<code>archives</code>"</a></li>
-       <li><a href=#link-type-author><span class=secno>6.12.3.3 </span>Link type "<code>author</code>"</a></li>
-       <li><a href=#link-type-bookmark><span class=secno>6.12.3.4 </span>Link type "<code>bookmark</code>"</a></li>
-       <li><a href=#link-type-external><span class=secno>6.12.3.5 </span>Link type "<code>external</code>"</a></li>
-       <li><a href=#link-type-help><span class=secno>6.12.3.6 </span>Link type "<code>help</code>"</a></li>
-       <li><a href=#rel-icon><span class=secno>6.12.3.7 </span>Link type "<code>icon</code>"</a></li>
-       <li><a href=#link-type-license><span class=secno>6.12.3.8 </span>Link type "<code>license</code>"</a></li>
-       <li><a href=#link-type-nofollow><span class=secno>6.12.3.9 </span>Link type "<code>nofollow</code>"</a></li>
-       <li><a href=#link-type-noreferrer><span class=secno>6.12.3.10 </span>Link type "<code>noreferrer</code>"</a></li>
-       <li><a href=#link-type-pingback><span class=secno>6.12.3.11 </span>Link type "<code>pingback</code>"</a></li>
-       <li><a href=#link-type-prefetch><span class=secno>6.12.3.12 </span>Link type "<code>prefetch</code>"</a></li>
-       <li><a href=#link-type-search><span class=secno>6.12.3.13 </span>Link type "<code>search</code>"</a></li>
-       <li><a href=#link-type-stylesheet><span class=secno>6.12.3.14 </span>Link type "<code>stylesheet</code>"</a></li>
-       <li><a href=#link-type-sidebar><span class=secno>6.12.3.15 </span>Link type "<code>sidebar</code>"</a></li>
-       <li><a href=#link-type-tag><span class=secno>6.12.3.16 </span>Link type "<code>tag</code>"</a></li>
-       <li><a href=#hierarchical-link-types><span class=secno>6.12.3.17 </span>Hierarchical link types</a>
-        <ol>
-         <li><a href=#link-type-index><span class=secno>6.12.3.17.1 </span>Link type "<code>index</code>"</a></li>
-         <li><a href=#link-type-up><span class=secno>6.12.3.17.2 </span>Link type "<code>up</code>"</a></ol></li>
-       <li><a href=#sequential-link-types><span class=secno>6.12.3.18 </span>Sequential link types</a>
-        <ol>
-         <li><a href=#link-type-first><span class=secno>6.12.3.18.1 </span>Link type "<code>first</code>"</a></li>
-         <li><a href=#link-type-last><span class=secno>6.12.3.18.2 </span>Link type "<code>last</code>"</a></li>
-         <li><a href=#link-type-next><span class=secno>6.12.3.18.3 </span>Link type "<code>next</code>"</a></li>
-         <li><a href=#link-type-prev><span class=secno>6.12.3.18.4 </span>Link type "<code>prev</code>"</a></ol></li>
-       <li><a href=#other-link-types><span class=secno>6.12.3.19 </span>Other link types</a></ol></ol></ol></li>
+     <li><a href=#aborting-a-document-load><span class=secno>6.11.11 </span>Aborting a document load</a></ol></ol></li>
  <li><a href=#editing><span class=secno>7 </span>User Interaction</a>
   <ol>
    <li><a href=#the-hidden-attribute><span class=secno>7.1 </span>The <code>hidden</code> attribute</a></li>
@@ -44354,10 +44354,1343 @@
 
 
 
-  <h3 id=common-idioms-without-dedicated-elements><span class=secno>4.12 </span>Common idioms without dedicated elements</h3>
 
-  <h4 id=tag-clouds><span class=secno>4.12.1 </span>Tag clouds</h4>
+  <h3 id=links><span class=secno>4.12 </span>Links</h3>
 
+
+  <h4 id=hyperlink-elements><span class=secno>4.12.1 </span>Hyperlink elements</h4>
+
+  <p>The <code><a href=#the-a-element>a</a></code>, <code><a href=#the-area-element>area</a></code>, and <code><a href=#the-link-element>link</a></code>
+  elements can, in certain situations described in the definitions of
+  those elements, represent <dfn id=hyperlink title=hyperlink>hyperlinks</dfn>.</p>
+
+  <p>The <dfn id=attr-hyperlink-href title=attr-hyperlink-href><code>href</code></dfn>
+  attribute on a hyperlink element must have a value that is a
+  <a href=#valid-url>valid URL</a>. This URL is the <em>destination
+  resource</em> of the hyperlink.</p>
+
+  <div class=note>
+
+   <p>The <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute on
+   <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements is not required; when
+   those elements do not have <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attributes they do not
+   represent hyperlinks.</p>
+
+   <p>The <code title=attr-link-href><a href=#attr-link-href>href</a></code> attribute on the
+   <code><a href=#the-link-element>link</a></code> element <em>is</em> required, but whether a
+   <code><a href=#the-link-element>link</a></code> element represents a hyperlink or not depends on
+   the value of the <code title=attr-link-rel><a href=#attr-link-rel>rel</a></code> attribute
+   of that element.</p>
+
+  </div>
+
+  <p>The <dfn id=attr-hyperlink-target title=attr-hyperlink-target><code>target</code></dfn>
+  attribute, if present, must be a <a href=#valid-browsing-context-name-or-keyword>valid browsing context name
+  or keyword</a>. It gives the name of the <a href=#browsing-context>browsing
+  context</a> that will be used. <span class=impl>User agents use
+  this name when <a href=#following-hyperlinks>following hyperlinks</a>.</span></p>
+
+  <p>The <dfn id=ping title=attr-hyperlink-ping><code>ping</code></dfn> attribute, if
+  present, gives the URLs of the resources that are interested in
+  being notified if the user follows the hyperlink. The value must be
+  a <a href=#set-of-space-separated-tokens>set of space-separated tokens</a>, each of which must be a
+  <a href=#valid-url title="valid URL">valid URL</a>. <span class=impl>The
+  value is used by the user agent for <a href=#hyperlink-auditing>hyperlink
+  auditing</a>.</span></p>
+
+  <p>For <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements that represent
+  hyperlinks, the relationship between the document containing the
+  hyperlink and the destination resource indicated by the hyperlink is
+  given by the value of the element's <dfn id=attr-hyperlink-rel title=attr-hyperlink-rel><code>rel</code></dfn> attribute, which
+  must be a <a href=#set-of-space-separated-tokens>set of space-separated tokens</a>. The <a href=#linkTypes>allowed values and their meanings</a> are defined
+  below. The <code title=attr-hyperlink-rel><a href=#attr-hyperlink-rel>rel</a></code> attribute has
+  no default value. If the attribute is omitted or if none of the
+  values in the attribute are recognized by the user agent, then the
+  document has no particular relationship with the destination
+  resource other than there being a hyperlink between the two.</p>
+
+  <p>The <dfn id=attr-hyperlink-media title=attr-hyperlink-media><code>media</code></dfn>
+  attribute describes for which media the target document was
+  designed. It is purely advisory. The value must be a <a href=#valid-media-query>valid
+  media query</a>. The default, if the <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code> attribute is omitted, is
+  "<code title="">all</code>".</p>
+
+  <p>The <dfn id=attr-hyperlink-hreflang title=attr-hyperlink-hreflang><code>hreflang</code></dfn>
+  attribute on hyperlink elements, if present, gives the language of
+  the linked resource. It is purely advisory. The value must be a
+  valid BCP 47 language code. <a href=#refsBCP47>[BCP47]</a>
+  <span class=impl>User agents must not consider this attribute
+  authoritative — upon fetching the resource, user agents must
+  use only language information associated with the resource to
+  determine its language, not metadata included in the link to the
+  resource.</span></p>
+
+  <p>The <dfn id=attr-hyperlink-type title=attr-hyperlink-type><code>type</code></dfn>
+  attribute, if present, gives the <a href=#mime-type>MIME type</a> of the
+  linked resource. It is purely advisory. The value must be a
+  <a href=#valid-mime-type>valid MIME type</a>. <span class=impl>User agents must
+  not consider the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code>
+  attribute authoritative — upon fetching the resource, user
+  agents must not use metadata included in the link to the resource to
+  determine its type.</span></p>
+
+
+  <div class=impl>
+
+  <h4 id=following-hyperlinks><span class=secno>4.12.2 </span><dfn>Following hyperlinks</dfn></h4>
+
+  <p>When a user <em>follows a hyperlink</em>, the user agent must
+  <a href=#resolve-a-url title="resolve a url">resolve</a> the <a href=#url>URL</a>
+  given by the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute
+  of that hyperlink, relative to the hyperlink element, and if that is
+  successful, must <a href=#navigate>navigate</a> a <a href=#browsing-context>browsing
+  context</a> to the resulting <a href=#absolute-url>absolute URL</a>. In the
+  case of server-side image maps, the URL of the hyperlink must
+  further have its <var><a href=#hyperlink-suffix>hyperlink suffix</a></var> appended to it.</p>
+
+  <p>If <a href=#resolve-a-url title="resolve a url">resolving</a> the
+  <a href=#url>URL</a> fails, the user agent may report the error to the
+  user in a user-agent-specific manner, may navigate to an error page
+  to report the error, or may ignore the error and do nothing.</p>
+
+  <p>If the user indicated a specific <a href=#browsing-context>browsing context</a>
+  when following the hyperlink, or if the user agent is configured to
+  follow hyperlinks by navigating a particular browsing context, then
+  that must be the <a href=#browsing-context>browsing context</a> that is
+  navigated.</p>
+
+  <p>Otherwise, if the hyperlink element is an <code><a href=#the-a-element>a</a></code> or
+  <code><a href=#the-area-element>area</a></code> element that has a <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute, then the
+  <a href=#browsing-context>browsing context</a> that is navigated must be chosen by
+  applying <a href=#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name>the rules for choosing a browsing context given a
+  browsing context name</a>, using the value of the <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute as the
+  browsing context name. If these rules result in the creation of a
+  new <a href=#browsing-context>browsing context</a>, it must be navigated with
+  <a href=#replacement-enabled>replacement enabled</a>.</p>
+
+  <p>Otherwise, if the hyperlink element is a <a href=#rel-sidebar-hyperlink title=rel-sidebar-hyperlink>sidebar hyperlink</a> and the user
+  agent implements a feature that can be considered a secondary
+  browsing context, such a secondary browsing context may be selected
+  as the browsing context to be navigated.</p>
+
+  <p>Otherwise, if the hyperlink element is an <code><a href=#the-a-element>a</a></code> or
+  <code><a href=#the-area-element>area</a></code> element with no <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute, but one of
+  the child nodes of <a href=#the-head-element>the <code>head</code> element</a> is a
+  <code><a href=#the-base-element>base</a></code> element with a <code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute, then the browsing
+  context that is navigated must be chosen by applying <a href=#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name>the rules
+  for choosing a browsing context given a browsing context name</a>,
+  using the value of the <code title=attr-base-target><a href=#attr-base-target>target</a></code>
+  attribute of the first such <code><a href=#the-base-element>base</a></code> element as the
+  browsing context name. If these rules result in the creation of a
+  new <a href=#browsing-context>browsing context</a>, it must be navigated with
+  <a href=#replacement-enabled>replacement enabled</a>.</p>
+
+  <p>Otherwise, the browsing context that must be navigated is the
+  same browsing context as the one which the hyperlink element itself
+  is in.</p>
+
+  <p>The navigation must be done with the <a href=#browsing-context>browsing
+  context</a> that contains the <code>Document</code> object with
+  which the hyperlink's element in question is associated as the
+  <a href=#source-browsing-context>source browsing context</a>.</p>
+
+
+  <h5 id=hyperlink-auditing><span class=secno>4.12.2.1 </span><dfn>Hyperlink auditing</dfn></h5>
+
+  <p>If an <code><a href=#the-a-element>a</a></code> or <code><a href=#the-area-element>area</a></code> hyperlink element has a
+  <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute, and the
+  user follows the hyperlink, and the hyperlink's <a href=#url>URL</a> can
+  be <a href=#resolve-a-url title="resolve a url">resolved</a>, relative to the
+  hyperlink element, without failure, then the user agent must take
+  the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute's value,
+  <a href=#split-a-string-on-spaces title="split a string on spaces">split that string on
+  spaces</a>, <a href=#resolve-a-url title="resolve a url">resolve</a> each
+  resulting token relative to the hyperlink element, and then should
+  send a request (as described below) to each of the resulting <a href=#absolute-url title="absolute URL">absolute URLs</a>. (Tokens that fail to
+  resolve are ignored.) This may be done in parallel with the primary
+  request, and is independent of the result of that request.</p>
+
+  <p>User agents should allow the user to adjust this behavior, for
+  example in conjunction with a setting that disables the sending of
+  HTTP <code title=http-referer>Referer</code> (sic) headers. Based
+  on the user's preferences, UAs may either <a href=#ignore>ignore</a> the
+  <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute altogether,
+  or selectively ignore URLs in the list (e.g. ignoring any
+  third-party URLs).</p>
+
+  <p>For URLs that are HTTP URLs, the requests must be performed by
+  <a href=#fetch title=fetch>fetching</a> the specified URLs using the
+  POST method, with an entity body with the <a href=#mime-type>MIME type</a>
+  <code><a href=#text/ping>text/ping</a></code> consisting of the four-character string
+  "<code title="">PING</code>", from the <a href=#origin>origin</a> of the
+  <code>Document</code> containing the <a href=#hyperlink>hyperlink</a>. <!--
+  not http-origin privacy sensitive --> All relevant cookie and HTTP
+  authentication headers must be included in the request. Which other
+  headers are required depends on the URLs involved.</p>
+
+  <dl class=switch><dt>If both the <a href="#the-document's-address" title="the document's address">address</a>
+   of the <code>Document</code> object containing the hyperlink being
+   audited and the ping URL have the <a href=#same-origin>same origin</a></dt>
+
+   <dd>The request must include a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP header with, as its
+   value, the <a href="#the-document's-address" title="the document's address">address</a> of
+   the document containing the hyperlink, and a <code title=http-ping-to><a href=#ping-to>Ping-To</a></code> HTTP header with, as its value,
+   the address of the <a href=#absolute-url>absolute URL</a> of the target of the
+   hyperlink. The request must not include a <code title=http-referer>Referer</code> (sic) HTTP header. <!-- because
+   otherwise it would look like a trustable same-origin POST --></dd>
+
+   <dt>Otherwise, if the origins are different, but the document
+   containing the hyperlink being audited was not retrieved over an
+   encrypted connection</dt>
+
+   <dd>The request must include a <code title=http-referer>Referer</code> (sic) HTTP header [sic] with,
+   as its value, the <a href="#the-document's-current-address" title="the document's current
+   address">current address</a> of the document containing the
+   hyperlink, a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP
+   header with the same value, and a <code title=http-ping-to><a href=#ping-to>Ping-To</a></code> HTTP header with, as its value,
+   the address of the target of the hyperlink.</dd>
+
+   <dt>Otherwise, the origins are different and the document
+   containing the hyperlink being audited was retrieved over an
+   encrypted connection</dt>
+
+   <dd>The request must include a <code title=http-ping-to><a href=#ping-to>Ping-To</a></code> HTTP header with, as its value,
+   the address of the target of the hyperlink. The request must
+   neither include a <code title=http-referer>Referer</code> (sic)
+   HTTP header nor include a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP header.</dd>
+
+  </dl><p class=note>To save bandwidth, implementors might also wish to
+  consider omitting optional headers such as <code>Accept</code> from
+  these requests.</p>
+
+  <p>User agents must, unless otherwise specified by the user, honor
+  the HTTP headers (including, in particular, redirects and HTTP
+  cookie headers), but must ignore any entity bodies returned in the
+  responses. User agents may close the connection prematurely once
+  they start receiving an entity body. <a href=#refsCOOKIES>[COOKIES]</a></p>
+
+  <p>For URLs that are not HTTP URLs, the requests must be performed
+  by <a href=#fetch title=fetch>fetching</a> the specified URL normally,
+  and discarding the results.</p>
+
+  <p>When the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute is
+  present, user agents should clearly indicate to the user that
+  following the hyperlink will also cause secondary requests to be
+  sent in the background, possibly including listing the actual target
+  URLs.</p>
+
+  <p class=example>For example, a visual user agent could include
+  the hostnames of the target ping URLs along with the hyperlink's
+  actual URL in a status bar or tooltip.</p>
+
+  </div>
+
+  <div class=note>
+
+   <p>The <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute is redundant
+   with pre-existing technologies like HTTP redirects and JavaScript
+   in allowing Web pages to track which off-site links are most
+   popular or allowing advertisers to track click-through rates.</p>
+
+   <p>However, the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute
+   provides these advantages to the user over those alternatives:</p>
+
+   <ul><li>It allows the user to see the final target URL
+    unobscured.</li>
+
+    <li>It allows the UA to inform the user about the out-of-band
+    notifications.</li>
+
+    <li>It allows the user to disable the notifications without losing
+    the underlying link functionality.</li>
+
+    <li>It allows the UA to optimize the use of available network
+    bandwidth so that the target page loads faster.</li>
+
+   </ul><p>Thus, while it is possible to track users without this feature,
+   authors are encouraged to use the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute so that the user
+   agent can make the user experience more transparent.</p>
+
+  </div>
+
+  <!-- resolving ping urls happens at audit time, so base URL changes
+  affect the values of ping attributes -->
+
+
+
+  <h4 id=linkTypes><span class=secno>4.12.3 </span>Link types</h4>
+
+  <p>The following table summarizes the link types that are defined by
+  this specification. This table is non-normative; the actual
+  definitions for the link types are given in the next few
+  sections.</p>
+
+  <p>In this section, the term <i>referenced document</i> refers to
+  the resource identified by the element representing the link, and
+  the term <i>current document</i> refers to the resource within
+  which the element representing the link finds itself.</p>
+
+  <div class=impl>
+
+  <p>To determine which link types apply to a <code><a href=#the-link-element>link</a></code>,
+  <code><a href=#the-a-element>a</a></code>, or <code><a href=#the-area-element>area</a></code> element, the element's <code title="">rel</code> attribute must be <a href=#split-a-string-on-spaces title="split a string on
+  spaces">split on spaces</a>. The resulting tokens are the link
+  types that apply to that element.</p>
+
+  </div>
+
+  <p>Except where otherwise specified, a keyword must not be specified
+  more than once per <code title=attr-rel-hyperlink>rel</code>
+  attribute.</p>
+
+  <p>The link types that contain no U+003A COLON characters (:),
+  including all those defined in this specification, are <a href=#ascii-case-insensitive>ASCII
+  case-insensitive</a> values<span class=impl>, and must be
+  compared as such</span>.</p>
+
+  <p class=example>Thus, <code title="">rel="next"</code> is the
+  same as <code title="">rel="NEXT"</code>.</p>
+
+  <table><thead><tr><th rowspan=2>Link type</th>
+     <th colspan=2>Effect on...</th>
+     <th rowspan=2>Brief description</th>
+    <tr><th><code><a href=#the-link-element>link</a></code></th>
+     <th><code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code></th>
+    <tbody><tr><td><code title=rel-alternate><a href=#link-type-alternate>alternate</a></code></td> <!-- second most used <link rel> value -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Gives alternate representations of the current document.</td>
+    <tr><td><code title=rel-archives><a href=#link-type-archives>archives</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Provides a link to a collection of records, documents, or other materials of historical interest.</td>
+    <tr><td><code title=rel-author><a href=#link-type-author>author</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Gives a link to the current document's author.</td>
+    <tr><td><code title=rel-bookmark><a href=#link-type-bookmark>bookmark</a></code></td> <!-- fourth most used <a rel> value -->
+     <td><em>not allowed</em></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Gives the permalink for the nearest ancestor section.</td>
+    </tr><!-- (commented out on the assumption that rel=contact is really XFN)
+    <tr>
+     <td><code title="rel-contact">contact</code></td> <!- 8th most used <a rel> value ->
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Gives a link to contact information for the current document.</td>
+    </tr>
+--><tr><td><code title=rel-external><a href=#link-type-external>external</a></code></td> <!-- fifth and sixth most used <a rel> value (sixth is "external nofollow") -->
+     <td><em>not allowed</em></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the referenced document is not part of the same site as the current document.</td>
+    <tr><td><code title=rel-first><a href=#link-type-first>first</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the current document is a part of a series, and that the first document in the series is the referenced document.</td>
+    <tr><td><code title=rel-help><a href=#link-type-help>help</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Provides a link to context-sensitive help.</td>
+    <tr><td><code title=rel-icon><a href=#rel-icon>icon</a></code></td> <!-- link rel="shortcut icon" and its ilk are the fourth, sixth, and ninth most used values -->
+     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
+     <td><em>not allowed</em></td>
+     <td>Imports an icon to represent the current document.</td>
+    <tr><td><code title=rel-index><a href=#link-type-index>index</a></code></td> <!-- used more than "top" and "contents" on <link> (though on <a>, "contents" wins) -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Gives a link to the document that provides a table of contents or index listing the current document.</td>
+    <tr><td><code title=rel-last><a href=#link-type-last>last</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the current document is a part of a series, and that the last document in the series is the referenced document.</td>
+    <tr><td><code title=rel-license><a href=#link-type-license>license</a></code></td> <!-- seventh most used <a rel> value -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the main content of the current document is covered by the copyright license described by the referenced document.</td>
+    <tr><td><code title=rel-next><a href=#link-type-next>next</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the current document is a part of a series, and that the next document in the series is the referenced document.</td>
+    <tr><td><code title=rel-nofollow><a href=#link-type-nofollow>nofollow</a></code></td> <!-- most used <a rel> value (and sixth most used is "external nofollow") -->
+     <td><em>not allowed</em></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the current document's original author or publisher does not endorse the referenced document.</td>
+    <tr><td><code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code></td>
+     <td><em>not allowed</em></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Requires that the user agent not send an HTTP <code title=http-referer>Referer</code> (sic) header if the user follows the hyperlink.</td>
+    <tr><td><code title=rel-pingback><a href=#link-type-pingback>pingback</a></code></td>
+     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
+     <td><em>not allowed</em></td>
+     <td>Gives the address of the pingback server that handles pingbacks to the current document.</td>
+    <tr><td><code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code></td>
+     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
+     <td><em>not allowed</em></td>
+     <td>Specifies that the target resource should be preemptively cached.</td>
+    <tr><td><code title=rel-prev><a href=#link-type-prev>prev</a></code></td> <!-- prev is used more than previous -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Indicates that the current document is a part of a series, and that the previous document in the series is the referenced document.</td>
+    <tr><td><code title=rel-search><a href=#link-type-search>search</a></code></td> <!-- used quite a bit -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Gives a link to a resource that can be used to search through the current document and its related pages.</td>
+    <tr><td><code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code></td> <!-- most commonly used <link rel> value, variants came in 7th, 8th, 12th, 17th... -->
+     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
+     <td><em>not allowed</em></td>
+     <td>Imports a stylesheet.</td>
+    <tr><td><code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code></td> <!-- used quite a bit -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Specifies that the referenced document, if retrieved, is intended to be shown in the browser's sidebar (if it has one).</td>
+    <tr><td><code title=rel-tag><a href=#link-type-tag>tag</a></code></td> <!-- second and third most used <a rel> value (third is technically "category tag"). -->
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Gives a tag (identified by the given address) that applies to the current document.</td>
+    <tr><td><code title=rel-up><a href=#link-type-up>up</a></code></td>
+     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
+     <td><a href=#hyperlink>Hyperlink</a></td>
+     <td>Provides a link to a document giving the context for the current document.</td>
+    </table><div class=impl>
+
+  <p>Some of the types described below list synonyms for these
+  values. These <!--<span class="impl">-->are to be handled as
+  specified by user agents, but<!--</span>--> must not be used in
+  documents.</p>
+
+  </div>
+
+  <!-- v2 ideas:
+   * rel="script"
+   * rel="related" // see also
+   * http://microformats.org/wiki/rel-enclosure
+  -->
+
+
+  <h5 id=link-type-alternate><span class=secno>4.12.3.1 </span>Link type "<dfn title=rel-alternate><code>alternate</code></dfn>"</h5>
+
+  <p>The <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword may be
+  used with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, if the <code title=attr-link-rel><a href=#attr-link-rel>rel</a></code> attribute does not also contain the
+  keyword <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>, it creates a
+  <a href=#hyperlink-link title="hyperlink link">hyperlink</a>; but if it
+  <em>does</em> also contain the keyword <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>, the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword instead modifies the
+  meaning of the <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>
+  keyword in the way described for that keyword, and the rest of this
+  subsection doesn't apply.</p>
+
+  <p>The <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword
+  indicates that the referenced document is an alternate
+  representation of the current document.</p>
+
+  <p>The nature of the referenced document is given by the <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code>, <code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code>, and <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code> attributes.</p>
+
+  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
+  used with the <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code>
+  attribute, it indicates that the referenced document is intended for
+  use with the media specified.</p>
+
+  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
+  used with the <code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code>
+  attribute, and that attribute's value differs from the <a href=#root-element>root
+  element</a>'s <a href=#language>language</a>, it indicates that the
+  referenced document is a translation.</p>
+
+  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
+  used with the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code>
+  attribute, it indicates that the referenced document is a
+  reformulation of the current document in the specified format.</p>
+
+  <p>The <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code>, <code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code>, and <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code> attributes can be combined
+  when specified with the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code>
+  keyword.</p>
+
+  <div class=example>
+
+   <p>For example, the following link is a French translation that
+   uses the PDF format:</p>
+
+   <pre><link rel=alternate type=application/pdf hreflang=fr href=manual-fr></pre>
+
+  </div>
+
+  <div class=impl>
+
+  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
+  used with the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code>
+  attribute set to the value <code title="">application/rss+xml</code>
+  or the value <code title="">application/atom+xml</code>, then it
+  indicates that the referenced document is a syndication feed (though
+  not necessarily syndicating exactly the same content as the current
+  page).</p>
+
+  <div class=impl>
+
+  <p>The first <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, or <code><a href=#the-area-element>area</a></code>
+  element in the document (in tree order) with the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword used with the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code> attribute set to the value
+  <code title="">application/rss+xml</code> or the value <code title="">application/atom+xml</code> must be treated as the default
+  syndication feed for the purposes of feed autodiscovery.</p>
+
+  <div class=example>
+   <p>The following <code><a href=#the-link-element>link</a></code> element gives the syndication
+   feed for the current page:</p>
+   <pre><link rel="alternate" type="application/atom+xml" href="data.xml"></pre>
+   <p>The following extract offers various different syndication
+   feeds:</p>
+   <pre><p>You can access the planets database using Atom feeds:</p>
+<ul>
+ <li><a href="recently-visited-planets.xml" rel="alternate" type="application/atom+xml">Recently Visited Planets</a></li>
+ <li><a href="known-bad-planets.xml" rel="alternate" type="application/atom+xml">Known Bad Planets</a></li>
+ <li><a href="unexplored-planets.xml" rel="alternate" type="application/atom+xml">Unexplored Planets</a></li>
+</ul></pre>
+  </div>
+
+  </div>
+
+
+
+
+  </div>
+
+  <p>The <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> link
+  relationship is transitive — that is, if a document links to
+  two other documents with the link type "<code title=rel-alternate><a href=#link-type-alternate>alternate</a></code>", then, in addition to
+  implying that those documents are alternative representations of the
+  first document, it is also implying that those two documents are
+  alternative representations of each other.</p>
+
+
+  <h5 id=link-type-archives><span class=secno>4.12.3.2 </span>Link type "<dfn title=rel-archives><code>archives</code></dfn>"</h5>
+
+  <p>The <code title=rel-archives><a href=#link-type-archives>archives</a></code> keyword may be
+  used with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-archives><a href=#link-type-archives>archives</a></code> keyword indicates
+  that the referenced document describes a collection of records,
+  documents, or other materials of historical interest.</p>
+
+  <p class=example>A blog's index page could link to an index of the
+  blog's past posts with <code title="">rel="archives"</code>.</p>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keyword "<code title="">archive</code>" like the
+  <code title=rel-archives><a href=#link-type-archives>archives</a></code> keyword.</p>
+
+  </div>
+
+
+  <h5 id=link-type-author><span class=secno>4.12.3.3 </span>Link type "<dfn title=rel-author><code>author</code></dfn>"</h5>
+
+  <p>The <code title=rel-author><a href=#link-type-author>author</a></code> keyword may be
+  used with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>For <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements, the <code title=rel-author><a href=#link-type-author>author</a></code> keyword indicates that the
+  referenced document provides further information about the author of
+  the nearest <code><a href=#the-article-element>article</a></code> element ancestor of the element
+  defining the hyperlink, if there is one, or of the page as a whole,
+  otherwise.</p>
+
+  <p>For <code><a href=#the-link-element>link</a></code> elements, the <code title=rel-author><a href=#link-type-author>author</a></code> keyword indicates that the
+  referenced document provides further information about the author
+  for the page as a whole.</p>
+
+  <p class=note>The "referenced document" can be, and often is, a
+  <code title="">mailto:</code> URL giving the e-mail address of the
+  author. <a href=#refsMAILTO>[MAILTO]</a></p>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and
+  <code><a href=#the-area-element>area</a></code> elements that have a <code title="">rev</code>
+  attribute with the value "<code>made</code>" as having the <code title=rel-author><a href=#link-type-author>author</a></code> keyword specified as a link
+  relationship.</p>
+
+  </div>
+
+
+  <h5 id=link-type-bookmark><span class=secno>4.12.3.4 </span>Link type "<dfn title=rel-bookmark><code>bookmark</code></dfn>"</h5>
+
+  <p>The <code title=rel-bookmark><a href=#link-type-bookmark>bookmark</a></code> keyword may be
+  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
+
+  <p>The <code title=rel-bookmark><a href=#link-type-bookmark>bookmark</a></code> keyword gives a
+  permalink for the nearest ancestor <code><a href=#the-article-element>article</a></code> element of
+  the linking element in question, or of <a href=#associatedSection>the section the linking element is most
+  closely associated with</a>, if there are no ancestor
+  <code><a href=#the-article-element>article</a></code> elements.</p>
+
+  <div class=example>
+   <p>The following snippet has three permalinks. A user agent could
+   determine which permalink applies to which part of the spec by
+   looking at where the permalinks are given.</p>
+   <pre> ...
+ <body>
+  <h1>Example of permalinks</h1>
+  <div id="a">
+   <h2>First example</h2>
+   <p><a href="a.html" rel="bookmark">This</a> permalink applies to
+   only the content from the first H2 to the second H2. The DIV isn't
+   exactly that section, but it roughly corresponds to it.</p>
+  </div>
+  <h2>Second example</h2>
+  <article id="b">
+   <p><a href="b.html" rel="bookmark">This</a> permalink applies to
+   the outer ARTICLE element (which could be, e.g., a blog post).</p>
+   <article id="c">
+    <p><a href="c.html" rel="bookmark">This</a> permalink applies to
+    the inner ARTICLE element (which could be, e.g., a blog comment).</p>
+   </article>
+  </article>
+ </body>
+ ...</pre>
+  </div>
+
+<!-- (commented out on the assumption that rel=contact is really XFN)
+  <h5>Link type "<dfn title="rel-contact"><code>contact</code></dfn>"</h5>
+
+  <p>The <code title="rel-contact">contact</code> keyword may be used
+  with <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>For <code>a</code> and <code>area</code> elements, the <code
+  title="rel-contact">contact</code> keyword indicates that the
+  referenced document provides further contact information for the
+  author of the nearest <code>article</code> element ancestor of the
+  element defining the hyperlink, if there is one, or of the page as a
+  whole, otherwise.</p>
+
+  <div class="impl">
+
+  <p>User agents must treat any hyperlink in an <code>address</code>
+  element as having the <code title="rel-contact">contact</code> link
+  type specified.</p>
+
+  </div>
+
+  <p>For <code>link</code> elements, the <code
+  title="rel-contact">contact</code> keyword indicates that the
+  referenced document provides further contact information for the
+  page as a whole.</p>
+-->
+
+
+  <h5 id=link-type-external><span class=secno>4.12.3.5 </span>Link type "<dfn title=rel-external><code>external</code></dfn>"</h5>
+
+  <p>The <code title=rel-external><a href=#link-type-external>external</a></code> keyword may be
+  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
+
+  <p>The <code title=rel-external><a href=#link-type-external>external</a></code> keyword indicates
+  that the link is leading to a document that is not part of the site
+  that the current document forms a part of.</p>
+
+
+  <h5 id=link-type-help><span class=secno>4.12.3.6 </span>Link type "<dfn title=rel-help><code>help</code></dfn>"</h5>
+
+  <p>The <code title=rel-help><a href=#link-type-help>help</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>For <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements, the <code title=rel-help><a href=#link-type-help>help</a></code> keyword indicates that the referenced
+  document provides further help information for the parent of the
+  element defining the hyperlink, and its children.</p>
+
+  <div class=example>
+
+   <p>In the following example, the form control has associated
+   context-sensitive help. The user agent could use this information,
+   for example, displaying the referenced document if the user presses
+   the "Help" or "F1" key.</p>
+
+   <pre> <p><label> Topic: <input name=topic> <a href="help/topic.html" rel="help">(Help)</a></label></p></pre>
+
+  </div>
+
+  <p>For <code><a href=#the-link-element>link</a></code> elements, the <code title=rel-help><a href=#link-type-help>help</a></code> keyword indicates that the referenced
+  document provides help for the page as a whole.</p>
+
+
+  <h5 id=rel-icon><span class=secno>4.12.3.7 </span>Link type "<dfn title=rel-icon><code>icon</code></dfn>"</h5>
+
+  <p>The <code title=rel-icon><a href=#rel-icon>icon</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a>.</p>
+
+  <div class=impl>
+
+  <p>The specified resource is an icon representing the page or site,
+  and should be used by the user agent when representing the page in
+  the user interface.</p>
+
+  </div>
+
+  <p>Icons could be auditory icons, visual icons, or other kinds of
+  icons. <span class=impl>If multiple icons are provided, the user
+  agent must select the most appropriate icon according to the <code title=attr-link-type><a href=#attr-link-type>type</a></code>, <code title=attr-link-media><a href=#attr-link-media>media</a></code>, and <code title=attr-link-sizes><a href=#attr-link-sizes>sizes</a></code> attributes. If there are
+  multiple equally appropriate icons, user agents must use the last
+  one declared in <a href=#tree-order>tree order</a>. If the user agent tries to
+  use an icon but that icon is determined, upon closer examination, to
+  in fact be inappropriate (e.g. because it uses an unsupported
+  format), then the user agent must try the next-most-appropriate icon
+  as determined by the attributes.</span></p>
+
+  <div class=impl>
+
+  <p>There is no default type for resources given by the <code title=rel-icon><a href=#rel-icon>icon</a></code> keyword. However, for the purposes of
+  <a href=#concept-link-type-sniffing>determining the type of the
+  resource</a>, user agents must expect the resource to be an image.</p>
+
+  </div>
+
+  <p>The <dfn id=attr-link-sizes title=attr-link-sizes><code>sizes</code></dfn>
+  attribute gives the sizes of icons for visual media.</p>
+
+  <p>If specified, the attribute must have a value that is an
+  <a href=#unordered-set-of-unique-space-separated-tokens>unordered set of unique space-separated tokens</a>. The
+  values must all be either <code title=attr-link-sizes-any><a href=#attr-link-sizes-any>any</a></code> or a value that consists of
+  two <a href=#valid-non-negative-integer title="valid non-negative integer">valid non-negative
+  integers</a> that do not have a leading U+0030 DIGIT ZERO (0)
+  character and that are separated by a single U+0078 LATIN SMALL
+  LETTER X character (x).</p>
+
+  <p>The keywords represent icon sizes.</p>
+
+  <div class=impl>
+
+  <p>To parse and process the attribute's value, the user agent must
+  first <a href=#split-a-string-on-spaces title="split a string on spaces">split the attribute's
+  value on spaces</a>, and must then parse each resulting keyword
+  to determine what it represents.</p>
+
+  </div>
+
+  <p>The <dfn id=attr-link-sizes-any title=attr-link-sizes-any><code>any</code></dfn> keyword
+  represents that the resource contains a scalable icon, e.g. as
+  provided by an SVG image.</p>
+
+  <div class=impl>
+
+  <p>Other keywords must be further parsed as follows to determine
+  what they represent:</p>
+
+  <ul><li><p>If the keyword doesn't contain exactly one U+0078 LATIN
+   SMALL LETTER X character (x), then this keyword doesn't represent
+   anything. Abort these steps for that keyword.</li>
+
+   <li><p>Let <var title="">width string</var> be the string before
+   the "<code title="">x</code>".</li>
+
+   <li><p>Let <var title="">height string</var> be the string after the
+   "<code title="">x</code>".</li>
+
+   <li><p>If either <var title="">width string</var> or <var title="">height string</var> start with a U+0030 DIGIT ZERO (0)
+   character or contain any characters other than characters in the
+   range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then this
+   keyword doesn't represent anything. Abort these steps for that
+   keyword.</li>
+
+   <li><p>Apply the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative
+   integers</a> to <var title="">width string</var> to obtain <var title="">width</var>.</li>
+
+   <li><p>Apply the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative
+   integers</a> to <var title="">height string</var> to obtain <var title="">height</var>.</li>
+
+   <li><p>The keyword represents that the resource contains a bitmap
+   icon with a width of <var title="">width</var> device pixels and a
+   height of <var title="">height</var> device pixels.</li>
+
+  </ul></div>
+
+  <p>The keywords specified on the <code title=attr-link-sizes><a href=#attr-link-sizes>sizes</a></code> attribute must not represent
+  icon sizes that are not actually available in the linked
+  resource.</p>
+
+  <div class=impl>
+
+  <p>If the attribute is not specified, then the user agent must
+  assume that the given icon is appropriate, but less appropriate than
+  an icon of a known and appropriate size.</p>
+
+  </div>
+
+  <div class=example>
+
+   <p>The following snippet shows the top part of an application with
+   several icons.</p>
+
+   <pre><!DOCTYPE HTML>
+<html>
+ <head>
+  <title>lsForums — Inbox</title>
+  <link rel=icon href=favicon.png sizes="16x16" type="image/png">
+  <link rel=icon href=windows.ico sizes="32x32 48x48" type="image/vnd.microsoft.icon">
+  <link rel=icon href=mac.icns sizes="128x128 512x512 8192x8192 32768x32768">
+  <link rel=icon href=iphone.png sizes="59x60" type="image/png">
+  <link rel=icon href=gnome.svg sizes="any" type="image/svg+xml">
+  <link rel=stylesheet href=lsforums.css>
+  <script src=lsforums.js></script>
+  <meta name=application-name content="lsForums">
+ </head>
+ <body>
+  ...</pre>
+
+  </div>
+
+
+  <h5 id=link-type-license><span class=secno>4.12.3.8 </span>Link type "<dfn title=rel-license><code>license</code></dfn>"</h5>
+
+  <p>The <code title=rel-license><a href=#link-type-license>license</a></code> keyword may be used
+  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-license><a href=#link-type-license>license</a></code> keyword indicates
+  that the referenced document provides the copyright license terms
+  under which the main content of the current document is
+  provided.</p>
+
+  <p>This specification does not specify how to distinguish between
+  the main content of a document and content that is not deemed to be
+  part of that main content. The distinction should be made clear to
+  the user.</p>
+
+  <div class=example>
+
+   <p>Consider a photo sharing site. A page on that site might
+   describe and show a photograph, and the page might be marked up as
+   follows:</p>
+
+   <pre><!DOCTYPE HTML>
+<html>
+ <head>
+  <title>Exampl Pictures: Kissat</title>
+  <link rel="stylesheet" href="/style/default">
+ </head>
+ <body>
+  <h1>Kissat</h1>
+  <nav>
+   <a href="../">Return to photo index</a>
+  </nav>
+  <figure>
+   <img src="/pix/39627052_fd8dcd98b5.jpg">
+   <figcaption>Kissat</figcaption>
+  </figure>
+  <p>One of them has six toes!</p>
+  <p><small><a rel="license" href="http://www.opensource.org/licenses/mit-license.php">MIT Licensed</a></small></p>
+  <footer>
+   <a href="/">Home</a> | <a href="../">Photo index</a>
+   <p><small>© copyright 2009 Exampl Pictures. All Rights Reserved.</small></p>
+  </footer>
+ </body>
+</html></pre>
+
+   <p>In this case the <code title=rel-license><a href=#link-type-license>license</a></code>
+   applies to just the photo (the main content of the document), not
+   the whole document. In particular not the design of the page
+   itself, which is covered by the copyright given at the bottom of
+   the document. This could be made clearer in the styling
+   (e.g. making the license link prominently positioned near the
+   photograph, while having the page copyright in light small text at
+   the foot of the page.</p>
+
+  </div>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keyword "<code title="">copyright</code>" like
+  the <code title=rel-license><a href=#link-type-license>license</a></code> keyword.</p>
+
+  </div>
+
+
+  <h5 id=link-type-nofollow><span class=secno>4.12.3.9 </span>Link type "<dfn title=rel-nofollow><code>nofollow</code></dfn>"</h5>
+
+  <p>The <code title=rel-nofollow><a href=#link-type-nofollow>nofollow</a></code> keyword may be
+  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
+
+  <p>The <code title=rel-nofollow><a href=#link-type-nofollow>nofollow</a></code> keyword indicates
+  that the link is not endorsed by the original author or publisher of
+  the page, or that the link to the referenced document was included
+  primarily because of a commercial relationship between people
+  affiliated with the two pages.</p>
+
+
+  <h5 id=link-type-noreferrer><span class=secno>4.12.3.10 </span>Link type "<dfn title=rel-noreferrer><code>noreferrer</code></dfn>"</h5>
+
+  <p>The <code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code> keyword may be
+  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
+
+  <p>It indicates that no referrer information is to be leaked when
+  following the link.</p>
+
+  <div class=impl>
+
+  <p>If a user agent follows a link defined by an <code><a href=#the-a-element>a</a></code> or
+  <code><a href=#the-area-element>area</a></code> element that has the <code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code> keyword, the user agent
+  must not include a <code title=http-referer>Referer</code> (sic)
+  HTTP header (<a href=#concept-http-equivalent-headers title=concept-http-equivalent-headers>or
+  equivalent</a> for other protocols) in the request.</p>
+
+  <p>This keyword also <a href=#noopener>causes the <code title=dom-opener>opener</code> attribute to remain null</a> if the
+  hyperlink creates a new <a href=#browsing-context>browsing context</a>.</p>
+
+  </div>
+
+  <!-- v2: Would be nice to apply this to other elements too,
+  e.g. letting <img> or CSS or <video> hide the referrer -->
+
+
+  <h5 id=link-type-pingback><span class=secno>4.12.3.11 </span>Link type "<dfn title=rel-pingback><code>pingback</code></dfn>"</h5>
+
+  <p>The <code title=rel-pingback><a href=#link-type-pingback>pingback</a></code> keyword may be
+  used with <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a>.</p>
+
+  <p>For the semantics of the <code title=rel-pingback><a href=#link-type-pingback>pingback</a></code> keyword, see the Pingback 1.0
+  specification. <a href=#refsPINGBACK>[PINGBACK]</a></p>
+
+
+  <h5 id=link-type-prefetch><span class=secno>4.12.3.12 </span>Link type "<dfn title=rel-prefetch><code>prefetch</code></dfn>"</h5>
+
+  <p>The <code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code> keyword may be
+  used with <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a>.</p>
+
+  <p>The <code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code> keyword indicates
+  that preemptively fetching and caching the specified resource is
+  likely to be beneficial, as it is highly likely that the user will
+  require this resource.</p>
+
+  <p>There is no default type for resources given by the <code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code> keyword.</p>
+
+
+  <h5 id=link-type-search><span class=secno>4.12.3.13 </span>Link type "<dfn title=rel-search><code>search</code></dfn>"</h5>
+
+  <p>The <code title=rel-search><a href=#link-type-search>search</a></code> keyword may be used
+  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-search><a href=#link-type-search>search</a></code> keyword indicates that
+  the referenced document provides an interface specifically for
+  searching the document and its related resources.</p>
+
+  <p class=note>OpenSearch description documents can be used with
+  <code><a href=#the-link-element>link</a></code> elements and the <code title=rel-search><a href=#link-type-search>search</a></code> link type to enable user agents to
+  autodiscover search interfaces. <a href=#refsOPENSEARCH>[OPENSEARCH]</a></p>
+
+
+  <h5 id=link-type-stylesheet><span class=secno>4.12.3.14 </span>Link type "<dfn title=rel-stylesheet><code>stylesheet</code></dfn>"</h5>
+
+  <p>The <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code> keyword may be
+  used with <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a> that
+  contributes to the <a href=#styling>styling processing model</a>.</p>
+
+  <p>The specified resource is a resource that describes how to
+  present the document. Exactly how the resource is to be processed
+  depends on the actual type of the resource.</p>
+
+  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
+  also specified on the <code><a href=#the-link-element>link</a></code> element, then <dfn id=the-link-is-an-alternative-stylesheet>the link
+  is an alternative stylesheet</dfn>; in this case, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute must be specified on the
+  <code><a href=#the-link-element>link</a></code> element, with a non-empty value.</p>
+
+  <p>The default type for resources given by the <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code> keyword is <code title="">text/css</code>.</p>
+
+  <div class=impl>
+
+  <p><strong>Quirk</strong>: If the document has been set to
+  <a href=#quirks-mode>quirks mode</a> and the <a href=#content-type title=Content-Type>Content-Type metadata</a> of the external
+  resource is not a supported style sheet type, the user agent must
+  instead assume it to be <code title="">text/css</code>.</p>
+
+  </div>
+
+
+  <h5 id=link-type-sidebar><span class=secno>4.12.3.15 </span>Link type "<dfn title=rel-sidebar><code>sidebar</code></dfn>"</h5>
+
+  <p>The <code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code> keyword may be used
+  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code> keyword indicates
+  that the referenced document, if retrieved, is intended to be shown
+  in a <a href=#secondary-browsing-context>secondary browsing context</a> (if possible), instead
+  of in the current <a href=#browsing-context>browsing context</a>.</p>
+
+  <p>A <a href=#hyperlink title=hyperlink>hyperlink element</a> with the <code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code> keyword specified is a <dfn id=rel-sidebar-hyperlink title=rel-sidebar-hyperlink>sidebar hyperlink</dfn>.</p>
+
+
+  <h5 id=link-type-tag><span class=secno>4.12.3.16 </span>Link type "<dfn title=rel-tag><code>tag</code></dfn>"</h5>
+
+  <p>The <code title=rel-tag><a href=#link-type-tag>tag</a></code> keyword may be used
+  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-tag><a href=#link-type-tag>tag</a></code> keyword indicates that the
+  <em>tag</em> that the referenced document represents applies to the
+  current document.</p>
+
+  <p class=note>Since it indicates that the tag <em>applies to the
+  current document</em>, it would be inappropriate to use this keyword
+  in the markup of a <a href=#tag-cloud>tag cloud</a>, which lists
+  the popular tag across a set of pages.</p>
+
+
+  <h5 id=hierarchical-link-types><span class=secno>4.12.3.17 </span>Hierarchical link types</h5>
+
+  <p>Some documents form part of a hierarchical structure of
+  documents.</p>
+
+  <p>A hierarchical structure of documents is one where each document
+  can have various subdocuments. The document of which a document is a
+  subdocument is said to be the document's <em>parent</em>. A document
+  with no parent forms the top of the hierarchy.</p>
+
+  <p>A document may be part of multiple hierarchies.</p>
+
+
+  <h6 id=link-type-index><span class=secno>4.12.3.17.1 </span>Link type "<dfn title=rel-index><code>index</code></dfn>"</h6>
+
+  <p>The <code title=rel-index><a href=#link-type-index>index</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-index><a href=#link-type-index>index</a></code> keyword indicates that
+  the document is part of a hierarchical structure, and that the link
+  is leading to the document that is the top of the hierarchy. It
+  conveys more information when used with the <code title=rel-up><a href=#link-type-up>up</a></code> keyword (q.v.).</p>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keywords "<code title="">top</code>", "<code title="">contents</code>", and "<code title="">toc</code>" like the
+  <code title=rel-index><a href=#link-type-index>index</a></code> keyword.</p>
+
+  </div>
+
+
+  <h6 id=link-type-up><span class=secno>4.12.3.17.2 </span>Link type "<dfn title=rel-up><code>up</code></dfn>"</h6>
+
+  <p>The <code title=rel-up><a href=#link-type-up>up</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-up><a href=#link-type-up>up</a></code> keyword indicates that the
+  document is part of a hierarchical structure, and that the link is
+  leading to a document that is an ancestor of the current
+  document.</p>
+
+  <p>The <code title=rel-up><a href=#link-type-up>up</a></code> keyword may be repeated within
+  a <code title=attr-hyperlink-rel><a href=#attr-hyperlink-rel>rel</a></code> attribute to indicate
+  the hierarchical distance from the current document to the
+  referenced document. If it occurs only once, then the link is
+  leading to the current document's parent; each additional occurrence
+  of the keyword represents one further level. If the <code title=rel-index><a href=#link-type-index>index</a></code> keyword is also present, then the
+  number of <code title=rel-up><a href=#link-type-up>up</a></code> keywords is the depth of
+  the current page relative to the top of the hierarchy. Only one link
+  is created for the set of one or more <code title=rel-up><a href=#link-type-up>up</a></code>
+  keywords and, if present, the <code title=rel-index><a href=#link-type-index>index</a></code>
+  keyword.</p>
+
+  <p>If the page is part of multiple hierarchies, then they should be
+  described in different <a href=#paragraph title=paragraph>paragraphs</a>. <span class=impl>User agents
+  must scope any interpretation of the <code title=rel-up><a href=#link-type-up>up</a></code>
+  and <code title=rel-index><a href=#link-type-index>index</a></code> keywords together
+  indicating the depth of the hierarchy to the <a href=#paragraph>paragraph</a>
+  in which the link finds itself, if any, or to the document
+  otherwise.</span></p>
+
+  <div class=impl>
+
+  <p>When two links have both the <code title=rel-up><a href=#link-type-up>up</a></code> and
+  <code title=rel-index><a href=#link-type-index>index</a></code> keywords specified together in
+  the same scope and contradict each other by having a different
+  number of <code title=rel-up><a href=#link-type-up>up</a></code> keywords, the link with the
+  greater number of <code title=rel-up><a href=#link-type-up>up</a></code> keywords must be
+  taken as giving the depth of the document.</p>
+
+  </div>
+
+  <div class=example>
+
+   <p>This can be used to mark up a navigation style sometimes known
+   as bread crumbs. In the following example, the current page can be
+   reached via two paths.</p>
+
+   <pre><nav>
+ <p>
+  <a href="/" rel="index up up up">Main</a> >
+  <a href="/products/" rel="up up">Products</a> >
+  <a href="/products/dishwashers/" rel="up">Dishwashers</a> >
+  <a>Second hand</a>
+ </p>
+ <p>
+  <a href="/" rel="index up up">Main</a> >
+  <a href="/second-hand/" rel="up">Second hand</a> >
+  <a>Dishwashers</a>
+ </p>
+</nav></pre>
+
+  </div>
+
+  <p class=note>The <code title=dom-a-relList><a href=#dom-a-rellist>relList</a></code> IDL
+  attribute (e.g. on the <code><a href=#the-a-element>a</a></code> element) does not currently
+  represent multiple <code title=rel-up><a href=#link-type-up>up</a></code> keywords (the
+  interface hides duplicates).</p>
+
+
+  <h5 id=sequential-link-types><span class=secno>4.12.3.18 </span>Sequential link types</h5>
+
+  <p>Some documents form part of a sequence of documents.</p>
+
+  <p>A sequence of documents is one where each document can have a
+  <em>previous sibling</em> and a <em>next sibling</em>. A document
+  with no previous sibling is the start of its sequence, a document
+  with no next sibling is the end of its sequence.</p>
+
+  <p>A document may be part of multiple sequences.</p>
+
+
+  <h6 id=link-type-first><span class=secno>4.12.3.18.1 </span>Link type "<dfn title=rel-first><code>first</code></dfn>"</h6>
+
+  <p>The <code title=rel-first><a href=#link-type-first>first</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-first><a href=#link-type-first>first</a></code> keyword indicates that
+  the document is part of a sequence, and that the link is leading to
+  the document that is the first logical document in the sequence.</p>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keywords "<code title="">begin</code>" and
+  "<code title="">start</code>" like the <code title=rel-first><a href=#link-type-first>first</a></code> keyword.</p>
+
+  </div>
+
+
+  <h6 id=link-type-last><span class=secno>4.12.3.18.2 </span>Link type "<dfn title=rel-last><code>last</code></dfn>"</h6>
+
+  <p>The <code title=rel-last><a href=#link-type-last>last</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-last><a href=#link-type-last>last</a></code> keyword indicates that the
+  document is part of a sequence, and that the link is leading to the
+  document that is the last logical document in the sequence.</p>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keyword "<code title="">end</code>" like the
+  <code title=rel-last><a href=#link-type-last>last</a></code> keyword.</p>
+
+  </div>
+
+
+  <h6 id=link-type-next><span class=secno>4.12.3.18.3 </span>Link type "<dfn title=rel-next><code>next</code></dfn>"</h6>
+
+  <p>The <code title=rel-next><a href=#link-type-next>next</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-next><a href=#link-type-next>next</a></code> keyword indicates that the
+  document is part of a sequence, and that the link is leading to the
+  document that is the next logical document in the sequence.</p>
+
+
+  <h6 id=link-type-prev><span class=secno>4.12.3.18.4 </span>Link type "<dfn title=rel-prev><code>prev</code></dfn>"</h6>
+
+  <p>The <code title=rel-prev><a href=#link-type-prev>prev</a></code> keyword may be used with
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
+  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
+
+  <p>The <code title=rel-prev><a href=#link-type-prev>prev</a></code> keyword indicates that the
+  document is part of a sequence, and that the link is leading to the
+  document that is the previous logical document in the sequence.</p>
+
+  <div class=impl>
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keyword "<code title="">previous</code>" like
+  the <code title=rel-prev><a href=#link-type-prev>prev</a></code> keyword.</p>
+
+  </div>
+
+
+  <h5 id=other-link-types><span class=secno>4.12.3.19 </span>Other link types</h5>
+
+  <p><dfn id=concept-rel-extensions title=concept-rel-extensions>Extensions to the predefined
+  set of link types</dfn> may be registered in the <a href=http://wiki.whatwg.org/wiki/RelExtensions>WHATWG Wiki
+  RelExtensions page</a>. <a href=#refsWHATWGWIKI>[WHATWGWIKI]</a></p>
+
+  <p>Anyone is free to edit the WHATWG Wiki RelExtensions page at any
+  time to add a type. Extension types must be specified with the
+  following information:</p>
+
+  <dl><dt>Keyword</dt>
+
+   <dd>
+
+    <p>The actual value being defined. The value should not be
+    confusingly similar to any other defined value (e.g. differing
+    only in case).</p>
+
+    <p>If the value contains a U+003A COLON character (:), it must
+    also be an <a href=#absolute-url>absolute URL</a>.</p>
+
+   </dd>
+
+
+   <dt>Effect on... <code><a href=#the-link-element>link</a></code></dt>
+
+   <dd>
+
+    <p>One of the following:</p>
+
+    <dl><dt>not allowed</dt>
+
+     <dd>The keyword is not allowed to be specified on
+     <code><a href=#the-link-element>link</a></code> elements.</dd>
+
+     <dt>Hyperlink</dt>
+
+     <dd>The keyword may be specified on a <code><a href=#the-link-element>link</a></code> element;
+     it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink
+     link</a>.</dd>
+
+     <dt>External Resource</dt>
+
+     <dd>The keyword may be specified on a <code><a href=#the-link-element>link</a></code> element;
+     it creates a <a href=#external-resource-link title="external resource link">external
+     resource link</a>.</dd>
+
+    </dl></dd>
+
+
+   <dt>Effect on... <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code></dt>
+
+   <dd>
+
+    <p>One of the following:</p>
+
+    <dl><dt>not allowed</dt>
+
+     <dd>The keyword is not allowed to be specified on <code><a href=#the-a-element>a</a></code>
+     and <code><a href=#the-area-element>area</a></code> elements.</dd>
+
+     <dt>Hyperlink</dt>
+
+     <dd>The keyword may be specified on <code><a href=#the-a-element>a</a></code> and
+     <code><a href=#the-area-element>area</a></code> elements.</dd>
+
+    </dl></dd>
+
+
+   <dt>Brief description</dt>
+
+   <dd><p>A short non-normative description of what the keyword's
+   meaning is.</dd>
+
+
+   <dt>Specification</dt>
+
+   <dd><p>A link to a more detailed description of the keyword's
+   semantics and requirements. It could be another page on the Wiki,
+   or a link to an external page.</dd>
+
+
+   <dt>Synonyms</dt>
+
+   <dd><p>A list of other keyword values that have exactly the same
+   processing requirements. Authors should not use the values defined
+   to be synonyms, they are only intended to allow user agents to
+   support legacy content. Anyone may remove synonyms that are not
+   used in practice; only names that need to be processed as synonyms
+   for compatibility with legacy content are to be registered in this
+   way.</dd>
+
+
+   <dt>Status</dt>
+
+   <dd>
+
+    <p>One of the following:</p>
+
+    <dl><dt>Proposed</dt>
+
+     <dd>The keyword has not received wide peer review and
+     approval. Someone has proposed it and is, or soon will be, using
+     it.</dd>
+
+     <dt>Ratified</dt>
+
+     <dd>The keyword has received wide peer review and approval. It
+     has a specification that unambiguously defines how to handle
+     pages that use the keyword, including when they use it in
+     incorrect ways.</dd>
+
+     <dt>Discontinued</dt>
+
+     <dd>The keyword has received wide peer review and it has been
+     found wanting. Existing pages are using this keyword, but new
+     pages should avoid it. The "brief description" and
+     "specification" entries will give details of what authors should
+     use instead, if anything.</dd>
+
+    </dl><p>If a keyword is found to be redundant with existing values, it
+    should be removed and listed as a synonym for the existing
+    value.</p>
+
+    <p>If a keyword is registered in the "proposed" state for a
+    period of a month or more without being used or specified, then it
+    may be removed from the registry.</p>
+
+    <p>If a keyword is added with the "proposed" status and found to
+    be redundant with existing values, it should be removed and listed
+    as a synonym for the existing value. If a keyword is added with
+    the "proposed" status and found to be harmful, then it should be
+    changed to "discontinued" status.</p>
+
+    <p>Anyone can change the status at any time, but should only do so
+    in accordance with the definitions above.</p>
+
+   </dd>
+
+  </dl><div class=impl>
+
+  <p>Conformance checkers must use the information given on the WHATWG
+  Wiki RelExtensions page to establish if a value is allowed or not:
+  values defined in this specification or marked as "proposed" or
+  "ratified" must be accepted when used on the elements for which they
+  apply as described in the "Effect on..." field, whereas values
+  marked as "discontinued" or not listed in either this specification
+  or on the aforementioned page must be rejected as invalid.
+  Conformance checkers may cache this information (e.g. for
+  performance reasons or to avoid the use of unreliable network
+  connectivity).</p>
+
+  <p>When an author uses a new type not defined by either this
+  specification or the Wiki page, conformance checkers should offer to
+  add the value to the Wiki, with the details described above, with
+  the "proposed" status.</p>
+
+  </div>
+
+  <p>Types defined as extensions in the <a href=http://wiki.whatwg.org/wiki/RelExtensions>WHATWG Wiki
+  RelExtensions page</a> with the status "proposed" or "ratified" may
+  be used with the <code title="">rel</code> attribute on
+  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code> elements in
+  accordance to the "Effect on..." field. <a href=#refsWHATWGWIKI>[WHATWGWIKI]</a></p>
+
+
+  <h3 id=common-idioms-without-dedicated-elements><span class=secno>4.13 </span>Common idioms without dedicated elements</h3>
+
+  <h4 id=tag-clouds><span class=secno>4.13.1 </span>Tag clouds</h4>
+
   <p id=tag-cloud>This specification does not define any markup
   specifically for marking up lists of keywords that apply to a group
   of pages (also known as <i>tag clouds</i>). In general, authors are
@@ -44408,7 +45741,7 @@
   </div>
 
 
-  <h4 id=conversations><span class=secno>4.12.2 </span>Conversations</h4>
+  <h4 id=conversations><span class=secno>4.13.2 </span>Conversations</h4>
 
   <!-- http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-September/022576.html -->
 
@@ -44454,7 +45787,7 @@
   </div>
 
 
-  <h4 id=footnotes><span class=secno>4.12.3 </span>Footnotes</h4>
+  <h4 id=footnotes><span class=secno>4.13.3 </span>Footnotes</h4>
 
   <p>HTML does not have a dedicated mechanism for marking up
   footnotes. Here are the recommended alternatives.</p>
@@ -44567,9 +45900,9 @@
 
   <div class=impl>
 
-  <h3 id=matching-html-elements-using-selectors><span class=secno>4.13 </span>Matching HTML elements using selectors</h3>
+  <h3 id=matching-html-elements-using-selectors><span class=secno>4.14 </span>Matching HTML elements using selectors</h3>
 
-  <h4 id=selectors><span class=secno>4.13.1 </span>Case-sensitivity</h4>
+  <h4 id=selectors><span class=secno>4.14.1 </span>Case-sensitivity</h4>
 
   <p>Attribute and element <em>names</em> of <a href=#html-elements>HTML
   elements</a> in <a href=#html-documents>HTML documents</a> must be treated as
@@ -44637,7 +45970,7 @@
   treated as <a href=#case-sensitive>case-sensitive</a>.</p>
 
 
-  <h4 id=pseudo-classes><span class=secno>4.13.2 </span>Pseudo-classes</h4>
+  <h4 id=pseudo-classes><span class=secno>4.14.2 </span>Pseudo-classes</h4>
 
   <p>There are a number of dynamic selectors that can be used with
   HTML. This section defines when these selectors match HTML
@@ -57752,1340 +59085,8 @@
 
 
 
-  <h3 id=links><span class=secno>6.12 </span>Links</h3>
 
 
-  <h4 id=hyperlink-elements><span class=secno>6.12.1 </span>Hyperlink elements</h4>
-
-  <p>The <code><a href=#the-a-element>a</a></code>, <code><a href=#the-area-element>area</a></code>, and <code><a href=#the-link-element>link</a></code>
-  elements can, in certain situations described in the definitions of
-  those elements, represent <dfn id=hyperlink title=hyperlink>hyperlinks</dfn>.</p>
-
-  <p>The <dfn id=attr-hyperlink-href title=attr-hyperlink-href><code>href</code></dfn>
-  attribute on a hyperlink element must have a value that is a
-  <a href=#valid-url>valid URL</a>. This URL is the <em>destination
-  resource</em> of the hyperlink.</p>
-
-  <div class=note>
-
-   <p>The <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute on
-   <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements is not required; when
-   those elements do not have <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attributes they do not
-   represent hyperlinks.</p>
-
-   <p>The <code title=attr-link-href><a href=#attr-link-href>href</a></code> attribute on the
-   <code><a href=#the-link-element>link</a></code> element <em>is</em> required, but whether a
-   <code><a href=#the-link-element>link</a></code> element represents a hyperlink or not depends on
-   the value of the <code title=attr-link-rel><a href=#attr-link-rel>rel</a></code> attribute
-   of that element.</p>
-
-  </div>
-
-  <p>The <dfn id=attr-hyperlink-target title=attr-hyperlink-target><code>target</code></dfn>
-  attribute, if present, must be a <a href=#valid-browsing-context-name-or-keyword>valid browsing context name
-  or keyword</a>. It gives the name of the <a href=#browsing-context>browsing
-  context</a> that will be used. <span class=impl>User agents use
-  this name when <a href=#following-hyperlinks>following hyperlinks</a>.</span></p>
-
-  <p>The <dfn id=ping title=attr-hyperlink-ping><code>ping</code></dfn> attribute, if
-  present, gives the URLs of the resources that are interested in
-  being notified if the user follows the hyperlink. The value must be
-  a <a href=#set-of-space-separated-tokens>set of space-separated tokens</a>, each of which must be a
-  <a href=#valid-url title="valid URL">valid URL</a>. <span class=impl>The
-  value is used by the user agent for <a href=#hyperlink-auditing>hyperlink
-  auditing</a>.</span></p>
-
-  <p>For <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements that represent
-  hyperlinks, the relationship between the document containing the
-  hyperlink and the destination resource indicated by the hyperlink is
-  given by the value of the element's <dfn id=attr-hyperlink-rel title=attr-hyperlink-rel><code>rel</code></dfn> attribute, which
-  must be a <a href=#set-of-space-separated-tokens>set of space-separated tokens</a>. The <a href=#linkTypes>allowed values and their meanings</a> are defined
-  below. The <code title=attr-hyperlink-rel><a href=#attr-hyperlink-rel>rel</a></code> attribute has
-  no default value. If the attribute is omitted or if none of the
-  values in the attribute are recognized by the user agent, then the
-  document has no particular relationship with the destination
-  resource other than there being a hyperlink between the two.</p>
-
-  <p>The <dfn id=attr-hyperlink-media title=attr-hyperlink-media><code>media</code></dfn>
-  attribute describes for which media the target document was
-  designed. It is purely advisory. The value must be a <a href=#valid-media-query>valid
-  media query</a>. The default, if the <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code> attribute is omitted, is
-  "<code title="">all</code>".</p>
-
-  <p>The <dfn id=attr-hyperlink-hreflang title=attr-hyperlink-hreflang><code>hreflang</code></dfn>
-  attribute on hyperlink elements, if present, gives the language of
-  the linked resource. It is purely advisory. The value must be a
-  valid BCP 47 language code. <a href=#refsBCP47>[BCP47]</a>
-  <span class=impl>User agents must not consider this attribute
-  authoritative — upon fetching the resource, user agents must
-  use only language information associated with the resource to
-  determine its language, not metadata included in the link to the
-  resource.</span></p>
-
-  <p>The <dfn id=attr-hyperlink-type title=attr-hyperlink-type><code>type</code></dfn>
-  attribute, if present, gives the <a href=#mime-type>MIME type</a> of the
-  linked resource. It is purely advisory. The value must be a
-  <a href=#valid-mime-type>valid MIME type</a>. <span class=impl>User agents must
-  not consider the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code>
-  attribute authoritative — upon fetching the resource, user
-  agents must not use metadata included in the link to the resource to
-  determine its type.</span></p>
-
-
-  <div class=impl>
-
-  <h4 id=following-hyperlinks><span class=secno>6.12.2 </span><dfn>Following hyperlinks</dfn></h4>
-
-  <p>When a user <em>follows a hyperlink</em>, the user agent must
-  <a href=#resolve-a-url title="resolve a url">resolve</a> the <a href=#url>URL</a>
-  given by the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute
-  of that hyperlink, relative to the hyperlink element, and if that is
-  successful, must <a href=#navigate>navigate</a> a <a href=#browsing-context>browsing
-  context</a> to the resulting <a href=#absolute-url>absolute URL</a>. In the
-  case of server-side image maps, the URL of the hyperlink must
-  further have its <var><a href=#hyperlink-suffix>hyperlink suffix</a></var> appended to it.</p>
-
-  <p>If <a href=#resolve-a-url title="resolve a url">resolving</a> the
-  <a href=#url>URL</a> fails, the user agent may report the error to the
-  user in a user-agent-specific manner, may navigate to an error page
-  to report the error, or may ignore the error and do nothing.</p>
-
-  <p>If the user indicated a specific <a href=#browsing-context>browsing context</a>
-  when following the hyperlink, or if the user agent is configured to
-  follow hyperlinks by navigating a particular browsing context, then
-  that must be the <a href=#browsing-context>browsing context</a> that is
-  navigated.</p>
-
-  <p>Otherwise, if the hyperlink element is an <code><a href=#the-a-element>a</a></code> or
-  <code><a href=#the-area-element>area</a></code> element that has a <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute, then the
-  <a href=#browsing-context>browsing context</a> that is navigated must be chosen by
-  applying <a href=#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name>the rules for choosing a browsing context given a
-  browsing context name</a>, using the value of the <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute as the
-  browsing context name. If these rules result in the creation of a
-  new <a href=#browsing-context>browsing context</a>, it must be navigated with
-  <a href=#replacement-enabled>replacement enabled</a>.</p>
-
-  <p>Otherwise, if the hyperlink element is a <a href=#rel-sidebar-hyperlink title=rel-sidebar-hyperlink>sidebar hyperlink</a> and the user
-  agent implements a feature that can be considered a secondary
-  browsing context, such a secondary browsing context may be selected
-  as the browsing context to be navigated.</p>
-
-  <p>Otherwise, if the hyperlink element is an <code><a href=#the-a-element>a</a></code> or
-  <code><a href=#the-area-element>area</a></code> element with no <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute, but one of
-  the child nodes of <a href=#the-head-element>the <code>head</code> element</a> is a
-  <code><a href=#the-base-element>base</a></code> element with a <code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute, then the browsing
-  context that is navigated must be chosen by applying <a href=#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name>the rules
-  for choosing a browsing context given a browsing context name</a>,
-  using the value of the <code title=attr-base-target><a href=#attr-base-target>target</a></code>
-  attribute of the first such <code><a href=#the-base-element>base</a></code> element as the
-  browsing context name. If these rules result in the creation of a
-  new <a href=#browsing-context>browsing context</a>, it must be navigated with
-  <a href=#replacement-enabled>replacement enabled</a>.</p>
-
-  <p>Otherwise, the browsing context that must be navigated is the
-  same browsing context as the one which the hyperlink element itself
-  is in.</p>
-
-  <p>The navigation must be done with the <a href=#browsing-context>browsing
-  context</a> that contains the <code>Document</code> object with
-  which the hyperlink's element in question is associated as the
-  <a href=#source-browsing-context>source browsing context</a>.</p>
-
-
-  <h5 id=hyperlink-auditing><span class=secno>6.12.2.1 </span><dfn>Hyperlink auditing</dfn></h5>
-
-  <p>If an <code><a href=#the-a-element>a</a></code> or <code><a href=#the-area-element>area</a></code> hyperlink element has a
-  <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute, and the
-  user follows the hyperlink, and the hyperlink's <a href=#url>URL</a> can
-  be <a href=#resolve-a-url title="resolve a url">resolved</a>, relative to the
-  hyperlink element, without failure, then the user agent must take
-  the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute's value,
-  <a href=#split-a-string-on-spaces title="split a string on spaces">split that string on
-  spaces</a>, <a href=#resolve-a-url title="resolve a url">resolve</a> each
-  resulting token relative to the hyperlink element, and then should
-  send a request (as described below) to each of the resulting <a href=#absolute-url title="absolute URL">absolute URLs</a>. (Tokens that fail to
-  resolve are ignored.) This may be done in parallel with the primary
-  request, and is independent of the result of that request.</p>
-
-  <p>User agents should allow the user to adjust this behavior, for
-  example in conjunction with a setting that disables the sending of
-  HTTP <code title=http-referer>Referer</code> (sic) headers. Based
-  on the user's preferences, UAs may either <a href=#ignore>ignore</a> the
-  <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute altogether,
-  or selectively ignore URLs in the list (e.g. ignoring any
-  third-party URLs).</p>
-
-  <p>For URLs that are HTTP URLs, the requests must be performed by
-  <a href=#fetch title=fetch>fetching</a> the specified URLs using the
-  POST method, with an entity body with the <a href=#mime-type>MIME type</a>
-  <code><a href=#text/ping>text/ping</a></code> consisting of the four-character string
-  "<code title="">PING</code>", from the <a href=#origin>origin</a> of the
-  <code>Document</code> containing the <a href=#hyperlink>hyperlink</a>. <!--
-  not http-origin privacy sensitive --> All relevant cookie and HTTP
-  authentication headers must be included in the request. Which other
-  headers are required depends on the URLs involved.</p>
-
-  <dl class=switch><dt>If both the <a href="#the-document's-address" title="the document's address">address</a>
-   of the <code>Document</code> object containing the hyperlink being
-   audited and the ping URL have the <a href=#same-origin>same origin</a></dt>
-
-   <dd>The request must include a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP header with, as its
-   value, the <a href="#the-document's-address" title="the document's address">address</a> of
-   the document containing the hyperlink, and a <code title=http-ping-to><a href=#ping-to>Ping-To</a></code> HTTP header with, as its value,
-   the address of the <a href=#absolute-url>absolute URL</a> of the target of the
-   hyperlink. The request must not include a <code title=http-referer>Referer</code> (sic) HTTP header. <!-- because
-   otherwise it would look like a trustable same-origin POST --></dd>
-
-   <dt>Otherwise, if the origins are different, but the document
-   containing the hyperlink being audited was not retrieved over an
-   encrypted connection</dt>
-
-   <dd>The request must include a <code title=http-referer>Referer</code> (sic) HTTP header [sic] with,
-   as its value, the <a href="#the-document's-current-address" title="the document's current
-   address">current address</a> of the document containing the
-   hyperlink, a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP
-   header with the same value, and a <code title=http-ping-to><a href=#ping-to>Ping-To</a></code> HTTP header with, as its value,
-   the address of the target of the hyperlink.</dd>
-
-   <dt>Otherwise, the origins are different and the document
-   containing the hyperlink being audited was retrieved over an
-   encrypted connection</dt>
-
-   <dd>The request must include a <code title=http-ping-to><a href=#ping-to>Ping-To</a></code> HTTP header with, as its value,
-   the address of the target of the hyperlink. The request must
-   neither include a <code title=http-referer>Referer</code> (sic)
-   HTTP header nor include a <code title=http-ping-from><a href=#ping-from>Ping-From</a></code> HTTP header.</dd>
-
-  </dl><p class=note>To save bandwidth, implementors might also wish to
-  consider omitting optional headers such as <code>Accept</code> from
-  these requests.</p>
-
-  <p>User agents must, unless otherwise specified by the user, honor
-  the HTTP headers (including, in particular, redirects and HTTP
-  cookie headers), but must ignore any entity bodies returned in the
-  responses. User agents may close the connection prematurely once
-  they start receiving an entity body. <a href=#refsCOOKIES>[COOKIES]</a></p>
-
-  <p>For URLs that are not HTTP URLs, the requests must be performed
-  by <a href=#fetch title=fetch>fetching</a> the specified URL normally,
-  and discarding the results.</p>
-
-  <p>When the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute is
-  present, user agents should clearly indicate to the user that
-  following the hyperlink will also cause secondary requests to be
-  sent in the background, possibly including listing the actual target
-  URLs.</p>
-
-  <p class=example>For example, a visual user agent could include
-  the hostnames of the target ping URLs along with the hyperlink's
-  actual URL in a status bar or tooltip.</p>
-
-  </div>
-
-  <div class=note>
-
-   <p>The <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute is redundant
-   with pre-existing technologies like HTTP redirects and JavaScript
-   in allowing Web pages to track which off-site links are most
-   popular or allowing advertisers to track click-through rates.</p>
-
-   <p>However, the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute
-   provides these advantages to the user over those alternatives:</p>
-
-   <ul><li>It allows the user to see the final target URL
-    unobscured.</li>
-
-    <li>It allows the UA to inform the user about the out-of-band
-    notifications.</li>
-
-    <li>It allows the user to disable the notifications without losing
-    the underlying link functionality.</li>
-
-    <li>It allows the UA to optimize the use of available network
-    bandwidth so that the target page loads faster.</li>
-
-   </ul><p>Thus, while it is possible to track users without this feature,
-   authors are encouraged to use the <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute so that the user
-   agent can make the user experience more transparent.</p>
-
-  </div>
-
-  <!-- resolving ping urls happens at audit time, so base URL changes
-  affect the values of ping attributes -->
-
-
-
-  <h4 id=linkTypes><span class=secno>6.12.3 </span>Link types</h4>
-
-  <p>The following table summarizes the link types that are defined by
-  this specification. This table is non-normative; the actual
-  definitions for the link types are given in the next few
-  sections.</p>
-
-  <p>In this section, the term <i>referenced document</i> refers to
-  the resource identified by the element representing the link, and
-  the term <i>current document</i> refers to the resource within
-  which the element representing the link finds itself.</p>
-
-  <div class=impl>
-
-  <p>To determine which link types apply to a <code><a href=#the-link-element>link</a></code>,
-  <code><a href=#the-a-element>a</a></code>, or <code><a href=#the-area-element>area</a></code> element, the element's <code title="">rel</code> attribute must be <a href=#split-a-string-on-spaces title="split a string on
-  spaces">split on spaces</a>. The resulting tokens are the link
-  types that apply to that element.</p>
-
-  </div>
-
-  <p>Except where otherwise specified, a keyword must not be specified
-  more than once per <code title=attr-rel-hyperlink>rel</code>
-  attribute.</p>
-
-  <p>The link types that contain no U+003A COLON characters (:),
-  including all those defined in this specification, are <a href=#ascii-case-insensitive>ASCII
-  case-insensitive</a> values<span class=impl>, and must be
-  compared as such</span>.</p>
-
-  <p class=example>Thus, <code title="">rel="next"</code> is the
-  same as <code title="">rel="NEXT"</code>.</p>
-
-  <table><thead><tr><th rowspan=2>Link type</th>
-     <th colspan=2>Effect on...</th>
-     <th rowspan=2>Brief description</th>
-    <tr><th><code><a href=#the-link-element>link</a></code></th>
-     <th><code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code></th>
-    <tbody><tr><td><code title=rel-alternate><a href=#link-type-alternate>alternate</a></code></td> <!-- second most used <link rel> value -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Gives alternate representations of the current document.</td>
-    <tr><td><code title=rel-archives><a href=#link-type-archives>archives</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Provides a link to a collection of records, documents, or other materials of historical interest.</td>
-    <tr><td><code title=rel-author><a href=#link-type-author>author</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Gives a link to the current document's author.</td>
-    <tr><td><code title=rel-bookmark><a href=#link-type-bookmark>bookmark</a></code></td> <!-- fourth most used <a rel> value -->
-     <td><em>not allowed</em></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Gives the permalink for the nearest ancestor section.</td>
-    </tr><!-- (commented out on the assumption that rel=contact is really XFN)
-    <tr>
-     <td><code title="rel-contact">contact</code></td> <!- 8th most used <a rel> value ->
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Gives a link to contact information for the current document.</td>
-    </tr>
---><tr><td><code title=rel-external><a href=#link-type-external>external</a></code></td> <!-- fifth and sixth most used <a rel> value (sixth is "external nofollow") -->
-     <td><em>not allowed</em></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the referenced document is not part of the same site as the current document.</td>
-    <tr><td><code title=rel-first><a href=#link-type-first>first</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the current document is a part of a series, and that the first document in the series is the referenced document.</td>
-    <tr><td><code title=rel-help><a href=#link-type-help>help</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Provides a link to context-sensitive help.</td>
-    <tr><td><code title=rel-icon><a href=#rel-icon>icon</a></code></td> <!-- link rel="shortcut icon" and its ilk are the fourth, sixth, and ninth most used values -->
-     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
-     <td><em>not allowed</em></td>
-     <td>Imports an icon to represent the current document.</td>
-    <tr><td><code title=rel-index><a href=#link-type-index>index</a></code></td> <!-- used more than "top" and "contents" on <link> (though on <a>, "contents" wins) -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Gives a link to the document that provides a table of contents or index listing the current document.</td>
-    <tr><td><code title=rel-last><a href=#link-type-last>last</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the current document is a part of a series, and that the last document in the series is the referenced document.</td>
-    <tr><td><code title=rel-license><a href=#link-type-license>license</a></code></td> <!-- seventh most used <a rel> value -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the main content of the current document is covered by the copyright license described by the referenced document.</td>
-    <tr><td><code title=rel-next><a href=#link-type-next>next</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the current document is a part of a series, and that the next document in the series is the referenced document.</td>
-    <tr><td><code title=rel-nofollow><a href=#link-type-nofollow>nofollow</a></code></td> <!-- most used <a rel> value (and sixth most used is "external nofollow") -->
-     <td><em>not allowed</em></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the current document's original author or publisher does not endorse the referenced document.</td>
-    <tr><td><code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code></td>
-     <td><em>not allowed</em></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Requires that the user agent not send an HTTP <code title=http-referer>Referer</code> (sic) header if the user follows the hyperlink.</td>
-    <tr><td><code title=rel-pingback><a href=#link-type-pingback>pingback</a></code></td>
-     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
-     <td><em>not allowed</em></td>
-     <td>Gives the address of the pingback server that handles pingbacks to the current document.</td>
-    <tr><td><code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code></td>
-     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
-     <td><em>not allowed</em></td>
-     <td>Specifies that the target resource should be preemptively cached.</td>
-    <tr><td><code title=rel-prev><a href=#link-type-prev>prev</a></code></td> <!-- prev is used more than previous -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Indicates that the current document is a part of a series, and that the previous document in the series is the referenced document.</td>
-    <tr><td><code title=rel-search><a href=#link-type-search>search</a></code></td> <!-- used quite a bit -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Gives a link to a resource that can be used to search through the current document and its related pages.</td>
-    <tr><td><code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code></td> <!-- most commonly used <link rel> value, variants came in 7th, 8th, 12th, 17th... -->
-     <td><a href=#external-resource-link title="external resource link">External Resource</a></td>
-     <td><em>not allowed</em></td>
-     <td>Imports a stylesheet.</td>
-    <tr><td><code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code></td> <!-- used quite a bit -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Specifies that the referenced document, if retrieved, is intended to be shown in the browser's sidebar (if it has one).</td>
-    <tr><td><code title=rel-tag><a href=#link-type-tag>tag</a></code></td> <!-- second and third most used <a rel> value (third is technically "category tag"). -->
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Gives a tag (identified by the given address) that applies to the current document.</td>
-    <tr><td><code title=rel-up><a href=#link-type-up>up</a></code></td>
-     <td><a href=#hyperlink-link title="hyperlink link">Hyperlink</a></td>
-     <td><a href=#hyperlink>Hyperlink</a></td>
-     <td>Provides a link to a document giving the context for the current document.</td>
-    </table><div class=impl>
-
-  <p>Some of the types described below list synonyms for these
-  values. These <!--<span class="impl">-->are to be handled as
-  specified by user agents, but<!--</span>--> must not be used in
-  documents.</p>
-
-  </div>
-
-  <!-- v2 ideas:
-   * rel="script"
-   * rel="related" // see also
-   * http://microformats.org/wiki/rel-enclosure
-  -->
-
-
-  <h5 id=link-type-alternate><span class=secno>6.12.3.1 </span>Link type "<dfn title=rel-alternate><code>alternate</code></dfn>"</h5>
-
-  <p>The <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword may be
-  used with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, if the <code title=attr-link-rel><a href=#attr-link-rel>rel</a></code> attribute does not also contain the
-  keyword <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>, it creates a
-  <a href=#hyperlink-link title="hyperlink link">hyperlink</a>; but if it
-  <em>does</em> also contain the keyword <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>, the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword instead modifies the
-  meaning of the <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code>
-  keyword in the way described for that keyword, and the rest of this
-  subsection doesn't apply.</p>
-
-  <p>The <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword
-  indicates that the referenced document is an alternate
-  representation of the current document.</p>
-
-  <p>The nature of the referenced document is given by the <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code>, <code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code>, and <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code> attributes.</p>
-
-  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
-  used with the <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code>
-  attribute, it indicates that the referenced document is intended for
-  use with the media specified.</p>
-
-  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
-  used with the <code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code>
-  attribute, and that attribute's value differs from the <a href=#root-element>root
-  element</a>'s <a href=#language>language</a>, it indicates that the
-  referenced document is a translation.</p>
-
-  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
-  used with the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code>
-  attribute, it indicates that the referenced document is a
-  reformulation of the current document in the specified format.</p>
-
-  <p>The <code title=attr-hyperlink-media><a href=#attr-hyperlink-media>media</a></code>, <code title=attr-hyperlink-hreflang><a href=#attr-hyperlink-hreflang>hreflang</a></code>, and <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code> attributes can be combined
-  when specified with the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code>
-  keyword.</p>
-
-  <div class=example>
-
-   <p>For example, the following link is a French translation that
-   uses the PDF format:</p>
-
-   <pre><link rel=alternate type=application/pdf hreflang=fr href=manual-fr></pre>
-
-  </div>
-
-  <div class=impl>
-
-  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
-  used with the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code>
-  attribute set to the value <code title="">application/rss+xml</code>
-  or the value <code title="">application/atom+xml</code>, then it
-  indicates that the referenced document is a syndication feed (though
-  not necessarily syndicating exactly the same content as the current
-  page).</p>
-
-  <div class=impl>
-
-  <p>The first <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, or <code><a href=#the-area-element>area</a></code>
-  element in the document (in tree order) with the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword used with the <code title=attr-hyperlink-type><a href=#attr-hyperlink-type>type</a></code> attribute set to the value
-  <code title="">application/rss+xml</code> or the value <code title="">application/atom+xml</code> must be treated as the default
-  syndication feed for the purposes of feed autodiscovery.</p>
-
-  <div class=example>
-   <p>The following <code><a href=#the-link-element>link</a></code> element gives the syndication
-   feed for the current page:</p>
-   <pre><link rel="alternate" type="application/atom+xml" href="data.xml"></pre>
-   <p>The following extract offers various different syndication
-   feeds:</p>
-   <pre><p>You can access the planets database using Atom feeds:</p>
-<ul>
- <li><a href="recently-visited-planets.xml" rel="alternate" type="application/atom+xml">Recently Visited Planets</a></li>
- <li><a href="known-bad-planets.xml" rel="alternate" type="application/atom+xml">Known Bad Planets</a></li>
- <li><a href="unexplored-planets.xml" rel="alternate" type="application/atom+xml">Unexplored Planets</a></li>
-</ul></pre>
-  </div>
-
-  </div>
-
-
-
-
-  </div>
-
-  <p>The <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> link
-  relationship is transitive — that is, if a document links to
-  two other documents with the link type "<code title=rel-alternate><a href=#link-type-alternate>alternate</a></code>", then, in addition to
-  implying that those documents are alternative representations of the
-  first document, it is also implying that those two documents are
-  alternative representations of each other.</p>
-
-
-  <h5 id=link-type-archives><span class=secno>6.12.3.2 </span>Link type "<dfn title=rel-archives><code>archives</code></dfn>"</h5>
-
-  <p>The <code title=rel-archives><a href=#link-type-archives>archives</a></code> keyword may be
-  used with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-archives><a href=#link-type-archives>archives</a></code> keyword indicates
-  that the referenced document describes a collection of records,
-  documents, or other materials of historical interest.</p>
-
-  <p class=example>A blog's index page could link to an index of the
-  blog's past posts with <code title="">rel="archives"</code>.</p>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keyword "<code title="">archive</code>" like the
-  <code title=rel-archives><a href=#link-type-archives>archives</a></code> keyword.</p>
-
-  </div>
-
-
-  <h5 id=link-type-author><span class=secno>6.12.3.3 </span>Link type "<dfn title=rel-author><code>author</code></dfn>"</h5>
-
-  <p>The <code title=rel-author><a href=#link-type-author>author</a></code> keyword may be
-  used with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>For <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements, the <code title=rel-author><a href=#link-type-author>author</a></code> keyword indicates that the
-  referenced document provides further information about the author of
-  the nearest <code><a href=#the-article-element>article</a></code> element ancestor of the element
-  defining the hyperlink, if there is one, or of the page as a whole,
-  otherwise.</p>
-
-  <p>For <code><a href=#the-link-element>link</a></code> elements, the <code title=rel-author><a href=#link-type-author>author</a></code> keyword indicates that the
-  referenced document provides further information about the author
-  for the page as a whole.</p>
-
-  <p class=note>The "referenced document" can be, and often is, a
-  <code title="">mailto:</code> URL giving the e-mail address of the
-  author. <a href=#refsMAILTO>[MAILTO]</a></p>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and
-  <code><a href=#the-area-element>area</a></code> elements that have a <code title="">rev</code>
-  attribute with the value "<code>made</code>" as having the <code title=rel-author><a href=#link-type-author>author</a></code> keyword specified as a link
-  relationship.</p>
-
-  </div>
-
-
-  <h5 id=link-type-bookmark><span class=secno>6.12.3.4 </span>Link type "<dfn title=rel-bookmark><code>bookmark</code></dfn>"</h5>
-
-  <p>The <code title=rel-bookmark><a href=#link-type-bookmark>bookmark</a></code> keyword may be
-  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
-
-  <p>The <code title=rel-bookmark><a href=#link-type-bookmark>bookmark</a></code> keyword gives a
-  permalink for the nearest ancestor <code><a href=#the-article-element>article</a></code> element of
-  the linking element in question, or of <a href=#associatedSection>the section the linking element is most
-  closely associated with</a>, if there are no ancestor
-  <code><a href=#the-article-element>article</a></code> elements.</p>
-
-  <div class=example>
-   <p>The following snippet has three permalinks. A user agent could
-   determine which permalink applies to which part of the spec by
-   looking at where the permalinks are given.</p>
-   <pre> ...
- <body>
-  <h1>Example of permalinks</h1>
-  <div id="a">
-   <h2>First example</h2>
-   <p><a href="a.html" rel="bookmark">This</a> permalink applies to
-   only the content from the first H2 to the second H2. The DIV isn't
-   exactly that section, but it roughly corresponds to it.</p>
-  </div>
-  <h2>Second example</h2>
-  <article id="b">
-   <p><a href="b.html" rel="bookmark">This</a> permalink applies to
-   the outer ARTICLE element (which could be, e.g., a blog post).</p>
-   <article id="c">
-    <p><a href="c.html" rel="bookmark">This</a> permalink applies to
-    the inner ARTICLE element (which could be, e.g., a blog comment).</p>
-   </article>
-  </article>
- </body>
- ...</pre>
-  </div>
-
-<!-- (commented out on the assumption that rel=contact is really XFN)
-  <h5>Link type "<dfn title="rel-contact"><code>contact</code></dfn>"</h5>
-
-  <p>The <code title="rel-contact">contact</code> keyword may be used
-  with <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>For <code>a</code> and <code>area</code> elements, the <code
-  title="rel-contact">contact</code> keyword indicates that the
-  referenced document provides further contact information for the
-  author of the nearest <code>article</code> element ancestor of the
-  element defining the hyperlink, if there is one, or of the page as a
-  whole, otherwise.</p>
-
-  <div class="impl">
-
-  <p>User agents must treat any hyperlink in an <code>address</code>
-  element as having the <code title="rel-contact">contact</code> link
-  type specified.</p>
-
-  </div>
-
-  <p>For <code>link</code> elements, the <code
-  title="rel-contact">contact</code> keyword indicates that the
-  referenced document provides further contact information for the
-  page as a whole.</p>
--->
-
-
-  <h5 id=link-type-external><span class=secno>6.12.3.5 </span>Link type "<dfn title=rel-external><code>external</code></dfn>"</h5>
-
-  <p>The <code title=rel-external><a href=#link-type-external>external</a></code> keyword may be
-  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
-
-  <p>The <code title=rel-external><a href=#link-type-external>external</a></code> keyword indicates
-  that the link is leading to a document that is not part of the site
-  that the current document forms a part of.</p>
-
-
-  <h5 id=link-type-help><span class=secno>6.12.3.6 </span>Link type "<dfn title=rel-help><code>help</code></dfn>"</h5>
-
-  <p>The <code title=rel-help><a href=#link-type-help>help</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>For <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements, the <code title=rel-help><a href=#link-type-help>help</a></code> keyword indicates that the referenced
-  document provides further help information for the parent of the
-  element defining the hyperlink, and its children.</p>
-
-  <div class=example>
-
-   <p>In the following example, the form control has associated
-   context-sensitive help. The user agent could use this information,
-   for example, displaying the referenced document if the user presses
-   the "Help" or "F1" key.</p>
-
-   <pre> <p><label> Topic: <input name=topic> <a href="help/topic.html" rel="help">(Help)</a></label></p></pre>
-
-  </div>
-
-  <p>For <code><a href=#the-link-element>link</a></code> elements, the <code title=rel-help><a href=#link-type-help>help</a></code> keyword indicates that the referenced
-  document provides help for the page as a whole.</p>
-
-
-  <h5 id=rel-icon><span class=secno>6.12.3.7 </span>Link type "<dfn title=rel-icon><code>icon</code></dfn>"</h5>
-
-  <p>The <code title=rel-icon><a href=#rel-icon>icon</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a>.</p>
-
-  <div class=impl>
-
-  <p>The specified resource is an icon representing the page or site,
-  and should be used by the user agent when representing the page in
-  the user interface.</p>
-
-  </div>
-
-  <p>Icons could be auditory icons, visual icons, or other kinds of
-  icons. <span class=impl>If multiple icons are provided, the user
-  agent must select the most appropriate icon according to the <code title=attr-link-type><a href=#attr-link-type>type</a></code>, <code title=attr-link-media><a href=#attr-link-media>media</a></code>, and <code title=attr-link-sizes><a href=#attr-link-sizes>sizes</a></code> attributes. If there are
-  multiple equally appropriate icons, user agents must use the last
-  one declared in <a href=#tree-order>tree order</a>. If the user agent tries to
-  use an icon but that icon is determined, upon closer examination, to
-  in fact be inappropriate (e.g. because it uses an unsupported
-  format), then the user agent must try the next-most-appropriate icon
-  as determined by the attributes.</span></p>
-
-  <div class=impl>
-
-  <p>There is no default type for resources given by the <code title=rel-icon><a href=#rel-icon>icon</a></code> keyword. However, for the purposes of
-  <a href=#concept-link-type-sniffing>determining the type of the
-  resource</a>, user agents must expect the resource to be an image.</p>
-
-  </div>
-
-  <p>The <dfn id=attr-link-sizes title=attr-link-sizes><code>sizes</code></dfn>
-  attribute gives the sizes of icons for visual media.</p>
-
-  <p>If specified, the attribute must have a value that is an
-  <a href=#unordered-set-of-unique-space-separated-tokens>unordered set of unique space-separated tokens</a>. The
-  values must all be either <code title=attr-link-sizes-any><a href=#attr-link-sizes-any>any</a></code> or a value that consists of
-  two <a href=#valid-non-negative-integer title="valid non-negative integer">valid non-negative
-  integers</a> that do not have a leading U+0030 DIGIT ZERO (0)
-  character and that are separated by a single U+0078 LATIN SMALL
-  LETTER X character (x).</p>
-
-  <p>The keywords represent icon sizes.</p>
-
-  <div class=impl>
-
-  <p>To parse and process the attribute's value, the user agent must
-  first <a href=#split-a-string-on-spaces title="split a string on spaces">split the attribute's
-  value on spaces</a>, and must then parse each resulting keyword
-  to determine what it represents.</p>
-
-  </div>
-
-  <p>The <dfn id=attr-link-sizes-any title=attr-link-sizes-any><code>any</code></dfn> keyword
-  represents that the resource contains a scalable icon, e.g. as
-  provided by an SVG image.</p>
-
-  <div class=impl>
-
-  <p>Other keywords must be further parsed as follows to determine
-  what they represent:</p>
-
-  <ul><li><p>If the keyword doesn't contain exactly one U+0078 LATIN
-   SMALL LETTER X character (x), then this keyword doesn't represent
-   anything. Abort these steps for that keyword.</li>
-
-   <li><p>Let <var title="">width string</var> be the string before
-   the "<code title="">x</code>".</li>
-
-   <li><p>Let <var title="">height string</var> be the string after the
-   "<code title="">x</code>".</li>
-
-   <li><p>If either <var title="">width string</var> or <var title="">height string</var> start with a U+0030 DIGIT ZERO (0)
-   character or contain any characters other than characters in the
-   range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then this
-   keyword doesn't represent anything. Abort these steps for that
-   keyword.</li>
-
-   <li><p>Apply the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative
-   integers</a> to <var title="">width string</var> to obtain <var title="">width</var>.</li>
-
-   <li><p>Apply the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative
-   integers</a> to <var title="">height string</var> to obtain <var title="">height</var>.</li>
-
-   <li><p>The keyword represents that the resource contains a bitmap
-   icon with a width of <var title="">width</var> device pixels and a
-   height of <var title="">height</var> device pixels.</li>
-
-  </ul></div>
-
-  <p>The keywords specified on the <code title=attr-link-sizes><a href=#attr-link-sizes>sizes</a></code> attribute must not represent
-  icon sizes that are not actually available in the linked
-  resource.</p>
-
-  <div class=impl>
-
-  <p>If the attribute is not specified, then the user agent must
-  assume that the given icon is appropriate, but less appropriate than
-  an icon of a known and appropriate size.</p>
-
-  </div>
-
-  <div class=example>
-
-   <p>The following snippet shows the top part of an application with
-   several icons.</p>
-
-   <pre><!DOCTYPE HTML>
-<html>
- <head>
-  <title>lsForums — Inbox</title>
-  <link rel=icon href=favicon.png sizes="16x16" type="image/png">
-  <link rel=icon href=windows.ico sizes="32x32 48x48" type="image/vnd.microsoft.icon">
-  <link rel=icon href=mac.icns sizes="128x128 512x512 8192x8192 32768x32768">
-  <link rel=icon href=iphone.png sizes="59x60" type="image/png">
-  <link rel=icon href=gnome.svg sizes="any" type="image/svg+xml">
-  <link rel=stylesheet href=lsforums.css>
-  <script src=lsforums.js></script>
-  <meta name=application-name content="lsForums">
- </head>
- <body>
-  ...</pre>
-
-  </div>
-
-
-  <h5 id=link-type-license><span class=secno>6.12.3.8 </span>Link type "<dfn title=rel-license><code>license</code></dfn>"</h5>
-
-  <p>The <code title=rel-license><a href=#link-type-license>license</a></code> keyword may be used
-  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-license><a href=#link-type-license>license</a></code> keyword indicates
-  that the referenced document provides the copyright license terms
-  under which the main content of the current document is
-  provided.</p>
-
-  <p>This specification does not specify how to distinguish between
-  the main content of a document and content that is not deemed to be
-  part of that main content. The distinction should be made clear to
-  the user.</p>
-
-  <div class=example>
-
-   <p>Consider a photo sharing site. A page on that site might
-   describe and show a photograph, and the page might be marked up as
-   follows:</p>
-
-   <pre><!DOCTYPE HTML>
-<html>
- <head>
-  <title>Exampl Pictures: Kissat</title>
-  <link rel="stylesheet" href="/style/default">
- </head>
- <body>
-  <h1>Kissat</h1>
-  <nav>
-   <a href="../">Return to photo index</a>
-  </nav>
-  <figure>
-   <img src="/pix/39627052_fd8dcd98b5.jpg">
-   <figcaption>Kissat</figcaption>
-  </figure>
-  <p>One of them has six toes!</p>
-  <p><small><a rel="license" href="http://www.opensource.org/licenses/mit-license.php">MIT Licensed</a></small></p>
-  <footer>
-   <a href="/">Home</a> | <a href="../">Photo index</a>
-   <p><small>© copyright 2009 Exampl Pictures. All Rights Reserved.</small></p>
-  </footer>
- </body>
-</html></pre>
-
-   <p>In this case the <code title=rel-license><a href=#link-type-license>license</a></code>
-   applies to just the photo (the main content of the document), not
-   the whole document. In particular not the design of the page
-   itself, which is covered by the copyright given at the bottom of
-   the document. This could be made clearer in the styling
-   (e.g. making the license link prominently positioned near the
-   photograph, while having the page copyright in light small text at
-   the foot of the page.</p>
-
-  </div>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keyword "<code title="">copyright</code>" like
-  the <code title=rel-license><a href=#link-type-license>license</a></code> keyword.</p>
-
-  </div>
-
-
-  <h5 id=link-type-nofollow><span class=secno>6.12.3.9 </span>Link type "<dfn title=rel-nofollow><code>nofollow</code></dfn>"</h5>
-
-  <p>The <code title=rel-nofollow><a href=#link-type-nofollow>nofollow</a></code> keyword may be
-  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
-
-  <p>The <code title=rel-nofollow><a href=#link-type-nofollow>nofollow</a></code> keyword indicates
-  that the link is not endorsed by the original author or publisher of
-  the page, or that the link to the referenced document was included
-  primarily because of a commercial relationship between people
-  affiliated with the two pages.</p>
-
-
-  <h5 id=link-type-noreferrer><span class=secno>6.12.3.10 </span>Link type "<dfn title=rel-noreferrer><code>noreferrer</code></dfn>"</h5>
-
-  <p>The <code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code> keyword may be
-  used with <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code> elements.</p>
-
-  <p>It indicates that no referrer information is to be leaked when
-  following the link.</p>
-
-  <div class=impl>
-
-  <p>If a user agent follows a link defined by an <code><a href=#the-a-element>a</a></code> or
-  <code><a href=#the-area-element>area</a></code> element that has the <code title=rel-noreferrer><a href=#link-type-noreferrer>noreferrer</a></code> keyword, the user agent
-  must not include a <code title=http-referer>Referer</code> (sic)
-  HTTP header (<a href=#concept-http-equivalent-headers title=concept-http-equivalent-headers>or
-  equivalent</a> for other protocols) in the request.</p>
-
-  <p>This keyword also <a href=#noopener>causes the <code title=dom-opener>opener</code> attribute to remain null</a> if the
-  hyperlink creates a new <a href=#browsing-context>browsing context</a>.</p>
-
-  </div>
-
-  <!-- v2: Would be nice to apply this to other elements too,
-  e.g. letting <img> or CSS or <video> hide the referrer -->
-
-
-  <h5 id=link-type-pingback><span class=secno>6.12.3.11 </span>Link type "<dfn title=rel-pingback><code>pingback</code></dfn>"</h5>
-
-  <p>The <code title=rel-pingback><a href=#link-type-pingback>pingback</a></code> keyword may be
-  used with <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a>.</p>
-
-  <p>For the semantics of the <code title=rel-pingback><a href=#link-type-pingback>pingback</a></code> keyword, see the Pingback 1.0
-  specification. <a href=#refsPINGBACK>[PINGBACK]</a></p>
-
-
-  <h5 id=link-type-prefetch><span class=secno>6.12.3.12 </span>Link type "<dfn title=rel-prefetch><code>prefetch</code></dfn>"</h5>
-
-  <p>The <code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code> keyword may be
-  used with <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a>.</p>
-
-  <p>The <code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code> keyword indicates
-  that preemptively fetching and caching the specified resource is
-  likely to be beneficial, as it is highly likely that the user will
-  require this resource.</p>
-
-  <p>There is no default type for resources given by the <code title=rel-prefetch><a href=#link-type-prefetch>prefetch</a></code> keyword.</p>
-
-
-  <h5 id=link-type-search><span class=secno>6.12.3.13 </span>Link type "<dfn title=rel-search><code>search</code></dfn>"</h5>
-
-  <p>The <code title=rel-search><a href=#link-type-search>search</a></code> keyword may be used
-  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-search><a href=#link-type-search>search</a></code> keyword indicates that
-  the referenced document provides an interface specifically for
-  searching the document and its related resources.</p>
-
-  <p class=note>OpenSearch description documents can be used with
-  <code><a href=#the-link-element>link</a></code> elements and the <code title=rel-search><a href=#link-type-search>search</a></code> link type to enable user agents to
-  autodiscover search interfaces. <a href=#refsOPENSEARCH>[OPENSEARCH]</a></p>
-
-
-  <h5 id=link-type-stylesheet><span class=secno>6.12.3.14 </span>Link type "<dfn title=rel-stylesheet><code>stylesheet</code></dfn>"</h5>
-
-  <p>The <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code> keyword may be
-  used with <code><a href=#the-link-element>link</a></code> elements, for which it creates an <a href=#external-resource-link title="external resource link">external resource link</a> that
-  contributes to the <a href=#styling>styling processing model</a>.</p>
-
-  <p>The specified resource is a resource that describes how to
-  present the document. Exactly how the resource is to be processed
-  depends on the actual type of the resource.</p>
-
-  <p>If the <code title=rel-alternate><a href=#link-type-alternate>alternate</a></code> keyword is
-  also specified on the <code><a href=#the-link-element>link</a></code> element, then <dfn id=the-link-is-an-alternative-stylesheet>the link
-  is an alternative stylesheet</dfn>; in this case, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute must be specified on the
-  <code><a href=#the-link-element>link</a></code> element, with a non-empty value.</p>
-
-  <p>The default type for resources given by the <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code> keyword is <code title="">text/css</code>.</p>
-
-  <div class=impl>
-
-  <p><strong>Quirk</strong>: If the document has been set to
-  <a href=#quirks-mode>quirks mode</a> and the <a href=#content-type title=Content-Type>Content-Type metadata</a> of the external
-  resource is not a supported style sheet type, the user agent must
-  instead assume it to be <code title="">text/css</code>.</p>
-
-  </div>
-
-
-  <h5 id=link-type-sidebar><span class=secno>6.12.3.15 </span>Link type "<dfn title=rel-sidebar><code>sidebar</code></dfn>"</h5>
-
-  <p>The <code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code> keyword may be used
-  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code> keyword indicates
-  that the referenced document, if retrieved, is intended to be shown
-  in a <a href=#secondary-browsing-context>secondary browsing context</a> (if possible), instead
-  of in the current <a href=#browsing-context>browsing context</a>.</p>
-
-  <p>A <a href=#hyperlink title=hyperlink>hyperlink element</a> with the <code title=rel-sidebar><a href=#link-type-sidebar>sidebar</a></code> keyword specified is a <dfn id=rel-sidebar-hyperlink title=rel-sidebar-hyperlink>sidebar hyperlink</dfn>.</p>
-
-
-  <h5 id=link-type-tag><span class=secno>6.12.3.16 </span>Link type "<dfn title=rel-tag><code>tag</code></dfn>"</h5>
-
-  <p>The <code title=rel-tag><a href=#link-type-tag>tag</a></code> keyword may be used
-  with <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-tag><a href=#link-type-tag>tag</a></code> keyword indicates that the
-  <em>tag</em> that the referenced document represents applies to the
-  current document.</p>
-
-  <p class=note>Since it indicates that the tag <em>applies to the
-  current document</em>, it would be inappropriate to use this keyword
-  in the markup of a <a href=#tag-cloud>tag cloud</a>, which lists
-  the popular tag across a set of pages.</p>
-
-
-  <h5 id=hierarchical-link-types><span class=secno>6.12.3.17 </span>Hierarchical link types</h5>
-
-  <p>Some documents form part of a hierarchical structure of
-  documents.</p>
-
-  <p>A hierarchical structure of documents is one where each document
-  can have various subdocuments. The document of which a document is a
-  subdocument is said to be the document's <em>parent</em>. A document
-  with no parent forms the top of the hierarchy.</p>
-
-  <p>A document may be part of multiple hierarchies.</p>
-
-
-  <h6 id=link-type-index><span class=secno>6.12.3.17.1 </span>Link type "<dfn title=rel-index><code>index</code></dfn>"</h6>
-
-  <p>The <code title=rel-index><a href=#link-type-index>index</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-index><a href=#link-type-index>index</a></code> keyword indicates that
-  the document is part of a hierarchical structure, and that the link
-  is leading to the document that is the top of the hierarchy. It
-  conveys more information when used with the <code title=rel-up><a href=#link-type-up>up</a></code> keyword (q.v.).</p>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keywords "<code title="">top</code>", "<code title="">contents</code>", and "<code title="">toc</code>" like the
-  <code title=rel-index><a href=#link-type-index>index</a></code> keyword.</p>
-
-  </div>
-
-
-  <h6 id=link-type-up><span class=secno>6.12.3.17.2 </span>Link type "<dfn title=rel-up><code>up</code></dfn>"</h6>
-
-  <p>The <code title=rel-up><a href=#link-type-up>up</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-up><a href=#link-type-up>up</a></code> keyword indicates that the
-  document is part of a hierarchical structure, and that the link is
-  leading to a document that is an ancestor of the current
-  document.</p>
-
-  <p>The <code title=rel-up><a href=#link-type-up>up</a></code> keyword may be repeated within
-  a <code title=attr-hyperlink-rel><a href=#attr-hyperlink-rel>rel</a></code> attribute to indicate
-  the hierarchical distance from the current document to the
-  referenced document. If it occurs only once, then the link is
-  leading to the current document's parent; each additional occurrence
-  of the keyword represents one further level. If the <code title=rel-index><a href=#link-type-index>index</a></code> keyword is also present, then the
-  number of <code title=rel-up><a href=#link-type-up>up</a></code> keywords is the depth of
-  the current page relative to the top of the hierarchy. Only one link
-  is created for the set of one or more <code title=rel-up><a href=#link-type-up>up</a></code>
-  keywords and, if present, the <code title=rel-index><a href=#link-type-index>index</a></code>
-  keyword.</p>
-
-  <p>If the page is part of multiple hierarchies, then they should be
-  described in different <a href=#paragraph title=paragraph>paragraphs</a>. <span class=impl>User agents
-  must scope any interpretation of the <code title=rel-up><a href=#link-type-up>up</a></code>
-  and <code title=rel-index><a href=#link-type-index>index</a></code> keywords together
-  indicating the depth of the hierarchy to the <a href=#paragraph>paragraph</a>
-  in which the link finds itself, if any, or to the document
-  otherwise.</span></p>
-
-  <div class=impl>
-
-  <p>When two links have both the <code title=rel-up><a href=#link-type-up>up</a></code> and
-  <code title=rel-index><a href=#link-type-index>index</a></code> keywords specified together in
-  the same scope and contradict each other by having a different
-  number of <code title=rel-up><a href=#link-type-up>up</a></code> keywords, the link with the
-  greater number of <code title=rel-up><a href=#link-type-up>up</a></code> keywords must be
-  taken as giving the depth of the document.</p>
-
-  </div>
-
-  <div class=example>
-
-   <p>This can be used to mark up a navigation style sometimes known
-   as bread crumbs. In the following example, the current page can be
-   reached via two paths.</p>
-
-   <pre><nav>
- <p>
-  <a href="/" rel="index up up up">Main</a> >
-  <a href="/products/" rel="up up">Products</a> >
-  <a href="/products/dishwashers/" rel="up">Dishwashers</a> >
-  <a>Second hand</a>
- </p>
- <p>
-  <a href="/" rel="index up up">Main</a> >
-  <a href="/second-hand/" rel="up">Second hand</a> >
-  <a>Dishwashers</a>
- </p>
-</nav></pre>
-
-  </div>
-
-  <p class=note>The <code title=dom-a-relList><a href=#dom-a-rellist>relList</a></code> IDL
-  attribute (e.g. on the <code><a href=#the-a-element>a</a></code> element) does not currently
-  represent multiple <code title=rel-up><a href=#link-type-up>up</a></code> keywords (the
-  interface hides duplicates).</p>
-
-
-  <h5 id=sequential-link-types><span class=secno>6.12.3.18 </span>Sequential link types</h5>
-
-  <p>Some documents form part of a sequence of documents.</p>
-
-  <p>A sequence of documents is one where each document can have a
-  <em>previous sibling</em> and a <em>next sibling</em>. A document
-  with no previous sibling is the start of its sequence, a document
-  with no next sibling is the end of its sequence.</p>
-
-  <p>A document may be part of multiple sequences.</p>
-
-
-  <h6 id=link-type-first><span class=secno>6.12.3.18.1 </span>Link type "<dfn title=rel-first><code>first</code></dfn>"</h6>
-
-  <p>The <code title=rel-first><a href=#link-type-first>first</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-first><a href=#link-type-first>first</a></code> keyword indicates that
-  the document is part of a sequence, and that the link is leading to
-  the document that is the first logical document in the sequence.</p>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keywords "<code title="">begin</code>" and
-  "<code title="">start</code>" like the <code title=rel-first><a href=#link-type-first>first</a></code> keyword.</p>
-
-  </div>
-
-
-  <h6 id=link-type-last><span class=secno>6.12.3.18.2 </span>Link type "<dfn title=rel-last><code>last</code></dfn>"</h6>
-
-  <p>The <code title=rel-last><a href=#link-type-last>last</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-last><a href=#link-type-last>last</a></code> keyword indicates that the
-  document is part of a sequence, and that the link is leading to the
-  document that is the last logical document in the sequence.</p>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keyword "<code title="">end</code>" like the
-  <code title=rel-last><a href=#link-type-last>last</a></code> keyword.</p>
-
-  </div>
-
-
-  <h6 id=link-type-next><span class=secno>6.12.3.18.3 </span>Link type "<dfn title=rel-next><code>next</code></dfn>"</h6>
-
-  <p>The <code title=rel-next><a href=#link-type-next>next</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-next><a href=#link-type-next>next</a></code> keyword indicates that the
-  document is part of a sequence, and that the link is leading to the
-  document that is the next logical document in the sequence.</p>
-
-
-  <h6 id=link-type-prev><span class=secno>6.12.3.18.4 </span>Link type "<dfn title=rel-prev><code>prev</code></dfn>"</h6>
-
-  <p>The <code title=rel-prev><a href=#link-type-prev>prev</a></code> keyword may be used with
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code>
-  elements. For <code><a href=#the-link-element>link</a></code> elements, it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink</a>.</p>
-
-  <p>The <code title=rel-prev><a href=#link-type-prev>prev</a></code> keyword indicates that the
-  document is part of a sequence, and that the link is leading to the
-  document that is the previous logical document in the sequence.</p>
-
-  <div class=impl>
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keyword "<code title="">previous</code>" like
-  the <code title=rel-prev><a href=#link-type-prev>prev</a></code> keyword.</p>
-
-  </div>
-
-
-  <h5 id=other-link-types><span class=secno>6.12.3.19 </span>Other link types</h5>
-
-  <p><dfn id=concept-rel-extensions title=concept-rel-extensions>Extensions to the predefined
-  set of link types</dfn> may be registered in the <a href=http://wiki.whatwg.org/wiki/RelExtensions>WHATWG Wiki
-  RelExtensions page</a>. <a href=#refsWHATWGWIKI>[WHATWGWIKI]</a></p>
-
-  <p>Anyone is free to edit the WHATWG Wiki RelExtensions page at any
-  time to add a type. Extension types must be specified with the
-  following information:</p>
-
-  <dl><dt>Keyword</dt>
-
-   <dd>
-
-    <p>The actual value being defined. The value should not be
-    confusingly similar to any other defined value (e.g. differing
-    only in case).</p>
-
-    <p>If the value contains a U+003A COLON character (:), it must
-    also be an <a href=#absolute-url>absolute URL</a>.</p>
-
-   </dd>
-
-
-   <dt>Effect on... <code><a href=#the-link-element>link</a></code></dt>
-
-   <dd>
-
-    <p>One of the following:</p>
-
-    <dl><dt>not allowed</dt>
-
-     <dd>The keyword is not allowed to be specified on
-     <code><a href=#the-link-element>link</a></code> elements.</dd>
-
-     <dt>Hyperlink</dt>
-
-     <dd>The keyword may be specified on a <code><a href=#the-link-element>link</a></code> element;
-     it creates a <a href=#hyperlink-link title="hyperlink link">hyperlink
-     link</a>.</dd>
-
-     <dt>External Resource</dt>
-
-     <dd>The keyword may be specified on a <code><a href=#the-link-element>link</a></code> element;
-     it creates a <a href=#external-resource-link title="external resource link">external
-     resource link</a>.</dd>
-
-    </dl></dd>
-
-
-   <dt>Effect on... <code><a href=#the-a-element>a</a></code> and <code><a href=#the-area-element>area</a></code></dt>
-
-   <dd>
-
-    <p>One of the following:</p>
-
-    <dl><dt>not allowed</dt>
-
-     <dd>The keyword is not allowed to be specified on <code><a href=#the-a-element>a</a></code>
-     and <code><a href=#the-area-element>area</a></code> elements.</dd>
-
-     <dt>Hyperlink</dt>
-
-     <dd>The keyword may be specified on <code><a href=#the-a-element>a</a></code> and
-     <code><a href=#the-area-element>area</a></code> elements.</dd>
-
-    </dl></dd>
-
-
-   <dt>Brief description</dt>
-
-   <dd><p>A short non-normative description of what the keyword's
-   meaning is.</dd>
-
-
-   <dt>Specification</dt>
-
-   <dd><p>A link to a more detailed description of the keyword's
-   semantics and requirements. It could be another page on the Wiki,
-   or a link to an external page.</dd>
-
-
-   <dt>Synonyms</dt>
-
-   <dd><p>A list of other keyword values that have exactly the same
-   processing requirements. Authors should not use the values defined
-   to be synonyms, they are only intended to allow user agents to
-   support legacy content. Anyone may remove synonyms that are not
-   used in practice; only names that need to be processed as synonyms
-   for compatibility with legacy content are to be registered in this
-   way.</dd>
-
-
-   <dt>Status</dt>
-
-   <dd>
-
-    <p>One of the following:</p>
-
-    <dl><dt>Proposed</dt>
-
-     <dd>The keyword has not received wide peer review and
-     approval. Someone has proposed it and is, or soon will be, using
-     it.</dd>
-
-     <dt>Ratified</dt>
-
-     <dd>The keyword has received wide peer review and approval. It
-     has a specification that unambiguously defines how to handle
-     pages that use the keyword, including when they use it in
-     incorrect ways.</dd>
-
-     <dt>Discontinued</dt>
-
-     <dd>The keyword has received wide peer review and it has been
-     found wanting. Existing pages are using this keyword, but new
-     pages should avoid it. The "brief description" and
-     "specification" entries will give details of what authors should
-     use instead, if anything.</dd>
-
-    </dl><p>If a keyword is found to be redundant with existing values, it
-    should be removed and listed as a synonym for the existing
-    value.</p>
-
-    <p>If a keyword is registered in the "proposed" state for a
-    period of a month or more without being used or specified, then it
-    may be removed from the registry.</p>
-
-    <p>If a keyword is added with the "proposed" status and found to
-    be redundant with existing values, it should be removed and listed
-    as a synonym for the existing value. If a keyword is added with
-    the "proposed" status and found to be harmful, then it should be
-    changed to "discontinued" status.</p>
-
-    <p>Anyone can change the status at any time, but should only do so
-    in accordance with the definitions above.</p>
-
-   </dd>
-
-  </dl><div class=impl>
-
-  <p>Conformance checkers must use the information given on the WHATWG
-  Wiki RelExtensions page to establish if a value is allowed or not:
-  values defined in this specification or marked as "proposed" or
-  "ratified" must be accepted when used on the elements for which they
-  apply as described in the "Effect on..." field, whereas values
-  marked as "discontinued" or not listed in either this specification
-  or on the aforementioned page must be rejected as invalid.
-  Conformance checkers may cache this information (e.g. for
-  performance reasons or to avoid the use of unreliable network
-  connectivity).</p>
-
-  <p>When an author uses a new type not defined by either this
-  specification or the Wiki page, conformance checkers should offer to
-  add the value to the Wiki, with the details described above, with
-  the "proposed" status.</p>
-
-  </div>
-
-  <p>Types defined as extensions in the <a href=http://wiki.whatwg.org/wiki/RelExtensions>WHATWG Wiki
-  RelExtensions page</a> with the status "proposed" or "ratified" may
-  be used with the <code title="">rel</code> attribute on
-  <code><a href=#the-link-element>link</a></code>, <code><a href=#the-a-element>a</a></code>, and <code><a href=#the-area-element>area</a></code> elements in
-  accordance to the "Effect on..." field. <a href=#refsWHATWGWIKI>[WHATWGWIKI]</a></p>
-
-
-
-
   <h2 id=editing><span class=secno>7 </span><dfn>User Interaction</dfn></h2>
 
   <p>This section describes various features that allow authors to

Modified: source
===================================================================
--- source	2010-02-05 23:09:54 UTC (rev 4665)
+++ source	2010-02-05 23:16:41 UTC (rev 4666)
@@ -49501,6 +49501,1533 @@
 
 
 
+
+  <h3 id="links">Links</h3>
+
+
+  <h4>Hyperlink elements</h4>
+
+  <p>The <code>a</code>, <code>area</code>, and <code>link</code>
+  elements can, in certain situations described in the definitions of
+  those elements, represent <dfn
+  title="hyperlink">hyperlinks</dfn>.</p>
+
+  <p>The <dfn title="attr-hyperlink-href"><code>href</code></dfn>
+  attribute on a hyperlink element must have a value that is a
+  <span>valid URL</span>. This URL is the <em>destination
+  resource</em> of the hyperlink.</p>
+
+  <div class="note">
+
+   <p>The <code title="attr-hyperlink-href">href</code> attribute on
+   <code>a</code> and <code>area</code> elements is not required; when
+   those elements do not have <code
+   title="attr-hyperlink-href">href</code> attributes they do not
+   represent hyperlinks.</p>
+
+   <p>The <code title="attr-link-href">href</code> attribute on the
+   <code>link</code> element <em>is</em> required, but whether a
+   <code>link</code> element represents a hyperlink or not depends on
+   the value of the <code title="attr-link-rel">rel</code> attribute
+   of that element.</p>
+
+  </div>
+
+  <p>The <dfn title="attr-hyperlink-target"><code>target</code></dfn>
+  attribute, if present, must be a <span>valid browsing context name
+  or keyword</span>. It gives the name of the <span>browsing
+  context</span> that will be used. <span class="impl">User agents use
+  this name when <span>following hyperlinks</span>.</span></p>
+
+  <p>The <dfn id="ping"
+  title="attr-hyperlink-ping"><code>ping</code></dfn> attribute, if
+  present, gives the URLs of the resources that are interested in
+  being notified if the user follows the hyperlink. The value must be
+  a <span>set of space-separated tokens</span>, each of which must be a
+  <span title="valid URL">valid URL</span>. <span class="impl">The
+  value is used by the user agent for <span>hyperlink
+  auditing</span>.</span></p>
+
+  <p>For <code>a</code> and <code>area</code> elements that represent
+  hyperlinks, the relationship between the document containing the
+  hyperlink and the destination resource indicated by the hyperlink is
+  given by the value of the element's <dfn
+  title="attr-hyperlink-rel"><code>rel</code></dfn> attribute, which
+  must be a <span>set of space-separated tokens</span>. The <a
+  href="#linkTypes">allowed values and their meanings</a> are defined
+  below. The <code title="attr-hyperlink-rel">rel</code> attribute has
+  no default value. If the attribute is omitted or if none of the
+  values in the attribute are recognized by the user agent, then the
+  document has no particular relationship with the destination
+  resource other than there being a hyperlink between the two.</p>
+
+  <p>The <dfn title="attr-hyperlink-media"><code>media</code></dfn>
+  attribute describes for which media the target document was
+  designed. It is purely advisory. The value must be a <span>valid
+  media query</span>. The default, if the <code
+  title="attr-hyperlink-media">media</code> attribute is omitted, is
+  "<code title="">all</code>".</p>
+
+  <p>The <dfn
+  title="attr-hyperlink-hreflang"><code>hreflang</code></dfn>
+  attribute on hyperlink elements, if present, gives the language of
+  the linked resource. It is purely advisory. The value must be a
+  valid BCP 47 language code. <a href="#refsBCP47">[BCP47]</a>
+  <span class="impl">User agents must not consider this attribute
+  authoritative — upon fetching the resource, user agents must
+  use only language information associated with the resource to
+  determine its language, not metadata included in the link to the
+  resource.</span></p>
+
+  <p>The <dfn title="attr-hyperlink-type"><code>type</code></dfn>
+  attribute, if present, gives the <span>MIME type</span> of the
+  linked resource. It is purely advisory. The value must be a
+  <span>valid MIME type</span>. <span class="impl">User agents must
+  not consider the <code title="attr-hyperlink-type">type</code>
+  attribute authoritative — upon fetching the resource, user
+  agents must not use metadata included in the link to the resource to
+  determine its type.</span></p>
+
+
+  <div class="impl">
+
+  <h4><dfn>Following hyperlinks</dfn></h4>
+
+  <p>When a user <em>follows a hyperlink</em>, the user agent must
+  <span title="resolve a url">resolve</span> the <span>URL</span>
+  given by the <code title="attr-hyperlink-href">href</code> attribute
+  of that hyperlink, relative to the hyperlink element, and if that is
+  successful, must <span>navigate</span> a <span>browsing
+  context</span> to the resulting <span>absolute URL</span>. In the
+  case of server-side image maps, the URL of the hyperlink must
+  further have its <var>hyperlink suffix</var> appended to it.</p>
+
+  <p>If <span title="resolve a url">resolving</span> the
+  <span>URL</span> fails, the user agent may report the error to the
+  user in a user-agent-specific manner, may navigate to an error page
+  to report the error, or may ignore the error and do nothing.</p>
+
+  <p>If the user indicated a specific <span>browsing context</span>
+  when following the hyperlink, or if the user agent is configured to
+  follow hyperlinks by navigating a particular browsing context, then
+  that must be the <span>browsing context</span> that is
+  navigated.</p>
+
+  <p>Otherwise, if the hyperlink element is an <code>a</code> or
+  <code>area</code> element that has a <code
+  title="attr-hyperlink-target">target</code> attribute, then the
+  <span>browsing context</span> that is navigated must be chosen by
+  applying <span>the rules for choosing a browsing context given a
+  browsing context name</span>, using the value of the <code
+  title="attr-hyperlink-target">target</code> attribute as the
+  browsing context name. If these rules result in the creation of a
+  new <span>browsing context</span>, it must be navigated with
+  <span>replacement enabled</span>.</p>
+
+  <p>Otherwise, if the hyperlink element is a <span
+  title="rel-sidebar-hyperlink">sidebar hyperlink</span> and the user
+  agent implements a feature that can be considered a secondary
+  browsing context, such a secondary browsing context may be selected
+  as the browsing context to be navigated.</p>
+
+  <p>Otherwise, if the hyperlink element is an <code>a</code> or
+  <code>area</code> element with no <code
+  title="attr-hyperlink-target">target</code> attribute, but one of
+  the child nodes of <span>the <code>head</code> element</span> is a
+  <code>base</code> element with a <code
+  title="attr-base-target">target</code> attribute, then the browsing
+  context that is navigated must be chosen by applying <span>the rules
+  for choosing a browsing context given a browsing context name</span>,
+  using the value of the <code title="attr-base-target">target</code>
+  attribute of the first such <code>base</code> element as the
+  browsing context name. If these rules result in the creation of a
+  new <span>browsing context</span>, it must be navigated with
+  <span>replacement enabled</span>.</p>
+
+  <p>Otherwise, the browsing context that must be navigated is the
+  same browsing context as the one which the hyperlink element itself
+  is in.</p>
+
+  <p>The navigation must be done with the <span>browsing
+  context</span> that contains the <code>Document</code> object with
+  which the hyperlink's element in question is associated as the
+  <span>source browsing context</span>.</p>
+
+
+  <h5><dfn>Hyperlink auditing</dfn></h5>
+
+  <p>If an <code>a</code> or <code>area</code> hyperlink element has a
+  <code title="attr-hyperlink-ping">ping</code> attribute, and the
+  user follows the hyperlink, and the hyperlink's <span>URL</span> can
+  be <span title="resolve a url">resolved</span>, relative to the
+  hyperlink element, without failure, then the user agent must take
+  the <code title="attr-hyperlink-ping">ping</code> attribute's value,
+  <span title="split a string on spaces">split that string on
+  spaces</span>, <span title="resolve a url">resolve</span> each
+  resulting token relative to the hyperlink element, and then should
+  send a request (as described below) to each of the resulting <span
+  title="absolute URL">absolute URLs</span>. (Tokens that fail to
+  resolve are ignored.) This may be done in parallel with the primary
+  request, and is independent of the result of that request.</p>
+
+  <p>User agents should allow the user to adjust this behavior, for
+  example in conjunction with a setting that disables the sending of
+  HTTP <code title="http-referer">Referer</code> (sic) headers. Based
+  on the user's preferences, UAs may either <span>ignore</span> the
+  <code title="attr-hyperlink-ping">ping</code> attribute altogether,
+  or selectively ignore URLs in the list (e.g. ignoring any
+  third-party URLs).</p>
+
+  <p>For URLs that are HTTP URLs, the requests must be performed by
+  <span title="fetch">fetching</span> the specified URLs using the
+  POST method, with an entity body with the <span>MIME type</span>
+  <code>text/ping</code> consisting of the four-character string
+  "<code title="">PING</code>", from the <span>origin</span> of the
+  <code>Document</code> containing the <span>hyperlink</span>. <!--
+  not http-origin privacy sensitive --> All relevant cookie and HTTP
+  authentication headers must be included in the request. Which other
+  headers are required depends on the URLs involved.</p>
+
+  <dl class="switch">
+
+   <dt>If both the <span title="the document's address">address</span>
+   of the <code>Document</code> object containing the hyperlink being
+   audited and the ping URL have the <span>same origin</span></dt>
+
+   <dd>The request must include a <code
+   title="http-ping-from">Ping-From</code> HTTP header with, as its
+   value, the <span title="the document's address">address</span> of
+   the document containing the hyperlink, and a <code
+   title="http-ping-to">Ping-To</code> HTTP header with, as its value,
+   the address of the <span>absolute URL</span> of the target of the
+   hyperlink. The request must not include a <code
+   title="http-referer">Referer</code> (sic) HTTP header. <!-- because
+   otherwise it would look like a trustable same-origin POST --></dd>
+
+   <dt>Otherwise, if the origins are different, but the document
+   containing the hyperlink being audited was not retrieved over an
+   encrypted connection</dt>
+
+   <dd>The request must include a <code
+   title="http-referer">Referer</code> (sic) HTTP header [sic] with,
+   as its value, the <span title="the document's current
+   address">current address</span> of the document containing the
+   hyperlink, a <code title="http-ping-from">Ping-From</code> HTTP
+   header with the same value, and a <code
+   title="http-ping-to">Ping-To</code> HTTP header with, as its value,
+   the address of the target of the hyperlink.</dd>
+
+   <dt>Otherwise, the origins are different and the document
+   containing the hyperlink being audited was retrieved over an
+   encrypted connection</dt>
+
+   <dd>The request must include a <code
+   title="http-ping-to">Ping-To</code> HTTP header with, as its value,
+   the address of the target of the hyperlink. The request must
+   neither include a <code title="http-referer">Referer</code> (sic)
+   HTTP header nor include a <code
+   title="http-ping-from">Ping-From</code> HTTP header.</dd>
+
+  </dl>
+
+  <p class="note">To save bandwidth, implementors might also wish to
+  consider omitting optional headers such as <code>Accept</code> from
+  these requests.</p>
+
+  <p>User agents must, unless otherwise specified by the user, honor
+  the HTTP headers (including, in particular, redirects and HTTP
+  cookie headers), but must ignore any entity bodies returned in the
+  responses. User agents may close the connection prematurely once
+  they start receiving an entity body. <a
+  href="#refsCOOKIES">[COOKIES]</a></p>
+
+  <p>For URLs that are not HTTP URLs, the requests must be performed
+  by <span title="fetch">fetching</span> the specified URL normally,
+  and discarding the results.</p>
+
+  <p>When the <code title="attr-hyperlink-ping">ping</code> attribute is
+  present, user agents should clearly indicate to the user that
+  following the hyperlink will also cause secondary requests to be
+  sent in the background, possibly including listing the actual target
+  URLs.</p>
+
+  <p class="example">For example, a visual user agent could include
+  the hostnames of the target ping URLs along with the hyperlink's
+  actual URL in a status bar or tooltip.</p>
+
+  </div>
+
+  <div class="note">
+
+   <p>The <code title="attr-hyperlink-ping">ping</code> attribute is redundant
+   with pre-existing technologies like HTTP redirects and JavaScript
+   in allowing Web pages to track which off-site links are most
+   popular or allowing advertisers to track click-through rates.</p>
+
+   <p>However, the <code title="attr-hyperlink-ping">ping</code> attribute
+   provides these advantages to the user over those alternatives:</p>
+
+   <ul>
+
+    <li>It allows the user to see the final target URL
+    unobscured.</li>
+
+    <li>It allows the UA to inform the user about the out-of-band
+    notifications.</li>
+
+    <li>It allows the user to disable the notifications without losing
+    the underlying link functionality.</li>
+
+    <li>It allows the UA to optimize the use of available network
+    bandwidth so that the target page loads faster.</li>
+
+   </ul>
+
+   <p>Thus, while it is possible to track users without this feature,
+   authors are encouraged to use the <code
+   title="attr-hyperlink-ping">ping</code> attribute so that the user
+   agent can make the user experience more transparent.</p>
+
+  </div>
+
+  <!-- resolving ping urls happens at audit time, so base URL changes
+  affect the values of ping attributes -->
+
+
+
+  <h4 id="linkTypes">Link types</h4>
+
+  <p>The following table summarizes the link types that are defined by
+  this specification. This table is non-normative; the actual
+  definitions for the link types are given in the next few
+  sections.</p>
+
+  <p>In this section, the term <i>referenced document</i> refers to
+  the resource identified by the element representing the link, and
+  the term <i>current document</i> refers to the resource within
+  which the element representing the link finds itself.</p>
+
+  <div class="impl">
+
+  <p>To determine which link types apply to a <code>link</code>,
+  <code>a</code>, or <code>area</code> element, the element's <code
+  title="">rel</code> attribute must be <span title="split a string on
+  spaces">split on spaces</span>. The resulting tokens are the link
+  types that apply to that element.</p>
+
+  </div>
+
+  <p>Except where otherwise specified, a keyword must not be specified
+  more than once per <code title="attr-rel-hyperlink">rel</code>
+  attribute.</p>
+
+  <p>The link types that contain no U+003A COLON characters (:),
+  including all those defined in this specification, are <span>ASCII
+  case-insensitive</span> values<span class="impl">, and must be
+  compared as such</span>.</p>
+
+  <p class="example">Thus, <code title="">rel="next"</code> is the
+  same as <code title="">rel="NEXT"</code>.</p>
+
+  <table>
+   <thead>
+    <tr>
+     <th rowspan="2">Link type</th>
+     <th colspan="2">Effect on...</th>
+     <th rowspan="2">Brief description</th>
+    </tr>
+    <tr>
+     <th><code>link</code></th>
+     <th><code>a</code> and <code>area</code></th>
+    </tr>
+   </thead>
+   <tbody>
+
+    <tr>
+     <td><code title="rel-alternate">alternate</code></td> <!-- second most used <link rel> value -->
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Gives alternate representations of the current document.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-archives">archives</code></td>
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Provides a link to a collection of records, documents, or other materials of historical interest.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-author">author</code></td>
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Gives a link to the current document's author.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-bookmark">bookmark</code></td> <!-- fourth most used <a rel> value -->
+     <td><em>not allowed</em></td>
+     <td><span>Hyperlink</span></td>
+     <td>Gives the permalink for the nearest ancestor section.</td>
+    </tr>
+<!-- (commented out on the assumption that rel=contact is really XFN)
+    <tr>
+     <td><code title="rel-contact">contact</code></td> <!- 8th most used <a rel> value ->
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Gives a link to contact information for the current document.</td>
+    </tr>
+-->
+    <tr>
+     <td><code title="rel-external">external</code></td> <!-- fifth and sixth most used <a rel> value (sixth is "external nofollow") -->
+     <td><em>not allowed</em></td>
+     <td><span>Hyperlink</span></td>
+     <td>Indicates that the referenced document is not part of the same site as the current document.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-first">first</code></td>
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Indicates that the current document is a part of a series, and that the first document in the series is the referenced document.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-help">help</code></td>
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Provides a link to context-sensitive help.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-icon">icon</code></td> <!-- link rel="shortcut icon" and its ilk are the fourth, sixth, and ninth most used values -->
+     <td><span title="external resource link">External Resource</span></td>
+     <td><em>not allowed</em></td>
+     <td>Imports an icon to represent the current document.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-index">index</code></td> <!-- used more than "top" and "contents" on <link> (though on <a>, "contents" wins) -->
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Gives a link to the document that provides a table of contents or index listing the current document.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-last">last</code></td>
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Indicates that the current document is a part of a series, and that the last document in the series is the referenced document.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-license">license</code></td> <!-- seventh most used <a rel> value -->
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Indicates that the main content of the current document is covered by the copyright license described by the referenced document.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-next">next</code></td>
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Indicates that the current document is a part of a series, and that the next document in the series is the referenced document.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-nofollow">nofollow</code></td> <!-- most used <a rel> value (and sixth most used is "external nofollow") -->
+     <td><em>not allowed</em></td>
+     <td><span>Hyperlink</span></td>
+     <td>Indicates that the current document's original author or publisher does not endorse the referenced document.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-noreferrer">noreferrer</code></td>
+     <td><em>not allowed</em></td>
+     <td><span>Hyperlink</span></td>
+     <td>Requires that the user agent not send an HTTP <code title="http-referer">Referer</code> (sic) header if the user follows the hyperlink.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-pingback">pingback</code></td>
+     <td><span title="external resource link">External Resource</span></td>
+     <td><em>not allowed</em></td>
+     <td>Gives the address of the pingback server that handles pingbacks to the current document.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-prefetch">prefetch</code></td>
+     <td><span title="external resource link">External Resource</span></td>
+     <td><em>not allowed</em></td>
+     <td>Specifies that the target resource should be preemptively cached.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-prev">prev</code></td> <!-- prev is used more than previous -->
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Indicates that the current document is a part of a series, and that the previous document in the series is the referenced document.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-search">search</code></td> <!-- used quite a bit -->
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Gives a link to a resource that can be used to search through the current document and its related pages.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-stylesheet">stylesheet</code></td> <!-- most commonly used <link rel> value, variants came in 7th, 8th, 12th, 17th... -->
+     <td><span title="external resource link">External Resource</span></td>
+     <td><em>not allowed</em></td>
+     <td>Imports a stylesheet.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-sidebar">sidebar</code></td> <!-- used quite a bit -->
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Specifies that the referenced document, if retrieved, is intended to be shown in the browser's sidebar (if it has one).</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-tag">tag</code></td> <!-- second and third most used <a rel> value (third is technically "category tag"). -->
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Gives a tag (identified by the given address) that applies to the current document.</td>
+    </tr>
+
+    <tr>
+     <td><code title="rel-up">up</code></td>
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Provides a link to a document giving the context for the current document.</td>
+    </tr>
+
+   </tbody>
+  </table>
+
+  <div class="impl">
+
+  <p>Some of the types described below list synonyms for these
+  values. These <!--<span class="impl">-->are to be handled as
+  specified by user agents, but<!--</span>--> must not be used in
+  documents.</p>
+
+  </div>
+
+  <!-- v2 ideas:
+   * rel="script"
+   * rel="related" // see also
+   * http://microformats.org/wiki/rel-enclosure
+  -->
+
+
+  <h5>Link type "<dfn title="rel-alternate"><code>alternate</code></dfn>"</h5>
+
+  <p>The <code title="rel-alternate">alternate</code> keyword may be
+  used with <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, if the <code
+  title="attr-link-rel">rel</code> attribute does not also contain the
+  keyword <code title="rel-stylesheet">stylesheet</code>, it creates a
+  <span title="hyperlink link">hyperlink</span>; but if it
+  <em>does</em> also contain the keyword <code
+  title="rel-stylesheet">stylesheet</code>, the <code
+  title="rel-alternate">alternate</code> keyword instead modifies the
+  meaning of the <code title="rel-stylesheet">stylesheet</code>
+  keyword in the way described for that keyword, and the rest of this
+  subsection doesn't apply.</p>
+
+  <p>The <code title="rel-alternate">alternate</code> keyword
+  indicates that the referenced document is an alternate
+  representation of the current document.</p>
+
+  <p>The nature of the referenced document is given by the <code
+  title="attr-hyperlink-media">media</code>, <code
+  title="attr-hyperlink-hreflang">hreflang</code>, and <code
+  title="attr-hyperlink-type">type</code> attributes.</p>
+
+  <p>If the <code title="rel-alternate">alternate</code> keyword is
+  used with the <code title="attr-hyperlink-media">media</code>
+  attribute, it indicates that the referenced document is intended for
+  use with the media specified.</p>
+
+  <p>If the <code title="rel-alternate">alternate</code> keyword is
+  used with the <code title="attr-hyperlink-hreflang">hreflang</code>
+  attribute, and that attribute's value differs from the <span>root
+  element</span>'s <span>language</span>, it indicates that the
+  referenced document is a translation.</p>
+
+  <p>If the <code title="rel-alternate">alternate</code> keyword is
+  used with the <code title="attr-hyperlink-type">type</code>
+  attribute, it indicates that the referenced document is a
+  reformulation of the current document in the specified format.</p>
+
+  <p>The <code title="attr-hyperlink-media">media</code>, <code
+  title="attr-hyperlink-hreflang">hreflang</code>, and <code
+  title="attr-hyperlink-type">type</code> attributes can be combined
+  when specified with the <code title="rel-alternate">alternate</code>
+  keyword.</p>
+
+  <div class="example">
+
+   <p>For example, the following link is a French translation that
+   uses the PDF format:</p>
+
+   <pre><link rel=alternate type=application/pdf hreflang=fr href=manual-fr></pre>
+
+  </div>
+
+  <div class="impl">
+
+  <p>If the <code title="rel-alternate">alternate</code> keyword is
+  used with the <code title="attr-hyperlink-type">type</code>
+  attribute set to the value <code title="">application/rss+xml</code>
+  or the value <code title="">application/atom+xml</code>, then it
+  indicates that the referenced document is a syndication feed (though
+  not necessarily syndicating exactly the same content as the current
+  page).</p>
+
+  <div class="impl">
+
+  <p>The first <code>link</code>, <code>a</code>, or <code>area</code>
+  element in the document (in tree order) with the <code
+  title="rel-alternate">alternate</code> keyword used with the <code
+  title="attr-hyperlink-type">type</code> attribute set to the value
+  <code title="">application/rss+xml</code> or the value <code
+  title="">application/atom+xml</code> must be treated as the default
+  syndication feed for the purposes of feed autodiscovery.</p>
+
+  <div class="example">
+   <p>The following <code>link</code> element gives the syndication
+   feed for the current page:</p>
+   <pre><link rel="alternate" type="application/atom+xml" href="data.xml"></pre>
+   <p>The following extract offers various different syndication
+   feeds:</p>
+   <pre><p>You can access the planets database using Atom feeds:</p>
+<ul>
+ <li><a href="recently-visited-planets.xml" rel="alternate" type="application/atom+xml">Recently Visited Planets</a></li>
+ <li><a href="known-bad-planets.xml" rel="alternate" type="application/atom+xml">Known Bad Planets</a></li>
+ <li><a href="unexplored-planets.xml" rel="alternate" type="application/atom+xml">Unexplored Planets</a></li>
+</ul></pre>
+  </div>
+
+  </div>
+
+
+
+
+  </div>
+
+  <p>The <code title="rel-alternate">alternate</code> link
+  relationship is transitive — that is, if a document links to
+  two other documents with the link type "<code
+  title="rel-alternate">alternate</code>", then, in addition to
+  implying that those documents are alternative representations of the
+  first document, it is also implying that those two documents are
+  alternative representations of each other.</p>
+
+
+  <h5>Link type "<dfn title="rel-archives"><code>archives</code></dfn>"</h5>
+
+  <p>The <code title="rel-archives">archives</code> keyword may be
+  used with <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>The <code title="rel-archives">archives</code> keyword indicates
+  that the referenced document describes a collection of records,
+  documents, or other materials of historical interest.</p>
+
+  <p class="example">A blog's index page could link to an index of the
+  blog's past posts with <code title="">rel="archives"</code>.</p>
+
+  <div class="impl">
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keyword "<code title="">archive</code>" like the
+  <code title="rel-archives">archives</code> keyword.</p>
+
+  </div>
+
+
+  <h5>Link type "<dfn title="rel-author"><code>author</code></dfn>"</h5>
+
+  <p>The <code title="rel-author">author</code> keyword may be
+  used with <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>For <code>a</code> and <code>area</code> elements, the <code
+  title="rel-author">author</code> keyword indicates that the
+  referenced document provides further information about the author of
+  the nearest <code>article</code> element ancestor of the element
+  defining the hyperlink, if there is one, or of the page as a whole,
+  otherwise.</p>
+
+  <p>For <code>link</code> elements, the <code
+  title="rel-author">author</code> keyword indicates that the
+  referenced document provides further information about the author
+  for the page as a whole.</p>
+
+  <p class="note">The "referenced document" can be, and often is, a
+  <code title="">mailto:</code> URL giving the e-mail address of the
+  author. <a href="#refsMAILTO">[MAILTO]</a></p>
+
+  <div class="impl">
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat <code>link</code>, <code>a</code>, and
+  <code>area</code> elements that have a <code title="">rev</code>
+  attribute with the value "<code>made</code>" as having the <code
+  title="rel-author">author</code> keyword specified as a link
+  relationship.</p>
+
+  </div>
+
+
+  <h5>Link type "<dfn title="rel-bookmark"><code>bookmark</code></dfn>"</h5>
+
+  <p>The <code title="rel-bookmark">bookmark</code> keyword may be
+  used with <code>a</code> and <code>area</code> elements.</p>
+
+  <p>The <code title="rel-bookmark">bookmark</code> keyword gives a
+  permalink for the nearest ancestor <code>article</code> element of
+  the linking element in question, or of <a
+  href="#associatedSection">the section the linking element is most
+  closely associated with</a>, if there are no ancestor
+  <code>article</code> elements.</p>
+
+  <div class="example">
+   <p>The following snippet has three permalinks. A user agent could
+   determine which permalink applies to which part of the spec by
+   looking at where the permalinks are given.</p>
+   <pre> ...
+ <body>
+  <h1>Example of permalinks</h1>
+  <div id="a">
+   <h2>First example</h2>
+   <p><a href="a.html" rel="bookmark">This</a> permalink applies to
+   only the content from the first H2 to the second H2. The DIV isn't
+   exactly that section, but it roughly corresponds to it.</p>
+  </div>
+  <h2>Second example</h2>
+  <article id="b">
+   <p><a href="b.html" rel="bookmark">This</a> permalink applies to
+   the outer ARTICLE element (which could be, e.g., a blog post).</p>
+   <article id="c">
+    <p><a href="c.html" rel="bookmark">This</a> permalink applies to
+    the inner ARTICLE element (which could be, e.g., a blog comment).</p>
+   </article>
+  </article>
+ </body>
+ ...</pre>
+  </div>
+
+<!-- (commented out on the assumption that rel=contact is really XFN)
+  <h5>Link type "<dfn title="rel-contact"><code>contact</code></dfn>"</h5>
+
+  <p>The <code title="rel-contact">contact</code> keyword may be used
+  with <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>For <code>a</code> and <code>area</code> elements, the <code
+  title="rel-contact">contact</code> keyword indicates that the
+  referenced document provides further contact information for the
+  author of the nearest <code>article</code> element ancestor of the
+  element defining the hyperlink, if there is one, or of the page as a
+  whole, otherwise.</p>
+
+  <div class="impl">
+
+  <p>User agents must treat any hyperlink in an <code>address</code>
+  element as having the <code title="rel-contact">contact</code> link
+  type specified.</p>
+
+  </div>
+
+  <p>For <code>link</code> elements, the <code
+  title="rel-contact">contact</code> keyword indicates that the
+  referenced document provides further contact information for the
+  page as a whole.</p>
+-->
+
+
+  <h5>Link type "<dfn title="rel-external"><code>external</code></dfn>"</h5>
+
+  <p>The <code title="rel-external">external</code> keyword may be
+  used with <code>a</code> and <code>area</code> elements.</p>
+
+  <p>The <code title="rel-external">external</code> keyword indicates
+  that the link is leading to a document that is not part of the site
+  that the current document forms a part of.</p>
+
+
+  <h5>Link type "<dfn title="rel-help"><code>help</code></dfn>"</h5>
+
+  <p>The <code title="rel-help">help</code> keyword may be used with
+  <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>For <code>a</code> and <code>area</code> elements, the <code
+  title="rel-help">help</code> keyword indicates that the referenced
+  document provides further help information for the parent of the
+  element defining the hyperlink, and its children.</p>
+
+  <div class="example">
+
+   <p>In the following example, the form control has associated
+   context-sensitive help. The user agent could use this information,
+   for example, displaying the referenced document if the user presses
+   the "Help" or "F1" key.</p>
+
+   <pre> <p><label> Topic: <input name=topic> <a href="help/topic.html" rel="help">(Help)</a></label></p></pre>
+
+  </div>
+
+  <p>For <code>link</code> elements, the <code
+  title="rel-help">help</code> keyword indicates that the referenced
+  document provides help for the page as a whole.</p>
+
+
+  <h5 id=rel-icon>Link type "<dfn title="rel-icon"><code>icon</code></dfn>"</h5>
+
+  <p>The <code title="rel-icon">icon</code> keyword may be used with
+  <code>link</code> elements, for which it creates an <span
+  title="external resource link">external resource link</span>.</p>
+
+  <div class="impl">
+
+  <p>The specified resource is an icon representing the page or site,
+  and should be used by the user agent when representing the page in
+  the user interface.</p>
+
+  </div>
+
+  <p>Icons could be auditory icons, visual icons, or other kinds of
+  icons. <span class="impl">If multiple icons are provided, the user
+  agent must select the most appropriate icon according to the <code
+  title="attr-link-type">type</code>, <code
+  title="attr-link-media">media</code>, and <code
+  title="attr-link-sizes">sizes</code> attributes. If there are
+  multiple equally appropriate icons, user agents must use the last
+  one declared in <span>tree order</span>. If the user agent tries to
+  use an icon but that icon is determined, upon closer examination, to
+  in fact be inappropriate (e.g. because it uses an unsupported
+  format), then the user agent must try the next-most-appropriate icon
+  as determined by the attributes.</span></p>
+
+  <div class="impl">
+
+  <p>There is no default type for resources given by the <code
+  title="rel-icon">icon</code> keyword. However, for the purposes of
+  <a href="#concept-link-type-sniffing">determining the type of the
+  resource</a>, user agents must expect the resource to be an image.</p>
+
+  </div>
+
+  <p>The <dfn title="attr-link-sizes"><code>sizes</code></dfn>
+  attribute gives the sizes of icons for visual media.</p>
+
+  <p>If specified, the attribute must have a value that is an
+  <span>unordered set of unique space-separated tokens</span>. The
+  values must all be either <code
+  title="attr-link-sizes-any">any</code> or a value that consists of
+  two <span title="valid non-negative integer">valid non-negative
+  integers</span> that do not have a leading U+0030 DIGIT ZERO (0)
+  character and that are separated by a single U+0078 LATIN SMALL
+  LETTER X character (x).</p>
+
+  <p>The keywords represent icon sizes.</p>
+
+  <div class="impl">
+
+  <p>To parse and process the attribute's value, the user agent must
+  first <span title="split a string on spaces">split the attribute's
+  value on spaces</span>, and must then parse each resulting keyword
+  to determine what it represents.</p>
+
+  </div>
+
+  <p>The <dfn title="attr-link-sizes-any"><code>any</code></dfn> keyword
+  represents that the resource contains a scalable icon, e.g. as
+  provided by an SVG image.</p>
+
+  <div class="impl">
+
+  <p>Other keywords must be further parsed as follows to determine
+  what they represent:</p>
+
+  <ul>
+
+   <li><p>If the keyword doesn't contain exactly one U+0078 LATIN
+   SMALL LETTER X character (x), then this keyword doesn't represent
+   anything. Abort these steps for that keyword.</p></li>
+
+   <li><p>Let <var title="">width string</var> be the string before
+   the "<code title="">x</code>".</p></li>
+
+   <li><p>Let <var title="">height string</var> be the string after the
+   "<code title="">x</code>".</p></li>
+
+   <li><p>If either <var title="">width string</var> or <var
+   title="">height string</var> start with a U+0030 DIGIT ZERO (0)
+   character or contain any characters other than characters in the
+   range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then this
+   keyword doesn't represent anything. Abort these steps for that
+   keyword.</p></li>
+
+   <li><p>Apply the <span>rules for parsing non-negative
+   integers</span> to <var title="">width string</var> to obtain <var
+   title="">width</var>.</p></li>
+
+   <li><p>Apply the <span>rules for parsing non-negative
+   integers</span> to <var title="">height string</var> to obtain <var
+   title="">height</var>.</p></li>
+
+   <li><p>The keyword represents that the resource contains a bitmap
+   icon with a width of <var title="">width</var> device pixels and a
+   height of <var title="">height</var> device pixels.</p></li>
+
+  </ul>
+
+  </div>
+
+  <p>The keywords specified on the <code
+  title="attr-link-sizes">sizes</code> attribute must not represent
+  icon sizes that are not actually available in the linked
+  resource.</p>
+
+  <div class="impl">
+
+  <p>If the attribute is not specified, then the user agent must
+  assume that the given icon is appropriate, but less appropriate than
+  an icon of a known and appropriate size.</p>
+
+  </div>
+
+  <div class="example">
+
+   <p>The following snippet shows the top part of an application with
+   several icons.</p>
+
+   <pre><!DOCTYPE HTML>
+<html>
+ <head>
+  <title>lsForums — Inbox</title>
+  <link rel=icon href=favicon.png sizes="16x16" type="image/png">
+  <link rel=icon href=windows.ico sizes="32x32 48x48" type="image/vnd.microsoft.icon">
+  <link rel=icon href=mac.icns sizes="128x128 512x512 8192x8192 32768x32768">
+  <link rel=icon href=iphone.png sizes="59x60" type="image/png">
+  <link rel=icon href=gnome.svg sizes="any" type="image/svg+xml">
+  <link rel=stylesheet href=lsforums.css>
+  <script src=lsforums.js></script>
+  <meta name=application-name content="lsForums">
+ </head>
+ <body>
+  ...</pre>
+
+  </div>
+
+
+  <h5>Link type "<dfn title="rel-license"><code>license</code></dfn>"</h5>
+
+  <p>The <code title="rel-license">license</code> keyword may be used
+  with <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>The <code title="rel-license">license</code> keyword indicates
+  that the referenced document provides the copyright license terms
+  under which the main content of the current document is
+  provided.</p>
+
+  <p>This specification does not specify how to distinguish between
+  the main content of a document and content that is not deemed to be
+  part of that main content. The distinction should be made clear to
+  the user.</p>
+
+  <div class="example">
+
+   <p>Consider a photo sharing site. A page on that site might
+   describe and show a photograph, and the page might be marked up as
+   follows:</p>
+
+   <pre><!DOCTYPE HTML>
+<html>
+ <head>
+  <title>Exampl Pictures: Kissat</title>
+  <link rel="stylesheet" href="/style/default">
+ </head>
+ <body>
+  <h1>Kissat</h1>
+  <nav>
+   <a href="../">Return to photo index</a>
+  </nav>
+  <figure>
+   <img src="/pix/39627052_fd8dcd98b5.jpg">
+   <figcaption>Kissat</figcaption>
+  </figure>
+  <p>One of them has six toes!</p>
+  <p><small><a rel="license" href="http://www.opensource.org/licenses/mit-license.php">MIT Licensed</a></small></p>
+  <footer>
+   <a href="/">Home</a> | <a href="../">Photo index</a>
+   <p><small>© copyright 2009 Exampl Pictures. All Rights Reserved.</small></p>
+  </footer>
+ </body>
+</html></pre>
+
+   <p>In this case the <code title="rel-license">license</code>
+   applies to just the photo (the main content of the document), not
+   the whole document. In particular not the design of the page
+   itself, which is covered by the copyright given at the bottom of
+   the document. This could be made clearer in the styling
+   (e.g. making the license link prominently positioned near the
+   photograph, while having the page copyright in light small text at
+   the foot of the page.</p>
+
+  </div>
+
+  <div class="impl">
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keyword "<code title="">copyright</code>" like
+  the <code title="rel-license">license</code> keyword.</p>
+
+  </div>
+
+
+  <h5>Link type "<dfn title="rel-nofollow"><code>nofollow</code></dfn>"</h5>
+
+  <p>The <code title="rel-nofollow">nofollow</code> keyword may be
+  used with <code>a</code> and <code>area</code> elements.</p>
+
+  <p>The <code title="rel-nofollow">nofollow</code> keyword indicates
+  that the link is not endorsed by the original author or publisher of
+  the page, or that the link to the referenced document was included
+  primarily because of a commercial relationship between people
+  affiliated with the two pages.</p>
+
+
+  <h5>Link type "<dfn title="rel-noreferrer"><code>noreferrer</code></dfn>"</h5>
+
+  <p>The <code title="rel-noreferrer">noreferrer</code> keyword may be
+  used with <code>a</code> and <code>area</code> elements.</p>
+
+  <p>It indicates that no referrer information is to be leaked when
+  following the link.</p>
+
+  <div class="impl">
+
+  <p>If a user agent follows a link defined by an <code>a</code> or
+  <code>area</code> element that has the <code
+  title="rel-noreferrer">noreferrer</code> keyword, the user agent
+  must not include a <code title="http-referer">Referer</code> (sic)
+  HTTP header (<span title="concept-http-equivalent-headers">or
+  equivalent</span> for other protocols) in the request.</p>
+
+  <p>This keyword also <a href="#noopener">causes the <code
+  title="dom-opener">opener</code> attribute to remain null</a> if the
+  hyperlink creates a new <span>browsing context</span>.</p>
+
+  </div>
+
+  <!-- v2: Would be nice to apply this to other elements too,
+  e.g. letting <img> or CSS or <video> hide the referrer -->
+
+
+  <h5>Link type "<dfn title="rel-pingback"><code>pingback</code></dfn>"</h5>
+
+  <p>The <code title="rel-pingback">pingback</code> keyword may be
+  used with <code>link</code> elements, for which it creates an <span
+  title="external resource link">external resource link</span>.</p>
+
+  <p>For the semantics of the <code
+  title="rel-pingback">pingback</code> keyword, see the Pingback 1.0
+  specification. <a href="#refsPINGBACK">[PINGBACK]</a></p>
+
+
+  <h5>Link type "<dfn title="rel-prefetch"><code>prefetch</code></dfn>"</h5>
+
+  <p>The <code title="rel-prefetch">prefetch</code> keyword may be
+  used with <code>link</code> elements, for which it creates an <span
+  title="external resource link">external resource link</span>.</p>
+
+  <p>The <code title="rel-prefetch">prefetch</code> keyword indicates
+  that preemptively fetching and caching the specified resource is
+  likely to be beneficial, as it is highly likely that the user will
+  require this resource.</p>
+
+  <p>There is no default type for resources given by the <code
+  title="rel-prefetch">prefetch</code> keyword.</p>
+
+
+  <h5>Link type "<dfn title="rel-search"><code>search</code></dfn>"</h5>
+
+  <p>The <code title="rel-search">search</code> keyword may be used
+  with <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>The <code title="rel-search">search</code> keyword indicates that
+  the referenced document provides an interface specifically for
+  searching the document and its related resources.</p>
+
+  <p class="note">OpenSearch description documents can be used with
+  <code>link</code> elements and the <code
+  title="rel-search">search</code> link type to enable user agents to
+  autodiscover search interfaces. <a
+  href="#refsOPENSEARCH">[OPENSEARCH]</a></p>
+
+
+  <h5>Link type "<dfn title="rel-stylesheet"><code>stylesheet</code></dfn>"</h5>
+
+  <p>The <code title="rel-stylesheet">stylesheet</code> keyword may be
+  used with <code>link</code> elements, for which it creates an <span
+  title="external resource link">external resource link</span> that
+  contributes to the <span>styling processing model</span>.</p>
+
+  <p>The specified resource is a resource that describes how to
+  present the document. Exactly how the resource is to be processed
+  depends on the actual type of the resource.</p>
+
+  <p>If the <code title="rel-alternate">alternate</code> keyword is
+  also specified on the <code>link</code> element, then <dfn>the link
+  is an alternative stylesheet</dfn>; in this case, the <code
+  title="attr-title">title</code> attribute must be specified on the
+  <code>link</code> element, with a non-empty value.</p>
+
+  <p>The default type for resources given by the <code
+  title="rel-stylesheet">stylesheet</code> keyword is <code
+  title="">text/css</code>.</p>
+
+  <div class="impl">
+
+  <p><strong>Quirk</strong>: If the document has been set to
+  <span>quirks mode</span> and the <span
+  title="Content-Type">Content-Type metadata</span> of the external
+  resource is not a supported style sheet type, the user agent must
+  instead assume it to be <code title="">text/css</code>.</p>
+
+  </div>
+
+
+  <h5>Link type "<dfn title="rel-sidebar"><code>sidebar</code></dfn>"</h5>
+
+  <p>The <code title="rel-sidebar">sidebar</code> keyword may be used
+  with <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>The <code title="rel-sidebar">sidebar</code> keyword indicates
+  that the referenced document, if retrieved, is intended to be shown
+  in a <span>secondary browsing context</span> (if possible), instead
+  of in the current <span>browsing context</span>.</p>
+
+  <p>A <span title="hyperlink">hyperlink element</span> with the <code
+  title="rel-sidebar">sidebar</code> keyword specified is a <dfn
+  title="rel-sidebar-hyperlink">sidebar hyperlink</dfn>.</p>
+
+
+  <h5>Link type "<dfn title="rel-tag"><code>tag</code></dfn>"</h5>
+
+  <p>The <code title="rel-tag">tag</code> keyword may be used
+  with <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>The <code title="rel-tag">tag</code> keyword indicates that the
+  <em>tag</em> that the referenced document represents applies to the
+  current document.</p>
+
+  <p class="note">Since it indicates that the tag <em>applies to the
+  current document</em>, it would be inappropriate to use this keyword
+  in the markup of a <a href="#tag-cloud">tag cloud</a>, which lists
+  the popular tag across a set of pages.</p>
+
+
+  <h5>Hierarchical link types</h5>
+
+  <p>Some documents form part of a hierarchical structure of
+  documents.</p>
+
+  <p>A hierarchical structure of documents is one where each document
+  can have various subdocuments. The document of which a document is a
+  subdocument is said to be the document's <em>parent</em>. A document
+  with no parent forms the top of the hierarchy.</p>
+
+  <p>A document may be part of multiple hierarchies.</p>
+
+
+  <h6>Link type "<dfn title="rel-index"><code>index</code></dfn>"</h6>
+
+  <p>The <code title="rel-index">index</code> keyword may be used with
+  <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>The <code title="rel-index">index</code> keyword indicates that
+  the document is part of a hierarchical structure, and that the link
+  is leading to the document that is the top of the hierarchy. It
+  conveys more information when used with the <code
+  title="rel-up">up</code> keyword (q.v.).</p>
+
+  <div class="impl">
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keywords "<code title="">top</code>", "<code
+  title="">contents</code>", and "<code title="">toc</code>" like the
+  <code title="rel-index">index</code> keyword.</p>
+
+  </div>
+
+
+  <h6>Link type "<dfn title="rel-up"><code>up</code></dfn>"</h6>
+
+  <p>The <code title="rel-up">up</code> keyword may be used with
+  <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>The <code title="rel-up">up</code> keyword indicates that the
+  document is part of a hierarchical structure, and that the link is
+  leading to a document that is an ancestor of the current
+  document.</p>
+
+  <p>The <code title="rel-up">up</code> keyword may be repeated within
+  a <code title="attr-hyperlink-rel">rel</code> attribute to indicate
+  the hierarchical distance from the current document to the
+  referenced document. If it occurs only once, then the link is
+  leading to the current document's parent; each additional occurrence
+  of the keyword represents one further level. If the <code
+  title="rel-index">index</code> keyword is also present, then the
+  number of <code title="rel-up">up</code> keywords is the depth of
+  the current page relative to the top of the hierarchy. Only one link
+  is created for the set of one or more <code title="rel-up">up</code>
+  keywords and, if present, the <code title="rel-index">index</code>
+  keyword.</p>
+
+  <p>If the page is part of multiple hierarchies, then they should be
+  described in different <span
+  title="paragraph">paragraphs</span>. <span class="impl">User agents
+  must scope any interpretation of the <code title="rel-up">up</code>
+  and <code title="rel-index">index</code> keywords together
+  indicating the depth of the hierarchy to the <span>paragraph</span>
+  in which the link finds itself, if any, or to the document
+  otherwise.</span></p>
+
+  <div class="impl">
+
+  <p>When two links have both the <code title="rel-up">up</code> and
+  <code title="rel-index">index</code> keywords specified together in
+  the same scope and contradict each other by having a different
+  number of <code title="rel-up">up</code> keywords, the link with the
+  greater number of <code title="rel-up">up</code> keywords must be
+  taken as giving the depth of the document.</p>
+
+  </div>
+
+  <div class="example">
+
+   <p>This can be used to mark up a navigation style sometimes known
+   as bread crumbs. In the following example, the current page can be
+   reached via two paths.</p>
+
+   <pre><nav>
+ <p>
+  <a href="/" rel="index up up up">Main</a> >
+  <a href="/products/" rel="up up">Products</a> >
+  <a href="/products/dishwashers/" rel="up">Dishwashers</a> >
+  <a>Second hand</a>
+ </p>
+ <p>
+  <a href="/" rel="index up up">Main</a> >
+  <a href="/second-hand/" rel="up">Second hand</a> >
+  <a>Dishwashers</a>
+ </p>
+</nav></pre>
+
+  </div>
+
+  <p class="note">The <code title="dom-a-relList">relList</code> IDL
+  attribute (e.g. on the <code>a</code> element) does not currently
+  represent multiple <code title="rel-up">up</code> keywords (the
+  interface hides duplicates).</p>
+
+
+  <h5>Sequential link types</h5>
+
+  <p>Some documents form part of a sequence of documents.</p>
+
+  <p>A sequence of documents is one where each document can have a
+  <em>previous sibling</em> and a <em>next sibling</em>. A document
+  with no previous sibling is the start of its sequence, a document
+  with no next sibling is the end of its sequence.</p>
+
+  <p>A document may be part of multiple sequences.</p>
+
+
+  <h6>Link type "<dfn title="rel-first"><code>first</code></dfn>"</h6>
+
+  <p>The <code title="rel-first">first</code> keyword may be used with
+  <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>The <code title="rel-first">first</code> keyword indicates that
+  the document is part of a sequence, and that the link is leading to
+  the document that is the first logical document in the sequence.</p>
+
+  <div class="impl">
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keywords "<code title="">begin</code>" and
+  "<code title="">start</code>" like the <code
+  title="rel-first">first</code> keyword.</p>
+
+  </div>
+
+
+  <h6>Link type "<dfn title="rel-last"><code>last</code></dfn>"</h6>
+
+  <p>The <code title="rel-last">last</code> keyword may be used with
+  <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>The <code title="rel-last">last</code> keyword indicates that the
+  document is part of a sequence, and that the link is leading to the
+  document that is the last logical document in the sequence.</p>
+
+  <div class="impl">
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keyword "<code title="">end</code>" like the
+  <code title="rel-last">last</code> keyword.</p>
+
+  </div>
+
+
+  <h6>Link type "<dfn title="rel-next"><code>next</code></dfn>"</h6>
+
+  <p>The <code title="rel-next">next</code> keyword may be used with
+  <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>The <code title="rel-next">next</code> keyword indicates that the
+  document is part of a sequence, and that the link is leading to the
+  document that is the next logical document in the sequence.</p>
+
+
+  <h6>Link type "<dfn title="rel-prev"><code>prev</code></dfn>"</h6>
+
+  <p>The <code title="rel-prev">prev</code> keyword may be used with
+  <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>The <code title="rel-prev">prev</code> keyword indicates that the
+  document is part of a sequence, and that the link is leading to the
+  document that is the previous logical document in the sequence.</p>
+
+  <div class="impl">
+
+  <p><strong>Synonyms</strong>: For historical reasons, user agents
+  must also treat the keyword "<code title="">previous</code>" like
+  the <code title="rel-prev">prev</code> keyword.</p>
+
+  </div>
+
+
+  <h5>Other link types</h5>
+
+  <p><dfn title="concept-rel-extensions">Extensions to the predefined
+  set of link types</dfn> may be registered in the <a
+  href="http://wiki.whatwg.org/wiki/RelExtensions">WHATWG Wiki
+  RelExtensions page</a>. <a
+  href="#refsWHATWGWIKI">[WHATWGWIKI]</a></p>
+
+  <p>Anyone is free to edit the WHATWG Wiki RelExtensions page at any
+  time to add a type. Extension types must be specified with the
+  following information:</p>
+
+  <dl>
+
+   <dt>Keyword</dt>
+
+   <dd>
+
+    <p>The actual value being defined. The value should not be
+    confusingly similar to any other defined value (e.g. differing
+    only in case).</p>
+
+    <p>If the value contains a U+003A COLON character (:), it must
+    also be an <span>absolute URL</span>.</p>
+
+   </dd>
+
+
+   <dt>Effect on... <code>link</code></dt>
+
+   <dd>
+
+    <p>One of the following:</p>
+
+    <dl>
+
+     <dt>not allowed</dt>
+
+     <dd>The keyword is not allowed to be specified on
+     <code>link</code> elements.</dd>
+
+     <dt>Hyperlink</dt>
+
+     <dd>The keyword may be specified on a <code>link</code> element;
+     it creates a <span title="hyperlink link">hyperlink
+     link</span>.</dd>
+
+     <dt>External Resource</dt>
+
+     <dd>The keyword may be specified on a <code>link</code> element;
+     it creates a <span title="external resource link">external
+     resource link</span>.</dd>
+
+    </dl>
+
+   </dd>
+
+
+   <dt>Effect on... <code>a</code> and <code>area</code></dt>
+
+   <dd>
+
+    <p>One of the following:</p>
+
+    <dl>
+
+     <dt>not allowed</dt>
+
+     <dd>The keyword is not allowed to be specified on <code>a</code>
+     and <code>area</code> elements.</dd>
+
+     <dt>Hyperlink</dt>
+
+     <dd>The keyword may be specified on <code>a</code> and
+     <code>area</code> elements.</dd>
+
+    </dl>
+
+   </dd>
+
+
+   <dt>Brief description</dt>
+
+   <dd><p>A short non-normative description of what the keyword's
+   meaning is.</p></dd>
+
+
+   <dt>Specification</dt>
+
+   <dd><p>A link to a more detailed description of the keyword's
+   semantics and requirements. It could be another page on the Wiki,
+   or a link to an external page.</p></dd>
+
+
+   <dt>Synonyms</dt>
+
+   <dd><p>A list of other keyword values that have exactly the same
+   processing requirements. Authors should not use the values defined
+   to be synonyms, they are only intended to allow user agents to
+   support legacy content. Anyone may remove synonyms that are not
+   used in practice; only names that need to be processed as synonyms
+   for compatibility with legacy content are to be registered in this
+   way.</p></dd>
+
+
+   <dt>Status</dt>
+
+   <dd>
+
+    <p>One of the following:</p>
+
+    <dl>
+
+     <dt>Proposed</dt>
+
+     <dd>The keyword has not received wide peer review and
+     approval. Someone has proposed it and is, or soon will be, using
+     it.</dd>
+
+     <dt>Ratified</dt>
+
+     <dd>The keyword has received wide peer review and approval. It
+     has a specification that unambiguously defines how to handle
+     pages that use the keyword, including when they use it in
+     incorrect ways.</dd>
+
+     <dt>Discontinued</dt>
+
+     <dd>The keyword has received wide peer review and it has been
+     found wanting. Existing pages are using this keyword, but new
+     pages should avoid it. The "brief description" and
+     "specification" entries will give details of what authors should
+     use instead, if anything.</dd>
+
+    </dl>
+
+    <p>If a keyword is found to be redundant with existing values, it
+    should be removed and listed as a synonym for the existing
+    value.</p>
+
+    <p>If a keyword is registered in the "proposed" state for a
+    period of a month or more without being used or specified, then it
+    may be removed from the registry.</p>
+
+    <p>If a keyword is added with the "proposed" status and found to
+    be redundant with existing values, it should be removed and listed
+    as a synonym for the existing value. If a keyword is added with
+    the "proposed" status and found to be harmful, then it should be
+    changed to "discontinued" status.</p>
+
+    <p>Anyone can change the status at any time, but should only do so
+    in accordance with the definitions above.</p>
+
+   </dd>
+
+  </dl>
+
+  <div class="impl">
+
+  <p>Conformance checkers must use the information given on the WHATWG
+  Wiki RelExtensions page to establish if a value is allowed or not:
+  values defined in this specification or marked as "proposed" or
+  "ratified" must be accepted when used on the elements for which they
+  apply as described in the "Effect on..." field, whereas values
+  marked as "discontinued" or not listed in either this specification
+  or on the aforementioned page must be rejected as invalid.
+  Conformance checkers may cache this information (e.g. for
+  performance reasons or to avoid the use of unreliable network
+  connectivity).</p>
+
+  <p>When an author uses a new type not defined by either this
+  specification or the Wiki page, conformance checkers should offer to
+  add the value to the Wiki, with the details described above, with
+  the "proposed" status.</p>
+
+  </div>
+
+  <p>Types defined as extensions in the <a
+  href="http://wiki.whatwg.org/wiki/RelExtensions">WHATWG Wiki
+  RelExtensions page</a> with the status "proposed" or "ratified" may
+  be used with the <code title="">rel</code> attribute on
+  <code>link</code>, <code>a</code>, and <code>area</code> elements in
+  accordance to the "Effect on..." field. <a
+  href="#refsWHATWGWIKI">[WHATWGWIKI]</a></p>
+
+
   <h3>Common idioms without dedicated elements</h3>
 
   <h4>Tag clouds</h4>
@@ -65429,1532 +66956,6 @@
 
 
 
-  <h3 id="links">Links</h3>
-
-
-  <h4>Hyperlink elements</h4>
-
-  <p>The <code>a</code>, <code>area</code>, and <code>link</code>
-  elements can, in certain situations described in the definitions of
-  those elements, represent <dfn
-  title="hyperlink">hyperlinks</dfn>.</p>
-
-  <p>The <dfn title="attr-hyperlink-href"><code>href</code></dfn>
-  attribute on a hyperlink element must have a value that is a
-  <span>valid URL</span>. This URL is the <em>destination
-  resource</em> of the hyperlink.</p>
-
-  <div class="note">
-
-   <p>The <code title="attr-hyperlink-href">href</code> attribute on
-   <code>a</code> and <code>area</code> elements is not required; when
-   those elements do not have <code
-   title="attr-hyperlink-href">href</code> attributes they do not
-   represent hyperlinks.</p>
-
-   <p>The <code title="attr-link-href">href</code> attribute on the
-   <code>link</code> element <em>is</em> required, but whether a
-   <code>link</code> element represents a hyperlink or not depends on
-   the value of the <code title="attr-link-rel">rel</code> attribute
-   of that element.</p>
-
-  </div>
-
-  <p>The <dfn title="attr-hyperlink-target"><code>target</code></dfn>
-  attribute, if present, must be a <span>valid browsing context name
-  or keyword</span>. It gives the name of the <span>browsing
-  context</span> that will be used. <span class="impl">User agents use
-  this name when <span>following hyperlinks</span>.</span></p>
-
-  <p>The <dfn id="ping"
-  title="attr-hyperlink-ping"><code>ping</code></dfn> attribute, if
-  present, gives the URLs of the resources that are interested in
-  being notified if the user follows the hyperlink. The value must be
-  a <span>set of space-separated tokens</span>, each of which must be a
-  <span title="valid URL">valid URL</span>. <span class="impl">The
-  value is used by the user agent for <span>hyperlink
-  auditing</span>.</span></p>
-
-  <p>For <code>a</code> and <code>area</code> elements that represent
-  hyperlinks, the relationship between the document containing the
-  hyperlink and the destination resource indicated by the hyperlink is
-  given by the value of the element's <dfn
-  title="attr-hyperlink-rel"><code>rel</code></dfn> attribute, which
-  must be a <span>set of space-separated tokens</span>. The <a
-  href="#linkTypes">allowed values and their meanings</a> are defined
-  below. The <code title="attr-hyperlink-rel">rel</code> attribute has
-  no default value. If the attribute is omitted or if none of the
-  values in the attribute are recognized by the user agent, then the
-  document has no particular relationship with the destination
-  resource other than there being a hyperlink between the two.</p>
-
-  <p>The <dfn title="attr-hyperlink-media"><code>media</code></dfn>
-  attribute describes for which media the target document was
-  designed. It is purely advisory. The value must be a <span>valid
-  media query</span>. The default, if the <code
-  title="attr-hyperlink-media">media</code> attribute is omitted, is
-  "<code title="">all</code>".</p>
-
-  <p>The <dfn
-  title="attr-hyperlink-hreflang"><code>hreflang</code></dfn>
-  attribute on hyperlink elements, if present, gives the language of
-  the linked resource. It is purely advisory. The value must be a
-  valid BCP 47 language code. <a href="#refsBCP47">[BCP47]</a>
-  <span class="impl">User agents must not consider this attribute
-  authoritative — upon fetching the resource, user agents must
-  use only language information associated with the resource to
-  determine its language, not metadata included in the link to the
-  resource.</span></p>
-
-  <p>The <dfn title="attr-hyperlink-type"><code>type</code></dfn>
-  attribute, if present, gives the <span>MIME type</span> of the
-  linked resource. It is purely advisory. The value must be a
-  <span>valid MIME type</span>. <span class="impl">User agents must
-  not consider the <code title="attr-hyperlink-type">type</code>
-  attribute authoritative — upon fetching the resource, user
-  agents must not use metadata included in the link to the resource to
-  determine its type.</span></p>
-
-
-  <div class="impl">
-
-  <h4><dfn>Following hyperlinks</dfn></h4>
-
-  <p>When a user <em>follows a hyperlink</em>, the user agent must
-  <span title="resolve a url">resolve</span> the <span>URL</span>
-  given by the <code title="attr-hyperlink-href">href</code> attribute
-  of that hyperlink, relative to the hyperlink element, and if that is
-  successful, must <span>navigate</span> a <span>browsing
-  context</span> to the resulting <span>absolute URL</span>. In the
-  case of server-side image maps, the URL of the hyperlink must
-  further have its <var>hyperlink suffix</var> appended to it.</p>
-
-  <p>If <span title="resolve a url">resolving</span> the
-  <span>URL</span> fails, the user agent may report the error to the
-  user in a user-agent-specific manner, may navigate to an error page
-  to report the error, or may ignore the error and do nothing.</p>
-
-  <p>If the user indicated a specific <span>browsing context</span>
-  when following the hyperlink, or if the user agent is configured to
-  follow hyperlinks by navigating a particular browsing context, then
-  that must be the <span>browsing context</span> that is
-  navigated.</p>
-
-  <p>Otherwise, if the hyperlink element is an <code>a</code> or
-  <code>area</code> element that has a <code
-  title="attr-hyperlink-target">target</code> attribute, then the
-  <span>browsing context</span> that is navigated must be chosen by
-  applying <span>the rules for choosing a browsing context given a
-  browsing context name</span>, using the value of the <code
-  title="attr-hyperlink-target">target</code> attribute as the
-  browsing context name. If these rules result in the creation of a
-  new <span>browsing context</span>, it must be navigated with
-  <span>replacement enabled</span>.</p>
-
-  <p>Otherwise, if the hyperlink element is a <span
-  title="rel-sidebar-hyperlink">sidebar hyperlink</span> and the user
-  agent implements a feature that can be considered a secondary
-  browsing context, such a secondary browsing context may be selected
-  as the browsing context to be navigated.</p>
-
-  <p>Otherwise, if the hyperlink element is an <code>a</code> or
-  <code>area</code> element with no <code
-  title="attr-hyperlink-target">target</code> attribute, but one of
-  the child nodes of <span>the <code>head</code> element</span> is a
-  <code>base</code> element with a <code
-  title="attr-base-target">target</code> attribute, then the browsing
-  context that is navigated must be chosen by applying <span>the rules
-  for choosing a browsing context given a browsing context name</span>,
-  using the value of the <code title="attr-base-target">target</code>
-  attribute of the first such <code>base</code> element as the
-  browsing context name. If these rules result in the creation of a
-  new <span>browsing context</span>, it must be navigated with
-  <span>replacement enabled</span>.</p>
-
-  <p>Otherwise, the browsing context that must be navigated is the
-  same browsing context as the one which the hyperlink element itself
-  is in.</p>
-
-  <p>The navigation must be done with the <span>browsing
-  context</span> that contains the <code>Document</code> object with
-  which the hyperlink's element in question is associated as the
-  <span>source browsing context</span>.</p>
-
-
-  <h5><dfn>Hyperlink auditing</dfn></h5>
-
-  <p>If an <code>a</code> or <code>area</code> hyperlink element has a
-  <code title="attr-hyperlink-ping">ping</code> attribute, and the
-  user follows the hyperlink, and the hyperlink's <span>URL</span> can
-  be <span title="resolve a url">resolved</span>, relative to the
-  hyperlink element, without failure, then the user agent must take
-  the <code title="attr-hyperlink-ping">ping</code> attribute's value,
-  <span title="split a string on spaces">split that string on
-  spaces</span>, <span title="resolve a url">resolve</span> each
-  resulting token relative to the hyperlink element, and then should
-  send a request (as described below) to each of the resulting <span
-  title="absolute URL">absolute URLs</span>. (Tokens that fail to
-  resolve are ignored.) This may be done in parallel with the primary
-  request, and is independent of the result of that request.</p>
-
-  <p>User agents should allow the user to adjust this behavior, for
-  example in conjunction with a setting that disables the sending of
-  HTTP <code title="http-referer">Referer</code> (sic) headers. Based
-  on the user's preferences, UAs may either <span>ignore</span> the
-  <code title="attr-hyperlink-ping">ping</code> attribute altogether,
-  or selectively ignore URLs in the list (e.g. ignoring any
-  third-party URLs).</p>
-
-  <p>For URLs that are HTTP URLs, the requests must be performed by
-  <span title="fetch">fetching</span> the specified URLs using the
-  POST method, with an entity body with the <span>MIME type</span>
-  <code>text/ping</code> consisting of the four-character string
-  "<code title="">PING</code>", from the <span>origin</span> of the
-  <code>Document</code> containing the <span>hyperlink</span>. <!--
-  not http-origin privacy sensitive --> All relevant cookie and HTTP
-  authentication headers must be included in the request. Which other
-  headers are required depends on the URLs involved.</p>
-
-  <dl class="switch">
-
-   <dt>If both the <span title="the document's address">address</span>
-   of the <code>Document</code> object containing the hyperlink being
-   audited and the ping URL have the <span>same origin</span></dt>
-
-   <dd>The request must include a <code
-   title="http-ping-from">Ping-From</code> HTTP header with, as its
-   value, the <span title="the document's address">address</span> of
-   the document containing the hyperlink, and a <code
-   title="http-ping-to">Ping-To</code> HTTP header with, as its value,
-   the address of the <span>absolute URL</span> of the target of the
-   hyperlink. The request must not include a <code
-   title="http-referer">Referer</code> (sic) HTTP header. <!-- because
-   otherwise it would look like a trustable same-origin POST --></dd>
-
-   <dt>Otherwise, if the origins are different, but the document
-   containing the hyperlink being audited was not retrieved over an
-   encrypted connection</dt>
-
-   <dd>The request must include a <code
-   title="http-referer">Referer</code> (sic) HTTP header [sic] with,
-   as its value, the <span title="the document's current
-   address">current address</span> of the document containing the
-   hyperlink, a <code title="http-ping-from">Ping-From</code> HTTP
-   header with the same value, and a <code
-   title="http-ping-to">Ping-To</code> HTTP header with, as its value,
-   the address of the target of the hyperlink.</dd>
-
-   <dt>Otherwise, the origins are different and the document
-   containing the hyperlink being audited was retrieved over an
-   encrypted connection</dt>
-
-   <dd>The request must include a <code
-   title="http-ping-to">Ping-To</code> HTTP header with, as its value,
-   the address of the target of the hyperlink. The request must
-   neither include a <code title="http-referer">Referer</code> (sic)
-   HTTP header nor include a <code
-   title="http-ping-from">Ping-From</code> HTTP header.</dd>
-
-  </dl>
-
-  <p class="note">To save bandwidth, implementors might also wish to
-  consider omitting optional headers such as <code>Accept</code> from
-  these requests.</p>
-
-  <p>User agents must, unless otherwise specified by the user, honor
-  the HTTP headers (including, in particular, redirects and HTTP
-  cookie headers), but must ignore any entity bodies returned in the
-  responses. User agents may close the connection prematurely once
-  they start receiving an entity body. <a
-  href="#refsCOOKIES">[COOKIES]</a></p>
-
-  <p>For URLs that are not HTTP URLs, the requests must be performed
-  by <span title="fetch">fetching</span> the specified URL normally,
-  and discarding the results.</p>
-
-  <p>When the <code title="attr-hyperlink-ping">ping</code> attribute is
-  present, user agents should clearly indicate to the user that
-  following the hyperlink will also cause secondary requests to be
-  sent in the background, possibly including listing the actual target
-  URLs.</p>
-
-  <p class="example">For example, a visual user agent could include
-  the hostnames of the target ping URLs along with the hyperlink's
-  actual URL in a status bar or tooltip.</p>
-
-  </div>
-
-  <div class="note">
-
-   <p>The <code title="attr-hyperlink-ping">ping</code> attribute is redundant
-   with pre-existing technologies like HTTP redirects and JavaScript
-   in allowing Web pages to track which off-site links are most
-   popular or allowing advertisers to track click-through rates.</p>
-
-   <p>However, the <code title="attr-hyperlink-ping">ping</code> attribute
-   provides these advantages to the user over those alternatives:</p>
-
-   <ul>
-
-    <li>It allows the user to see the final target URL
-    unobscured.</li>
-
-    <li>It allows the UA to inform the user about the out-of-band
-    notifications.</li>
-
-    <li>It allows the user to disable the notifications without losing
-    the underlying link functionality.</li>
-
-    <li>It allows the UA to optimize the use of available network
-    bandwidth so that the target page loads faster.</li>
-
-   </ul>
-
-   <p>Thus, while it is possible to track users without this feature,
-   authors are encouraged to use the <code
-   title="attr-hyperlink-ping">ping</code> attribute so that the user
-   agent can make the user experience more transparent.</p>
-
-  </div>
-
-  <!-- resolving ping urls happens at audit time, so base URL changes
-  affect the values of ping attributes -->
-
-
-
-  <h4 id="linkTypes">Link types</h4>
-
-  <p>The following table summarizes the link types that are defined by
-  this specification. This table is non-normative; the actual
-  definitions for the link types are given in the next few
-  sections.</p>
-
-  <p>In this section, the term <i>referenced document</i> refers to
-  the resource identified by the element representing the link, and
-  the term <i>current document</i> refers to the resource within
-  which the element representing the link finds itself.</p>
-
-  <div class="impl">
-
-  <p>To determine which link types apply to a <code>link</code>,
-  <code>a</code>, or <code>area</code> element, the element's <code
-  title="">rel</code> attribute must be <span title="split a string on
-  spaces">split on spaces</span>. The resulting tokens are the link
-  types that apply to that element.</p>
-
-  </div>
-
-  <p>Except where otherwise specified, a keyword must not be specified
-  more than once per <code title="attr-rel-hyperlink">rel</code>
-  attribute.</p>
-
-  <p>The link types that contain no U+003A COLON characters (:),
-  including all those defined in this specification, are <span>ASCII
-  case-insensitive</span> values<span class="impl">, and must be
-  compared as such</span>.</p>
-
-  <p class="example">Thus, <code title="">rel="next"</code> is the
-  same as <code title="">rel="NEXT"</code>.</p>
-
-  <table>
-   <thead>
-    <tr>
-     <th rowspan="2">Link type</th>
-     <th colspan="2">Effect on...</th>
-     <th rowspan="2">Brief description</th>
-    </tr>
-    <tr>
-     <th><code>link</code></th>
-     <th><code>a</code> and <code>area</code></th>
-    </tr>
-   </thead>
-   <tbody>
-
-    <tr>
-     <td><code title="rel-alternate">alternate</code></td> <!-- second most used <link rel> value -->
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Gives alternate representations of the current document.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-archives">archives</code></td>
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Provides a link to a collection of records, documents, or other materials of historical interest.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-author">author</code></td>
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Gives a link to the current document's author.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-bookmark">bookmark</code></td> <!-- fourth most used <a rel> value -->
-     <td><em>not allowed</em></td>
-     <td><span>Hyperlink</span></td>
-     <td>Gives the permalink for the nearest ancestor section.</td>
-    </tr>
-<!-- (commented out on the assumption that rel=contact is really XFN)
-    <tr>
-     <td><code title="rel-contact">contact</code></td> <!- 8th most used <a rel> value ->
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Gives a link to contact information for the current document.</td>
-    </tr>
--->
-    <tr>
-     <td><code title="rel-external">external</code></td> <!-- fifth and sixth most used <a rel> value (sixth is "external nofollow") -->
-     <td><em>not allowed</em></td>
-     <td><span>Hyperlink</span></td>
-     <td>Indicates that the referenced document is not part of the same site as the current document.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-first">first</code></td>
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Indicates that the current document is a part of a series, and that the first document in the series is the referenced document.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-help">help</code></td>
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Provides a link to context-sensitive help.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-icon">icon</code></td> <!-- link rel="shortcut icon" and its ilk are the fourth, sixth, and ninth most used values -->
-     <td><span title="external resource link">External Resource</span></td>
-     <td><em>not allowed</em></td>
-     <td>Imports an icon to represent the current document.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-index">index</code></td> <!-- used more than "top" and "contents" on <link> (though on <a>, "contents" wins) -->
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Gives a link to the document that provides a table of contents or index listing the current document.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-last">last</code></td>
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Indicates that the current document is a part of a series, and that the last document in the series is the referenced document.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-license">license</code></td> <!-- seventh most used <a rel> value -->
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Indicates that the main content of the current document is covered by the copyright license described by the referenced document.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-next">next</code></td>
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Indicates that the current document is a part of a series, and that the next document in the series is the referenced document.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-nofollow">nofollow</code></td> <!-- most used <a rel> value (and sixth most used is "external nofollow") -->
-     <td><em>not allowed</em></td>
-     <td><span>Hyperlink</span></td>
-     <td>Indicates that the current document's original author or publisher does not endorse the referenced document.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-noreferrer">noreferrer</code></td>
-     <td><em>not allowed</em></td>
-     <td><span>Hyperlink</span></td>
-     <td>Requires that the user agent not send an HTTP <code title="http-referer">Referer</code> (sic) header if the user follows the hyperlink.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-pingback">pingback</code></td>
-     <td><span title="external resource link">External Resource</span></td>
-     <td><em>not allowed</em></td>
-     <td>Gives the address of the pingback server that handles pingbacks to the current document.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-prefetch">prefetch</code></td>
-     <td><span title="external resource link">External Resource</span></td>
-     <td><em>not allowed</em></td>
-     <td>Specifies that the target resource should be preemptively cached.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-prev">prev</code></td> <!-- prev is used more than previous -->
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Indicates that the current document is a part of a series, and that the previous document in the series is the referenced document.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-search">search</code></td> <!-- used quite a bit -->
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Gives a link to a resource that can be used to search through the current document and its related pages.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-stylesheet">stylesheet</code></td> <!-- most commonly used <link rel> value, variants came in 7th, 8th, 12th, 17th... -->
-     <td><span title="external resource link">External Resource</span></td>
-     <td><em>not allowed</em></td>
-     <td>Imports a stylesheet.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-sidebar">sidebar</code></td> <!-- used quite a bit -->
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Specifies that the referenced document, if retrieved, is intended to be shown in the browser's sidebar (if it has one).</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-tag">tag</code></td> <!-- second and third most used <a rel> value (third is technically "category tag"). -->
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Gives a tag (identified by the given address) that applies to the current document.</td>
-    </tr>
-
-    <tr>
-     <td><code title="rel-up">up</code></td>
-     <td><span title="hyperlink link">Hyperlink</span></td>
-     <td><span>Hyperlink</span></td>
-     <td>Provides a link to a document giving the context for the current document.</td>
-    </tr>
-
-   </tbody>
-  </table>
-
-  <div class="impl">
-
-  <p>Some of the types described below list synonyms for these
-  values. These <!--<span class="impl">-->are to be handled as
-  specified by user agents, but<!--</span>--> must not be used in
-  documents.</p>
-
-  </div>
-
-  <!-- v2 ideas:
-   * rel="script"
-   * rel="related" // see also
-   * http://microformats.org/wiki/rel-enclosure
-  -->
-
-
-  <h5>Link type "<dfn title="rel-alternate"><code>alternate</code></dfn>"</h5>
-
-  <p>The <code title="rel-alternate">alternate</code> keyword may be
-  used with <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, if the <code
-  title="attr-link-rel">rel</code> attribute does not also contain the
-  keyword <code title="rel-stylesheet">stylesheet</code>, it creates a
-  <span title="hyperlink link">hyperlink</span>; but if it
-  <em>does</em> also contain the keyword <code
-  title="rel-stylesheet">stylesheet</code>, the <code
-  title="rel-alternate">alternate</code> keyword instead modifies the
-  meaning of the <code title="rel-stylesheet">stylesheet</code>
-  keyword in the way described for that keyword, and the rest of this
-  subsection doesn't apply.</p>
-
-  <p>The <code title="rel-alternate">alternate</code> keyword
-  indicates that the referenced document is an alternate
-  representation of the current document.</p>
-
-  <p>The nature of the referenced document is given by the <code
-  title="attr-hyperlink-media">media</code>, <code
-  title="attr-hyperlink-hreflang">hreflang</code>, and <code
-  title="attr-hyperlink-type">type</code> attributes.</p>
-
-  <p>If the <code title="rel-alternate">alternate</code> keyword is
-  used with the <code title="attr-hyperlink-media">media</code>
-  attribute, it indicates that the referenced document is intended for
-  use with the media specified.</p>
-
-  <p>If the <code title="rel-alternate">alternate</code> keyword is
-  used with the <code title="attr-hyperlink-hreflang">hreflang</code>
-  attribute, and that attribute's value differs from the <span>root
-  element</span>'s <span>language</span>, it indicates that the
-  referenced document is a translation.</p>
-
-  <p>If the <code title="rel-alternate">alternate</code> keyword is
-  used with the <code title="attr-hyperlink-type">type</code>
-  attribute, it indicates that the referenced document is a
-  reformulation of the current document in the specified format.</p>
-
-  <p>The <code title="attr-hyperlink-media">media</code>, <code
-  title="attr-hyperlink-hreflang">hreflang</code>, and <code
-  title="attr-hyperlink-type">type</code> attributes can be combined
-  when specified with the <code title="rel-alternate">alternate</code>
-  keyword.</p>
-
-  <div class="example">
-
-   <p>For example, the following link is a French translation that
-   uses the PDF format:</p>
-
-   <pre><link rel=alternate type=application/pdf hreflang=fr href=manual-fr></pre>
-
-  </div>
-
-  <div class="impl">
-
-  <p>If the <code title="rel-alternate">alternate</code> keyword is
-  used with the <code title="attr-hyperlink-type">type</code>
-  attribute set to the value <code title="">application/rss+xml</code>
-  or the value <code title="">application/atom+xml</code>, then it
-  indicates that the referenced document is a syndication feed (though
-  not necessarily syndicating exactly the same content as the current
-  page).</p>
-
-  <div class="impl">
-
-  <p>The first <code>link</code>, <code>a</code>, or <code>area</code>
-  element in the document (in tree order) with the <code
-  title="rel-alternate">alternate</code> keyword used with the <code
-  title="attr-hyperlink-type">type</code> attribute set to the value
-  <code title="">application/rss+xml</code> or the value <code
-  title="">application/atom+xml</code> must be treated as the default
-  syndication feed for the purposes of feed autodiscovery.</p>
-
-  <div class="example">
-   <p>The following <code>link</code> element gives the syndication
-   feed for the current page:</p>
-   <pre><link rel="alternate" type="application/atom+xml" href="data.xml"></pre>
-   <p>The following extract offers various different syndication
-   feeds:</p>
-   <pre><p>You can access the planets database using Atom feeds:</p>
-<ul>
- <li><a href="recently-visited-planets.xml" rel="alternate" type="application/atom+xml">Recently Visited Planets</a></li>
- <li><a href="known-bad-planets.xml" rel="alternate" type="application/atom+xml">Known Bad Planets</a></li>
- <li><a href="unexplored-planets.xml" rel="alternate" type="application/atom+xml">Unexplored Planets</a></li>
-</ul></pre>
-  </div>
-
-  </div>
-
-
-
-
-  </div>
-
-  <p>The <code title="rel-alternate">alternate</code> link
-  relationship is transitive — that is, if a document links to
-  two other documents with the link type "<code
-  title="rel-alternate">alternate</code>", then, in addition to
-  implying that those documents are alternative representations of the
-  first document, it is also implying that those two documents are
-  alternative representations of each other.</p>
-
-
-  <h5>Link type "<dfn title="rel-archives"><code>archives</code></dfn>"</h5>
-
-  <p>The <code title="rel-archives">archives</code> keyword may be
-  used with <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>The <code title="rel-archives">archives</code> keyword indicates
-  that the referenced document describes a collection of records,
-  documents, or other materials of historical interest.</p>
-
-  <p class="example">A blog's index page could link to an index of the
-  blog's past posts with <code title="">rel="archives"</code>.</p>
-
-  <div class="impl">
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keyword "<code title="">archive</code>" like the
-  <code title="rel-archives">archives</code> keyword.</p>
-
-  </div>
-
-
-  <h5>Link type "<dfn title="rel-author"><code>author</code></dfn>"</h5>
-
-  <p>The <code title="rel-author">author</code> keyword may be
-  used with <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>For <code>a</code> and <code>area</code> elements, the <code
-  title="rel-author">author</code> keyword indicates that the
-  referenced document provides further information about the author of
-  the nearest <code>article</code> element ancestor of the element
-  defining the hyperlink, if there is one, or of the page as a whole,
-  otherwise.</p>
-
-  <p>For <code>link</code> elements, the <code
-  title="rel-author">author</code> keyword indicates that the
-  referenced document provides further information about the author
-  for the page as a whole.</p>
-
-  <p class="note">The "referenced document" can be, and often is, a
-  <code title="">mailto:</code> URL giving the e-mail address of the
-  author. <a href="#refsMAILTO">[MAILTO]</a></p>
-
-  <div class="impl">
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat <code>link</code>, <code>a</code>, and
-  <code>area</code> elements that have a <code title="">rev</code>
-  attribute with the value "<code>made</code>" as having the <code
-  title="rel-author">author</code> keyword specified as a link
-  relationship.</p>
-
-  </div>
-
-
-  <h5>Link type "<dfn title="rel-bookmark"><code>bookmark</code></dfn>"</h5>
-
-  <p>The <code title="rel-bookmark">bookmark</code> keyword may be
-  used with <code>a</code> and <code>area</code> elements.</p>
-
-  <p>The <code title="rel-bookmark">bookmark</code> keyword gives a
-  permalink for the nearest ancestor <code>article</code> element of
-  the linking element in question, or of <a
-  href="#associatedSection">the section the linking element is most
-  closely associated with</a>, if there are no ancestor
-  <code>article</code> elements.</p>
-
-  <div class="example">
-   <p>The following snippet has three permalinks. A user agent could
-   determine which permalink applies to which part of the spec by
-   looking at where the permalinks are given.</p>
-   <pre> ...
- <body>
-  <h1>Example of permalinks</h1>
-  <div id="a">
-   <h2>First example</h2>
-   <p><a href="a.html" rel="bookmark">This</a> permalink applies to
-   only the content from the first H2 to the second H2. The DIV isn't
-   exactly that section, but it roughly corresponds to it.</p>
-  </div>
-  <h2>Second example</h2>
-  <article id="b">
-   <p><a href="b.html" rel="bookmark">This</a> permalink applies to
-   the outer ARTICLE element (which could be, e.g., a blog post).</p>
-   <article id="c">
-    <p><a href="c.html" rel="bookmark">This</a> permalink applies to
-    the inner ARTICLE element (which could be, e.g., a blog comment).</p>
-   </article>
-  </article>
- </body>
- ...</pre>
-  </div>
-
-<!-- (commented out on the assumption that rel=contact is really XFN)
-  <h5>Link type "<dfn title="rel-contact"><code>contact</code></dfn>"</h5>
-
-  <p>The <code title="rel-contact">contact</code> keyword may be used
-  with <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>For <code>a</code> and <code>area</code> elements, the <code
-  title="rel-contact">contact</code> keyword indicates that the
-  referenced document provides further contact information for the
-  author of the nearest <code>article</code> element ancestor of the
-  element defining the hyperlink, if there is one, or of the page as a
-  whole, otherwise.</p>
-
-  <div class="impl">
-
-  <p>User agents must treat any hyperlink in an <code>address</code>
-  element as having the <code title="rel-contact">contact</code> link
-  type specified.</p>
-
-  </div>
-
-  <p>For <code>link</code> elements, the <code
-  title="rel-contact">contact</code> keyword indicates that the
-  referenced document provides further contact information for the
-  page as a whole.</p>
--->
-
-
-  <h5>Link type "<dfn title="rel-external"><code>external</code></dfn>"</h5>
-
-  <p>The <code title="rel-external">external</code> keyword may be
-  used with <code>a</code> and <code>area</code> elements.</p>
-
-  <p>The <code title="rel-external">external</code> keyword indicates
-  that the link is leading to a document that is not part of the site
-  that the current document forms a part of.</p>
-
-
-  <h5>Link type "<dfn title="rel-help"><code>help</code></dfn>"</h5>
-
-  <p>The <code title="rel-help">help</code> keyword may be used with
-  <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>For <code>a</code> and <code>area</code> elements, the <code
-  title="rel-help">help</code> keyword indicates that the referenced
-  document provides further help information for the parent of the
-  element defining the hyperlink, and its children.</p>
-
-  <div class="example">
-
-   <p>In the following example, the form control has associated
-   context-sensitive help. The user agent could use this information,
-   for example, displaying the referenced document if the user presses
-   the "Help" or "F1" key.</p>
-
-   <pre> <p><label> Topic: <input name=topic> <a href="help/topic.html" rel="help">(Help)</a></label></p></pre>
-
-  </div>
-
-  <p>For <code>link</code> elements, the <code
-  title="rel-help">help</code> keyword indicates that the referenced
-  document provides help for the page as a whole.</p>
-
-
-  <h5 id=rel-icon>Link type "<dfn title="rel-icon"><code>icon</code></dfn>"</h5>
-
-  <p>The <code title="rel-icon">icon</code> keyword may be used with
-  <code>link</code> elements, for which it creates an <span
-  title="external resource link">external resource link</span>.</p>
-
-  <div class="impl">
-
-  <p>The specified resource is an icon representing the page or site,
-  and should be used by the user agent when representing the page in
-  the user interface.</p>
-
-  </div>
-
-  <p>Icons could be auditory icons, visual icons, or other kinds of
-  icons. <span class="impl">If multiple icons are provided, the user
-  agent must select the most appropriate icon according to the <code
-  title="attr-link-type">type</code>, <code
-  title="attr-link-media">media</code>, and <code
-  title="attr-link-sizes">sizes</code> attributes. If there are
-  multiple equally appropriate icons, user agents must use the last
-  one declared in <span>tree order</span>. If the user agent tries to
-  use an icon but that icon is determined, upon closer examination, to
-  in fact be inappropriate (e.g. because it uses an unsupported
-  format), then the user agent must try the next-most-appropriate icon
-  as determined by the attributes.</span></p>
-
-  <div class="impl">
-
-  <p>There is no default type for resources given by the <code
-  title="rel-icon">icon</code> keyword. However, for the purposes of
-  <a href="#concept-link-type-sniffing">determining the type of the
-  resource</a>, user agents must expect the resource to be an image.</p>
-
-  </div>
-
-  <p>The <dfn title="attr-link-sizes"><code>sizes</code></dfn>
-  attribute gives the sizes of icons for visual media.</p>
-
-  <p>If specified, the attribute must have a value that is an
-  <span>unordered set of unique space-separated tokens</span>. The
-  values must all be either <code
-  title="attr-link-sizes-any">any</code> or a value that consists of
-  two <span title="valid non-negative integer">valid non-negative
-  integers</span> that do not have a leading U+0030 DIGIT ZERO (0)
-  character and that are separated by a single U+0078 LATIN SMALL
-  LETTER X character (x).</p>
-
-  <p>The keywords represent icon sizes.</p>
-
-  <div class="impl">
-
-  <p>To parse and process the attribute's value, the user agent must
-  first <span title="split a string on spaces">split the attribute's
-  value on spaces</span>, and must then parse each resulting keyword
-  to determine what it represents.</p>
-
-  </div>
-
-  <p>The <dfn title="attr-link-sizes-any"><code>any</code></dfn> keyword
-  represents that the resource contains a scalable icon, e.g. as
-  provided by an SVG image.</p>
-
-  <div class="impl">
-
-  <p>Other keywords must be further parsed as follows to determine
-  what they represent:</p>
-
-  <ul>
-
-   <li><p>If the keyword doesn't contain exactly one U+0078 LATIN
-   SMALL LETTER X character (x), then this keyword doesn't represent
-   anything. Abort these steps for that keyword.</p></li>
-
-   <li><p>Let <var title="">width string</var> be the string before
-   the "<code title="">x</code>".</p></li>
-
-   <li><p>Let <var title="">height string</var> be the string after the
-   "<code title="">x</code>".</p></li>
-
-   <li><p>If either <var title="">width string</var> or <var
-   title="">height string</var> start with a U+0030 DIGIT ZERO (0)
-   character or contain any characters other than characters in the
-   range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then this
-   keyword doesn't represent anything. Abort these steps for that
-   keyword.</p></li>
-
-   <li><p>Apply the <span>rules for parsing non-negative
-   integers</span> to <var title="">width string</var> to obtain <var
-   title="">width</var>.</p></li>
-
-   <li><p>Apply the <span>rules for parsing non-negative
-   integers</span> to <var title="">height string</var> to obtain <var
-   title="">height</var>.</p></li>
-
-   <li><p>The keyword represents that the resource contains a bitmap
-   icon with a width of <var title="">width</var> device pixels and a
-   height of <var title="">height</var> device pixels.</p></li>
-
-  </ul>
-
-  </div>
-
-  <p>The keywords specified on the <code
-  title="attr-link-sizes">sizes</code> attribute must not represent
-  icon sizes that are not actually available in the linked
-  resource.</p>
-
-  <div class="impl">
-
-  <p>If the attribute is not specified, then the user agent must
-  assume that the given icon is appropriate, but less appropriate than
-  an icon of a known and appropriate size.</p>
-
-  </div>
-
-  <div class="example">
-
-   <p>The following snippet shows the top part of an application with
-   several icons.</p>
-
-   <pre><!DOCTYPE HTML>
-<html>
- <head>
-  <title>lsForums — Inbox</title>
-  <link rel=icon href=favicon.png sizes="16x16" type="image/png">
-  <link rel=icon href=windows.ico sizes="32x32 48x48" type="image/vnd.microsoft.icon">
-  <link rel=icon href=mac.icns sizes="128x128 512x512 8192x8192 32768x32768">
-  <link rel=icon href=iphone.png sizes="59x60" type="image/png">
-  <link rel=icon href=gnome.svg sizes="any" type="image/svg+xml">
-  <link rel=stylesheet href=lsforums.css>
-  <script src=lsforums.js></script>
-  <meta name=application-name content="lsForums">
- </head>
- <body>
-  ...</pre>
-
-  </div>
-
-
-  <h5>Link type "<dfn title="rel-license"><code>license</code></dfn>"</h5>
-
-  <p>The <code title="rel-license">license</code> keyword may be used
-  with <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>The <code title="rel-license">license</code> keyword indicates
-  that the referenced document provides the copyright license terms
-  under which the main content of the current document is
-  provided.</p>
-
-  <p>This specification does not specify how to distinguish between
-  the main content of a document and content that is not deemed to be
-  part of that main content. The distinction should be made clear to
-  the user.</p>
-
-  <div class="example">
-
-   <p>Consider a photo sharing site. A page on that site might
-   describe and show a photograph, and the page might be marked up as
-   follows:</p>
-
-   <pre><!DOCTYPE HTML>
-<html>
- <head>
-  <title>Exampl Pictures: Kissat</title>
-  <link rel="stylesheet" href="/style/default">
- </head>
- <body>
-  <h1>Kissat</h1>
-  <nav>
-   <a href="../">Return to photo index</a>
-  </nav>
-  <figure>
-   <img src="/pix/39627052_fd8dcd98b5.jpg">
-   <figcaption>Kissat</figcaption>
-  </figure>
-  <p>One of them has six toes!</p>
-  <p><small><a rel="license" href="http://www.opensource.org/licenses/mit-license.php">MIT Licensed</a></small></p>
-  <footer>
-   <a href="/">Home</a> | <a href="../">Photo index</a>
-   <p><small>© copyright 2009 Exampl Pictures. All Rights Reserved.</small></p>
-  </footer>
- </body>
-</html></pre>
-
-   <p>In this case the <code title="rel-license">license</code>
-   applies to just the photo (the main content of the document), not
-   the whole document. In particular not the design of the page
-   itself, which is covered by the copyright given at the bottom of
-   the document. This could be made clearer in the styling
-   (e.g. making the license link prominently positioned near the
-   photograph, while having the page copyright in light small text at
-   the foot of the page.</p>
-
-  </div>
-
-  <div class="impl">
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keyword "<code title="">copyright</code>" like
-  the <code title="rel-license">license</code> keyword.</p>
-
-  </div>
-
-
-  <h5>Link type "<dfn title="rel-nofollow"><code>nofollow</code></dfn>"</h5>
-
-  <p>The <code title="rel-nofollow">nofollow</code> keyword may be
-  used with <code>a</code> and <code>area</code> elements.</p>
-
-  <p>The <code title="rel-nofollow">nofollow</code> keyword indicates
-  that the link is not endorsed by the original author or publisher of
-  the page, or that the link to the referenced document was included
-  primarily because of a commercial relationship between people
-  affiliated with the two pages.</p>
-
-
-  <h5>Link type "<dfn title="rel-noreferrer"><code>noreferrer</code></dfn>"</h5>
-
-  <p>The <code title="rel-noreferrer">noreferrer</code> keyword may be
-  used with <code>a</code> and <code>area</code> elements.</p>
-
-  <p>It indicates that no referrer information is to be leaked when
-  following the link.</p>
-
-  <div class="impl">
-
-  <p>If a user agent follows a link defined by an <code>a</code> or
-  <code>area</code> element that has the <code
-  title="rel-noreferrer">noreferrer</code> keyword, the user agent
-  must not include a <code title="http-referer">Referer</code> (sic)
-  HTTP header (<span title="concept-http-equivalent-headers">or
-  equivalent</span> for other protocols) in the request.</p>
-
-  <p>This keyword also <a href="#noopener">causes the <code
-  title="dom-opener">opener</code> attribute to remain null</a> if the
-  hyperlink creates a new <span>browsing context</span>.</p>
-
-  </div>
-
-  <!-- v2: Would be nice to apply this to other elements too,
-  e.g. letting <img> or CSS or <video> hide the referrer -->
-
-
-  <h5>Link type "<dfn title="rel-pingback"><code>pingback</code></dfn>"</h5>
-
-  <p>The <code title="rel-pingback">pingback</code> keyword may be
-  used with <code>link</code> elements, for which it creates an <span
-  title="external resource link">external resource link</span>.</p>
-
-  <p>For the semantics of the <code
-  title="rel-pingback">pingback</code> keyword, see the Pingback 1.0
-  specification. <a href="#refsPINGBACK">[PINGBACK]</a></p>
-
-
-  <h5>Link type "<dfn title="rel-prefetch"><code>prefetch</code></dfn>"</h5>
-
-  <p>The <code title="rel-prefetch">prefetch</code> keyword may be
-  used with <code>link</code> elements, for which it creates an <span
-  title="external resource link">external resource link</span>.</p>
-
-  <p>The <code title="rel-prefetch">prefetch</code> keyword indicates
-  that preemptively fetching and caching the specified resource is
-  likely to be beneficial, as it is highly likely that the user will
-  require this resource.</p>
-
-  <p>There is no default type for resources given by the <code
-  title="rel-prefetch">prefetch</code> keyword.</p>
-
-
-  <h5>Link type "<dfn title="rel-search"><code>search</code></dfn>"</h5>
-
-  <p>The <code title="rel-search">search</code> keyword may be used
-  with <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>The <code title="rel-search">search</code> keyword indicates that
-  the referenced document provides an interface specifically for
-  searching the document and its related resources.</p>
-
-  <p class="note">OpenSearch description documents can be used with
-  <code>link</code> elements and the <code
-  title="rel-search">search</code> link type to enable user agents to
-  autodiscover search interfaces. <a
-  href="#refsOPENSEARCH">[OPENSEARCH]</a></p>
-
-
-  <h5>Link type "<dfn title="rel-stylesheet"><code>stylesheet</code></dfn>"</h5>
-
-  <p>The <code title="rel-stylesheet">stylesheet</code> keyword may be
-  used with <code>link</code> elements, for which it creates an <span
-  title="external resource link">external resource link</span> that
-  contributes to the <span>styling processing model</span>.</p>
-
-  <p>The specified resource is a resource that describes how to
-  present the document. Exactly how the resource is to be processed
-  depends on the actual type of the resource.</p>
-
-  <p>If the <code title="rel-alternate">alternate</code> keyword is
-  also specified on the <code>link</code> element, then <dfn>the link
-  is an alternative stylesheet</dfn>; in this case, the <code
-  title="attr-title">title</code> attribute must be specified on the
-  <code>link</code> element, with a non-empty value.</p>
-
-  <p>The default type for resources given by the <code
-  title="rel-stylesheet">stylesheet</code> keyword is <code
-  title="">text/css</code>.</p>
-
-  <div class="impl">
-
-  <p><strong>Quirk</strong>: If the document has been set to
-  <span>quirks mode</span> and the <span
-  title="Content-Type">Content-Type metadata</span> of the external
-  resource is not a supported style sheet type, the user agent must
-  instead assume it to be <code title="">text/css</code>.</p>
-
-  </div>
-
-
-  <h5>Link type "<dfn title="rel-sidebar"><code>sidebar</code></dfn>"</h5>
-
-  <p>The <code title="rel-sidebar">sidebar</code> keyword may be used
-  with <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>The <code title="rel-sidebar">sidebar</code> keyword indicates
-  that the referenced document, if retrieved, is intended to be shown
-  in a <span>secondary browsing context</span> (if possible), instead
-  of in the current <span>browsing context</span>.</p>
-
-  <p>A <span title="hyperlink">hyperlink element</span> with the <code
-  title="rel-sidebar">sidebar</code> keyword specified is a <dfn
-  title="rel-sidebar-hyperlink">sidebar hyperlink</dfn>.</p>
-
-
-  <h5>Link type "<dfn title="rel-tag"><code>tag</code></dfn>"</h5>
-
-  <p>The <code title="rel-tag">tag</code> keyword may be used
-  with <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>The <code title="rel-tag">tag</code> keyword indicates that the
-  <em>tag</em> that the referenced document represents applies to the
-  current document.</p>
-
-  <p class="note">Since it indicates that the tag <em>applies to the
-  current document</em>, it would be inappropriate to use this keyword
-  in the markup of a <a href="#tag-cloud">tag cloud</a>, which lists
-  the popular tag across a set of pages.</p>
-
-
-  <h5>Hierarchical link types</h5>
-
-  <p>Some documents form part of a hierarchical structure of
-  documents.</p>
-
-  <p>A hierarchical structure of documents is one where each document
-  can have various subdocuments. The document of which a document is a
-  subdocument is said to be the document's <em>parent</em>. A document
-  with no parent forms the top of the hierarchy.</p>
-
-  <p>A document may be part of multiple hierarchies.</p>
-
-
-  <h6>Link type "<dfn title="rel-index"><code>index</code></dfn>"</h6>
-
-  <p>The <code title="rel-index">index</code> keyword may be used with
-  <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>The <code title="rel-index">index</code> keyword indicates that
-  the document is part of a hierarchical structure, and that the link
-  is leading to the document that is the top of the hierarchy. It
-  conveys more information when used with the <code
-  title="rel-up">up</code> keyword (q.v.).</p>
-
-  <div class="impl">
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keywords "<code title="">top</code>", "<code
-  title="">contents</code>", and "<code title="">toc</code>" like the
-  <code title="rel-index">index</code> keyword.</p>
-
-  </div>
-
-
-  <h6>Link type "<dfn title="rel-up"><code>up</code></dfn>"</h6>
-
-  <p>The <code title="rel-up">up</code> keyword may be used with
-  <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>The <code title="rel-up">up</code> keyword indicates that the
-  document is part of a hierarchical structure, and that the link is
-  leading to a document that is an ancestor of the current
-  document.</p>
-
-  <p>The <code title="rel-up">up</code> keyword may be repeated within
-  a <code title="attr-hyperlink-rel">rel</code> attribute to indicate
-  the hierarchical distance from the current document to the
-  referenced document. If it occurs only once, then the link is
-  leading to the current document's parent; each additional occurrence
-  of the keyword represents one further level. If the <code
-  title="rel-index">index</code> keyword is also present, then the
-  number of <code title="rel-up">up</code> keywords is the depth of
-  the current page relative to the top of the hierarchy. Only one link
-  is created for the set of one or more <code title="rel-up">up</code>
-  keywords and, if present, the <code title="rel-index">index</code>
-  keyword.</p>
-
-  <p>If the page is part of multiple hierarchies, then they should be
-  described in different <span
-  title="paragraph">paragraphs</span>. <span class="impl">User agents
-  must scope any interpretation of the <code title="rel-up">up</code>
-  and <code title="rel-index">index</code> keywords together
-  indicating the depth of the hierarchy to the <span>paragraph</span>
-  in which the link finds itself, if any, or to the document
-  otherwise.</span></p>
-
-  <div class="impl">
-
-  <p>When two links have both the <code title="rel-up">up</code> and
-  <code title="rel-index">index</code> keywords specified together in
-  the same scope and contradict each other by having a different
-  number of <code title="rel-up">up</code> keywords, the link with the
-  greater number of <code title="rel-up">up</code> keywords must be
-  taken as giving the depth of the document.</p>
-
-  </div>
-
-  <div class="example">
-
-   <p>This can be used to mark up a navigation style sometimes known
-   as bread crumbs. In the following example, the current page can be
-   reached via two paths.</p>
-
-   <pre><nav>
- <p>
-  <a href="/" rel="index up up up">Main</a> >
-  <a href="/products/" rel="up up">Products</a> >
-  <a href="/products/dishwashers/" rel="up">Dishwashers</a> >
-  <a>Second hand</a>
- </p>
- <p>
-  <a href="/" rel="index up up">Main</a> >
-  <a href="/second-hand/" rel="up">Second hand</a> >
-  <a>Dishwashers</a>
- </p>
-</nav></pre>
-
-  </div>
-
-  <p class="note">The <code title="dom-a-relList">relList</code> IDL
-  attribute (e.g. on the <code>a</code> element) does not currently
-  represent multiple <code title="rel-up">up</code> keywords (the
-  interface hides duplicates).</p>
-
-
-  <h5>Sequential link types</h5>
-
-  <p>Some documents form part of a sequence of documents.</p>
-
-  <p>A sequence of documents is one where each document can have a
-  <em>previous sibling</em> and a <em>next sibling</em>. A document
-  with no previous sibling is the start of its sequence, a document
-  with no next sibling is the end of its sequence.</p>
-
-  <p>A document may be part of multiple sequences.</p>
-
-
-  <h6>Link type "<dfn title="rel-first"><code>first</code></dfn>"</h6>
-
-  <p>The <code title="rel-first">first</code> keyword may be used with
-  <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>The <code title="rel-first">first</code> keyword indicates that
-  the document is part of a sequence, and that the link is leading to
-  the document that is the first logical document in the sequence.</p>
-
-  <div class="impl">
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keywords "<code title="">begin</code>" and
-  "<code title="">start</code>" like the <code
-  title="rel-first">first</code> keyword.</p>
-
-  </div>
-
-
-  <h6>Link type "<dfn title="rel-last"><code>last</code></dfn>"</h6>
-
-  <p>The <code title="rel-last">last</code> keyword may be used with
-  <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>The <code title="rel-last">last</code> keyword indicates that the
-  document is part of a sequence, and that the link is leading to the
-  document that is the last logical document in the sequence.</p>
-
-  <div class="impl">
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keyword "<code title="">end</code>" like the
-  <code title="rel-last">last</code> keyword.</p>
-
-  </div>
-
-
-  <h6>Link type "<dfn title="rel-next"><code>next</code></dfn>"</h6>
-
-  <p>The <code title="rel-next">next</code> keyword may be used with
-  <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>The <code title="rel-next">next</code> keyword indicates that the
-  document is part of a sequence, and that the link is leading to the
-  document that is the next logical document in the sequence.</p>
-
-
-  <h6>Link type "<dfn title="rel-prev"><code>prev</code></dfn>"</h6>
-
-  <p>The <code title="rel-prev">prev</code> keyword may be used with
-  <code>link</code>, <code>a</code>, and <code>area</code>
-  elements. For <code>link</code> elements, it creates a <span
-  title="hyperlink link">hyperlink</span>.</p>
-
-  <p>The <code title="rel-prev">prev</code> keyword indicates that the
-  document is part of a sequence, and that the link is leading to the
-  document that is the previous logical document in the sequence.</p>
-
-  <div class="impl">
-
-  <p><strong>Synonyms</strong>: For historical reasons, user agents
-  must also treat the keyword "<code title="">previous</code>" like
-  the <code title="rel-prev">prev</code> keyword.</p>
-
-  </div>
-
-
-  <h5>Other link types</h5>
-
-  <p><dfn title="concept-rel-extensions">Extensions to the predefined
-  set of link types</dfn> may be registered in the <a
-  href="http://wiki.whatwg.org/wiki/RelExtensions">WHATWG Wiki
-  RelExtensions page</a>. <a
-  href="#refsWHATWGWIKI">[WHATWGWIKI]</a></p>
-
-  <p>Anyone is free to edit the WHATWG Wiki RelExtensions page at any
-  time to add a type. Extension types must be specified with the
-  following information:</p>
-
-  <dl>
-
-   <dt>Keyword</dt>
-
-   <dd>
-
-    <p>The actual value being defined. The value should not be
-    confusingly similar to any other defined value (e.g. differing
-    only in case).</p>
-
-    <p>If the value contains a U+003A COLON character (:), it must
-    also be an <span>absolute URL</span>.</p>
-
-   </dd>
-
-
-   <dt>Effect on... <code>link</code></dt>
-
-   <dd>
-
-    <p>One of the following:</p>
-
-    <dl>
-
-     <dt>not allowed</dt>
-
-     <dd>The keyword is not allowed to be specified on
-     <code>link</code> elements.</dd>
-
-     <dt>Hyperlink</dt>
-
-     <dd>The keyword may be specified on a <code>link</code> element;
-     it creates a <span title="hyperlink link">hyperlink
-     link</span>.</dd>
-
-     <dt>External Resource</dt>
-
-     <dd>The keyword may be specified on a <code>link</code> element;
-     it creates a <span title="external resource link">external
-     resource link</span>.</dd>
-
-    </dl>
-
-   </dd>
-
-
-   <dt>Effect on... <code>a</code> and <code>area</code></dt>
-
-   <dd>
-
-    <p>One of the following:</p>
-
-    <dl>
-
-     <dt>not allowed</dt>
-
-     <dd>The keyword is not allowed to be specified on <code>a</code>
-     and <code>area</code> elements.</dd>
-
-     <dt>Hyperlink</dt>
-
-     <dd>The keyword may be specified on <code>a</code> and
-     <code>area</code> elements.</dd>
-
-    </dl>
-
-   </dd>
-
-
-   <dt>Brief description</dt>
-
-   <dd><p>A short non-normative description of what the keyword's
-   meaning is.</p></dd>
-
-
-   <dt>Specification</dt>
-
-   <dd><p>A link to a more detailed description of the keyword's
-   semantics and requirements. It could be another page on the Wiki,
-   or a link to an external page.</p></dd>
-
-
-   <dt>Synonyms</dt>
-
-   <dd><p>A list of other keyword values that have exactly the same
-   processing requirements. Authors should not use the values defined
-   to be synonyms, they are only intended to allow user agents to
-   support legacy content. Anyone may remove synonyms that are not
-   used in practice; only names that need to be processed as synonyms
-   for compatibility with legacy content are to be registered in this
-   way.</p></dd>
-
-
-   <dt>Status</dt>
-
-   <dd>
-
-    <p>One of the following:</p>
-
-    <dl>
-
-     <dt>Proposed</dt>
-
-     <dd>The keyword has not received wide peer review and
-     approval. Someone has proposed it and is, or soon will be, using
-     it.</dd>
-
-     <dt>Ratified</dt>
-
-     <dd>The keyword has received wide peer review and approval. It
-     has a specification that unambiguously defines how to handle
-     pages that use the keyword, including when they use it in
-     incorrect ways.</dd>
-
-     <dt>Discontinued</dt>
-
-     <dd>The keyword has received wide peer review and it has been
-     found wanting. Existing pages are using this keyword, but new
-     pages should avoid it. The "brief description" and
-     "specification" entries will give details of what authors should
-     use instead, if anything.</dd>
-
-    </dl>
-
-    <p>If a keyword is found to be redundant with existing values, it
-    should be removed and listed as a synonym for the existing
-    value.</p>
-
-    <p>If a keyword is registered in the "proposed" state for a
-    period of a month or more without being used or specified, then it
-    may be removed from the registry.</p>
-
-    <p>If a keyword is added with the "proposed" status and found to
-    be redundant with existing values, it should be removed and listed
-    as a synonym for the existing value. If a keyword is added with
-    the "proposed" status and found to be harmful, then it should be
-    changed to "discontinued" status.</p>
-
-    <p>Anyone can change the status at any time, but should only do so
-    in accordance with the definitions above.</p>
-
-   </dd>
-
-  </dl>
-
-  <div class="impl">
-
-  <p>Conformance checkers must use the information given on the WHATWG
-  Wiki RelExtensions page to establish if a value is allowed or not:
-  values defined in this specification or marked as "proposed" or
-  "ratified" must be accepted when used on the elements for which they
-  apply as described in the "Effect on..." field, whereas values
-  marked as "discontinued" or not listed in either this specification
-  or on the aforementioned page must be rejected as invalid.
-  Conformance checkers may cache this information (e.g. for
-  performance reasons or to avoid the use of unreliable network
-  connectivity).</p>
-
-  <p>When an author uses a new type not defined by either this
-  specification or the Wiki page, conformance checkers should offer to
-  add the value to the Wiki, with the details described above, with
-  the "proposed" status.</p>
-
-  </div>
-
-  <p>Types defined as extensions in the <a
-  href="http://wiki.whatwg.org/wiki/RelExtensions">WHATWG Wiki
-  RelExtensions page</a> with the status "proposed" or "ratified" may
-  be used with the <code title="">rel</code> attribute on
-  <code>link</code>, <code>a</code>, and <code>area</code> elements in
-  accordance to the "Effect on..." field. <a
-  href="#refsWHATWGWIKI">[WHATWGWIKI]</a></p>
-
-
 <!--END html--><!--END w3c-html-->
 <!--END complete-->
 




More information about the Commit-Watchers mailing list