Skip to content

Remove reference to integrating stylesheet Links #8742

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jan 19, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 42 additions & 23 deletions source
Original file line number Diff line number Diff line change
Expand Up @@ -14980,12 +14980,9 @@ interface <dfn interface>HTMLLinkElement</dfn> : <span>HTMLElement</span> {
processing options</span>. This algorithm defines whether and how they react to appearing in an
HTTP `<code data-x="http-link">Link</code>` response header.</p>

<p class="XXX">The processing of `<code data-x="http-link">Link</code>` headers is not defined for
all link relation types. In particular some implementations might process types that have a no-op
<span>process link headers</span> algorithm, and in doing so influence a <code>Document</code>'s
<span>script-blocking style sheet counter</span>. See
<a href="https://github.com/whatwg/html/issues/4224">issue #4224</a> for discussion on
integrating this into the spec.</p>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be good to retain some kind of note that explains that the Link header does not necessarily work for all the things that work with <link>. Perhaps even call out stylesheet as an example.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, and actually did a bit more by adding the "has Link processing" to the summary table.

<p class="note">For most link types, this algorithm does nothing. The <a
href="#table-link-relations">summary table</a> is a good reference to quickly know whether a link
type has defined <span>process a link header</span> steps.</p>

<p>A <dfn>link processing options</dfn> is a <span>struct</span>. It has the following
<span data-x="struct item">items</span>:</p>
Expand Down Expand Up @@ -17038,8 +17035,8 @@ console.log(style.disabled); // false</code></pre>
</ul>

<p class="XXX">It is expected that counterparts to the above rules also apply to
<code>&lt;?xml-stylesheet?></code> PIs and HTTP `<code data-x="http-link">Link</code>` headers.
However, this has not yet been thoroughly investigated.</p>
<code>&lt;?xml-stylesheet?></code> PIs. However, this has not yet been thoroughly
investigated.</p>

<p>A <code>Document</code> has a <dfn>script-blocking style sheet counter</dfn>, which is a
number, initially 0.</p>
Expand Down Expand Up @@ -24869,12 +24866,13 @@ document.body.appendChild(wbr);</code></pre>
<p>New link types that are to be implemented by web browsers are to be added to this standard. The
remainder can be <span data-x="concept-rel-extensions">registered as extensions</span>.</p>

<table class="yesno">
<table class="yesno" id="table-link-relations">
<thead>
<tr>
<th rowspan="2">Link type</th>
<th colspan="3">Effect on...</th>
<th rowspan="2"><span>body-ok</span></th>
<th rowspan="2">Has `<code data-x="http-link">Link</code>` processing</th>
<th rowspan="2">Brief description</th>
</tr>
<tr>
Expand All @@ -24886,18 +24884,20 @@ document.body.appendChild(wbr);</code></pre>
<tbody>

<tr>
<td><code data-x="rel-alternate">alternate</code></td> <!-- fourth most used rel value -->
<td><code data-x="rel-alternate">alternate</code></td>
<td colspan="2"><span>Hyperlink</span></td>
<td><em>not allowed</em></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </td>
<td>Gives alternate representations of the current document.</td>
</tr>

<tr>
<td><code data-x="rel-canonical">canonical</code></td> <!-- third most used rel value -->
<td><code data-x="rel-canonical">canonical</code></td>
<td><span>Hyperlink</span></td>
<td colspan="2"><em>not allowed</em></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </td>
<td>Gives the preferred URL for the current document.</td>
</tr>

Expand All @@ -24906,49 +24906,52 @@ document.body.appendChild(wbr);</code></pre>
<td colspan="2"><span>Hyperlink</span></td>
<td><em>not allowed</em></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </td>
<td>Gives a link to the author of the current document or article.</td>
</tr>

<tr>
<td><code data-x="rel-bookmark">bookmark</code></td> <!-- fourth most used <a rel> value -->
<td><code data-x="rel-bookmark">bookmark</code></td>
<td><em>not allowed</em></td>
<td><span>Hyperlink</span></td>
<td><em>not allowed</em></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </td>
<td>Gives the permalink for the nearest ancestor section.</td>
</tr>

<!-- <code data-x="rel-contact">contact</code></td> is not here because it's XFN (8th most used <a rel> value) -->

<tr>
<td><code data-x="rel-dns-prefetch">dns-prefetch</code></td>
<td><span data-x="external resource link">External Resource</span></td>
<td colspan="2"><em>not allowed</em></td>
<td class="yes"> Yes </td>
<td class="no"> &middot; </td>
<td>Specifies that the user agent should preemptively perform DNS resolution for the target resource's <span>origin</span>.</td>
</tr>

<!-- fifth and sixth most used <a rel> value (sixth is "external nofollow") -->
<tr>
<td><code data-x="rel-external">external</code></td>
<td><em>not allowed</em></td>
<td colspan="2"><span data-x="hyperlink annotation">Annotation</span></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </td>
<td>Indicates that the referenced document is not part of the same site as the current document.</td>
</tr>

<tr>
<td><code data-x="rel-help">help</code></td>
<td colspan="3"><span>Hyperlink</span></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </td>
<td>Provides a link to context-sensitive help.</td>
</tr>

<tr>
<td><code data-x="rel-icon">icon</code></td> <!-- second most used rel value -->
<td><code data-x="rel-icon">icon</code></td>
<td><span data-x="external resource link">External Resource</span></td>
<td colspan="2"><em>not allowed</em></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </td>
<td>Imports an icon to represent the current document.</td>
</tr>

Expand All @@ -24957,6 +24960,7 @@ document.body.appendChild(wbr);</code></pre>
<td><span data-x="external resource link">External Resource</span></td>
<td colspan="2"><em>not allowed</em></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </td>
<td>Imports or links to an <span>application manifest</span>. <ref spec=MANIFEST></td>
</tr>

Expand All @@ -24965,30 +24969,34 @@ document.body.appendChild(wbr);</code></pre>
<td><span data-x="external resource link">External Resource</span></td>
<td colspan="2"><em>not allowed</em></td>
<td class="yes"> Yes </td>
<td class="no"> &middot; </td>
<td>Specifies that the user agent must preemptively <span data-x="fetch a single module script">fetch the module
script</span> and store it in the document's <span data-x="concept-document-module-map">module map</span> for later
evaluation. Optionally, the module's dependencies can be fetched as well.</td>
</tr>

<tr>
<td><code data-x="rel-license">license</code></td> <!-- seventh most used <a rel> value -->
<td><code data-x="rel-license">license</code></td>
<td colspan="3"><span>Hyperlink</span></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </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 data-x="rel-next">next</code></td>
<td colspan="3"><span>Hyperlink</span></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </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 data-x="rel-nofollow">nofollow</code></td> <!-- most used <a rel> value (and sixth most used is "external nofollow") -->
<td><code data-x="rel-nofollow">nofollow</code></td>
<td><em>not allowed</em></td>
<td colspan="2"><span data-x="hyperlink annotation">Annotation</span></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </td>
<td>Indicates that the current document's original author or publisher does not endorse the referenced document.</td>
</tr>

Expand All @@ -24997,6 +25005,7 @@ document.body.appendChild(wbr);</code></pre>
<td><em>not allowed</em></td>
<td colspan="2"><span data-x="hyperlink annotation">Annotation</span></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </td>
<td>Creates a <span>top-level traversable</span> with a non-<span>auxiliary browsing
context</span> if the hyperlink would otherwise create one that was auxiliary (i.e., has an
appropriate <code data-x="attr-hyperlink-target">target</code> attribute value).</td>
Expand All @@ -25007,6 +25016,7 @@ document.body.appendChild(wbr);</code></pre>
<td><em>not allowed</em></td>
<td colspan="2"><span data-x="hyperlink annotation">Annotation</span></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </td>
<td>No `<code data-x="http-referer">Referer</code>` (sic) header will be included.
Additionally, has the same effect as <code data-x="rel-noopener">noopener</code>.</td>
</tr>
Expand All @@ -25016,6 +25026,7 @@ document.body.appendChild(wbr);</code></pre>
<td><em>not allowed</em></td>
<td colspan="2"><span data-x="hyperlink annotation">Annotation</span></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </td>
<td>Creates an <span>auxiliary browsing context</span> if the hyperlink would otherwise create
a <span>top-level traversable</span> with a non-<span>auxiliary browsing context</span> (i.e.,
has "<code data-x="">_blank</code>" as <code data-x="attr-hyperlink-target">target</code>
Expand All @@ -25027,6 +25038,7 @@ document.body.appendChild(wbr);</code></pre>
<td><span data-x="external resource link">External Resource</span></td>
<td colspan="2"><em>not allowed</em></td>
<td class="yes"> Yes </td>
<td class="no"> &middot; </td>
<td>Gives the address of the pingback server that handles pingbacks to the current document.</td>
</tr>

Expand All @@ -25035,6 +25047,7 @@ document.body.appendChild(wbr);</code></pre>
<td><span data-x="external resource link">External Resource</span></td>
<td colspan="2"><em>not allowed</em></td>
<td class="yes"> Yes </td>
<td class="yes"> Yes </td>
<td>Specifies that the user agent should preemptively connect to the target resource's <span>origin</span>.</td>
</tr>

Expand All @@ -25043,6 +25056,7 @@ document.body.appendChild(wbr);</code></pre>
<td><span data-x="external resource link">External Resource</span></td>
<td colspan="2"><em>not allowed</em></td>
<td class="yes"> Yes </td>
<td class="no"> &middot; </td>
<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>
</tr>

Expand All @@ -25051,6 +25065,7 @@ document.body.appendChild(wbr);</code></pre>
<td><span data-x="external resource link">External Resource</span></td>
<td colspan="2"><em>not allowed</em></td>
<td class="yes"> Yes </td>
<td class="yes"> Yes </td>
<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>
</tr>

Expand All @@ -25059,40 +25074,44 @@ document.body.appendChild(wbr);</code></pre>
<td><span data-x="external resource link">External Resource</span></td>
<td colspan="2"><em>not allowed</em></td>
<td class="yes"> Yes </td>
<td class="no"> &middot; </td>
<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>
</tr>

<tr>
<td><code data-x="rel-prev">prev</code></td> <!-- prev is used more than previous -->
<td><code data-x="rel-prev">prev</code></td>
<td colspan="3"><span>Hyperlink</span></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </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 data-x="rel-search">search</code></td> <!-- used quite a bit -->
<td><code data-x="rel-search">search</code></td>
<td colspan="3"><span>Hyperlink</span></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </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 data-x="rel-stylesheet">stylesheet</code></td> <!-- most commonly used <link rel> value, variants came in 7th, 8th, 12th, 17th... -->
<td><code data-x="rel-stylesheet">stylesheet</code></td>
<td><span data-x="external resource link">External Resource</span></td>
<td colspan="2"><em>not allowed</em></td>
<td class="yes"> Yes </td>
<td class="no"> &middot; </td>
<td>Imports a style sheet.</td>
</tr>

<tr>
<td><code data-x="rel-tag">tag</code></td> <!-- second and third most used <a rel> value (third is technically "category tag"). -->
<td><code data-x="rel-tag">tag</code></td>
<td><em>not allowed</em></td>
<td><span>Hyperlink</span></td>
<td><em>not allowed</em></td>
<td class="no"> &middot; </td>
<td class="no"> &middot; </td>
<td>Gives a tag (identified by the given address) that applies to the current document.</td>
</tr>

</tbody>
</table>

Expand Down