Давным-давно программы чтения с экрана решили начать читать все, что есть в теге привязки ‹a> как функцию. Это позволяет сделать ссылку короткой, если контекст визуально очевиден, но неоднозначен для программ чтения с экрана.
Затем разработчики могут написать что-то похожее на эту строку, чтобы программа чтения с экрана все прочитала:
<a href="#">More<span style="display: none;"> information about XYZ</span></a>
Однако в HTML5 тег привязки стал «прозрачным» и позволяет иметь внутри более широкий диапазон элементов. http://dev.w3.org/html5/markup/a.html#a
Эта новая функция ссылки великолепна, поскольку мы действительно можем инкапсулировать весь интерактивный объект с правильной семантикой.
К сожалению, функция чтения всего, что скрыто в ссылке, теперь нас укусила:
<li><a href="#"> [ complicated markup ] </a></li>
В приведенной выше разметке любой скрытый контент будет считан программами чтения с экрана.
Та же проблема возникает, когда вы добавляете атрибут role="dialog"
в ‹div>
Каков трюк, чтобы программы чтения с экрана не смогли прочитать то, что в настоящее время действительно скрыто?
Я использую IE10 и экранный диктор Windows 8
display: none
. - person steveax   schedule 26.07.2013