If you look at https://www.webaccessibility.com/best_practices.php with the screen reader on, there is a "skip to content" link that is not shown on the page, but is focused by the screen reader. It's the first thing that gets focused, so that if the screen reader user doesn't want to have to skip over the same navigation controls at the top every time they load a page, they can just skip directly to the content.
This content is focusable for the screen reader, but not visible on the page. This is accomplished on that site with the following CSS:
#skiplink {
height: 0;
width: 0;
position: absolute;
left: -1000px;
}
Now, because the element is an anchor (a
), it gets focus by default. If you want to force your screen reader text to be the first focusable element on the page, I would recommend putting it at or near the top of your <body>
content, or giving it a tabindex="0"
attribute.