Skip to content

Structure & headings

Bold Paragraph Text Is Used Instead of a Real Heading

Text styled to look like a heading is really a paragraph, so screen reader users can't find it or jump to it.

p-as-headingWCAG 2.0Introduced in WCAG 2.0.Level AA — the minimum. Missing it blocks people outright.

Status
SeriousSerious — Significant friction, or information that is lost.Experimentalaxe-core has this rule, but runs it only when a team turns experimental rules on.
Owner
DesignDevContentTest
Audit
Automated+ManualA scanner finds it; a person confirms the fix.

Experimental rule. Experimental in axe-core: it runs only when a team turns experimental rules on, so a clean default scan says nothing about it. WCAG 1.3.1 Info and Relationships still applies.

Save as PDF (opens in a new tab)

Why it matters

A heading does two jobs. It looks bigger or bolder, and the code marks it as a heading with <h1> to <h6>. Screen readers use that code to list headings and skip between sections.

When a paragraph is only made bold or large, it looks like a heading but isn't one. People who can't see the page lose the outline everyone else sees at a glance.

Who it affects

Who it affects, and how much
WhoWhat they experienceImpact
Screen reader usersThe heading list skips this section, and the text is read as an ordinary sentence.High impact
Low-vision users (magnification)Affected only if they also use a screen reader or a heading-based reading tool.Partial impact
Keyboard-only usersSome keyboard users rely on extensions that jump between headings, and these can't reach it.Partial impact
Cognitive and neurodivergent usersReader modes and simplified views may flatten the text, so the page structure is harder to follow.Partial impact

Business & product impact

Business & product impact, with how much each claim weighs
AreaWhyImpact
LegalIt fails WCAG 1.3.1 Info and Relationships at Level A, the minimum. Complaints under Australia's Disability Discrimination Act point to WCAG, and EN 301 549 uses the same test.High impact
ConversionLong pages like pricing or checkout help are hard to scan without headings. Some users give up.Moderate impact
SEOSearch engines may read real headings as a weak hint about the page. The benefit is small.Low impact
Cost to fixUsually a quick swap of tags. Fix the editor or template so authors can't fake headings.High impact

Fixing it in code

A section title on a page

Don't

<p><strong>Delivery options</strong></p>

A screen reader says: “Delivery options”

Do

<h2>Delivery options</h2>

A screen reader says: “Heading level 2, Delivery options”

A real heading tag shows up in the screen reader's heading list.

Keep the look, change the tag

Don't

<p class="section-title">Our team</p>

A screen reader says: “Our team”

Do

<h2 class="section-title">Our team</h2>

A screen reader says: “Heading level 2, Our team”

The style stays the same, but the code now says it's a heading.

Fixing it in design and content

Writing in the content editor

Don't

The author selects a line and clicks Bold and a bigger font size to make a section title.

Do

The author picks "Heading 2" from the editor's style menu for the section title.

The editor's heading styles create real heading tags.

Designer's handoff note

Mark every heading in your designs with its level, such as H2 or H3. Don't just style it.

Make heading styles easy to pick in the content editor, and remove bold or size buttons that tempt people to fake them.

Quick test

Duration

1 min

Checklist

Pass
Every title you can see is in the list, at a sensible level.
Fail
A title you can see on the page is missing from the list.

Check these at the same time

What a green scan still misses

This rule is experimental and only catches paragraphs that look much bolder or bigger than the text around them. It can't find every fake heading, or tell whether heading levels make sense — check the outline yourself.

Reference

Status
ExperimentalExperimental in axe-core: it runs only when a team turns experimental rules on, so a clean default scan says nothing about it. WCAG 1.3.1 Info and Relationships still applies.
Rule ID
p-as-heading
Raised by
  • axe-core: “Styled <p> elements must not be used as headings”
WCAG
Other standards
EN 301 549 9.1.3.1 · RGAA 9.1.3
Last reviewed
16 October 2026