Re: Why Skip Navigation Links are a Hack

On Friday, June 13, 2003, at 06:32 PM, wrote:
> On 13 Jun, Kynn Bartlett wrote:
>>>   have gotten so far with the ideas you mention from HTML 2.0 I am 
>>> less
>>>   than optimistic.
>> It's easier to upgrade user agents than get everyone to put visible
>> "skip
>> navigation" or "skip to main content" links on their pages.
>   That I find unrealistic.

Of course you find it unrealistic.

> Despite your choice of the phrase "you seem to
>   think" later on in your reply, it is a fact that some commonly used
>   user-agents today do not in any way or form give users access to the
>   information contained in LINK tags.

And your point was?  You seem to be saying that <link> isn't useful
now, is that right?

So...maybe we need a hack, such as "skip links", in order to get around
that? just what I was saying, but for some reason you refuse to
acknowledge it.

>   The specification isn't unclear on what the LINK is for. That it is
>   unclear on how it should be presented is not really important -

Sure it is important.  You can't claim that browsers are failing to
conform if there's nothing to conform _to_.  Even HTML 4.0 doesn't say
what should be done with the meta-data.

> how it
>   should be presented depends on how the user-agent presents data 
> overall,
>   and an HTML specification would be seriously strange should it 
> concern
>   itself with listing all the various ways that might happen.

The specification does _not_ say that the browser needs to present the
<link> information at all.  It says "may."  Do you understand the term
"may"?  (This is not a sarcastic question.  This is a real question,
related to "must", "should", and "may".  If you are going to claim a
failure to conform, you need to identify what the browsers are doing 
is not in conformance.)

>   We have, I hope, left the days of 3.2 behind.

And hopefully we'll leave the days of 4.01 and move to a better 
Why does that claim seem to bother you so much?

>   Today, in 2003, we have browsers in common use - even claimed to be 
>   most commonly used browser - which do not support parts of a HTML 
> standard
>   from 1995.

You keep saying "1995" as if the <link> specified something that 
were required to implement and did not.  Can you please identify which
part of this mythical 1995 document is being violated by commonly used
browsers?  (Where did "THE most common used browser" come from?  This 
just some misplaced Microsoft hostility, is it?)

>   It would be fair to say that an XHTML 2.0 standard could be 
> implemented
>   some time in 2010 - if at all.

On what do you base this?

> The debate on whether XHTML 2.0 has a future
>   belongs elsewhere.

Then why did you bring it up?

>> There's a difference between a set of links designed to take you 
>> through
>> the document, and one which is designed to take to, well, where you
>> appear to be now, which was only inserted for supposed compatibility
>> with
>> screenreaders and other linear forms of access.
>   Supposed compatibility ? I am, again, lost. I have no difficulty *at 
> all*
>   seeing myself using a "Skip the table of contents" or "Skip to the 
> main
>   content" link in a graphical browser.

So, if all browsers magically allowed you -- overnight, tomorrow, when 
wake up -- to skip to navigation whenever you wanted, would you still 
"skip the table of contents" links in your page?

No, you wouldn't -- because they're not an intrinsic part of the 
they're something you added on to a specific presentation.

>   The 'skip to main content' link is just that - a link that allows a 
> user
>   to skip a prefix of some sort, to get to the meat of the document. It
>   it is a good accessibility tool in books and on the web.

Nobody is arguing it's _not_ a good accessibility tool.  I'm saying the
functionality should be directly supported in HTML in an explicit, 
manner -- rather than relying on the <a> tag (or even the <link> tag) 
something that _should_ be easily and sensibly derived from the 
of the document.

If HTML were designed from scratch, based on what we know now about how
the Web works, the text-formatting parts would be the same -- but the
structure would be (and SHOULD be) vastly improved.

>> We'd be much better off with a robust markup language instead of HTML
>> which requires literally telling, in a way that _varies from site to
>> site to site_, where the primary content is located and where the
>   No, we're actually *much* better off with a simple, generic, language
>   like HTML. If used right.

Isn't that what I've been saying?  We need a simple, generic language 
HTML which is robust enough to handle the _basic functions of the Web_
without requiring everyone to come up with non-standard solutions for
Every. Page. On. The. Web.

What do I mean by non-standard solutions?  Well, quick, without looking 
it, tell me about the name of the skip-link is on, and
what it's named, and what the URL is.  Each Web site will have a 
variation, both in the text, the name of the link, the URL, what it goes
to, and so on.  This lack of standardization -- the fact that everyone
has to grow their own -- points out that there's a deeper problem than
just simply slapping an <a href="#skip"> band-aid on all pages in

For that, we need to get to the root of the problem, and that root is
poor structural identification within HTML itself.

Kynn Bartlett <>           
Chief Technologist, Idyll Mountain      
Author, CSS in 24 Hours             
Inland Anti-Empire Blog            
Shock & Awe Blog                 

Received on Saturday, 14 June 2003 12:06:48 UTC