- From: Kornel Lesiński <kornel@geekhood.net>
- Date: Sun, 06 Nov 2011 23:38:32 -0000
- To: public-html@w3.org
I agree with Lars Gunther that reuse of <h1-h6> for subheadings causes
nothing but trouble, and subheadings can be marked up in a more
straightforward manner.
I'd like to propose a new element that IMHO is much easier to understand
and use correctly, satisfies all major use cases of <hgroup> and does not
break outline in legacy UAs.
The proposal is in the wiki:
http://www.w3.org/html/wg/wiki/ChangeProposals/hSub
----
Change Proposal
Replace <hgroup> with an element that has a simple content model and
backwards compatibility.
Rationale
* <hgroup> overloads meaning of <h1-h6>, making them either headings
included in document
outline or not, depending on context created by hgroup and other
headings. No other
element in HTML creates such ambiguous context-dependent meaning.
* Name and usage of <hgroup> can be confused with <header>, since
both appear in headers
and group elements.
* <hgroup>'s content model disallows adding extra <div>s around
multiple subheadings, which
may be needed as styling hooks.
* Existing content on the web does not use as complex multi-level
subheadings as <hgroup>
was intended to support. There is no need to precisely mark up
levels of subheadings, as
the whole title is meant to be read in (document) order and
subheadings are not used for
sectioning/navigation.
Details
<hsub> element is a subheading. It represents a subheading for its
section (i.e. it is
associated with the heading in the same section that the <hsub> is in).
The algorithm for
associating <hsub> with a section is the same as for <h1-h6>, except
<hsub> does not imply
new sections.
<hsub> element has same content model as <h1-h6>.
Optionally: <hsub> can be allowed to be nested inside <h1-h6>, which
allows full title to be
seen as a header in legacy UAs and makes it easy to style heading and
subheading using CSS.
Examples
<body>
<h1>Title</h1>
<hsub>Subtitle</hsub>
<h1>Second Title</h1>
<div>
<hsub>Second Subtitle 1</hsub>
<hsub>Second Subtitle 2</hsub>
</div>
</body>
<article>
<hsub>The Magical</hsub>
<h1>Title</h1>
<hsub>That Has</hsub>
<hsub>Multiple Subtitles</hsub>
</article>
Styling
The most common usage of subheadings can be styled simply with h1 +
hsub CSS selector.
Authors can make complex headers easier to select by wrapping headings
and subheadings in
<header>. Relaxed content model allows "styling hook" elements to be
added as necessary.
Authoring errors
Mistakes in usage of <hsub> cannot break document outline, which is a
significant improvement
over <hgroup>.
At worst, in a rather rare case of subtitle preceeding the title,
subtitle may end up
associated with an earlier heading:
<h1>Unrelated title</h1>
<p>Content</p>
<hsub>Preceeding subtitle</hsub>
<h1>Title</h1>
However, this kind of mistake can be easily eliminated by use of
<section>/<acticle>
elements:
<section>
<hsub>Preceeding subtitle</hsub>
<h1>Title</h1>
</section>
Risks
Removal of the <hgroup> element.
--
regards, Kornel Lesiński
Received on Sunday, 6 November 2011 23:39:08 UTC