Re: Navigation Tag, extend link

On 9 Dec 1999 rev-bob@gotc.com wrote:

> Well, hit my head and call me strange, but I just don't like the
> concept of leaving something as crucial as site navigation "up to
> the UA". Consider the track record most browsers have; do you really
> want to trust Mozilla/Netscape or IE to display an adequate
> navigation menu?

No, but wouldn't it be nice if we could?

Note that I have written a draft interface specification document
which describes how to interpret the various attributes of the LINK
element. Comments welcome.

   http://www.bath.ac.uk/%7Epy8ieh/internet/discussion/linkelement.txt


> And even if this were to wind up in a spec somewhere, what would
> that change? LINK is already in the spec, and it's already supposed
> to do some of these things - and it's been almost uniformly IGNORED.

Mozilla bugs 6306, 2800. We can but hope.

 
> Where does this leave a website author like myself? Well, I can
> either use the enhancement to the spec and have a site that nobody
> can navigate, or I can disregard the enhancement and do my own
> navigation with easy-to-specify links that every browser on the
> planet can handle. Hmm, however shall I decide this knotty problem?

Well, this list is not about HOWTO do it now, it is about improving
the standard(s) so that we can do it better in the future. So this
particular point is moot.


> Go to Yahoo, [...] looks kind of like this, which was used to kick
> off this whole thread:
>    corporation > company > department > project > product
> [...]
> That means that this navigation will be visible on everything from
> Mosaic and Lynx to Mozilla 5.0 and IE 5.5. Where's the downside to
> that, and where's the upside to "enhancing LINK"?

Downside to that: it isn't clear TO THE USER AGENT ITSELF which link
is the immediate parent and which is the root. (An example of an agent
which might care: the AltaVista spider.) This can already be done,
though, see below.

Upside to enhancing 'link': None in particular, because you can
already do pretty much everything that has been suggested so far.


>> Use something like rel="parent/n", (n=1,2,3,...) and you just
>> declare some more values along with "prev" and "next" etc.

You can use any you like, the spec is open ended. From the HTML 4
spec, section 6:

#   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.

I would recommend using something like:

   rel="up 1"
   rel="up 2"
   rel="up 3"

...and so on. Just write a page describing this, and point your
'profile' attribute at it:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
  <html lang="en">
   <head profile="/links/level.txt">
    <title>An example of custom 'rel' attributes</title>
   </head>
   <body>
    <p>
     <a rel="up 3" href="../../">corporation</a> &gt;
     <a rel="up 2" href="../">company</a> &gt;
     <a rel="up 1" href="./">department</a>
    </p>
   </body>
  </html>

Bingo. Semantics. (Now just sit back and wait for your profile to
become popular, hit critical mass, and get supported by browsers. Or
find an open source browser and submit a patch to do it. [1])


> Give your document some structure that's worth a damn, that's my
> solution. You want Previous Page and Next Page links? Fine - code
> 'em. It's really not that hard:
> 
> <a href="page1.html">Previous</a> - 
> <a href="main.html">Index</a> - 
> <a href="page3.html">Next</a>
> 
> Wow, that was tough.

And even better -- use the 'rel' attribute on the A element. Yes, the
<A> element already takes 'rel' and 'rev', so this is perfectly fine:

   <a rel="prev" href="page1.html">Previous</a> - 
   <a rel="index" href="main.html">Index</a> - 
   <a rel="next" href="page3.html">Next</a>


> And ooh, it works on every browser known to man! Hey, look, it even
> provides exactly the links you wanted - previous, main page, and
> next page!

Yup, and using 'rel' and 'rev' even robots can make sense of it.


> I bet, if you really wanted to, you could even manage to use this at
> the top *and* bottom of your page, to make it easier to find! What a
> concept!

Even better: Using alternate stylesheets, let your user decide if he
prefers them at the top, bottom, left, right, or in the middle! And in
what colours, too!

 
> Why do we need to revise the spec for this?

We don't. As I mentioned, all this is already possible within the
confines of HTML4.


[1] Like, say, Mozilla, KDE's browser, Lynx, etc...
-- 
Ian Hickson                         ("`-''-/").___..--''"`-._   
http://www.bath.ac.uk/%7Epy8ieh/     `6_ 6  )   `-.  (     ).`-.__.`)
                                     (_Y_.)'  ._   )  `._ `. ``-..-' fL
Member, Web Standards Project      _..`--'_..-_/  /--'_.' ,'
http://www.webstandards.org/      (il).-''  (li).'  ((!.-'    

Received on Thursday, 9 December 1999 18:15:08 UTC