Перейти к содержанию

Доступность нативных мобильных приложений

Требования применяются к пользовательскому интерфейсу нативных приложений iOS и Android. Уровни обязательности определены в корневом README.md.

MOB-AXS-001. Семантика вспомогательных технологий

Уровень: MUST

Применяется к: интерактивному и значимому визуальному элементу

Элемент должен иметь платформенную accessibility role, доступное имя, состояние и значение, соответствующие видимому поведению. Декоративный элемент не должен создавать отдельный фокус. Порядок VoiceOver и TalkBack должен сохранять смысл и последовательность сценария.

Пользовательское действие не должно быть доступно только через визуальный признак или необъявленный жест.

Обоснование

Без платформенной семантики вспомогательная технология не может определить назначение элемента и результат действия.

Проверка

  • автоматическая проверка accessibility tree;
  • ручной проход VoiceOver и TalkBack;
  • тест порядка фокуса и изменения состояния.

Исключения

Стандартный платформенный компонент MAY использовать встроенную семантику без дублирующего label, если она однозначна в контексте.

MOB-AXS-002. Масштабирование текста и визуальная различимость

Уровень: MUST

Применяется к: пользовательскому тексту, состоянию и критичному контролу

Текст должен поддерживать системный размер шрифта вплоть до accessibility- категорий без потери обязательного содержимого или действия. Контраст обычного текста должен быть не ниже 4.5:1, крупного текста и значимого нетекстового контрола — не ниже 3:1.

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

Обоснование

Фиксированный layout и недостаточный контраст делают сценарий недоступным пользователям с ослабленным зрением.

Проверка

  • screenshot или UI tests на минимальном и максимальном системном размере;
  • автоматическое измерение контраста;
  • review состояний без цветового различия.

Исключения

Логотип и неизменяемое стороннее изображение MAY не соответствовать порогу, если необходимая информация доступна отдельно.

MOB-AXS-003. Размер цели и альтернативный ввод

Уровень: SHOULD

Применяется к: touch target и жесту

Touch target следует делать не меньше 44×44 pt на iOS и 48×48 dp на Android. Сложному или многопальцевому жесту следует предоставлять доступную альтернативу через обычный control.

Вибрация, звук и движение не следует использовать как единственное подтверждение результата.

Обоснование

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

Проверка

  • измерение accessibility frame;
  • тест каждого жеста альтернативным способом;
  • проверка результата с отключёнными vibration, audio и animation.

Исключения

Встроенный системный control MAY использовать платформенный размер, если увеличение target нарушает нативный контракт компонента.

MOB-AXS-004. Блокирующая проверка критичных сценариев

Уровень: MUST

Применяется к: критичному пользовательскому сценарию и изменению общей навигации либо design system

CI должен выполнять доступные автоматические accessibility checks. До release критичный сценарий должен пройти ручную проверку VoiceOver на iOS и TalkBack на Android для затронутой платформы. Результат должен фиксировать версию приложения, ОС, сценарий и обнаруженные нарушения.

Обоснование

Автоматическая проверка обнаруживает структуру и свойства, но не подтверждает связность реального сценария через screen reader.

Проверка

  • контролируемое удаление label в UI test;
  • воспроизводимый сценарий VoiceOver и TalkBack;
  • проверка блокировки release для критичного нарушения.

Исключения

Платформа, не затронутая изменением общего контракта, MAY переиспользовать результат проверки того же неизменившегося UI.