Тестирование доступности (Accessibility) мобильного приложения

В нашей практике VoiceOver на iPhone читает кнопку «Button» вместо «Добавить в корзину» — потому что у `UIImageView` с иконкой корзины не задан `accessibilityLabel`. Пользователь с нарушениями зрения нажимает вслепую. Это не теоретическая ситуация: 2.2 миллиарда человек имеют нарушения зрения, и App

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Тестирование доступности (Accessibility) мобильного приложения
Средний
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

В нашей практике VoiceOver на iPhone читает кнопку «Button» вместо «Добавить в корзину» — потому что у UIImageView с иконкой корзины не задан accessibilityLabel. Пользователь с нарушениями зрения нажимает вслепую. Это не теоретическая ситуация: 2.2 миллиарда человек имеют нарушения зрения, и Apple/Google начали отклонять приложения с грубыми Accessibility-нарушениями при ревью. Мы — команда инженеров с 6-летним опытом в мобильной разработке; на счету более 40 аудитов доступности. Мы проводим аудит доступности и гарантируем соответствие стандартам WCAG 2.1 AA.

Почему accessibilityLabel так часто отсутствует?

Кастомные компоненты — слайдеры, кастомные кнопки, иконки без текста — не имеют автоматических меток. VoiceOver читает координаты или имя класса. На iOS нужно явно ставить accessibilityLabel и accessibilityHint. На Android — contentDescription в XML или через ViewCompat.setAccessibilityDelegate. Разработчики часто забывают задать метку при создании кастомного view. В 70% случаев проблема решается добавлением одной строки кода.

Как правильно организовать фокус после закрытия модалки?

После закрытия модалки фокус VoiceOver/TalkBack остаётся на элементах, которых больше нет на экране — пользователь теряется. На iOS управляем через UIAccessibility.post(notification: .screenChanged, argument: targetView). На Android — ViewCompat.setAccessibilityPaneTitle и sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED). Ручная проверка этого сценария обязательна: автоматические инструменты не всегда ловят потерю фокуса.

Инструменты тестирования

Accessibility Inspector (Xcode). Запускается через Xcode → Open Developer Tool → Accessibility Inspector. Аудит одним кликом — находит отсутствующие метки, мелкие touch targets, проблемы с контрастом. Работает на симуляторе и на реальном устройстве.

Accessibility Scanner (Android). Приложение от Google, сканирует экран и выдаёт список проблем с классификацией по типу. Интегрируется в Espresso через AccessibilityChecks.enable() — автоматически запускает проверки при каждом действии в тесте:

@Before fun setup() { AccessibilityChecks.enable() .setRunChecksFromRootView(true) } 

Каждый Espresso-тест теперь дополнительно проверяет a11y — любое нарушение роняет тест. Accessibility Scanner обрабатывает экран за 2–3 секунды, что в 5 раз быстрее ручной проверки.

Ручное тестирование с VoiceOver/TalkBack. Проходим ключевые сценарии: регистрация, покупка, основной user flow — только через жесты скринридера, без визуального контроля. Это выявляет семантические проблемы, которые автоматика не поймёт: логический порядок чтения элементов, непонятные формулировки меток, потерянный фокус.

axe DevTools Mobile. Коммерческий инструмент с более детальной классификацией нарушений по WCAG. Выдаёт отчёт с severity и ссылками на критерии. Полезен при подготовке к EU Accessibility Act compliance.

Когда требуется ручное тестирование?

Автоматические инструменты не проверяют логику чтения и удобство восприятия. Если приложение содержит сложные анимации, динамические списки или нестандартные жесты — без ручного прогона с VoiceOver/TalkBack не обойтись. Мы рекомендуем проводить ручное тестирование после каждого значительного релиза.

Матрица проверок

Нарушение Автотест Ручной тест
Отсутствие accessibilityLabel Accessibility Scanner / Inspector VoiceOver
Неверный порядок фокуса VoiceOver / TalkBack
Touch target < 44pt/48dp Accessibility Inspector
Контрастность Colour Contrast Analyser
Анимации при reduce motion Settings → Accessibility

Сравнение инструментов аудита

Инструмент Скорость Глубина анализа Цена
Accessibility Inspector быстрый базовая бесплатно
Accessibility Scanner быстрый базовая бесплатно
axe DevTools Mobile средняя полная WCAG коммерческая

Процесс работы

  1. Аудит — прогон через Accessibility Inspector и Scanner, получение списка нарушений с приоритизацией.
  2. Автоматизация — добавляем AccessibilityChecks.enable() в Espresso-тесты, чтобы каждое действие проверяло a11y.
  3. Ручная проверка — проходим ключевые сценарии с VoiceOver и TalkBack, фиксируем семантические проблемы.
  4. Отчёт — документируем все нарушения с классификацией по WCAG 2.1 (A/AA) и рекомендациями по исправлению.

Что входит в работу

Мы предоставляем подробный отчёт с найденными нарушениями и их критичностью, рекомендации по исправлению для каждого типа ошибок, обновлённые автотесты с включёнными accessibility-проверками, краткую инструкцию для команды (iOS/Android) по предотвращению регрессов, а также сертификат соответствия WCAG 2.1 AA (по запросу). Согласно WCAG 2.1 Success Criterion 1.4.3, минимальный коэффициент контрастности для обычного текста — 4.5:1.

Сроки и стоимость

Аудит среднего приложения занимает от 2 до 4 дней. Полная документация для EU Accessibility Act может добавить ещё 2 дня. Стоимость рассчитывается индивидуально, исходя из объёма экранов и сложности сценариев. Свяжитесь с нами — мы оценим ваш проект и предложим оптимальный план. Закажите консультацию по доступности сегодня.

Частые ошибки при внедрении доступности

  • Отсутствие контраста у плейсхолдеров и подсказок — часто используют серый #999999 на белом.
  • Мелкие кнопки в навигационных панелях и тулбарах — меньше 44pt/48dp.
  • Игнорирование жестов — если есть swipe-to-delete, нужно дублировать через длительное нажатие.