Content Accessibility · Essential · High impact
Semantic heading structure
A single H1 and a consistent H2 structure let the content be split correctly.
- Essential
- High impact
- Adopted standard
| Property | Value |
|---|---|
| Check id | headings |
| Dimension | Content Accessibility (22%) |
| Tier | Essential — pool 80 pts |
| Weight inside tier | 2 |
| Impact | High |
| Maturity | Adopted — A ratified standard with real deployment. |
| Conditional | No |
| Publishing skill | semantic-headings |
| Standards | WCAG 2.2 |
What is measured
The scanner parses the headings in the homepage / HTML and rebuilds the outline. Pass when the page has exactly one <h1> and no heading is more than one level deeper than the one before it (an <h2> may be followed by <h3>, never by <h4>); partial when there is exactly one <h1> but the outline skips a level, or when the page repeats <h1> while the rest of the outline is well formed; fail when the page has no <h1> at all. This is the WCAG 2.2 heading structure (1.3.1 Info and Relationships, 2.4.6 Headings and Labels).
Reproduce it yourself
You do not have to take our word for any of this. Run the same measurement against your own domain:
DOMAIN="https://example.com"
curl -sL "$DOMAIN/" | perl -0777 -ne 'while (m{<(h[1-6])\b[^>]*>(.*?)</\1>}gsi) { my ($l,$t)=(lc($1),$2); $t=~s/<[^>]*>//g; $t=~s/\s+/ /g; print "$l ",substr($t,0,60),"\n" }'
The fix
This is the artifact to ship. It is the complete change, not a description of one.
<main>
<h1>Agent readiness for e-commerce teams</h1>
<p class="summary">A 5-dimension audit of how well your store serves autonomous AI agents.</p>
<section>
<h2>What we measure</h2>
<p>Discovery, content, bot access, protocol and commerce signals.</p>
<section>
<h3>Structured data</h3>
<p>Entity types an agent can quote without having to guess.</p>
</section>
</section>
<section>
<h2>How the score works</h2>
<p>61 weighted checks, graded from C to AAA.</p>
</section>
</main>
Standards referenced
-
WCAG 2.2
Related checks
| Check | Tier | Impact | Same skill |
|---|---|---|---|
markdown-negotiation — Markdown content negotiation | Recommended | Critical | — |
meta — Title and summary metadata | Essential | High | — |
jsonld — JSON-LD structured data | Essential | Critical | — |
faq-schema — FAQ / question-answer schema | Recommended | High | — |
breadcrumb — Breadcrumb / navigation schema | Emerging | Low | — |
summary — Prominent summary block | Recommended | Medium | — |
lang — Language declaration and multilingual access | Recommended | Medium | — |
no-js-fallback — Content that needs no JavaScript | Essential | High | — |