Hi,
I have just run WAVE accessibility checker on our instance of discourse and discovered there is no H1 on the page. Is there a way to make the title an H1? Any assistance or support would be much appreciated - thanks
AI-generated summary
The discussion revolves around the absence of an H1 tag on Discourse pages. Papararchy01 ran a WAVE accessibility checker and discovered the issue, seeking assistance to make the title an H1. Stephen clarified that every topic has an H1, and if a text logo is used, root pages also use the site title as an H1.
Papararchy01 mentioned using the Custom Header Links component, but Stephen suggested it shouldn’t make a difference. Papararchy01 confirmed using a PNG logo and emphasized the concern is for accessibility reasons, not SEO. Stephen argued that not every page needs an H1, citing WCAG/WAI guidelines, and pointed out that even Google’s homepage doesn’t have an H1, making the WAVE alert unnecessary in this case.
Every topic has an H1, look at the source of this page.
If you use a text logo, then root pages will use the site title as an H1 too.
It wouldn’t take much for you to briefly disable it and check, but at a guess no it shouldn’t.
Are you checking your latest or categories page, and if so are you using an image as logo? If so refer to my first response, in those case there isn’t an h1 because there isn’t anything in the page which serves as a primary title. If people are searching for your community it won’t need an h1. If you’re looking for topics as an entry point they always have the h1 covered.
yes, png logo is in use. Not looking for SEO but accessibility reasons
Right, but those pages don’t have a heading, so there’s nothing to wrap in <h1>. You could conceivably throw something together, but I’m not sold on the need.
I can’t find anything in WCAG/WAI necessitating an H1 in every page, just that any primary heading be an H1. By your logic https://www.google.com isn’t compliant, because it doesn’t include an H1, that’s why Wave flags the lack of an H1 as an alert - because not every page needs it.

