W3C home > Mailing lists > Public > public-html@w3.org > September 2009

Re: what is dt?

From: Jeremy Keith <jeremy@adactio.com>
Date: Fri, 18 Sep 2009 00:12:53 +0100
Cc: Maciej Stachowiak <mjs@apple.com>, Shelley Powers <shelleyp@burningbird.net>, Smylers@stripey.com, public-html@w3.org
Message-Id: <EFD191E9-51C0-438D-B91C-5927FB87AE2B@adactio.com>
To: Tab Atkins Jr. <jackalmage@gmail.com>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 9 May 2012 00:16:48 GMT