[XHTML2] How are UAs to interpret <h> and <hx> elements?

I just noticed Ian Hixie's XHTML2 issue at

http://hades.mn.aptest.com/cgi-bin/xhtml2-issues/incoming?id=7820;user=guest

and realized that a very similar issue had been dismissed on the
www-html list because outlines are only one use, and should be left up
to the user agent.

So I wanted to bring this back up, and point out that the real
question is not presentational; it is how headers are linked to
blocks.  I've marked up parts of his example with more explicit
questions.

To summarize:

Should <h> elements have a for attribute that says which section/block
they describe?

Should they instead always describe the nearest enclosing section/block?

Should they instead always describe the nearest following section/block?

Are the rules the same for <h> and <h#> elements?

Detailed questions:

   <body>
    <h> AAA </h>    # Does this header describe the body, or the next section?
                               # Or maybe even the implicit section of
blocks before the
                               # next section?
    <p> aaa </p>
    <h3> BBB </h3>  # What about this one?  Does it matter than this is an
                                 # h<number> instead of just an <h>? 
Does it matter
                                 # that it is an h3 instead of an h1? 
Even if skipping
                                 # levels is discouraged, I don't know
whether it should
                                 # be h1 (first numbered header) or h2
(counting the h)
    <p> bbb </p>
    <h2> CCC </h2>  # This header is right before a section.  Previous 
                                  # examples have suggested that an
<h> here would
                                  # apply to the following section. 
Is that also true for
                                  # h<number> headers?
    <section>
     <h6> DDD </h6>  # The other sensible choice is to always describe the
                                   # nearest enclosing section.  But
is an <h6> strong
                                   # enough for that, given than there
is also an <h1>
                                   # in the same section?
     <p> ddd </p>
     <h1> EEE </h1>
     <ol>
      <li> eee </li>
      <li> <h> FFF </h> </li>   # What does it mean if there are intervening
                                              # elements  between the
section and the h?
      <li> fff </li>
     </ol>
     <blockquote>
      <p> fff </p>
      <h> GGG </h>               # Is this header part of/describing the quote, 
                                             # or the enclosing document?
      <p> ggg </p>
     </blockquote>
     <p> ggg </p>
    </section>
    <p> ccc </p>
   </body>

-jJ

Received on Wednesday, 29 June 2005 13:49:23 UTC