- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Tue, 19 Oct 2010 14:11:20 +0200
- To: "public-html@w3.org" <public-html@w3.org>
SUMMARY The current definition for the "up" link relation is incompatible with the IANA definition [1]. It also introduces a special case that makes the number of repetitions significant, which is in conflict with the generic link relation definition in [2]. RATIONALE Link relations in HTML should not differ significantly from their use in other formats (Atom) or protocols (HTTP Link header). Thus, the special case should be removed. Also note that the spec points out: "Note: The relList IDL attribute (e.g. on the a element) does not currently represent multiple up keywords (the interface hides duplicates)." ...which shows that the overloading of link relation semantics leads to confusion even within HTML. DETAILS In [3], remove these paragraphs: -- snip -- The up keyword may be repeated within a rel 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 index keyword is also present, then the number of up 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 up keywords and, if present, the index keyword. If the page is part of multiple hierarchies, then they should be described in different paragraphs. User agents must scope any interpretation of the up and index keywords together indicating the depth of the hierarchy to the paragraph in which the link finds itself, if any, or to the document otherwise. When two links have both the up and index keywords specified together in the same scope and contradict each other by having a different number of up keywords, the link with the greater number of up keywords must be taken as giving the depth of the document. 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. <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> -- snip -- IMPACT 1. Positive Effects - Removes an incompatibility with link relations outside HTML. - Removes a special case within the HTML spec. - Removes an inconsistency with the relList IDL attribute. 2. Negative Effects The use case of augmenting bread crumbs isn't addressed anymore. I recommend to handle this like any other feature request, state the use case, and discuss potential solutions that do not require special-casing this link relation. 3. Conformance Classes Changes None. 4. Risks None. REFERENCES [1] <http://www.iana.org/assignments/link-relations/link-relations.txt> [2] <http://tools.ietf.org/html/draft-nottingham-http-link-header-10#section-3># [3] <http://dev.w3.org/html5/spec/Overview.html#link-type-up>
Received on Tuesday, 19 October 2010 12:12:07 UTC