[Bug 11737] New: Change content model of <hgroup> to single <hx> + zero or more <sh> (sub/suphead) elements

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

           Summary: Change content model of <hgroup> to single <hx> + zero
                    or more <sh> (sub/suphead) elements
           Product: HTML WG
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: HTML5 spec (editor: Ian Hickson)
        AssignedTo: ian@hixie.ch
        ReportedBy: xn--mlform-iua@xn--mlform-iua.no
         QAContact: public-html-bugzilla@w3.org
                CC: jgraham@opera.com, mike@w3.org,
                    laura.lee.carlson@gmail.com,
                    public-html-wg-issue-tracking@w3.org,
                    public-html@w3.org, julian.reschke@gmx.de,
                    miket@opera.com, mathias@qiwi.be, fberriman@gmail.com,
                    grahamlicence@yahoo.com
        Depends on: 11731


Instead of 
<hgroup>
    <h1>Main Heading</h1>
    <h2>Subheading</h2>
</hgroup>

we should adopt

<hgroup>
    <h1>Main Heading </h1>
    <sh>Subheading</sh>
</hgroup>

Thus, we should say that <hgroup>  can take a single <h[1-6]> element plus zero
or more <sh> elements. (Or <sheading> or <subhead>, if that would better names
than <sh>.)

For an outline of the proposal's advantages, see:
http://lists.w3.org/Archives/Public/public-html/2011Jan/0093
http://lists.w3.org/Archives/Public/public-html/2011Jan/0094

Summary
* It solves the main problem of the current content model - that some headings
in a hgroup no longer have h1-h6 semantics (except that they do, in legacy UAs)
- this is hard to grasp and hard to "calculate" the effects of.

* It is easier to style with CSS. It doesn't require the same detailed view of
the markup structure as the current content model does.

* It is semantically less confusing, as hgroup with this content model only
contains a single hx.

* It has better semantical fallback:  Both a legacy UA and a HTML5 UA would
create the same outline. In addition, a HTML5 user agent would EITHER see the
whole thing as a heading (if we define it like that) OR it would see the hgroup
as solely a container for grouping <sh> together with <hx>.

* It it makes the outline algorithm easier to understand and implement. At the
same time, the current outline - as described in books and implemented here and
there - would continue to work, except when the highest rank heading follows
after lower rank heading(s).

* It seems harder to use incorrectly. The only obvious mistake that one could
make would be to use <sh> outside a <hgroup>,  which would be relatively
harmless (semantics of <div>).

Disadvantages:

* Doesn't support the use case of multiple subheadings of different weights.
This seems like a very minor use case that could be addressed in the future if
it is significant.

* In legacy UAs the <sh> would count as a inline element. This is easy to fix
via CSS. But wiithout that fix, then, if the first element after <hroup> is an
inline element, then the two elements would grow together, if <sh> is the last
child of <hgroup>. See this test in for example Firefox:
http://software.hixie.ch/utilities/js/live-dom-viewer/saved/771
But if hgroup is mostly already "fixed" as as block element via CSS, anyway,
then it would not matter anyhow.

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

Received on Tuesday, 11 January 2011 18:56:45 UTC