Vitamin – сервис для выгодного управления вашей рекламой
  • Все популярные рекламные сети в одном окне
  • Агентское вознаграждение до 16% на личный счет или рекламу
  • Любые дополнительные услуги под ваши потребности
  • Бесплатное обучение маркетингу
  1. Главная >
  2. Блог >
  3. Знакомство со свойствами доступности Android

Знакомство со свойствами доступности Android

Андроид

Все согласятся с тем, что приложение должно быть простым в использовании, понятным и удобным, но достаточно ли этого? Мы часто забываем, что важная часть разработки приложения – обеспечить доступность и легкое управление для всех и даже тех, кто имеет проблемы со зрением и физические недостатки.

Android предлагает много возможностей, но ими часто пренебрегают во время разработки и реализации проектов. Доступность API была впервые представлена в Android 1.6 (API уровень 4), но многие разработчики не знакомы или не заинтересованы в этом.

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

Добавление текстового описания к элементам пользовательского интерфейса

Каждый опытный дизайнер знает, что хорошо разработанный интерфейс должен быть понятным без дополнительных указаний. Но это не всегда так. Пользователи с физическими недостатками нуждаются в аудио и/или визуальных подсказках, чтобы перемещаться в простейшем интерфейсе и вот где используются Content Descriptions.

Content Descriptions – простейшая функция реализации доступности и одна из наиболее полезных. Это похоже на комментарии в коде. Google советует использовать описания в основном для элементов ImageView, ImageButton и CheckBox, так как здесь они наиболее необходимы.

Описания добавляются двумя способами, с помощью макета XML или традиционных методов Java.

Используя XML вы добавляете описание к изображению, как это (обратите внимание на последнюю строку):

<ImageView
    android:id="@+id/new_image"
    ...
    android:contentdescription="@string/image_desc"
    />

@string выражен в файле strings.xml вроде этого:

@string выражен в файле strings.xml вроде этого:

Для поля EditText используйте следующую строку, чтобы объяснить пользователю, что они должны ввести:

android:hint = "Name Field"

Если элементы вашего интерфейса меняют состояние, как кнопка переключения или флажок, вы должны убедиться, что contentDescription меняется динамически в зависимости от состояния. В этом случае используйте метод setContentDescription ():

label.setContentDescription("Toggle is set to: " +  (ToggleButton).isChecked())

Как уже упоминалось, не добавляйте описание, если не нужно, потому что вы можете раздражать этим пользователей. Если вы чувствуете, что элемент понятен и не имеет реальной функции, например, как иконка приложения, используйте:

android:contentdescription="@null"

Навигация без использования сенсорного экрана

Она позволяет использовать ваше приложение без сенсорного экрана, но с использованием контроллеров. Они включают в себя D-pad, trackball, жесты и клавиши со стрелками. Важно, чтобы ваше приложение поддерживало эти различные механизмы для навигации.

Убедитесь, что каждый элемент ввода фокусируем и налажен, используя указательные кнопки. Не забудьте указать визуально элемент, на котором пользователь фокусируется, выделив его. Каждый элемент управления в Android имеет эту функцию по умолчанию, но если вы создали свои собственные элементы, сделайте их фокусируемыми с помощью метода setFocusable(true) или атрибута android:focusable:

<EditText
        ...
       android:focusable = "true"
  />

У Android есть алгоритмы для нахождения ближайшего фокусируемого элемента, так что пользователи могут управлять интерфейсом с помощью контроллера. Если вы хотите переопределить эту функцию, используйте XML атрибуты:

android:nextFocusDown,
android:nextFocusLeft,
android:nextFocusRight,
android:nextFocusUp

Они говорят сами за себя, но следующий пример кода демонстрирует их использование:

<EditText
       android:id = "@+id/upper_text_field"
        …
        ...
       android:nextFocusDown = "@+id/lower_text_field"
  />
 
<EditText
       android:id = "@+id/lower_text_field"
        …
        ...
       android:nextFocusUp = "@+id/upper_text_field
  />

Создание собственных услуг доступности

Рука

Услуги доступности общаются с пользователем от имени приложения и обеспечивают навигационную обратную связь, такую как тактильную обратную связь, преобразование текста в речь и визуальные сигналы. Android по умолчанию предоставляет такие услуги как TalkBack и Explore by touch. Они помогают пользователям, которые не в состоянии нормально взаимодействовать с устройством из-за физических недостатков или в особых ситуациях, таких как вождение автомобиля, тренировка и т.д.

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

Тестирование доступности

Тестирование очень важно, поэтому убедитесь, что тщательно протестировали приложения после осуществления каких-либо функций доступности. Это может быть достигнуто путем включения TalkBack и Explore by touch и управлением вашего приложения, используя только аудио обратную связь. Убедитесь, что каждый элемент управления обеспечивает необходимую обратную связь, и что аудио подсказки не повторяются больше, чем нужно. Кроме того, директивы Android Design предполагает, что каждый фокусируемый элемент должен быть, по крайней мере, 48dp в длину и ширину.

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

Вывод

Мы узнали, почему доступность должна быть важной частью вашей разработки и как реализовать различные функции в приложении Android. Каждый разработчик должен сфокусироваться на том, чтобы приложения были доступны каждому, независимо от того, как они взаимодействуют с устройством.

blog comments powered by Disqus
Vitamin – сервис для выгодного управления вашей рекламой
  • Все популярные рекламные сети в одном окне
  • Агентское вознаграждение до 16% на личный счет или рекламу
  • Любые дополнительные услуги под ваши потребности
  • Бесплатное обучение маркетингу
copyright © 2011–2024 Все права защищены
Запрещено любое копирование материалов ресурса без письменного согласия владельца — ООО "Феникс-Маркетинг". ИНН:7725812838, КПП:772501001, ОГРН: 513774619323915280, Москва, ул. Ленинская слобода, д. 19, стр. 1, этаж/пом 3/25

Генеральный партнёр: STRATE FZ-LLC License number 47005249 Address: B03-227 Business Center 02 RAKEZ Business Zone-FZ RAK (Ras Al Khaimah), United Arab Emirates Email: corporate@strate.ae