This translation has not been editorially reviewed yet. The German version is authoritative. Deutsche Fassung
Accessibility
Why must headings and tables be cleanly marked up in the code?
Headings and tables must be cleanly marked up in the code, because screen readers and search engines can only recognise a page's structure that way. A sighted visitor sees at a glance what's a heading and what's a table header — a blind visitor and Google only learn that if it's named that way in the code too. Bold text is not a heading.
Structure in the code: the page's table of contents
Screen readers offer blind visitors a shortcut: jumping from heading to heading, the way you'd skim a table of contents. That only works if headings are marked up as such in the code — with levels from H1 to H6, like chapters and subchapters. If the markup jumps straight from H1 to H4, it's like a book where section 1.1.1.1 follows chapter 1 immediately: the visitor wonders what they missed. The same goes for tables: only if the header row is marked as a header row can the screen reader announce, for every number, which column it belongs to. Google uses this structure too, to understand your content.
How our measurement engine checks page structure
The automated check combines two tools. The axe-core testing tool examines lists, description lists, and the technical links between elements. In addition, our own check steps cover two points axe-core doesn't cover in its standard run: skipped heading levels — such as H1 followed directly by H4 — and data tables with not a single marked header cell. Both are demonstrable violations and flow into the report as such. Important for context: this criterion is broad enough that an unremarkable automated run never counts as "passed" with us — the report then marks it as "manual review", and at the Gold Standard level a human judges the structure.
Clean structure pays off directly with Google
The same markup that lets blind visitors jump around also helps your findability: Google weighs headings when categorising a page, and is more likely to show well-structured content as a featured answer in search results. A page with exactly one main heading, sensibly staged subheadings, and real lists reads to the search engine like a well-organised document. Conversely, a page whose "headings" are just bold-formatted text throws this signal away entirely — to the machine, that's ordinary running text with no weight.
Examples
Heading as bold text
<p><strong style="font-size:24px">Öffnungszeiten</strong></p>
<p>Montag bis Freitag 8–16 Uhr</p><h2>Öffnungszeiten</h2>
<p>Montag bis Freitag 8–16 Uhr</p>Only a real h element appears in the header list of the read-out program.
Data table without header cells
<table>
<tr><td>Tarif</td><td>Preis</td></tr>
<tr><td>Basis</td><td>9 €</td></tr>
</table><table>
<caption>Tarife</caption>
<thead><tr><th scope="col">Tarif</th><th scope="col">Preis</th></tr></thead>
<tbody><tr><td>Basis</td><td>9 €</td></tr></tbody>
</table>With th and scope, the read-out program says to each cell which column it belongs to.
- Ask your agency for an overview of the heading levels on your most important pages — the levels should have no gaps, like a table of contents.
- Check your tables: every data table needs a first row or column marked as a header.
- Replace bold-formatted text that serves as a heading with real headings in your content management system.
- Use the list feature in your content management system instead of typing dashes by hand.
- Give each page exactly one main heading that names the page's topic.




