For a long time, screen readers decided to start reading everything in the attached <a> tag as a function. This allows a short link where the context is visually obvious but ambiguous for on-screen readers.
Then, developers can write something similar to this line to make the screen reader read everything:
<a href="#">More<span style="display: none;"> information about XYZ</span></a>
However, with HTML5, the anchor tag became "transparent" and allowed for a wider range of elements within it. http://dev.w3.org/html5/markup/a.html#a
This new link functionality is great because we can really encapsulate an entire clickable object with the right semantics.
Unfortunately, a function that reads everything that is hidden in the link now bites us:
<li><a href="#"> [ complicated markup ] </a></li>
In the above markup, the use of hidden content will be read to screen readers.
The same problem occurs when you add the role="dialog" attribute to the <div>
What is the trick that allows screen readers to read what is truly hidden these days?
I am using IE10 and Windows 8 narrator
source share