On most websites, I use headings on a page (typically H2) for distinct sections – not only within the main content, but also for sections such as "Section navigation", "Page tools", "Footer". (Usually invisible via class="visuallyhidden".) This is a well-established accessibility technique – making it easy to navigate between landmarks on the page (In future I may use ARIA rel="landmark" for this).

An SEO agency has advised our client that these elements should be changed from H2 to DIV, "because they are not semantically relevant compared to the complete page content (and keywords we decide to use)"

I want to advise our client that the accessibility benefits outweigh SEO. Who is (more) right – me or the SEO agency?


An SEO agency has advised our client that these elements should be changed from H2 to DIV, "because they are not semantically relevant compared to the complete page content (and keywords we decide to use)"

From an accessibility POV, just because they're not visible to sighted users, does not mean they're not semantically relevant. Having a descriptive heading preceding a block of navigation will help users with assistive technologies to put the navigation into context and therefore make the structure of your page easier to figure out. Screen reader users can also have a list of page headings read out when the page loads to enable them to scan the page structure. If they can quickly locate your main navigation (for example) because it's preceded by a <h2 class="visuallyhidden">Main navigation</h2> then it will help them no end, as they can jump to it and start navigating straight away.

Usually, a knock-on effect of good accessibility practice will be better SEO (after all, Google is just a blind web user). However, there are occasions like this where to two collide somewhat.

If the SEO agency are concerned that having a load of headings which describe the page structure rather than contain content will negatively affect your SEO, perhaps there are ways to mitigate that by tightening up SEO techniques elsewhere on the site/page?

  • Yes, your answer matches my reasoning. A mitigating factor is that my HTML source order puts the main content before the navigation and footer, so the H2s for those blocks are the last H2s under the H1 (which is the main content heading). So I would expect that Google would attach far lower weight to the content of those headings than to the keyword-rich title, H1 and H2s in the content area. – francois Jan 17 '12 at 16:49

It would be easier if you had an example, but I would say you are wrong, based on the fact that the structure of your HTML document describes your content, not your table of contents as a guide. You can still have skip navigation and an accessible, well organized outline of your document using headings, without relying on the screen readers heading outline as a navigation function.

Is the important part of your site that their is something specific to navigation? Do people come to your website for the example of navigation? If not, content is king: think about if someone is using a search engine, what are they searching for?

<h1>SOMEAWESOMESITE Content</h1>
<h2>Brains are wet</h2>
<h1>SOMEAWESOMESITE Content</h1>
<h2>we're proud of our navigation tools</h2>
<h3>Brains are wet</h3>
  • You raise valid points, and I do also have a skip navigation menu to the main page landmarks, but I do not want screen reader users to lose the ability to navigate the page structure by heading -- which as far as I know is quite a common practice. The HTML structure is still giving precedence to content, with the navigation following after the entire content area. So, not like your 2nd example above. – francois Jan 17 '12 at 16:54

you, based on the html5 outline algorithim alone; div's serve a purpose, but only one that can't be used by another element.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.