XHTML 2 could have the solution to ensure that headings are delivered in the correct order, and not used for their presentational effects.
Author: Gez Lemon
Checkpoint 3.5 of WCAG 1.0 requires that header elements be used to convey the structure of the document. The correct use of headings helps your visitors quickly determine the structure of the document by providing a clue to the importance of a section. Assistive devices like JAWS and Home Page Reader (HPR), allow visitors to navigate a document by the headings.
The working group for XHTML 2 are still undecided about dropping the
h6 elements in favour of using an
h element, used in combination with a section. Personally, I think it's a really good idea to drop
h6, as the level of heading should get its meaning from its section. It will eliminate the problem of skipping headings (
h1, etc), from developers who use headings purely for the font-size effect, and ensure the structure of the document is correct.
<h>Top Level Heading</h> <section> <h>Second-level heading</h> <p>... bla ...</p> <h>Another second-level heading</h> <p>... bla ...</p> </section> <section> <h>Second-level heading</h> <p>... bla ...</p> <section> <h>Third-level heading</h> <p>... bla ...</p> </section> </section>
This is even more beneficial with dynamic content where a particular section could appear in one or more pages, and the heading level can't be determined at design-time. Obviously, it's a simple enough task to generate heading levels dynamically, but how many developers bother? Having the heading take its level from its section makes a lot of sense.