The <link> Element in Mozilla's Site Navigation Bar

Many browsers, such as iCab, Lynx and Mosaic, make use of the <link>
element to define a document's relationship to other documents in a
collection.  For example, a book might be described as follows:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
        "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB">
      <head>
        <meta http-equiv="Content-Type"
            content="text/html; charset=UTF-8" />
        <title>The Wasp Factory</title>
        <link rel="contents" href="./" />
        <link rel="chapter" href="chapter01.html"
            title="The Sacrifice Poles" />
        <link rel="chapter" href="chapter02.html"
            title="The Snake Park" />
        <link rel="chapter" href="chapter03.html"
            title="In the Bunker" />
    ...

With the release of version 0.9.5, the Mozilla browser also supports
this facility, through it's Site Navigation Bar.  (It can be activated
under View -> Show/Hide -> Site Navigation Bar.)

The notes below describe how I've used it, whilst endeavouring to stick
to the HTML 4 and XHTML 1 Recommendations.

The main site navigation bar consists of the following eight items:

  * 'Top' button -- <link rel="start" />
  * 'Up' button -- <link rel="parent" />, <link rel="up" />, etc.
  * 'First' button -- <link rel="first" />
  * 'Previous' button -- <link rel="prev" />
  * 'Next' button -- <link rel="next" />
  * 'Last' button -- <link rel="last" />
  * 'Document' menu -- see below
  * 'More' menu -- see below

The 'Document' menu supports the following:

  * 'Table of Contents' item -- <link rel="contents" />
  * 'Chapters' menu -- Any number of <link rel="chapter" />
  * 'Sections' menu -- Any number of <link rel="section" />
  * 'Subsections' menu -- Any number of <link rel="subsection" />
  * 'Appendices' menu -- Any number of <link rel="appendix" />
  * 'Glossary' item -- <link rel="glossary" />
  * 'Index' item -- <link rel="index" />

The 'More' menu supports the following:

  * 'Help' item -- <link rel="help" />
  * 'Search' item -- <link rel="search" />
  * 'Authors' item -- <link rel="author" />, <link rev="made" />, etc.
  * 'Copyright' item -- <link rel="copyright" />
  * 'Bookmarks' menu -- Any number of <link rel="bookmark" />
  * 'Other Versions' menu -- Any number of <link rel="alternate" />
  * Additional menus -- Unrecognised values, e.g. one or more <link
    rel="pineapple" />, receive their own menu

(Note that specifying a unique title attribute is doubly important when
refering to a list of chapters, sections, etc.)

Unfortunately not all of the attribute values specified above are listed
as being valid in HTML 4.X or XHTML 1.X.  Section 6.12 of the HTML 4
Recommendation <http://www.w3.org/TR/html4/types.html#type-links>
includes the following link types: Alternate, Start, Next, Prev,
Contents, Index, Glossary, Copyright, Chapter, Section, Subsection,
Appendix, Help and Bookmark.

It also notes:

    "Authors may wish to define additional link types not described in
    this specification.  If they do so, they should use a profile to
    cite the conventions used to define the link types.  Please see the
    profile attribute of the HEAD element for more details."

However, I am unaware of any formal profile for defining values such as
Parent, Up, First, Last, Search, Author or Made.  ('Search' is, however,
mentioned in HTML 3.2; and there is a reference to 'rev=made' in the
never-finalised HTML 3.0 document.)

It seems a pity that Parent, First, Last, Search and Author aren't
listed in the Recommendation; in my opinion it would be beneficial if
they could be taken into account in future revisions of (X)HTML.

Regards,

Dave

Received on Monday, 15 October 2001 15:00:33 UTC