This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 11466 - Reword 4.4.7 The hgroup element
Summary: Reword 4.4.7 The hgroup element
Status: CLOSED WONTFIX
Alias: None
Product: HTML WG
Classification: Unclassified
Component: LC1 HTML5 spec (show other bugs)
Version: unspecified
Hardware: Macintosh All
: P2 normal
Target Milestone: ---
Assignee: Ian 'Hixie' Hickson
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard:
Keywords: a11y
Depends on:
Blocks:
 
Reported: 2010-12-03 20:23 UTC by Doug Jones
Modified: 2011-08-04 05:03 UTC (History)
7 users (show)

See Also:


Attachments

Description Doug Jones 2010-12-03 20:23:23 UTC
With respect to comments concerning hgroup in the HTML WG Public List threads

	hgroup and ARIA outline in ISSUE-129

and

	suggestion for abolition of <hgroup>.
	
It appears the hgroup element concept may not be readily appraent to authors. Reword the hgroup element definition to emphasize it is a group of heading elements. Keep the function of the h1-h6 elements the same, but emphasize that the highest ranking h1-h6 element implies a new section or that there must be an explicit parent section for an hgroup element.

The name of the hgroup element should be more descriptive to avoid confusion for authors. Suggestions are

<headinggroup>	two g's not readable and prone to typing errors, wordy
<headingblock>	states this is a heading and acts as a whole, wordy
<hblock>		'block' to me better conveys that the combination contained therein is treated as one whole (from the authors' view). The 'h' highlights the association to the h1-h6 elements.


I propose the following text change to 4.4.7 The hgroup element.

Currently

4.4.7 The hgroup element

The hgroup element represents the heading of a section. The element is used to group a set of h1–h6 elements when the heading has multiple levels, such as subheadings, alternative titles, or taglines.

For the purposes of document summaries, outlines, and the like, the text of hgroup elements is defined to be the text of the highest ranked h1–h6 element descendant of the hgroup element, if there are any such elements, and the first such element if there are multiple elements with that rank. If there are no such elements, then the text of the hgroup element is the empty string.

Other elements of heading content in the hgroup element indicate subheadings or subtitles.

The rank of an hgroup element is the rank of the highest-ranked h1–h6 element descendant of the hgroup element, if there are any such elements, or otherwise the same as for an h1 element (the highest rank).

The section on headings and sections defines how hgroup elements are assigned to individual sections.

Proposed

4.4.7 The hblock element

The hblock element represents the heading of a section. The element is used to group a set of h1–h6 elements when the heading has multiple levels, such as subheadings, alternative titles, or taglines.

The hblock element is considered the alias of the first highest ranking h1-h6 element that is its direct descendent. Therefore, the hblock element assumes the text, rank, and any implied section start that the first occurrence of the highest ranking h1-h6 element descendent to it would represent. Any other h1-h6 elements of equal or lower rank descendent of the hblock are removed from the document summary, outline, and the like and do not start implied sections.

If there is no h1-h6 element descendent of the hblock element, then the text of the hblock element is the empty string and the rank is the same as an h1 element (the highest rank).

The section on headings and sections defines how hblock elements are assigned to individual sections.

Examples:

In the following, the <hblock> is a direct descendent of the explicit <section> element. The <hblock> takes on the semantic properties of the <h1> element and neither does not imply the start of a new section.

<section>
	<hblock>
		<h2>Winter Wonderland</h2>
		<h1>The Seasons of the Mountains</h1>
	</hblock>
	<p>Written mountain stuff here.</p>
</section>

Below, the <hblock> does not belong to any explicit section, so begins an implied section with the rank of the enclosed <h1> element. The <h1> element does not start another implied section.

<section>
	<h1>Seasoning Geology</h1>
	<p>Written stuff here.</p>
</section>
<hblock>
	<h2>Winter Wonderland</h2>
	<h1>The Seasons of the Mountains</h1>
</hblock>
<p>Written mountain stuff here.</p>

In the following, there is no content in the hblock element, but the hblock element starts an implied section with the highest rank (rank of 1).

<section>
	<h1>Seasoning Geology</h1>
	<p>Written stuff here.</p>
</section>
<hblock>
</hblock>
<p>Written stuff here.</p>

I propose the following text addition to 4.4.11.1 Creating an outline.

Currently

The outline for a sectioning content element or a sectioning root element consists of a list of one or more potentially nested sections. A section is a container that corresponds to some nodes in the original DOM tree. Each section can have one heading associated with it, and can contain any number of further nested sections. (The sections in the outline aren't section elements, though some may correspond to such elements — they are merely conceptual sections.)

The following markup fragment:

<body>
 <h1>A</h1>
 <p>B</p>
 <h2>C</h2>
 <p>D</p>
 <h2>E</h2>
 <p>F</p>
</body>
...results in the following outline being created for the body node (and thus the entire document):

Section created for body node.
Associated with heading "A".
Also associated with paragraph "B".
Nested sections:
Section implied for first h2 element.
Associated with heading "C".
Also associated with paragraph "D".
No nested sections.
Section implied for second h2 element.
Associated with heading "E".
Also associated with paragraph "F".
No nested sections.

Append the following

The following markup fragment:

<body>
 <h1>A</h1>
 <p>B</p>
 <hblock>
 	<h2>C</h2>
 	<h3>CC</h3>
 </hblock>
 <p>D</p>
 <h2>E</h2>
 <p>F</p>
</body>
...results in the same outline as immediately above.
Comment 1 Lachlan Hunt 2010-12-06 11:27:04 UTC
It seems the substance of your proposal is to simply rename hgroup to hblock.  I can't otherwise see any real functional differences between the existing hgroup element and hblock element with respect to the outline algorithm.  Am I missing something?
Comment 2 Doug Jones 2010-12-06 14:04:32 UTC
(In reply to comment #1)
> It seems the substance of your proposal is to simply rename hgroup to hblock. 
> I can't otherwise see any real functional differences between the existing
> hgroup element and hblock element with respect to the outline algorithm.  Am I
> missing something?

You are correct that I do not propose changing the current definition/use of hgroup. My primary intent is to reword the spec to make the definition and purpose of hgroup clearer to the HTML author. My proposed wording can still use editing (I noticed a grammar error) to meet this goal. Also, the use of 'alias' is with respect to the HTML, not of any CSS, associated with the highest h1-h6 element. This needs to be clearly stated. Do you think my wording improves the existing?

I can stay with hgroup, but I proposed hblock due to the discussion in the mailing list.
Comment 3 Ian 'Hixie' Hickson 2011-01-11 00:51:04 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Rejected
Change Description: no spec change
Rationale: I think it's too late to make a change of this nature without a very compelling rationale. While it's true that public-html has been discussing <hgroup> for a few weeks, there aren't that many participants in the discussion, and the discussion seems to be primarily focused around people thinking other people might not understand the feature, rather than people themselves not understanding the feature. Such anecdotal  or even hypothetical  confusion is not especially compelling at this stage: since the element has been described in detail on many tutorial sites, in books, and so forth, we would have to have very clear evidence of confusion before changing it.

In particular, I do not believe renaming <hgroup> to <hblock> is a perceptible improvement.

Other suggestions are to change the structure, e.g. to use a subelement of <h1> to indicate a subheading, but I believe such suggestions ignore a core principle of our work, sometimes referred to as "pave the cowpaths": in practice, when people have a heading and a subheading, they just use different levels of <hx>, and so it makes imminent sense to leverage that technique.

Dropping the feature altogether would harm accessibility (without this element, the document outlines of documents with subheadings have spurious sections), so I don't think that's a good idea either.
Comment 4 Laura Carlson 2011-01-11 01:45:58 UTC
Adding "a11y" keyword as the editor's WONTFIX resolution states, "Dropping the feature altogether would harm accessibility (without this element, the document outlines of documents with subheadings have spurious sections)".
Comment 5 Michael Cooper 2011-01-25 16:24:49 UTC
Bug triage sub-team thinks this is not a A11Y TF priority. The lexical form of the element is not critical to accessibility, and the proposal in this bug is not to remove the element, so there is no concern.
Comment 6 Michael[tm] Smith 2011-08-04 05:03:12 UTC
mass-moved component to LC1