[Bug 11731] Replace <hgroup> element with a <subhead> element used as the child of the <hx> element

http://www.w3.org/Bugs/Public/show_bug.cgi?id=11731

--- Comment #4 from Lachlan Hunt <lachlan.hunt@lachy.id.au> 2011-01-25 13:11:32 UTC ---
This seems unnatural to me to have the subheading be a child of the heading,
rather than a sibling.  I'd prefer we just simply drop the hgroup element and
have the heading and subheadings be siblings within the header element.

The problem with having them as children is that it can result in unwanted
styling inheritance, where the styles for the heading would have to be reversed
explicitly for the subheading.  It also makes some styles difficult to achieve.

Consider for example where the author wants a stylish bottom border below the
main headings, optionally followed by a subheading.  With the subhead as a
child of the h1, the bottom border would instead be placed below the
subheading.

Similarly, consider a case where the author wants the main heading to have a
background color or image, but which should not appear behind the subheading. 
With the subhead as a child of the h1, the background would naturally be behind
both.  It would be possible to position the subheading outside of the box, but
that creates unnecessary complexity.

The common examples of subheadings I've seen in the wild have always been done
using sibling elements, and that's how I've always done them myself when I've
needed them.  Consider for example, the way Slashdot have marked up theirs:

<div id="logo" >
  <h1><a href="//slashdot.org"><span>Slashdot</span></a></h1>
  <div id="slogan"><h2>News for nerds, stuff that matters</h2></div>
</div>

(Slightly reduced version of slashdot's header)

I've never seen any site use any pattern similar to this proposed <subhead>
element and it seems likely to confuse authors more than hgroup.  It seems
likely that the obvious error of placing the subhead as a sibling of the
heading element will be quite common, and also makes much more sense.

e.g.  The pattern should be like this:

<section>
  <header>
    <h1>Main Heading</h1>
    <XXX>Subheading</XXX>
  </header>
  ...
</section>

(Where <XXX> is used as a placeholder for whichever element or
element/attribute combination we decide to use, whether that simply be any <h2>
to <h6> element, those elements with a subhead="" attribute, a new <subhead>
element, or whatever else.)

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Tuesday, 25 January 2011 13:11:36 UTC