- 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