3

Я использую CSS-контент для создания значков из набора шрифтов. Проблема в том, что читатели экрана, особенно JAW, тоже читают контент!CSS-контент и устройства для чтения с экрана (JAWs)

Так следующее:

<span class="uxf-icon uxf-search"></span> 

и:

.uxf-search::before { 
    content: ";" 
} 

Так читатель экран фактически считаны "точка с запятой". Есть ли способ предотвратить это? Я понимаю, что говорят: ни один тег CSS на самом деле не работает!

+1

Связанный - http://stackoverflow.com/questions/15753418/approval-to-hide-icons-from-screen-readers –

+0

Действительно ** Paulie_D ** - особенно http://stackoverflow.com/a/15795793/3022387, где ** unor ** рекомендует использовать PUA (частное использование) UTF-8 вместо «обычных символов». – flowtron

ответ

3

Считыватели экрана адаптировали теперь прочитанный CSS-контент. Комментарии по вашему вопросу дают хорошие отзывы (даже с 2013 года и с некоторыми обновлениями для JAWS с тех пор). Обратите внимание, что если вы используете сторонний шрифт значка, то вы не можете контролировать, живут ли эти значки в области частного использования Unicode.

Шрифт Awesome использует ту же технику, что и в вашем примере, и поймал какую-то флэку только за вопрос, который вы цитируете. В результате, Font Awesome came up with an accessibility page, который может пригодиться вам.

Если значок действительно используется только для украшения, а не для передачи информации, то этот фрагмент кода со страницы доступности FA может работать для вас:

иконки, используемые для чистого украшения или визуальный стиль

Если вы используете значок, чтобы добавить дополнительное украшение или брендинг, его не нужно анонсировать пользователям, так как они ориентируются на ваш сайт или приложение. Кроме того, если вы используете значок для визуального повторного подчеркивания или добавления стиля в контент, уже присутствующий в вашем HTML, его не нужно повторять для пользователя, использующего вспомогательные технологии. Вы можете убедиться, что это не прочитано, добавив aria-hidden="true" к вашей разметке шрифта Awesome.

<i class="fa fa-fighter-jet" aria-hidden="true"></i> 

значок используется в качестве чистого украшения

<h1 class="logo"> 
    <i class="fa fa-pied-piper" aria-hidden="true"></i> 
    Pied Piper, A Middle-Out Compression Solution Making Data Storage Problems Smaller 
</h1> 

икону используется в качестве логотипа

<a href="https://github.com/FortAwesome/Font-Awesome"><i class="fa fa-github" aria-hidden="true"></i> View this project's code on Github</a> 

значок используется перед текстом ссылки

Как всегда, тест с реальными пользователями и убедиться в отсутствии значка не вредит смысл страницы (скрыть его от зрячих пользователей в тестировании и посмотреть, если его отсутствие сбивает с толку).

+0

Спасибо за то, что @aardrian, проблема, которую я нашел с использованием скрытой арии, заключается в том, что JAWs игнорирует это и до сих пор считывает содержимое CSS. – j00m

+0

У вас есть URL тестовой страницы, которую вы можете поделиться? – aardrian

+0

смотрите здесь: https://alastairc.ac/testing/icon-font-link.html Если вы тестируете эту страницу в JAWs, зачитывается даже скрытая ария иконка. – j00m