Change Proposal ISSUE-118

In reference, to the chairs' solicitation for proposals 
[http://www.w3.org/mid/4C90E3F7.8050506@intertwingly.net], 
hereby is offered

= A HTML5 Change Proposal for ISSUE-118: 
  A well founded consolidation of the link types =

Leif Halvard Silli, 17th of October 2010.

== SUMMARY ==

* This change proposal enforces that, unlike the current spec, the 
semantics of "top", "first", "start", "contents", "ToC" and "index" are 
not willfully re-defined/re-canonicalized in a way breaks the 
previously specified, implemented and deployed semantics of these 
kewords. Instead it makes these keywords retain their inherited 
semantics. It also defines "home" and "parent" as synonyms to "top" and 
"up". However, this proposal also brings some consolidation compared 
with the before-HTML5 situation.
* Concretely, this change proposal proposes these 8 distinct main link 
relations, based on inherited usage, implementation and specification, 
as follows:
 top - up - first - previous - next - last - index- contents.
* And the following synonyms:
  top = start = home; up = parent; first = begin; previous = prev; last 
= end and contents = toc. Index has not synonyms.
* In contrast, the current draft 
  - pretends as if 'index' and 'contents/toc' do not exist as 
independent concepts – they are instad made into synonyms of 'top'.
  - 'top' isn't actually the main concept, but merely a synonym of 
'index'.
  - 'start' is treated as synonym of 'begin/first'. 
  - fails to provide 'parent' as synonym of 'up' and 'home' as synonym 
for 'up'.
  - in a word: change for no benefit.

== RATIONALE ==

The draft's changes to the inherited semantics of these "rel" keywords 
are unfounded. According to the editor's responses in Bug 7475 [1], the 
current state of affairs is "a huge big giant mess that nobody agrees 
on". 

Whereas, in reality, the documentation provided in Alexandre 
Alapetite's table [2] shows that things are largely quite harmonious. 
Of course, there is a need for an authoritative spec which consolidates 
and defines synonyms. But there is no need to insert inconsistent 
breaks.

In the details where the draft differs, the editor has chosen - 
apparently because it is big - to side with WordPress. But has, to cite 
Alexandre's table, ignored 5 historic and current HTML specifications 
(the latest being XHTML0+RDFa), 7 browser implementations, at least 3 
big CMS-es, the W3C authoring practise, The Nottingham Draft (the Web 
Linking Memo and the related registry) and advice found inside W3C QA 
Tips, Microsoft MSDN and Dive into Accessibility.

For the keyword 'index', the editor has chosen to go with the fact that 
Apache operates with 'index.html' files: 'Note that the word "index" 
here is not used in the printed-book sense, but in the sense of 
"index.html", the default page on Apache.'  Whereas the traditional 
meaning of 'index' is a word index with links to places in the site 
where the words occurs. For 'Contents'/'TOC, those do not exist in the 
editors' draft - other than as synonyms to his interpretation of 
'index.' For 'start', he ignores the common concept (especially in the 
non-English word) of a 'start page' (as synonym to 'home' and 'home 
page') and instead says that it is the same as 'first'/'begin'!

The editor in Bug 7475 indicates that his changes can increase the use 
of these keywords - via the simplification that he claims to bring. 
However, there is a difference between making something banal and 
making it simple. The only effect that can credibly be predicted from 
these changes, is many more critical voices towards HTML5. 

== DETAILS ==

The changes which this proposal are to cause to the spec, are inserted 
into the spec quotes below using <del/> and <ins/> elements:

]] 4.12.4.18.1 Link type "first"
The first keyword may be used with link, a, and area elements. This 
keyword creates a hyperlink. The first 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. Synonyms: 
For historical reasons, user agents must also treat the 
keyword<del>s</del> "begin" <del>and "start"</del> like the first keywor
d. [[


]] 4.12.4.17.1 Link type <del>"index"</del> <ins>top</ins>
The <del>index</del> <ins>top</ins> keyword may be used with link, a, 
and area elements. This keyword creates a hyperlink. The 
<del>index</del> <ins>top</ins> 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 up keyword (q.v.). Synonyms: For historical reasons, 
user agents must also treat the keywords <del>"top", "contents", and 
"toc"</del> <ins> "start" and "home"</ins> like the <del>index</del> 
<ins>top</ins> keyword
.[[

]] 4.12.4.17.2 Link type "up"
   [ snip ]
   <ins>Synonyms: For historical reasons, user agents must also treat 
the keyword "parent" like the "up" keyword.</ins>

Two new sections:
   
<ins>]] 4.12.4.XX.X  Link type "contents"
  Refers to a document serving as a table of contents. Synonyms: For 
historical reasons, user agents must also treat the keyword "toc" like 
the "contents" keyword.</ins>

<ins>]] 4.12.4.XX.X  Link type "index"
    Refers to a document providing an (word) index for the current 
document.</ins>


== IMPACT ==

=== Positive Effects ===

Compatibility with the Web is kept. It would avoid that purposeless 
confusion is created. It would avoid clashes with the Nottingham draft. 
In short it would avoid clashes. It would would bring something that 
makes sense and which implementers would be willing to accept.

=== Negative effects ===

Zero negative effects.

=== Conformance classes changes ===

This change proposal *does* create some consolidation compared to the 
*mild* mess that is out there. It does define some necessary synonyms. 
Thus UAs and CMSs will have to update to support the full set of 
keywords which this proposal suggest. However, as change proposal 
strives to be in harmony with existing implementation  and 
specification, the required  changes will consist of adding more 
synonyms – there are no big breaks to implement.

=== Risks === 

Zero risks.

[1] http://www.w3.org/Bugs/Public/show_bug.cgi?id=7475
[2] 
http://alexandre.alapetite.fr/divers/vrac/20091115_HTML_link_rel.html

Received on Monday, 18 October 2010 01:51:45 UTC