- From: Jeremy Keith <jeremy@adactio.com>
- Date: Fri, 18 Sep 2009 00:12:53 +0100
- To: Tab Atkins Jr. <jackalmage@gmail.com>
- Cc: Maciej Stachowiak <mjs@apple.com>, Shelley Powers <shelleyp@burningbird.net>, Smylers@stripey.com, public-html@w3.org
Tab Atkins Jr. wrote:
> While default styling is a bit of an issue, I'm not sure how using
> <h1> would interfere with the outline algorithm. <figure> is
> explicitly a sectioning root
Ah, that's true. I had forgotten about that (and now I'm slapping my
forehead because *of course* <figure> would have to be a sectioning
root given it's potential out-of-context nature).
In that case, using <h*> seems like it could be a reasonable
captioning element for <figure>.
James Graham wrote:
> I believe reusing <h1> would interact poorly with legacy software
> that assumes headings should be used for navigation. In particular I
> would expect existing AT to have a problem with this.
But surely this is an issue with the very concept of sectioning roots
in general rather than headers in one particular sectioning root
element in particular (<footer>)?
Also, as others have pointed out, the redefined outline algorithm in
HTML5 is already going to cause some hiccups with current AT designed
to deal with the current usage of headings.
> On the subject of the outline algorithm, it is unclear to me that
> <figure> should be a sectioning root. I would expect that figure >
> dd would be a sectioning root but one could use <h1> in figure > dt
> to include a figure in the outline view of a document.
Given the nature of the kind of content that <figure> contains, I
think it *must* be a sectioning root:
"The element can thus be used to annotate illustrations, diagrams,
photos, code listings, etc, that are referred to from the main content
of the document, but that could, without affecting the flow of the
document, be moved away from that primary content, e.g. to the side of
the page, to dedicated pages, or to an appendix."
Maciej wrote:
> If you restyled all your headers with a rule for an "h1" selector,
> you may have to go out of your way to undo that styling when you add
> a details or figure, since it's unlikely to be appropriate.
Um... that is the *least* of the problems that authors are going to
have when it comes to styling <h1>s in HTML5.
Here is some CSS from a project I'm currently working on:
h1 {
font-size: 2.5em;
}
h2,
section h1, article h1 {
font-size: 2em;
}
h3,
section h2, article h2,
section section h1, article article h1,
section article h1, article section h1 {
font-size: 1.75em;
}
h4,
section h3, article h3,
section section h2, article article h2,
section article h2, article section h2,
section section section h1, article article article h1,
section section article h1, article article section h1,
section article article h1, article section section h1 {
font-size: 1.5em;
}
h5,
section h4, article h4,
section section h3, article article h3,
section article h3, article section h3,
section section section h2, article article article h2,
section section article h2, article article section h2,
section article article h2, article section section h2,
section section section section h1, article article article article h1,
section section section article h1, article article article section h1,
section section article article h1, article article section section h1,
section article article article h1, article section section section h1 {
font-size: 1.25em;
}
...you get the idea (and that doesn't even include other sectioning
content).
(aside: I must remember to mention this on the thread about having two
sectioning elements—<article> and <section>—when just one will do).
Anyway... my point is that, if ease of writing CSS rules is going to
be a factor in rejecting headings in the context of <figure>, it
should also be a factor in rejecting the very concepts of sectioning
roots, sectioning content, and the HTML5 outline algorithm.
So, given that there are far bigger issues (both for AT and CSS) with
the new uses of headings in HTML5, I think that using a heading as an
explicit label inside <figure> seems reasonable.
Rather than choosing any one particular heading (h1, h2, h3, etc.) I
think it would be fair enough to say that the highest ranking heading
content found inside the <figure> is the labelling element.
That would allow:
<figure>
<h1>Exhibit A</h1>
<img src="foo" alt="bar">
</figure>
and also:
<figure>
<h3>Exhibit B</h3>
<canvas width=360 height=240>
</canvas>
</figure>
In this sense, it would work a bit like <hgroup> which doesn't mandate
using <h1> and <h2> but allows authors to choose which headings they
want ...something that should help alleviate the problems mentioned
with AT.
Shelley wrote:
> Regardless, I'm not enamored with re-using existing elements for new
> purposes. I'd rather create something new
The reason why there is so much resistance to creating a new element
*in this particular case* is that there are already 18 elements in
HTML that are somewhat synonymous: <caption>, <legend>, <label>, <h1>,
etc.
I agree with this preference for recycling — in fact, I think that too
many new elements have already been created (see: <article> and
<section>, also synonymous). While I wouldn't dismiss the creation of
a new element for labelling <figures> out of hand, I'd want to be sure
that we had exhausted all the possibilities first. I don't think we
have.
P.S. I'm sure this goes without saying, but I just wanted to point out
that everything I've written about here is to with <figure> and has
absolutely no bearing on <details>; a completely separate element.
--
Jeremy Keith
a d a c t i o
http://adactio.com/
Received on Thursday, 17 September 2009 23:13:37 UTC