Accessibility guide
Headings in order: one H1, then H2 and H3
Facts checked Oct 8, 2026
Headings are signposts screen reader users jump between. Give each page one H1, its title, then H2s for sections and H3s inside them, never skipping a level.
Check the official rules. Rules and dates change, so check them with the official sources before you rely on them: ADA.gov (the US Department of Justice), the W3C's WCAG pages and Section508.gov. PageKiwi helps you find problems and get closer to meeting the rules. It can't promise a website meets them, it isn't legal advice, and we can't take responsibility for decisions made from it.
Why the order matters
A heading isn't just bigger text. Behind the scenes it carries a level, H1 to H6, and that level is what a screen reader hears. Many screen reader users open a list of a page's headings and jump straight to the part they want, the way you'd glance down an agenda.
If the levels are chosen for their size, that list stops making sense. A sub-item looks like a new section, or a section looks like it's missing. And text that's only bold looks like a heading on screen but isn't in the list at all.
The rules, for a page like a meeting notice
- One H1: the page's title. In most WordPress themes the title you type at the top of the editor already becomes the H1. So the headings you add in the post start at H2.
- Go down one step at a time. An H3 belongs under an H2, never straight under the H1. Going back up is fine: after an H3 you can start a new H2.
- Pick the level for its place, not its size. Want it smaller or bigger? Change the font size in the heading's settings and keep the level.
- Make headings real headings. Don't bold a paragraph to make it look like one, and don't make a sentence a heading just to make it stand out.
- Say what the section is about. "Item 3: Main Street paving bid" beats "Item 3".
For example, a select board agenda page:
- H1: Select board meeting, Tuesday at 7 p.m.
- H2: Item 1: Approve the minutes
- H2: Item 2: Main Street paving bid
- H3: Public comment on the bid
- H2: Item 3: Dog licenses
What WCAG asks, exactly: that anything that looks like a heading is marked as one (1.3.1 Info and Relationships) and that headings describe their section (2.4.6 Headings and Labels). It doesn't say "exactly one H1" in so many words. One H1 and no skipped levels is what the W3C's own headings tutorial and WordPress's editor both recommend, and the simplest way to get it right.
Headings in the WordPress block editor
These steps match WordPress 7.1.
Add a heading
- On a new line, type ## and a space for an H2, or ### and a space for an H3.
- Or type /heading on a new line and press Enter.
Change a heading's level
- Click the heading.
- In the toolbar above it, click the first button, which shows the current level (such as H2), and choose the level you want, from Heading 1 to Heading 6. Or use the H1 to H6 buttons in the Settings panel on the right. No panel? Click Settings next to Save or Publish.
- Click Save (or Update).
Turn bold text into a real heading
Click the bold paragraph, click the first button in its toolbar (Transform), choose Heading, then set the level as above. Remove the bold afterward: headings are already bold in most themes.
In the classic editor
If your editor is one big text box, put the cursor in the line, open the dropdown that says Paragraph at the left of the toolbar, and choose Heading 2 or Heading 3.
Check a whole page: the Outline
- In the block editor, click the Document Overview button in the toolbar along the top of the screen (hover over the buttons to see their names).
- Choose the Outline tab. It lists every heading on the page, indented by level, like an agenda.
- Look for WordPress's own warnings next to a heading: (Incorrect heading level) for a skipped level, (Multiple H1 headings are not recommended), (Your theme may already use a H1 for the post title) and (Empty heading).
- Click a heading in the list to jump to it, fix its level, and Save.
The List View tab next to it shows every block in order, which helps you spot bold paragraphs pretending to be headings.
The Outline only sees the post you're editing. Your theme adds its own headings around it (the site name, a sidebar, the footer), which only a check of the live page sees.
Find heading problems across your site
- Accessibility Check reads one page of your live site, theme included, and tells you if it has no H1 at all, or where headings first skip a level (an H4 straight after an H2, say).
- PageKiwi for WordPress, our free plugin, checks your published posts and pages for a Heading 1 inside the content (a second main heading, since the title is already one) and for skipped levels, with a link to each page.
Neither can tell whether a heading's words describe its section, or spot bold text that should be a heading. That part is a read-through.
Send this to your web person
Not sure what to say? Copy this into an email, add your website's address, and send it.
Hi, PageKiwi's Accessibility Check says [the page's address] has [no main heading (H1) / headings that skip a level], and it looks like it comes from the theme rather than the page content. Could you check our page templates so that: - every page has exactly one H1, the page or post title - the site name or logo isn't an H1 on inner pages - headings in the header, sidebar and footer follow on in order (H2 and below) Thanks
Headings in order are part of making your website accessible. Website accessibility: where to start, with the tools that help and what the law asks.