Размер интерактивных элементов

Все интерактивные элементы на экране должны быть достаточно большими, чтобы с ними было удобно взаимодействовать, например нажимать на них. Убедитесь, что высота и ширина каждого элемента составляют не менее 48 dp, как указано в руководстве Material Design.

Реализация

View

Добавляя интерактивные элементы макета, следите, чтобы их размер был не меньше рекомендованного.

Если размер элементов изменяется динамически или пропорционально контенту, задайте минимальные значения ширины и высоты с помощью атрибутов android:minWidth и android:minHeight.

Чтобы представление (View) сохраняло исходный размер при расширении интерактивной области, используйте класс TouchDelegate. Он позволяет родительскому макету обрабатывать события касания от имени дочернего представления (View).

Примечание. Сканер доступности может распознать наличие класса TouchDelegate только на устройствах с ОС Android 10 и более поздних версий. В остальных случаях области прикосновения будут рассмотрены в исходном виде, даже если вы использовали этот API, чтобы увеличить их размер.

Compose

Добавляя интерактивные элементы, следите, чтобы их размер был не меньше рекомендованного.

Если размер элементов изменяется динамически или пропорционально контенту, задайте минимальные значения ширины и высоты с помощью атрибут Modifier.sizeIn.

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

Дизайн

Область интерактивных элементов, реагирующая на нажатие или ввод, выходит за видимые границы объектов. Например, внешне размер значка может составлять 24 x 24 dp, но с учетом отступов вокруг него размер интерактивного элемента будет равен 48 x 48 dp. В Jetpack Compose к компонентам Material Design, таким как Checkbox или Switch, автоматически добавляются поля, чтобы размер компонентов составил не менее 48 x 48 dp. В некоторых случаях (например, когда очень маленькие кнопки расположены близко) элементы невозможно расширить без пересечения интерактивных областей.

Используйте интерактивные элементы размером не менее 48 x 48 dp и оставляйте между ними минимум 8 dp свободного пространства. Это поможет сделать взаимодействие с интерфейсом более удобным и эффективным. Физический размер элемента 48 x 48 dp составит около 9 х 9 мм (независимо от размера экрана). Рекомендуемый размер для объектов на сенсорном экране: 7–10 мм.

Примеры приведены в руководстве Material Design.

Тестирование

Убедитесь, что в интерфейсе нет слишком маленьких интерактивных элементов. Вот как это проверить:

  1. Запустите приложение.
  2. Определите все интерактивные элементы интерфейса.
  3. Убедитесь, что размер каждого из них равен 48 x 48 dp (примерно 9 х 9 мм).

Слишком маленькие элементы интерфейса можно выявить в ходе автоматического тестирования. Чтобы проверить приложение на устройстве вручную, воспользуйтесь Сканером доступности. Для автоматического тестирования включите проверку доступности в Espresso и Robolectric.

Поиск
Очистить поле поиска
Закрыть поиск
Главное меню
7316651992562826616
true
Поиск по Справочному центру
true
true
true
true
true
717068
false
false