@@ -14980,12 +14980,9 @@ interface <dfn interface>HTMLLinkElement</dfn> : <span>HTMLElement</span> {
14980
14980
processing options</span>. This algorithm defines whether and how they react to appearing in an
14981
14981
HTTP `<code data-x="http-link">Link</code>` response header.</p>
14982
14982
14983
- <p class="XXX">The processing of `<code data-x="http-link">Link</code>` headers is not defined for
14984
- all link relation types. In particular some implementations might process types that have a no-op
14985
- <span>process link headers</span> algorithm, and in doing so influence a <code>Document</code>'s
14986
- <span>script-blocking style sheet counter</span>. See
14987
- <a href="https://github.com/whatwg/html/issues/4224">issue #4224</a> for discussion on
14988
- integrating this into the spec.</p>
14983
+ <p class="note">For most link types, this algorithm does nothing. The <a
14984
+ href="#table-link-relations">summary table</a> is a good reference to quickly know whether a link
14985
+ type has defined <span>process a link header</span> steps.</p>
14989
14986
14990
14987
<p>A <dfn>link processing options</dfn> is a <span>struct</span>. It has the following
14991
14988
<span data-x="struct item">items</span>:</p>
@@ -17038,8 +17035,8 @@ console.log(style.disabled); // false</code></pre>
17038
17035
</ul>
17039
17036
17040
17037
<p class="XXX">It is expected that counterparts to the above rules also apply to
17041
- <code><?xml-stylesheet?></code> PIs and HTTP `<code data-x="http-link">Link</code>` headers.
17042
- However, this has not yet been thoroughly investigated.</p>
17038
+ <code><?xml-stylesheet?></code> PIs. However, this has not yet been thoroughly
17039
+ investigated.</p>
17043
17040
17044
17041
<p>A <code>Document</code> has a <dfn>script-blocking style sheet counter</dfn>, which is a
17045
17042
number, initially 0.</p>
@@ -24869,12 +24866,13 @@ document.body.appendChild(wbr);</code></pre>
24869
24866
<p>New link types that are to be implemented by web browsers are to be added to this standard. The
24870
24867
remainder can be <span data-x="concept-rel-extensions">registered as extensions</span>.</p>
24871
24868
24872
- <table class="yesno">
24869
+ <table class="yesno" id="table-link-relations" >
24873
24870
<thead>
24874
24871
<tr>
24875
24872
<th rowspan="2">Link type</th>
24876
24873
<th colspan="3">Effect on...</th>
24877
24874
<th rowspan="2"><span>body-ok</span></th>
24875
+ <th rowspan="2">Has `<code data-x="http-link">Link</code>` processing</th>
24878
24876
<th rowspan="2">Brief description</th>
24879
24877
</tr>
24880
24878
<tr>
@@ -24886,18 +24884,20 @@ document.body.appendChild(wbr);</code></pre>
24886
24884
<tbody>
24887
24885
24888
24886
<tr>
24889
- <td><code data-x="rel-alternate">alternate</code></td> <!-- fourth most used rel value -->
24887
+ <td><code data-x="rel-alternate">alternate</code></td>
24890
24888
<td colspan="2"><span>Hyperlink</span></td>
24891
24889
<td><em>not allowed</em></td>
24892
24890
<td class="no"> · </td>
24891
+ <td class="no"> · </td>
24893
24892
<td>Gives alternate representations of the current document.</td>
24894
24893
</tr>
24895
24894
24896
24895
<tr>
24897
- <td><code data-x="rel-canonical">canonical</code></td> <!-- third most used rel value -->
24896
+ <td><code data-x="rel-canonical">canonical</code></td>
24898
24897
<td><span>Hyperlink</span></td>
24899
24898
<td colspan="2"><em>not allowed</em></td>
24900
24899
<td class="no"> · </td>
24900
+ <td class="no"> · </td>
24901
24901
<td>Gives the preferred URL for the current document.</td>
24902
24902
</tr>
24903
24903
@@ -24906,49 +24906,52 @@ document.body.appendChild(wbr);</code></pre>
24906
24906
<td colspan="2"><span>Hyperlink</span></td>
24907
24907
<td><em>not allowed</em></td>
24908
24908
<td class="no"> · </td>
24909
+ <td class="no"> · </td>
24909
24910
<td>Gives a link to the author of the current document or article.</td>
24910
24911
</tr>
24911
24912
24912
24913
<tr>
24913
- <td><code data-x="rel-bookmark">bookmark</code></td> <!-- fourth most used <a rel> value -->
24914
+ <td><code data-x="rel-bookmark">bookmark</code></td>
24914
24915
<td><em>not allowed</em></td>
24915
24916
<td><span>Hyperlink</span></td>
24916
24917
<td><em>not allowed</em></td>
24917
24918
<td class="no"> · </td>
24919
+ <td class="no"> · </td>
24918
24920
<td>Gives the permalink for the nearest ancestor section.</td>
24919
24921
</tr>
24920
24922
24921
- <!-- <code data-x="rel-contact">contact</code></td> is not here because it's XFN (8th most used <a rel> value) -->
24922
-
24923
24923
<tr>
24924
24924
<td><code data-x="rel-dns-prefetch">dns-prefetch</code></td>
24925
24925
<td><span data-x="external resource link">External Resource</span></td>
24926
24926
<td colspan="2"><em>not allowed</em></td>
24927
24927
<td class="yes"> Yes </td>
24928
+ <td class="no"> · </td>
24928
24929
<td>Specifies that the user agent should preemptively perform DNS resolution for the target resource's <span>origin</span>.</td>
24929
24930
</tr>
24930
24931
24931
- <!-- fifth and sixth most used <a rel> value (sixth is "external nofollow") -->
24932
24932
<tr>
24933
24933
<td><code data-x="rel-external">external</code></td>
24934
24934
<td><em>not allowed</em></td>
24935
24935
<td colspan="2"><span data-x="hyperlink annotation">Annotation</span></td>
24936
24936
<td class="no"> · </td>
24937
+ <td class="no"> · </td>
24937
24938
<td>Indicates that the referenced document is not part of the same site as the current document.</td>
24938
24939
</tr>
24939
24940
24940
24941
<tr>
24941
24942
<td><code data-x="rel-help">help</code></td>
24942
24943
<td colspan="3"><span>Hyperlink</span></td>
24943
24944
<td class="no"> · </td>
24945
+ <td class="no"> · </td>
24944
24946
<td>Provides a link to context-sensitive help.</td>
24945
24947
</tr>
24946
24948
24947
24949
<tr>
24948
- <td><code data-x="rel-icon">icon</code></td> <!-- second most used rel value -->
24950
+ <td><code data-x="rel-icon">icon</code></td>
24949
24951
<td><span data-x="external resource link">External Resource</span></td>
24950
24952
<td colspan="2"><em>not allowed</em></td>
24951
24953
<td class="no"> · </td>
24954
+ <td class="no"> · </td>
24952
24955
<td>Imports an icon to represent the current document.</td>
24953
24956
</tr>
24954
24957
@@ -24957,6 +24960,7 @@ document.body.appendChild(wbr);</code></pre>
24957
24960
<td><span data-x="external resource link">External Resource</span></td>
24958
24961
<td colspan="2"><em>not allowed</em></td>
24959
24962
<td class="no"> · </td>
24963
+ <td class="no"> · </td>
24960
24964
<td>Imports or links to an <span>application manifest</span>. <ref spec=MANIFEST></td>
24961
24965
</tr>
24962
24966
@@ -24965,30 +24969,34 @@ document.body.appendChild(wbr);</code></pre>
24965
24969
<td><span data-x="external resource link">External Resource</span></td>
24966
24970
<td colspan="2"><em>not allowed</em></td>
24967
24971
<td class="yes"> Yes </td>
24972
+ <td class="no"> · </td>
24968
24973
<td>Specifies that the user agent must preemptively <span data-x="fetch a single module script">fetch the module
24969
24974
script</span> and store it in the document's <span data-x="concept-document-module-map">module map</span> for later
24970
24975
evaluation. Optionally, the module's dependencies can be fetched as well.</td>
24971
24976
</tr>
24972
24977
24973
24978
<tr>
24974
- <td><code data-x="rel-license">license</code></td> <!-- seventh most used <a rel> value -->
24979
+ <td><code data-x="rel-license">license</code></td>
24975
24980
<td colspan="3"><span>Hyperlink</span></td>
24976
24981
<td class="no"> · </td>
24982
+ <td class="no"> · </td>
24977
24983
<td>Indicates that the main content of the current document is covered by the copyright license described by the referenced document.</td>
24978
24984
</tr>
24979
24985
24980
24986
<tr>
24981
24987
<td><code data-x="rel-next">next</code></td>
24982
24988
<td colspan="3"><span>Hyperlink</span></td>
24983
24989
<td class="no"> · </td>
24990
+ <td class="no"> · </td>
24984
24991
<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>
24985
24992
</tr>
24986
24993
24987
24994
<tr>
24988
- <td><code data-x="rel-nofollow">nofollow</code></td> <!-- most used <a rel> value (and sixth most used is "external nofollow") -->
24995
+ <td><code data-x="rel-nofollow">nofollow</code></td>
24989
24996
<td><em>not allowed</em></td>
24990
24997
<td colspan="2"><span data-x="hyperlink annotation">Annotation</span></td>
24991
24998
<td class="no"> · </td>
24999
+ <td class="no"> · </td>
24992
25000
<td>Indicates that the current document's original author or publisher does not endorse the referenced document.</td>
24993
25001
</tr>
24994
25002
@@ -24997,6 +25005,7 @@ document.body.appendChild(wbr);</code></pre>
24997
25005
<td><em>not allowed</em></td>
24998
25006
<td colspan="2"><span data-x="hyperlink annotation">Annotation</span></td>
24999
25007
<td class="no"> · </td>
25008
+ <td class="no"> · </td>
25000
25009
<td>Creates a <span>top-level traversable</span> with a non-<span>auxiliary browsing
25001
25010
context</span> if the hyperlink would otherwise create one that was auxiliary (i.e., has an
25002
25011
appropriate <code data-x="attr-hyperlink-target">target</code> attribute value).</td>
@@ -25007,6 +25016,7 @@ document.body.appendChild(wbr);</code></pre>
25007
25016
<td><em>not allowed</em></td>
25008
25017
<td colspan="2"><span data-x="hyperlink annotation">Annotation</span></td>
25009
25018
<td class="no"> · </td>
25019
+ <td class="no"> · </td>
25010
25020
<td>No `<code data-x="http-referer">Referer</code>` (sic) header will be included.
25011
25021
Additionally, has the same effect as <code data-x="rel-noopener">noopener</code>.</td>
25012
25022
</tr>
@@ -25016,6 +25026,7 @@ document.body.appendChild(wbr);</code></pre>
25016
25026
<td><em>not allowed</em></td>
25017
25027
<td colspan="2"><span data-x="hyperlink annotation">Annotation</span></td>
25018
25028
<td class="no"> · </td>
25029
+ <td class="no"> · </td>
25019
25030
<td>Creates an <span>auxiliary browsing context</span> if the hyperlink would otherwise create
25020
25031
a <span>top-level traversable</span> with a non-<span>auxiliary browsing context</span> (i.e.,
25021
25032
has "<code data-x="">_blank</code>" as <code data-x="attr-hyperlink-target">target</code>
@@ -25027,6 +25038,7 @@ document.body.appendChild(wbr);</code></pre>
25027
25038
<td><span data-x="external resource link">External Resource</span></td>
25028
25039
<td colspan="2"><em>not allowed</em></td>
25029
25040
<td class="yes"> Yes </td>
25041
+ <td class="no"> · </td>
25030
25042
<td>Gives the address of the pingback server that handles pingbacks to the current document.</td>
25031
25043
</tr>
25032
25044
@@ -25035,6 +25047,7 @@ document.body.appendChild(wbr);</code></pre>
25035
25047
<td><span data-x="external resource link">External Resource</span></td>
25036
25048
<td colspan="2"><em>not allowed</em></td>
25037
25049
<td class="yes"> Yes </td>
25050
+ <td class="yes"> Yes </td>
25038
25051
<td>Specifies that the user agent should preemptively connect to the target resource's <span>origin</span>.</td>
25039
25052
</tr>
25040
25053
@@ -25043,6 +25056,7 @@ document.body.appendChild(wbr);</code></pre>
25043
25056
<td><span data-x="external resource link">External Resource</span></td>
25044
25057
<td colspan="2"><em>not allowed</em></td>
25045
25058
<td class="yes"> Yes </td>
25059
+ <td class="no"> · </td>
25046
25060
<td>Specifies that the user agent should preemptively <span data-x="concept-fetch">fetch</span> and cache the target resource as it is likely to be required for a followup <span data-x="navigate">navigation</span>.</td>
25047
25061
</tr>
25048
25062
@@ -25051,6 +25065,7 @@ document.body.appendChild(wbr);</code></pre>
25051
25065
<td><span data-x="external resource link">External Resource</span></td>
25052
25066
<td colspan="2"><em>not allowed</em></td>
25053
25067
<td class="yes"> Yes </td>
25068
+ <td class="yes"> Yes </td>
25054
25069
<td>Specifies that the user agent must preemptively <span data-x="concept-fetch">fetch</span> and cache the target resource for current <span data-x="navigate">navigation</span> according to the <span data-x="concept-potential-destination">potential destination</span> given by the <code data-x="attr-link-as">as</code> attribute (and the <span data-x="concept-request-priority">priority</span> associated with the <span data-x="concept-potential-destination-translate">corresponding</span> <span data-x="concept-request-destination">destination</span>).</td>
25055
25070
</tr>
25056
25071
@@ -25059,40 +25074,44 @@ document.body.appendChild(wbr);</code></pre>
25059
25074
<td><span data-x="external resource link">External Resource</span></td>
25060
25075
<td colspan="2"><em>not allowed</em></td>
25061
25076
<td class="yes"> Yes </td>
25077
+ <td class="no"> · </td>
25062
25078
<td>Specifies that the user agent should preemptively <span data-x="concept-fetch">fetch</span> the target resource and process it in a way that helps deliver a faster response in the future.</td>
25063
25079
</tr>
25064
25080
25065
25081
<tr>
25066
- <td><code data-x="rel-prev">prev</code></td> <!-- prev is used more than previous -->
25082
+ <td><code data-x="rel-prev">prev</code></td>
25067
25083
<td colspan="3"><span>Hyperlink</span></td>
25068
25084
<td class="no"> · </td>
25085
+ <td class="no"> · </td>
25069
25086
<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>
25070
25087
</tr>
25071
25088
25072
25089
<tr>
25073
- <td><code data-x="rel-search">search</code></td> <!-- used quite a bit -->
25090
+ <td><code data-x="rel-search">search</code></td>
25074
25091
<td colspan="3"><span>Hyperlink</span></td>
25075
25092
<td class="no"> · </td>
25093
+ <td class="no"> · </td>
25076
25094
<td>Gives a link to a resource that can be used to search through the current document and its related pages.</td>
25077
25095
</tr>
25078
25096
25079
25097
<tr>
25080
- <td><code data-x="rel-stylesheet">stylesheet</code></td> <!-- most commonly used <link rel> value, variants came in 7th, 8th, 12th, 17th... -->
25098
+ <td><code data-x="rel-stylesheet">stylesheet</code></td>
25081
25099
<td><span data-x="external resource link">External Resource</span></td>
25082
25100
<td colspan="2"><em>not allowed</em></td>
25083
25101
<td class="yes"> Yes </td>
25102
+ <td class="no"> · </td>
25084
25103
<td>Imports a style sheet.</td>
25085
25104
</tr>
25086
25105
25087
25106
<tr>
25088
- <td><code data-x="rel-tag">tag</code></td> <!-- second and third most used <a rel> value (third is technically "category tag"). -->
25107
+ <td><code data-x="rel-tag">tag</code></td>
25089
25108
<td><em>not allowed</em></td>
25090
25109
<td><span>Hyperlink</span></td>
25091
25110
<td><em>not allowed</em></td>
25092
25111
<td class="no"> · </td>
25112
+ <td class="no"> · </td>
25093
25113
<td>Gives a tag (identified by the given address) that applies to the current document.</td>
25094
25114
</tr>
25095
-
25096
25115
</tbody>
25097
25116
</table>
25098
25117
0 commit comments