Редактируемые элементы в приложении разрешают пользователям вводить текст. Для каждого подобного элемента должен иметься ярлык, в котором описывается назначение.
Чтобы добавить описания представлений (Views
), в пользовательском интерфейсе приложения Android предусмотрено несколько способов. Некоторые из них делают интерфейс более удобным для пользователей с ограниченными возможностями.
Реализация
Используйте атрибут android:hint
, чтобы отметить редактируемый элемент TextView
или EditText
. Это выводит ярлык с текстом описания в нужном элементе, если он пустой.
<EditText
android:id="@+id/email_subject"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/email_subject_hint" />
Если в пользовательском интерфейсе приложения уже есть ярлык для редактируемого элемента, свяжите это описание с нужным представлением (View
), используя атрибут android:labelFor
.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/email_subject_label"
android:labelFor="@id/email_subject" />
<EditText
android:id="@+id/email_subject"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
Совет. Рекомендуем добавлять поля EditText
и их описания с помощью макета TextInputLayout из вспомогательной библиотеки Design Support Library
. Он поддерживает все специальные возможности Android.
Если задать атрибут android:contentDescription
для любого поля EditText
или редактируемого элемента TextView
, программы чтения с экрана могут не обрабатывать текст, который пользователь вводит в поле.
Дизайн
Когда пользователи осуществляют переход к редактируемым элементам при помощи программы чтения с экрана, в правильно реализованном пользовательском интерфейсе имеются следующие элементы:
- Если поле пустое, программа чтения с экрана озвучивает его описание.
- Если пользователь ввел текст в редактируемом поле, дополнительно к описанию программа читает текст вслух.
Когда пользователь осуществляет переход при более низком уровне детализации, программа считывает введенный текст, а в его отсутствие озвучивает описание.
Тестирование
Убедитесь, что описания редактируемых элементов в приложении добавлены корректно. Вот как проверить это вручную:
- Включите TalkBack.
- В приложении выделите нужный пустой элемент на экране.
- Для озвучиваемого описания пустого редактируемого элемента в TalkBack должен иметься ярлык. При этом описательные и визуальные ярлыки в приложении должны совпадать.
- Введите текст в редактируемый элемент.
- Выделите редактируемый элемент.
- Проверьте, что озвучиваемое описание включает введенный вами текст, и прослушайте звуковое описание редактируемого элемента в TalkBack.
Элементы contentDescription
, которые уже содержат описание, можно выявить при помощи средств автоматического тестирования. Чтобы проверить приложение на устройстве вручную, воспользуйтесь Сканером доступности для Android. Для автоматического тестирования включите проверку доступности в Espresso и Robolectric.