Accessibility Weekly

Heading Order

Published:

amber-200

Amber Hinds

Equalize Digital

Amber Hinds is the CEO of Equalize Digital, Inc., a Certified B Corp specializing in WordPress accessibility, maker of the Accessibility Checker plugin, and lead organizer of the WordPress Accessibility Meetup and WP Accessibility Day conference.

Week 3

One of the easiest accessibility improvements you can make to a website with big impact is adding headings to break up content and using them in the correct numerical order.

When you’re building websites, always use headings in the correct order to create a meaningful outline on the page. Never choose headings for their style (font, size, or color).

If you have been selecting headings for design, you’re not alone. Skipped heading levels – headings that jump from one number to another randomly, without following a logical order, are one of the most common problems we see in our accessibility audits. Incorrect heading order is also a problem in just about every template kit or off-the-shelf starter theme out there, so if you’re building websites this way, it’s something that you will want to audit for and fix as part of your development process.

Why does heading order matter?

Screen readers and other assistive technologies use headings to provide an outline of the page. There are keyboard shortcuts in screen readers that allow users to hear a list of all the headings on the page and then quickly jump to that specific section. In NVDA, for example, you can press the 2 key and have all H2s on the page read out to you. If the web page doesn’t use any H2s and has skipped them but has H4s or H6s instead, a person might think there are no headings on the page or may not be able to get the information that they need fast enough.

Additionally, the heading numbers are read out as a user goes down the page, and hearing the heading order can help augment their understanding of the content. The Admin Bar home page is a great example of this. There is one heading one that describes the purpose of the web page, then there is an events section with three event callouts, followed by a podcast section with three podcast episodes, followed by a callout section for the Website Owner’s Manual.

A screenshot of The Admin Bar's website with a Headings Map (listed below in text)

This is the structure of that portion of the page:

  • H1 Voted The #1 WordPress Community (Two Years Running!)
    • H2 Events
      • H3 Kevin Powell Talks WordPress!
      • H3 Optimizing Live with Perfmatters
      • H3 New TAB Site Teardown
    • H2 The Podcast
      • H3 Pros & Cons of Switching to Blocks
      • H3 Scaling Your Agency
      • H3 Raise the Flag!
    • H2 Sell More Care Plans

What stands out to me here is that if you just heard the names of the events or the podcast episodes, you would have no idea if one was a podcast episode or an event. “New TAB Site Teardown” or “Scaling Your Agency” could just as easily be either an event or a podcast episode. For that matter, “Sell More Care Plans” could also be the name of an event or a podcast episode.

If you can’t see the section layout, the only way you know that these are different sections is if you hear the heading numbers read out to you. When hearing “Heading level two. The Podcast,” it provides important context to what follows. And likewise, when you hear “Heading level two. Sell more care plans” after hearing a list of H3s, you instantly know that you’re in a different section and no longer hearing podcast titles.

(Side note shout out to Kyle for putting that podcast H2 above the podcast episodes in the HTML so that it reads out in the correct order even though it’s visually on the right. 🙌)

Make Fewer Things Headings for the Win

If something doesn’t have any sub-content below it, then it’s not a heading. This would include blog post titles in a list of posts without an excerpt or large accent text.

Because us headings to jump to sections, it is really frustrating to jump to a heading expecting more below it and then get nothing – or just another heading.

Likewise, the small accent text that designers like to put above the large headings? It’s probably not a heading at all and should be wrapped in a <p> tag and styled with a class. Or, in other cases, that tiny text is actually more meaningful and should be the H2 which the large text below it should actually not be a heading at all.

How to Check Heading Level

My favorite front-end tool for viewing an outline of the headings on the page and making sure they’re all correctly nested is the HeadingsMap Chrome extension (there’s a Firefox extension too). And, of course, our Accessibility Checker plugin will flag out-of-order headings for you too.

Fixing incorrect heading levels is generally just as easy as finding them because most of these are added in the content editor or page builder. Build the habit of only using headings in proper order and your website visitors with thank you. Bonus: it helps Google understand your page content too.

Share this article!
amber-200

Amber Hinds

Equalize Digital

Amber Hinds is the CEO of Equalize Digital, Inc., a Certified B Corp specializing in WordPress accessibility, maker of the Accessibility Checker plugin, and lead organizer of the WordPress Accessibility Meetup and WP Accessibility Day conference.

Through her work at Equalize Digital, Amber is striving to create a world where all people have equal access to information and tools on the internet, regardless of ability. Since 2010, she has led teams building websites and web applications for nonprofits, K-12 and higher education institutions, government agencies, and businesses of all sizes. Through this journey, she learned about the importance of making websites accessible to everyone, and it has been her passion to bring awareness to accessibility and make website accessibility easier, ever since. 

Brought to you by:

Make your WordPress website accessible and ensure all people have equal access to your products or services, regardless of ability. Reach more customers, reduce liability, and increase conversions.

Come Join Us!

Join the #1 WordPress Community and dive into conversations covering every aspect of running an agency!

Kyle Van Deusen

Community Manager

More from Accessibility Weekly

Week 5

Adding Theme Support for Screen Reader Text and Ideas for Using It

Last week we talked about ensuring that links are meaningful and how adding hidden text that …

Week 4

Ambiguous Links

What would you think if you encountered a list of links like this? Out of these …

Week 2

Reading Level + AI Generated Summaries

One of the easiest ways to make your website more accessible is by testing your content …