WCAG 1.3.1, 2.4.1, 2.4.6 · Structure

A Drupal Heading Structure Module That Understands Layout Builder

A screen reader user pulls up the heading list to skim a page and finds an h4 before the h2, or three regions with no landmark at all. Heading & Landmark Checker validates heading order and ARIA landmarks across node content, block placement, and Layout Builder sections, where Drupal’s composability makes structure easy to break.

Layout Builder Makes It Easy to Compose a Page, and Easy to Break Its Heading Order.

When editors assemble a page from blocks and Layout Builder sections, each component often carries its own heading level chosen in isolation. The result is a page that looks fine but exposes a heading outline a screen reader user cannot navigate: skipped levels, multiple h1s, and regions with no landmark role. This is one of the most common structural failures on component-driven Drupal sites.

This module installs on any Drupal 10.6+ or Drupal 11 site with Composer, and pairs with WPPersona's WCAG 2.1 AA compliance approach. No CMS migration required.

h1-h6

a correct, unskipped heading outline is what screen reader users rely on to navigate a page

Accessibility Features

What Heading & Landmark Checker Actually Checks

Every feature below maps to a specific WCAG 2.1 success criterion, not a vague accessibility claim. Here's exactly what changes on your Drupal site.

WCAG 1.3.1, 2.4.6

Heading order validation

The module builds the effective heading outline of a rendered page, including headings emitted by blocks and Layout Builder components, and flags skipped or out-of-order levels.

WCAG 1.3.1, 2.4.1

Landmark region checks

Confirms the page exposes proper banner, main, navigation, and contentinfo landmarks, and that Layout Builder sections carry a region role where one is needed.

WCAG 1.3.1, 2.4.6

Single h1 enforcement

Flags pages that render more than one h1, a common result of a hero block and a node title both claiming the top level.

WCAG 1.3.1

CKEditor 5 in-body checking

Warns editors in CKEditor 5 when body content jumps heading levels, before the node is even saved.

WCAG 1.3.1, 2.4.6

Site-wide Drush report

A drush command produces a structural report across all content, so a governance team can see which templates and components generate the most heading failures.

How It Works

From composer require to Fixed, in Four Steps

01

Scan your content

Run the first pass across nodes and Layout Builder pages to get a report of heading and landmark failures ranked by traffic.

02

Fix the component templates

Most failures trace to a handful of block and component templates emitting the wrong heading level. Fixing the template resolves every instance at once.

03

Turn on editor warnings

Enable CKEditor 5 checking so editors catch in-body heading jumps as they write.

04

Re-scan after layout changes

Run the report again after adding new components or reworking a layout, since structure regressions hide easily on composable pages.

“Every one of our department landing pages had two h1s, the hero block and the page title. We had no idea until the structural report laid it out component by component.”

Digital Services Lead, Mid-Size County

Common Questions About Heading & Landmark Checker

Why is Layout Builder specifically a heading-structure risk?

Because each block and component chooses its own heading level in isolation, with no awareness of what sits above it on the page. Assemble several together and the combined outline can skip levels or repeat an h1, even though every component looked correct on its own.

Does this fix headings automatically?

It flags the problem and points at the component template responsible. The fix belongs in the template or the content, because automatically rewriting a heading level can change meaning, so a person confirms it.

Does it check pages built with Paragraphs too?

Yes. Any rendered heading is evaluated regardless of whether it comes from a node body, a block, a Paragraph, or a Layout Builder component.

Get Started

Get Heading & Landmark Checker on Your Drupal Site

There's no self-serve checkout yet. Submit the form and our team confirms your license tier, sends pricing, and gives you private Composer repository access with installation instructions within 1 business day.

  • Drupal 10.6+ or Drupal 11, PHP 8.1+, supports Layout Builder, Paragraphs, and block content
  • License covers updates and support for 12 months

Need more than one? See the full Accessibility Suite bundle.

Request to Purchase

Tell us which modules you need. We'll send licensing and setup details.

Modules You're Interested In

License Size

We respond within 1 business day · No spam, ever

Free Tool

See Your Agency's PDF Risk in 2 Minutes

Enter your government website URL. We crawl every page, scan every PDF, and deliver a full ADA compliance risk report. No account. No credit card.

Run Free Audit

Talk to Someone Who Speaks Government

Our team understands government procurement, ADA compliance timelines, and what it takes to migrate a government website. Free 20-minute demo. No hard sell.

  • Full platform walkthrough for your agency type
  • Answers to procurement and security questions
  • Honest timeline and migration assessment
Schedule a Free Demo