Skip to content

Commit a0353ea

Browse files
committed
Write an example for the link relation registry.
1 parent 16c8ad8 commit a0353ea

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

index.bs

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3793,6 +3793,49 @@ can be either required or optional for implementations to recognize.
37933793
For extension points that can't just be ignored when their extension isn't recognized,
37943794
the registry should include at least 1 required entry.
37953795

3796+
<div class="example" heading="Link Relations" id="example-link-relation-registry">
3797+
3798+
Link relations are currently registered in a 3-part registry.
3799+
[[rfc8288#procedure|RFC 8288]] defines the [[IANA-RELATIONS inline]] registry
3800+
which accepts entries that "reference a freely available, stable specification."
3801+
[[MFREL inline]] defines a second registry
3802+
to which anyone with a wiki account can add.
3803+
This registry has a column for specifications,
3804+
but nobody enforces that the column is filled in
3805+
or that the specifications meet any particular quality requirements.
3806+
[[html#linkTypes]] then repeats a subset of these relation types
3807+
to define how they work in web browsers.
3808+
3809+
In an ideal world, [[RFC8288]] and [[MFREL inline]] would probably be a single registry,
3810+
with [[html#linkTypes|HTML]] defining browser behavior.
3811+
The current split is probably due to mistakes in the historical registry requirements.
3812+
3813+
The idea of <{a/rel}> as list of externally-defined keywords
3814+
dates to at least [[rfc1866 inline obsolete]], in 1995, which said
3815+
3816+
> The REL attribute gives the relationship(s) described by the hyperlink.
3817+
> The value is a whitespace separated list
3818+
> of relationship names. The semantics of link
3819+
> relationships are not specified in this document.
3820+
3821+
The [[html401 inline]], in 1999,
3822+
defined a list of [known link relations](https://www.w3.org/TR/html401/types.html#type-links)
3823+
but continued to encourage authors to invent their own.
3824+
3825+
The IETF eventually defined the IANA registry in [[rfc4287 inline]], in 2005,
3826+
and [[rfc5988 inline obsolete]], in 2010.
3827+
These required specifications and expert review,
3828+
but by this time too many custom link relations were in use
3829+
to get them all specified and registered.
3830+
Even if the registry had been in place from the beginning,
3831+
we believe this is a case where implementers are too diverse
3832+
to even know what kind of specification to expect for registered elements.
3833+
The modern [[html#linkTypes|HTML]] table
3834+
is a good way to align browser implementations
3835+
on the subset of link relations that they react to.
3836+
3837+
</div>
3838+
37963839
See [[qaframe-spec#extensions]] and [[RFC6709]] for
37973840
more guidance on how to design extensibility.
37983841

0 commit comments

Comments
 (0)