Как обрабатывать номера версий для программ чтения с экрана? - PullRequest
0 голосов
/ 09 апреля 2020

Я использую Windows Рассказчик и номер версии, как 2.3.96, читается как дата "2 марта 1996". Как мне обработать номера версий для программ чтения с экрана? Я вижу некоторые ответы, предложенные с использованием метки, и прописываю точки, например: aria-label="2 dot 3 dot 96". Есть ли лучший способ сделать это?

Ответы [ 2 ]

2 голосов
/ 10 апреля 2020

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

Проблема в том, что произношение чисел зависит от многих слоев:

  • Браузер и способ его отображения дерева доступности.
  • ОС, программа чтения с экрана и его настройки. Например, J aws предлагает множество опций, которые могут изменить способ интерпретации и произнесения чисел и дат.
  • Используемый голос. Одна и та же программа чтения с экрана в одной и той же ОС, с одним и тем же браузером, но с разными голосами, действительно может читать один и тот же текст очень по-разному.

Вы можете попробовать несколько вещей, например разделить их на другой <span>, добавление или удаление пробелов, запись «точки» через aria-label и т. Д. c.

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

Так что лучше всего придерживаться прагматического c и не делать ничего особенного. Держите свой номер версии написанным, как это обычно делается везде Пользователи программ чтения с экрана, как правило, привыкли к таким изыскам произношения и могут при необходимости настраивать параметры и настраивать словари.

1 голос
/ 10 апреля 2020

Short Answer

Используйте <p aria-label="Version 2 point 3 point 96">Version 2.3.96</p>, это будет правильно проанализировано в большинстве популярных программ чтения с экрана. Убедитесь, что <spans> не выделяет номер версии из текста, используйте aria-label в качестве избыточного / резервного копирования.

Длинный ответ

Обычно я бы посоветовал никогда вмешивается в то, как программа чтения с экрана произносит вещи, как предложил @ Quentin C.

Однако в этом случае я бы сказал, что вы do хотите попытаться это исправить проблема в том, что слушание даты чтения, где должен быть номер версии, может быть очень запутанным (это была дата, когда было написано программное обеспечение, это дата, когда была образована компания? Кто знает!).

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

Исправьте один, измените свой разметка.

Вы не добавили разметку, но приведенное ниже объяснение основано на моем тестировании.

Эта проблема на самом деле решится сама собой (по крайней мере, в J AWs, NVDA и VoiceOver из моего тестирования), просто добавив «Version» перед номером версии.

Мне кажется, у вас есть номер версии в формате, подобном следующему:

<p>Version <span>2.3.96</span></p> или <p>2.3.96</p> без слова «версия».

Удалив <span> в первом примере J AWS, NVDA и VoiceOver правильно прочитали следующее в моем тестировании:

<p>Version 2.3.96</p>

После добавления <span> вокруг номера версии контекст чисел теряется (текст внутри <span> элементов оценивается сам по себе), поэтому программа чтения с экрана попытается проанализировать его самостоятельно, без какого-либо контекста, и решите, что это дата.

Конечно, использование aria-label это исправит?

Также aria-label, вероятно, не будет работать с элементами stati c (<div>, <span> et c.), У которых нет role, указывающего на то, что они являются активным элементом, поэтому, скорее всего, он все равно не будет работать для вас.

По этой причине я бы не рекомендовал пытаться исправить эту проблему только с помощью aria-label, однако добавление его для программ чтения с экрана, учитывающих это, является шагом, который не повредит.

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

Принимая это во внимание, я бы рекомендовал вам использовать следующее:

<span aria-label="Version 2 point 4 point 99">Version 2.4.99</span>

С <span>, <p> или другим окружающим его блоком контента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...