Программы чтения с экрана не читают метки флажков в мобильных браузерах - PullRequest
0 голосов
/ 11 января 2019

Были проблемы с программами для чтения экрана, как с Mobile Chrome + TalkBack, так и с Mobile Safari + Voiceover. Возможно, сначала это был мой код, но возникли те же проблемы при запуске следующего кода на странице без другого загруженного JS / CSS:

<body>
<input id="test" type="checkbox" name="test" value="foo">
<label for="test" id="test-label">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</label>
<button id="button" onclick="(function() { document.getElementById('test').focus(); })()">test</button>
</body>

Встречающиеся проблемы похожи в том, что они связаны с фокусом, но различаются по тому, как они проявляются.

In Mobile Chrome Если вы включите TalkBack и нажмете кнопку, фокус будет установлен на флажок, и метка будет прочитана в первый раз, но не удастся сделать это при последующих нажатиях кнопки. Похоже, это происходит потому, что фокус доступности не обновляется при последующих нажатиях и остается сфокусированным на кнопке, в то время как фактический фокус document.activeElement установлен на флажок.

В мобильном сафари Этот становится действительно странным. Как и в Chrome, при включенной функции Voiceover первый раз обычно работает, как и ожидалось, но при последующих нажатиях кнопок метка считывается только частично, прежде чем внезапно обрезается, а иногда (часто) фокус перемещается к адресной строке.

Буду признателен за понимание этого, учитывая, что это собственные флажки: похоже, что это ошибки в самих программах чтения с экрана / мобильных браузерах.

1 Ответ

0 голосов
/ 14 января 2019

Поведение с Android не удивительно. Челюсти и NVDA ведут себя примерно одинаково в настольных браузерах.

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

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

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

Однако для iOS Safari это явно ошибка. У меня нет однозначного ответа, но, видя, как VO обрезает ярлык, это вполне может быть связано с его преувеличенной длиной.

...