<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Ian Hickson wrote:
<blockquote
cite="midPine.LNX.4.61.0408260909300.21417@dhalsim.dreamhost.com"
type="cite">
<pre wrap="">On Wed, 25 Aug 2004, Matthew Raymond wrote:
</pre>
<blockquote type="cite">
<pre wrap="">If anything, headings should work like this:
<section>
<heading>Header 1</heading>
<p>Content for 1.</p>
<section>
<heading>Header 1a</heading>
<p>Content for 1a.</p>
</section>
<section>
<heading>Header 1b</heading>
<p>Content for 1b.</p>
</section>
</section>
</pre>
</blockquote>
<pre wrap=""><!---->
WA1 defines something like this, re-using <h1> for the heading element.
</pre>
</blockquote>
Instinctivley I dislike this proposal but I'm not sure I can easilly
explain why. <br>
<br>
My first objection is that changing the meaning of <h1> isn't
backward compatible for assistive technologies. True, authors can work
around this using h2-6 elements but the spec states that these do not
have the same behavior as h1 when they are the children of a section
element. This makes it difficult to create documents which use the new
features and degrade gracefully. I also think that using <h1> as
a general purpose heading is really really ugly. But that's not much of
an objection.<br>
<br>
It's also not clear how a structure like:<br>
<div class="heading"><br>
<h1>Page title</h1><br>
</div><br>
<div class="content"><br>
<h2>Content title</h2><br>
</div><br>
would be represented in the new scheme. Reaplacing the <div>s
with <section>s and the <h2> with <h1> produces a
different structure (page title and content title are equally
important).<br>
<br>
The new scheme makes it very easy to create illogical page structures.
For example, it's not clear how the following should work:<br>
<section> <br>
<h1>Title</h1><br>
<section><br>
<h1>Subheading</h1><br>
<section><br>
<h2>Second subheading</h2><br>
</section><br>
</section><br>
</section><br>
<br>
On the other hand, there is some merit to a situation in which
<section> creates structure and the choice of n in <h{n}>
denotes the 'importance' of the heading relative to the content of the
page (so, for example, search bots give lower weight to <h6>
elements than <h1> elements regardless of the nesting). I'm not
sure how useful this would be, especially given that <menu>
exists for marking up navigation but many authors already use the
heading elements in this way and will presumably continue to do so. If
this is the route taken, it needs to be clear that only the
<section> elements create outline structure, not the <h{n}>
elements, which isn't strictly HTML4 compatible but is consistent with
the way many actual sites work.<br>
<br>
Another possibility is to use <h{n}> to denote levels of heading
within a section so that:<br>
<section><br>
<h1>Page Heading</h1><br>
<section><br>
<h1>Article Title</h1><br>
<h2>Article subtitle</h2><br>
</section><br>
</section><br>
<br>
Has the semantics implied by the element contents and, in particular,
an outline view of the document does not show the <h2> element as
a child of the preceeding <h1> element. However this, again
creates backward compatibility problems since existing software will
not recognise the new semantics and act accordingly. This is nice
because it makes the use of <h1> to denote a general heading less
ugly but it's really a radical change from HTML 4.<br>
<br>
There is more discussion of the use of the html 4 heading elements in
[1] . In general, I think that explicit markup for document sections is
good (although I would like to see more single-purpose elements such as
<header> or <footer> to provide addiational semantics for
UAs - the ability to seperate out sitewide elements from page-specific
content is, in my opinion, particularly important) but I think we need
to carefully consider the way the old and new heading styles will
interact, particularly since backward compatibility is important.<br>
<br>
[1] <a class="moz-txt-link-freetext" href="http://jogin.com/weblog/archives/2004/07/19/hierarchy">http://jogin.com/weblog/archives/2004/07/19/hierarchy</a><br>
<br>
</body>
</html>