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