This is a heading level 1 (H1 tag) in a page testing heading levels and offsets

This is a paragraph of text that follows the page's initial heading.

Most of the paragraphs in this page solely provide filler content for the heading level stress test, which is the primary purpose of this page. Each heading will tell you in text what it is — an H2 tag with a document calculated heading level of 3, for example. Heading levels are being manipulated through the use of heading offsets and ARIA levels.

According to the HTML specification's documentation on headings, the headingoffset, headingreset, and aria-level attributes augment calculated heading levels.

The headingoffset attribute, applied to a containing element, takes an integer value of 0 to 8 and adjusts the heading levels of its descendants accordingly. Calculation of heading levels is based on the combination of the values of these attributes existing on all ancestor elements (plus the H# element value itself). The headingreset attribute, applied to a containing element, takes a boolean value and resets the heading levels of its descendants to default levels. The aria-level attribute, applied to a heading element, takes an integer value of 1 to 9 (yes, 9 — HTML allows up to 9 heading levels, though only H1-H6 tags are defined) and sets the heading level of that element to the specified level, overriding any adjustments from heading offsets or resets.

This page includes various combinations of these attributes to test how they interact and affect the computed heading levels. You can check the computed heading levels using the browser's accessibility inspector or by using assistive technologies that announce heading levels. It may be the browser's computed heading levels and those of assistive technologies differ.

As of March 2026, only Chrome (v145) exposes to the accessibility tree the heading levels defined by offsets, which means that, outside of usage within Chrome, it is unlikely assistive technologies support the offset-calculated heading levels.

An H1 tag with a total heading offset of 1 is a heading level 2

This is a paragraph of text that follows the first stress test heading.

An H3 tag with a total heading offset of 2 is a heading level 5

This is a paragraph of text that follows the second stress test heading.

An H1 tag within a heading reset is a heading level 1

This is a paragraph of text that follows the third stress test heading.

An H1 tag within a heading offset of 3 (in the previous reset section) is a heading level 4

This is a paragraph of text that follows the fourth stress test heading.

An H1 tag that is a sibling to the previous heading but has aria-level of 2 is a heading level 2

This is a paragraph of text that follows the fifth stress test heading.

An H1 tag with a total heading offset of 5 (3 from the previous offset and 2 from this one) is a heading level 6

This is a paragraph of text that follows the sixth stress test heading.

An H1 tag with a total heading offset of 5 (3 from the previous offset and 2 from the parent one) is still a heading level 6, because its section container has no offset

This is a paragraph of text that follows the seventh stress test heading.

An H1 tag with a total heading offset of 8 (5 from the previous offsets and 3 from the parent offset) is a heading level 9, the maximum heading level supported by HTML

This is a paragraph of text that follows the eighth stress test heading.

An H1 tag with a total heading offset of 9 (8 from the previous offsets and 1 from the parent offset) is still a heading level 9, because we cannot go beyond the maximum heading level supported by HTML

This is a paragraph of text that follows the ninth stress test heading.

And, finally, an H3 tag with aria-level=10 and sitting within an offset of 1, but though this aria-level is valid ARIA, the maximum heading level in HTML is 9, so unclear what may be reported by browsers or assistive technologies — level 4 heading because the aria-level is ignored??

This is a paragraph of text that follows the tenth stress test heading.