Нет такой вещи, как пользовательская разметка для программ чтения с экрана.Ну, что-то в этом роде, я расскажу вам об этом ниже.
По сути, когда вы пытаетесь сделать свой веб-сайт более доступным (кстати, очень хорошая вещь, вы должны минимизировать свое влияние напользователи программы чтения с экрана.Под «воздействием» я подразумеваю, что ваша цель должна состоять в том, чтобы ваш слепой пользователь видел то же самое, что и зрячий пользователь, но как разработчик веб-сайта вы предоставляете ему / ей возможность видеть, перемещаться, открывать, нажимать и т. Д.и т. д.
Однако есть способ настроить макет.Называется WAI-ARIA .С ним можно делать много сумасшедших (и умных) вещей, это здорово и мощно, но первое правило бойцовского клуба, я имею в виду, практики WAI-ARIA:
Если вы можетеиспользуйте собственный элемент или атрибут HTML с уже семантикой и поведением, которые вам требуются, вместо того, чтобы повторно назначать элемент и добавлять роль, состояние или свойство ARIA, чтобы сделать его доступным, затем сделайте это.- отсюда .
Т.е.: если вы можете не использовать ARIA, не используйте его.
Давайте возьмем ваш пример сссылка на Google: вы хотите, чтобы ваш слепой пользователь увидел текст "Google" и понял, что это ссылка, верно?Хорошо, я скажу вам, что вы должны сделать, чтобы достичь этого.И тебе нужно сделать ... барабанную дробь ... ничего!NVDA, или JAWS (который вы обязательно должны протестировать, это крупный игрок!), Или TalkBack на Android, или VoiceOver на устройствах Apple, скажут: «Link Google» или «Google link» (зависит от программы чтения с экрана ина определенные настройки пользователя).это все.
Конечно, вы могли бы сделать это (но не делайте этого ни в коем случае!):
<a href="https://google.com" aria-label="Link to Google"><span aria-hidden="true">Google</span></a>
Видите, как это безумно (и могущественно!)?Таким образом, вы говорите программе чтения с экрана, что вам нужно, чтобы ваш пользовательский текст был прочитан, и скрываете текст основной ссылки (на всякий случай; я только что протестировал с JAWS, все работает даже без атрибута aria-hidden
, так что это просто дляпример).
Однако, если ваша ссылка span
с каким-то причудливым стилем, ARIA - это все, что вы: просто скажите <span role="link">
, и ваши пользователи получат приятный опыт, вместо того, чтобы найти какое слово длящелкните.
И последний пример: в Bootstrap есть множество украшений, таких как
<i class="fas fa-arrow-up"></i>
Если они находятся по ссылке (и в основном это так), некоторые программы чтения с экрана, такие как JAWS, сообщат о двух ссылкаходин с текстом, а другой пустой, просто "ссылка".В таких случаях очень полезно скрыть это от программ чтения с экрана:
<i class="fas fa-arrow-up" aria-hidden="true"></i>