Re: Why Skip Navigation Links are a Hack

On Friday, June 13, 2003, at 04:35 PM, Nick Kew wrote:
> On Fri, 13 Jun 2003, Kynn Bartlett wrote:
>> Skip Navigation links are there to compensate for a deficiency in 
>> HTML.
>>
>> Namely, there's no good way to designate "sections" of a page which
>> can't
>> be navigated through easily.  The browser can't figure out which is
>> which,
>> and so needs help from the author.
>
> On the contrary, HTML provides distinct <HEAD> and <BODY> elements,
> designating the former to contain metadata and the latter the
> document to be presented directly by a browser to human readers.

Those aren't distinct content sections, though.  They're not sub-parts
of content -- they just divide content from metacontent.  This is a good
thing, but this is clearly not all that is sufficient.

> HTML also provides a <LINK> element, which is ideally suited to
> navigation.  The problem arises because certain popular browsers
> fail to support the LINK element.

Actually it's not well-suited for navigation.  You can't construct, for
example, a hierarchical navigation bar via <link>.  You couldn't 
replicate
the W3C homepage via the <link> element alone, of course.  If I'm
misunderstanding what you're saying, please correct me.

> It would equally well be solved if the ideas in HTML 2.0 (and later
> versions) were adequately supported by browsers.

No, it's not well-solved.  Which HTML 2.0 ideas, anyway?  <link>?

> This presupposes authors taking any notice of the XHTML structure,
> which again brings it back to the same situation as with current HTML.

No, because current HTML doesn't allow, for example, a distinction 
between
which section of a page are navigation links.  You can't "skip 
navigation"
or "skip to content" automatically because there's no way to designate
these in HTML, structurally.

(<link> is not structural; it's metadata about structure, which is
different.)

>> This is a great step forward in patching one of the glaring holes in 
>> the
>> HTML language which has made it an obstacle to Web accessibility
>> (requiring
>> the use of nasty hacks like "skip navigation").
> I agree that "skip navigation" is a particularly nasty hack, but it's
> not the fault of HTML.

Sure it is.  The reason that "skip navigation" is necessary is that HTML
does _not_ adequately describe Web content as it is used on the Web, nor
does it really describe Web content which is not structurally identical
to a physics term paper.

If we don't have the tools in HTML to adequately describe the basic
distinctions between types of Web content -- which is "primary content"
and which is navigation -- then something's wrong with HTML, and needs 
to
be fixed.  The proposals in XHTML 2.0 address this in the same way that
the longdesc attribute in HTML 4.0 solved the problem which had, before
that, been addressed only by the D-link hack.

Which, like visible "skip navigation" links, introduces vague and
ultimately less-than-useful markup atthe expense of the visual design
and the integrity of the content model.

<link> solves some problems, but using it to skip groups of navigation
links just means it's a well-applied band-aid rather than a cure.  It's
metadata attempting to fill a hole in the structural model, when really
the structural model needs semantic enhancement itself.

--Kynn

--
Kynn Bartlett <kynn@idyllmtn.com>                     http://kynn.com
Chief Technologist, Idyll Mountain                http://idyllmtn.com
Author, CSS in 24 Hours                       http://cssin24hours.com
Inland Anti-Empire Blog                      http://blog.kynn.com/iae
Shock & Awe Blog                           http://blog.kynn.com/shock

Received on Friday, 13 June 2003 20:45:11 UTC