2017-01-06 1 views
2

Мне любопытно, как правильно нажать экран, чтобы читать сначала <span>read me on load</span> (он находится в середине страницы html), когда страница загружена? ДажеДоступность: как заставить считывать текст диапазона на странице загрузки

role="rude" 

не помогает по какой-то причине.

спасибо.

ответ

7

Что вы используете, это не входит в состав ARIA live regions. Вы хотите либо role=alert, либо aria-live=assertive (хотя в начале проекта «напористый» изначально был «грубым»).

Теперь, говоря, живые области предназначены для использования на уже загруженной странице. Если вы делаете диалог, то ваш HTML может выглядеть следующим образом:

<div role="alert" aria-live="assertive"> 
Anything in here will be announced as soon as it changes. 
</div> 

Если вы хотите, чтобы диалог будет объявлен на странице загрузки, а затем рассмотреть скрывая его содержимое, а затем с помощью сценария, чтобы отобразить его содержимое только страница закончил загрузку.

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

Для этого, однако, вы не можете просто сосредоточиться на <span>, так как это не interactive content. Вы можете сделать его интерактивным, добавив атрибут tabindex. Если вы это сделаете, then you will need to add a role, описывающий, что делает элемент (вы можете использовать role=region, если вы застряли), чтобы программа чтения с экрана могла объявить, что она вместо этого заставляет пользователя думать, что она приземлилась на контроле или иначе рассчитывает, что сможет принять действие.

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

Однако, так как вы не предоставили контекст и никаких примеров, и учитывая все способы, это может быть сделано, которые гораздо хуже, чем ничего не делать, пожалуйста, спросите себя:

ли, что вы хотите сообщить ...

  1. ... предупреждение или диалог?
  2. ... элемент управления, который уже может принимать фокус на клавиатуре?
  3. ... будет предоставлен фокус для всех пользователей, а не только тех, у кого есть устройства для чтения с экрана?

Если вы в конечном итоге произнесите no дважды, тогда вы не должны этого делать.

Если вы можете указать пример URL-адреса, который показывает, что вы хотите сделать, я с удовольствием помогу вам заставить его работать. В противном случае я боюсь, что вы можете кодировать что-то, что в конечном итоге создает ловушку или барьер для пользователей программы чтения с экрана.

Смежные вопросы