Доступность Android в текстовом поле Изменить текст не читается должным образом / Ожидать после разговора снова - PullRequest
0 голосов
/ 07 сентября 2018

Я создаю приложение для слепых. там, когда слепые люди после того, как ввели почтовый индекс на этом профиле регистрации, введите текстовое поле, например 45987. Оно читается как сорок пять тысяч девятьсот восемьдесят семь.

Но я хочу прочитать «Четыре пять девять девять восемь». 4 5 9 8 7.

Примечание: когда я попробовал то же самое в TexView, его чтение так же правильно. Единственная проблема с EditText.

Мой пример кода: zipCode_EditText.setContentDescription ("4 5 9 8 7");

Я ссылался на эту ссылку:

Доступность для Android: как изменить текст, считываемый вслух для представления EditText

Как заставить TalkBack автоматически прочитать сообщение об ошибке TextView?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 08 сентября 2018

Лучше не заставлять Talk Back делать это. Моя рекомендация была бы на самом деле просто прекратить делать это вообще. Как слепому человеку, на самом деле легче разобрать одно число, чем отдельные. 45 500 легче запомнить, чем 4, 5, 5, 0, 0. Ментальное покрытие «сорок пять тысяч девятьсот восемьдесят семь» почтовым индексом становится второй натурой. И если существует достаточно длинный номер, требующий проверки по одному номеру за раз, в TalkBack есть режимы для поддержки этого. Вы можете переключить TalkBack в символьный режим и исследовать его вручную.

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

И так как другой пользователь поднял его, лучший способ кодировать текст для редактирования в Android -

TextView label = ....
EditText editBox = .....

label.setLabeFor(editBox);
0 голосов
/ 07 сентября 2018

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

Важной частью является то, что у вас есть метка, связанная с полем ввода.Я знаю, что вы пишете специально для Android (с которым я не знаком), но если я сравню то, что вы делаете с html, то в html вы бы хотели что-то вроде:

<label for="zip">zipcode:</label>
<input id="zip">

ТамЕсть способы (в HTML), чтобы заставить то, что говорит программа чтения с экрана, но это, как правило, портит жизнь для пользователей Брайля.Любой «скрытый» текст, который вы добавляете, чтобы заставить программу чтения с экрана физически отображаться на устройствах Брайля.

Для html атрибут autocomplete может использоваться в качестве «подсказки» для экраначитатели о типе информации, которая находится в поле.Программное обеспечение для чтения с экрана может использовать эту подсказку, чтобы изменить способ чтения содержимого поля (например, autocomplete="postal-code"), но поддержка этой подсказки пока широко не поддерживается.Опять же, я знаю, что это для html, а вы пишете специально для android, но, возможно, есть похожая концепция «подсказки» для android.

...