На самом деле правильный способ сделать это - использовать ARIA role=hidden
.
Как это:
<button type="button">
<span aria-hidden="true" class="icon">></span>
<span class="hide">Go!</span>
</button>
Делая это, вы скрываете символ>, чтобы программы чтения с экрана не читали «правую угловую скобку», а вместо этого читали «Go!». Зрячие пользователи увидят> только если вы скрываете контент в классе .hide визуально.
Как это:
.hide{
position: absolute;
left:-999em;
}
Роль ARIA presentation
предназначена для "нормализации" семантического значения, как, например, <table>
с role="presentation"
не будет считываться как содержимое таблицы и будет просто текстовым.
Если вы хотите, чтобы изображение не читалось, вы можете вставить пустой alt
текст, подобный следующему:
<img src="decorative-flower.jpg" alt=""/>
.. или, если это <svg>
, пропустите <title>
и <description>
<svg>
<!-- <title>Remove this line</title> -->
<!-- <description> Remove this too..</description> -->
</svg>
Я заметил, что в некоторых редких ситуациях некоторые программы чтения с экрана все еще читают пустые альтернативные изображения, поэтому вы также можете использовать aria-hidden="true"
и здесь.
CSS свойство talk на данный момент не поддерживается, и то же самое относится и к атрибуту ссылки media = "aural".