I've been using the outliner to help improve the semantics and accessibility. Doing so has helped to improve the structure of my content, as it forces me to think about meaningful organization. I understand that modern screenreaders make it easy to tab through the headers (h1, h2, ...) on a page.
In order to improve the outline (to prevent untitled sections) I've started to use H5BP's .visuallyhidden
class to add extra headers to otherwise untitled sections for the purpose of assistive text. Does this improve semantics? Is this actually useful for screenreader users? Is it a hindrance in any way? For example:
<nav>
<h2 class="visuallyhidden">
Menu
</h2>
<ul>
<li><a>...</a></li>
<li><a>...</a></li>
</ul>
</nav>
It's an OK technique, in cases where the section content's natural heading is self-evident.
Does this improve semantics?
If the heading improves semantics, then you should consider not hiding it. Why would you want to restrict those semantics to only assistive technology (AT) users?
Is it a hindrance in any way?
It's content that you as developer, assuming you're not using AT, aren't going to see when testing. The risk is there that the text will end up after some maintenance cycles out-of-sync with the content that it heads. I would encourage you to have a very easy means to disable the 'visuallyhidden' styling, so that you can easily read the content with the headings in place.