WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: headings


From: Jukka K. Korpela
Date: Feb 18, 2005 2:24PM

On Thu, 17 Feb 2005, karen wrote:

> from what I've understood it's best to have a followed by and so
> on for each page.

Yes, that's the general idea. It's even a requirement in ISO-HTML, the
little known real HTML standard, which is stricter than HTML 4 Strict.

The h1 element indicates level 1 heading _on the page_, and h2 indicates
level 2 heading there, implicitly dividing the page into sections. And so

We could stop here, maybe saying that if you start your headings from,
say, h3 because it's a small page and h1 would be visually too big (and
you hadn't heard of CSS), it's not a mortal sin and won't harm much.
It's not really a big issue. This discussion has got much wilder than the
topic would deserve.

But it seems that there's a serious danger:

> Even if they're just repeating headings that appeared on
> another page, it helps the user understand what the is a sub-heading of
> within the website (especially for users who haven't started on page 1) for
> example:
> Title of the website
> Title of this section
> Title of this page

_That_ would be a big mistake. It's much better to start from
than to claim that "Title of the website" is a 1st level heading on the
page. It would look foolish on any normal graphic browser with default
settings, and CSS should not be relied upon to clear up the mess.
Moreover, any linear processing of the page (speech-based browsers,
text-only browsers, Braille, indexing robots, etc.) would encounter
"Title of the website" and "Title of this section" in the most prominent
place, marked up as very important, before you get into the real heading
for the page. This would be highly misleading. An element like
foo is a promise: this _page_ (or at least a major part thereof,
such as one half of a bilingual page) is about foo.

> Thanks for reminding me that validators aren't perfect :-)

A real validator is by definition perfect in what it does.
It's not a validator's fault that the DTD does not require
(and could not easily require) disciplined usage of headings.

Jukka "Yucca" Korpela, http://www.cs.tut.fi/~jkorpela/