Quick reference for organizing structural heading levels and page content elements.
Siteimprove Issues by Name
Headings are not structured
Proper heading levels (H1 through H6) must follow a strict, sequential order to establish a clear section hierarchy. This issue frequently occurs when a heading tag (like an H2 or H3) is applied to text simply to make it look larger or bold, rather than using it to structurally organize the page outline.
Critical Style Note: If changing a heading to its correct sequential level alters or breaks the visual design of your page, stop and leave it as is. Do not save the structural update yet. Instead, reach out to the Web Team immediately so we can inspect your desired layout and apply the necessary style adjustments first.
How to Fix:
-
Assess the Hierarchy: Check the text block in the Drupal editor and determine what its true structural level should be based on your page layout (for example, changing a standalone H3 to an H2 so it aligns correctly with the overall page outline).
-
Test the Update: Highlight the text, click the Paragraph Format dropdown in the Drupal editor toolbar, and select the correct structural heading level.
-
Evaluate the Layout (& Report if Needed): If the style looks correct, proceed with editing and save your changes.
- If the style breaks or changes drastically: Undo the change (leave the old tag intact) and reach out to the Web Team for assistance. This allows us to see your target design on the live page and build the proper style classes before you convert your headings.
Learn More: Headings are not structured, explained
Content missing after heading
This issue occurs when a heading tag (H1–H6) exists in the code but contains no actual text, or has no substantive content (like paragraphs, lists, or media) following it before the next section begins. This creates a confusing experience for screen reader users, who rely on headings to navigate and expect information to follow a title.
How to Fix:
-
Check for Empty Tags (CMS/Drupal Fix): Hitting "Enter" in the rich text editor can sometimes accidentally leave an invisible, empty heading tag behind. Open the Source view in Drupal and look for and delete any empty containers, such as:
- <h2> </h2>
- <h3></h3>
-
Correct Styling Misuse (CMS/Drupal Fix): If a heading was placed at the bottom of a section purely to create a large or bold visual divider without text underneath, highlight it and change it to a standard Paragraph tag. Only use heading levels if they are actively introducing a new, upcoming section of content.
-
Identify Template Hidden Titles (Template Issue): If the empty heading is baked into a global layout menu or a sidebar block (where the heading is visually hidden on the screen but still being read by accessibility scanners), it is a system-level template bug.
- Check our dashboard to see if this specific block is on our Issues Safe to Ignore list.
- If it is not listed there, please reach out to the Web Team so we can investigate the theme code and patch it.
Learn More: Content missing after heading, explained
Page does not start with a Level 1 heading
For optimal accessibility, a webpage should always begin its main content with a single H1 heading (usually the page title). When an accessibility scanner flags this issue, it means another heading level (H2–H6) was detected in the code above your main title, disrupting the structural hierarchy.
How to Fix:
- Identify the Culprit: Check if a subtitle or small teaser field positioned above the main title is accidentally wrapped in an <h2> or <h3> tag within the editor. If so, demote or change that text to a standard paragraph format.
- Rule Out Template Issues: Most frequently, this error is caused by hidden structural elements hardcoded into our global website theme—such as the Main Nav heading block.
- If the scanner points to the global navigation menu, do not attempt to fix it. This is a system-level theme issue. Cross-reference the scanner's report with our dashboard to confirm it matches our Issues Safe to Ignore list.
Learn More: Page does not start with a level 1 heading, explained
