Summary
Avoid using the hgroup element as its semantics are not supported by browsers or assistive
technologies.
Explanation
The hgroup element was created to try and solve the need for multi-level headings that act
as a single unit. For example, it would allow a heading to be split onto three lines using separate
heading tags of any type for each part, as in the following example.
<hgroup>
<h2>Chapter</h1>
<h3>1</h1>
<h1>In the beginning</h1>
</hgroup>
In theory, all the heading elements would be combined and treated as a single tag matching the highest heading level used in the group.
The hgroup tag was designed as part of the HTML outline algorithm that neither browsers nor
assistive technologies support. As a result, it does not do what its description suggests. Adding
multiple headings just inserts multiple headings into the document and impedes navigation.
Instead of the hgroup element, CSS can be used to split a heading over multiple lines and
format each part separately (see the headings knowledge base page).
The HTML 5.1 specification also includes a number of other approaches for expressing subheadings.
EPUB
Although support for the hgroup element was not included in EPUB 3.0 in accordance with
the W3C HTML 5 specification, EPUB 3.2 now refers to the WhatWG version of HTML. As a result, it is
valid to use the tag in publications.
If hgroup is used, however, it must not contain more than one heading
element to meet WCAG accessibility requirements. As a result, in most cases it is
a redundant tag that should be omitted. The header
element can be used to include a heading element with any other heading content.
Related Links
- KB — Headings
- MDN — <hgroup>
- HTML 5.1 — Subheadings, subtitles, alternative titles and taglines
- HTML — The
hgroupelement - HTML — The
headerelement