Основные понятия и реализация Jetpack Compose
Постарайтесь сделать приложение для Android удобным для всех, в том числе для людей с ограниченными возможностями.
Устройствами Android пользуются люди с нарушениями зрения, слуха, моторики, когнитивными расстройствами и другими особенностями здоровья. Разрабатывая приложения с учетом специальных возможностей, вы делаете их удобнее для людей с ограниченными возможностями.
На этой странице приведены рекомендации по реализации ключевых элементов специальных возможностей, чтобы вашим приложением было удобно пользоваться всем. Подробные рекомендации по улучшению специальных возможностей приложения вы найдете в статье Принципы улучшения специальных возможностей приложения.
Используйте крупные и простые элементы управления
Пользоваться приложением будет удобнее, если элементы управления будут хорошо видны и на них будет легко нажимать. Рекомендуется, чтобы у каждого интерактивного элемента интерфейса была область фокусировки, или область прикосновения, размером не менее 48 x 48 dp. Чем больше, тем лучше.
Чтобы область прикосновения элемента интерфейса была достаточно большой, должны выполняться оба следующих условия:
- Сумма значений
android:paddingLeft,android:minWidthиandroid:paddingRightбольше или равна 48 dp. - Сумма значений
android:paddingTop,android:minHeightиandroid:paddingBottomбольше или равна 48 dp.
Значения отступов позволяют сделать видимый размер объекта меньше 48 x 48 dp, сохраняя при этом рекомендуемый размер области прикосновения.
В следующем фрагменте кода показан элемент с рекомендуемым размером области прикосновения:
<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"для графических элементов, которые используются только в декоративных целях.
Дополнительные ресурсы
Чтобы узнать больше о том, как сделать приложение более доступным, ознакомьтесь со следующими дополнительными ресурсами: