Постарайтесь сделать ваше Android-приложение доступным для всех, включая людей с ограниченными возможностями.
Устройствами Android пользуются люди с нарушениями зрения, дальтонизмом, слухом, ловкостью, когнитивными нарушениями и многими другими нарушениями. Когда вы разрабатываете приложения с учетом специальных возможностей, вы улучшаете пользовательский опыт для людей с потребностями в специальных возможностях.
На этой странице представлены рекомендации по реализации ключевых элементов специальных возможностей, чтобы каждому было проще использовать ваше приложение. Более подробные инструкции о том, как сделать ваше приложение более доступным, см. в разделе Принципы улучшения доступности приложения .
Увеличить видимость текста
Для каждого набора текста в вашем приложении мы рекомендуем, чтобы цветовой контраст (или разница в воспринимаемой яркости между цветом текста и цветом фона за текстом) превышал определенный порог. Точный порог зависит от размера шрифта текста и от того, выделен ли текст жирным шрифтом:
- Если размер текста меньше 18 пунктов или если текст выделен жирным шрифтом и размером менее 14 пунктов, установите коэффициент цветового контраста как минимум 4,5:1.
- Для всего остального текста установите коэффициент цветового контраста не менее 3:1.
На следующем изображении показаны два примера цветового контраста текста и фона:
Чтобы проверить контрастность цвета текста и фона в вашем приложении, воспользуйтесь онлайн-программой проверки цветового контраста или приложением Accessibility Scanner .
Используйте большие и простые элементы управления
Пользовательский интерфейс вашего приложения проще использовать, если его элементы управления легче видеть и нажимать. Мы рекомендуем, чтобы каждый интерактивный элемент пользовательского интерфейса имел область фокусировки или целевой размер касания не менее 48dpx48dp. Больше — еще лучше.
Чтобы данный элемент пользовательского интерфейса имел достаточно большой целевой размер сенсорного экрана, должны выполняться оба следующих условия:
- Сумма значений
android:paddingLeft
,android:minWidth
иandroid:paddingRight
больше или равна 48dp. - Сумма значений
android:paddingTop
,android:minHeight
иandroid:paddingBottom
больше или равна 48dp.
Значения заполнения позволяют видимому размеру объекта быть меньше 48dpx48dp, сохраняя при этом рекомендуемый целевой размер касания.
В следующем фрагменте кода показан элемент с рекомендуемым целевым размером сенсорного экрана:
<ImageButton ... android:paddingLeft="4dp" android:minWidth="40dp" android:paddingRight="4dp" android:paddingTop="8dp" android:minHeight="32dp" android:paddingBottom="8dp" />
Опишите каждый элемент пользовательского интерфейса
Для каждого элемента пользовательского интерфейса в вашем приложении добавьте описание, описывающее назначение элемента. В большинстве случаев это описание включается в атрибут contentDescription
элемента, как показано в следующем фрагменте кода:
<!-- Use string resources for easier localization. --> <!-- The en-US value for the following string is "Inspect". --> <ImageView ... android:contentDescription="@string/inspect" />
Добавляя описания к элементам пользовательского интерфейса вашего приложения, учитывайте следующие рекомендации:
Не указывайте тип элемента пользовательского интерфейса в описании контента. Программы чтения с экрана автоматически объявляют тип и описание элемента. Например, если нажатие кнопки приводит к выполнению действия «Отправить» в вашем приложении, сделайте описание кнопки
"Submit"
, а не"Submit button"
.Каждое описание должно быть уникальным. Таким образом, когда пользователи программ чтения с экрана сталкиваются с повторяющимся описанием элемента, они правильно распознают, что фокус находится на элементе, который уже находился в фокусе ранее. В частности, каждый элемент в группе представлений, такой как
RecyclerView
должен иметь отдельное описание. Каждое описание должно отражать уникальное для данного элемента содержимое, например название города в списке мест.Если
minSdkVersion
вашего приложения имеет значение16
или выше, вы можете установить для атрибутаandroid:importantForAccessibility
значение"no"
для графических элементов, которые используются только для декоративного эффекта.
Дополнительные ресурсы
Чтобы узнать больше о том, как сделать ваше приложение более доступным, посетите следующие дополнительные ресурсы: