Доступность в мобильной разработке: что это, какие стандарты и как реализовать

Автор: IT Sectr Опубликовано: 2026-05-10 Время чтения: 8 мин

Accessibility (a11y) — это практика создания приложений, которые могут использовать люди с ограниченными возможностями. По данным Всемирной организации здравоохранения, более 1,3 миллиарда человек (16% населения) живут с той или иной формой инвалидности. ВОЗ (отчёт 2024) подчёркивает, что доступность цифровых продуктов становится критически важной. Разберём, как обеспечить доступность на iOS и Android, и какие стандарты существуют.

Главное

  • Accessibility — обеспечение доступа к приложению для людей с нарушениями зрения, слуха, моторики и когнитивными особенностями.
  • iOS: VoiceOver (скринридер), Accessibility Label, Accessibility Trait, Dynamic Type, Reduce Motion.
  • Android: TalkBack (скринридер), Content Description, Focus Order, Scale-independent Pixels (SP).
  • WCAG (Web Content Accessibility Guidelines) — международный стандарт с тремя уровнями: A, AA, AAA. Для мобильных приложений применяется WCAG 2.2.
  • Тестирование доступности: инструменты (Xcode Accessibility Inspector, Android Accessibility Scanner), ручное тестирование со скринридерами, проверка контрастности.

Что такое Accessibility?

Accessibility (сокращённо a11y — буква a + 11 букв + y) — это свойство продукта быть доступным для людей с инвалидностью. В контексте мобильных приложений это означает: поддержку скринридеров (VoiceOver, TalkBack), достаточный размер текста, высокую контрастность, правильный порядок фокуса при навигации с клавиатуры и отсутствие анимированных элементов, вызывающих головокружение.

Инклюзивность — не только этическая, но и юридическая обязанность. Во многих странах действуют законы о цифровой доступности: ADA (США), Section 508, European Accessibility Act (ЕС, с 2025 года — обязателен для приложений). По данным Business Disability Forum, компании, инвестирующие в доступность, увеличивают аудиторию на 15–20% и снижают юридические риски.

В IT Sectr мы проверяем доступность на каждом этапе разработки. Наш опыт показывает: исправление проблем доступности на этапе дизайна обходится в 10 раз дешевле, чем после релиза. Accessibility — это не фича, а базовое требование к современному приложению.

iOS: VoiceOver, Accessibility Label, Trait

Экосистема Apple предлагает мощные инструменты доступности. VoiceOver — встроенный скринридер (экранный диктор), который озвучивает всё, что происходит на экране. Пользователь управляет устройством жестами: свайп вправо — следующий элемент, свайп влево — предыдущий, двойное нажатие — активация.

Accessibility Label — это текст, который VoiceOver читает для элемента. По умолчанию iOS использует текст кнопки или label, но для иконок и графических элементов нужно задать label явно. Accessibility Trait — свойство, описывающее тип элемента: button (кнопка), header (заголовок), link (ссылка), image (изображение). Правильные traits помогают пользователю понять, как взаимодействовать с элементом.

VoiceOver и Accessibility Label

VoiceOver поддерживает более 40 языков и работает на всех устройствах Apple. Для разработчика главное — задать корректные accessibilityLabel и accessibilityTraits для каждого элемента интерфейса. Если элемент не должен быть доступен (декоративное изображение), установите isAccessibilityElement = false.

swift
// Swift — настройка accessibility для кнопки
let shareButton = UIButton()
shareButton.setImage(UIImage(named: "share-icon"), for: .normal)
shareButton.accessibilityLabel = "Поделиться этой статьёй"
shareButton.accessibilityHint = "Открывает диалог выбора способа отправки"
shareButton.accessibilityTraits = .button

// SwiftUI — ещё проще
struct ShareButtonView: View {
    var body: some View {
        Button(action: share) {
            Image(systemName: "square.and.arrow.up")
        }
        .accessibilityLabel("Поделиться")
        .accessibilityHint("Открывает меню отправки")
    }
}

Код показывает настройку accessibility для кнопки без текста (только иконка). AccessibilityLabel — это то, что услышит пользователь. AccessibilityHint — дополнительная подсказка о результате действия. Не используйте в label фразы вроде «кнопка для» — Trait уже сообщает, что это кнопка.

Android: TalkBack, Content Description

TalkBack — это скринридер от Google для Android, входящий в пакет Android Accessibility Suite. Как и VoiceOver, он озвучивает элементы интерфейса и управляется жестами. TalkBack поддерживает более 100 языков и работает на всех устройствах с Google Play Services.

Content Description — аналог accessibilityLabel на Android. Задаётся через атрибут android:contentDescription в XML или через метод setContentDescription() в коде. Для нефокусных элементов (декоративных ImageView) используйте importantForAccessibility="no".

TalkBack и Focus Order

Focus Order (порядок фокуса) — последовательность, в которой TalkBack переходит между элементами при свайпе. По умолчанию Android использует порядок расположения элементов в layout, но его можно изменить через атрибуты accessibilityTraversalBefore и accessibilityTraversalAfter. Это важно для сложных экранов с кастомными компонентами.

В IT Sectr мы проверяем Focus Order на каждом экране. Ошибка порядка фокуса — одна из самых частых проблем в accessibility. Например, если после заголовка пользователь переходит к комментариям, а не к тексту статьи — это баг acessibility.

WCAG и стандарты

WCAG (Web Content Accessibility Guidelines) — международный стандарт доступности, разработанный W3C. Текущая версия — WCAG 2.2 (2023). Стандарт делится на 4 принципа: Perceivable (воспринимаемость), Operable (управляемость), Understandable (понятность), Robust (надёжность) — аббревиатура POUR.

Уровни WCAG: A (минимальный), AA (средний, обязателен по закону в ЕС), AAA (максимальный). Для мобильных приложений достаточен уровень AA: контраст текста не менее 4.5:1, поддержка скринридеров, минимальный размер таргетов 44x44 пикселя, субтитры для видео.

Уровни WCAG

Уровень A — базовые требования: текстовые альтернативы для изображений, управление с клавиатуры, контраст не менее 3:1. Уровень AA — средний: контраст 4.5:1, поддержка масштабирования до 200%, правильные заголовки и label. Уровень AAA — высокий: контраст 7:1, язык жестов для видео, полное управление голосом. На практике большинство компаний целится на AA.

Параметр iOS Android
СкринридерVoiceOverTalkBack
Метка элементаaccessibilityLabelandroid:contentDescription
Тип элементаaccessibilityTraitsaccessibilityRole (Compose), важность фокуса
Порядок фокусаАвтоматический (можно изменить)accessibilityTraversalBefore/After
Масштабирование текстаDynamic Type (UIFontMetrics)sp (scale-independent pixels)
Уменьшение анимацииUIAccessibility.isReduceMotionEnabledSettings.Global.getFloat(... ANIMATOR_DURATION_SCALE)

Таблица 2. Сравнение iOS и Android API для доступности. Несмотря на разные названия, концепции идентичны: метка, тип, порядок фокуса и поддержка адаптации текста.

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

Тестирование доступности — это проверка приложения на соответствие стандартам WCAG и корректную работу со скринридерами. Минимальный набор тестов: включить VoiceOver/TalkBack и пройти по всем экранам приложения. На слух проверьте, что все элементы озвучиваются, порядок фокуса логичен, а неправильные элементы (декоративные) игнорируются.

Автоматизированные инструменты: Xcode Accessibility Inspector (аудит в Xcode для iOS), Android Accessibility Scanner (сканирует экран и находит проблемы), Axe DevTools, WAVE. Эти инструменты проверяют контрастность, размер таргетов, наличие меток и другие параметры.

В IT Sectr мы проводим accessibility-ревью перед каждым релизом. Процесс включает: автоматический аудит (Accessibility Inspector), ручное тестирование с VoiceOver и TalkBack, проверку контрастности и масштабирования текста. Мы фиксируем проблемы в Jira и назначаем их на спринт. Это позволяет поддерживать уровень AA WCAG на всех проектах.

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

Как включить VoiceOver на iPhone?

Настройки → Универсальный доступ → VoiceOver. Или трижды нажмите боковую кнопку (или кнопку Home) при включённом быстром доступе. Для быстрого включения используйте Siri: «Включи VoiceOver». На Android TalkBack включается в Настройки → Специальные возможности → TalkBack.

Какой уровень WCAG нужен для мобильного приложения?

Для соответствия законодательству ЕС (European Accessibility Act с 2025) и США (ADA) требуется уровень AA. Это означает: контраст 4.5:1, все элементы имеют метки, размер таргетов от 44x44 пикселей, поддержка скринридеров, субтитры для видео.

Нужно ли делать приложение доступным, если целевая аудитория — не люди с инвалидностью?

Да. Accessibility помогает всем: пожилым людям, пользователям в яркий солнечный день, родителям с ребёнком на руках (одной рукой). Кроме того, это юридическое требование во многих странах. Инклюзивность расширяет аудиторию и улучшает UX для всех.

Как проверить контрастность в дизайне?

Используйте инструменты: WebAIM Contrast Checker (онлайн), Stark для Figma/Sketch. Для WCAG AA минимальное соотношение — 4.5:1 для обычного текста и 3:1 для крупного текста (18px и больше). Для AAA — 7:1 и 4.5:1 соответственно.

Итоги

  • Accessibility (a11y) — доступность приложения для людей с инвалидностью. 1,3 млрд человек (16%) живут с формой инвалидности.
  • iOS: VoiceOver, accessibilityLabel, accessibilityTraits, Dynamic Type, Reduce Motion.
  • Android: TalkBack, android:contentDescription, Focus Order, scale-independent pixels.
  • WCAG 2.2 — международный стандарт (уровни A, AA, AAA). Для мобильных приложений рекомендуется AA.
  • Принципы WCAG: POUR — Perceivable, Operable, Understandable, Robust.
  • Инструменты тестирования: Xcode Accessibility Inspector, Android Accessibility Scanner, ручное тестирование со скринридерами.
  • Инвестиции в доступность расширяют аудиторию на 15–20% и снижают юридические риски (данные IT Sectr, 2024).

Мы разработаем мобильное приложение под ключ

IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект