Использование IOS Accessibility Inspector для улучшения удобства использования приложений

Введение

Создание доступных приложений для iOS — это не просто лучшая практика — это фундаментальное требование для охвата максимально широкой аудитории. Более одного миллиарда человек во всем мире живут с той или иной формой инвалидности, и многие из них полагаются на вспомогательные технологии, такие как VoiceOver, Switch Control и Dynamic Type, для взаимодействия с мобильными приложениями. Инспектор доступности iOS, встроенный непосредственно в Xcode, дает разработчикам систематический способ аудита своих приложений на предмет проблем доступности на ранних этапах разработки. Путем моделирования того, как пользователи с визуальными, двигательными, слуховыми или когнитивными нарушениями испытывают приложение, инспектор помогает вам улавливать проблемы до того, как они достигнут производства. Это расширенное руководство проведет вас через все, что вам нужно знать об использовании Инспектора доступности iOS для улучшения удобства использования приложений, от настройки и навигации до восстановления и непрерывного тестирования.

Что такое Инспектор доступности iOS?

iOS Accessibility Inspector - это инструмент тестирования, который поставляется с Xcode, интегрированной средой разработки Apple. Он предоставляет графический интерфейс в реальном времени для изучения свойств доступности каждого элемента пользовательского интерфейса в вашем приложении. В отличие от автоматизированных инструментов подкладки, которые проверяют код на отсутствие меток, Accessibility Inspector позволяет взаимодействовать с вашим приложением в реальном времени на устройстве или симуляторе, проверяя, как вспомогательные технологии, такие как VoiceOver, воспринимают каждый элемент.

Инспектор отображает критические атрибуты, такие как ярлык доступности, черта, подсказка, значение и кадр. Он также указывает, фокусируется ли элемент VoiceOver, поддерживает ли он несколько элементов доступности и правильно ли настроен для навигации по управлению коммутацией. Кроме того, инструмент включает функцию Audit , которая сканирует ваш текущий экран на предмет распространенных нарушений доступности, таких как недостаточная контрастность, отсутствующие ярлыки или немаркированные изображения. Эта комбинация ручного контроля и автоматизированных проверок делает инспектор доступности неотъемлемой частью любого инструментария обеспечения качества разработчика iOS.

Apple постоянно обновляет инспектора для поддержки новых функций доступности iOS, включая динамический тип, уменьшенное движение и смелые текстовые предпочтения. Интегрируя инспектора в ваш обычный рабочий процесс, вы гарантируете, что ваше приложение остается совместимым с новейшими вспомогательными технологиями и придерживается развивающихся стандартов доступности, таких как Руководство по доступности веб-контента (WCAG) 2.1.

Как настроить и запустить инспектора доступности

Для начала работы с Инспектором доступности требуется машина macOS с установленным Xcode. Выполните следующие действия, чтобы запустить инструмент и подготовиться к тестированию:

  1. Откройте свой проект в Xcode и постройте его на подключенное устройство iOS или симулятор.Инспектор лучше всего работает на физическом устройстве, но симулятор обеспечивает близкое приближение.
  2. Перейдите на Xcode > Open Developer Tool > Accessibility Inspector. Альтернативно, вы можете использовать ярлык Cmd + F6, если он назначен.
  3. В окне Инспектора доступности выберите целевое устройство или симулятор из выпадающего меню в верхней панели инструментов. Инспектор подключится автоматически.
  4. После подключения вы увидите основной интерфейс инспектора: снимок в реальном времени (или просмотр в реальном времени) экрана вашего приложения слева и подробный инспектор недвижимости справа.

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

Моделирование настроек доступности

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

Основные характеристики инспектора доступности

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

1 Инспектор по элементам

Инспектор элементов отображает все свойства доступности для выбранного в настоящее время элемента пользовательского интерфейса.

Инспектор также выделяет неконфигурированные элементы с красными значками. Например, изображение без доступной метки покажет «Пропавшая этикетка». Нажатие на значок часто дает предложение для исправления проблемы.

2.Аудит

Функция Аудит выполняет статический анализ текущего экрана и перечисляет все обнаруженные нарушения доступности.

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

3. Настройка симулятора

Мы уже говорили об этом, но это заслуживает отдельного упоминания. Панель настроек позволяет переключаться:

Практический прогул: тестирование экрана образца

Предположим, у вас есть экран входа с текстовым полем имени пользователя, текстовым полем пароля, кнопкой «Подписаться» и ссылкой «Забыли пароль?».

  1. Запустите приложение в симуляторе и откройте экран входа.
  2. Откройте Инспектор доступности и выберите симулятор.
  3. Нажмите текстовое поле имени пользователя в режиме реального времени. Инспектор должен отобразить свою этикетку как «Имя пользователя». Если этикетка отсутствует или говорит что-то еще (например, «Поле текста»), вам нужно установить в конструкторе интерфейса или в коде.
  4. Для текстового поля черта должна быть Поля поиска или просто оставлена по умолчанию.Для кнопки «Включить» черта должна быть Кнопка .
  5. Выберите ссылку «Забыли пароль?». Убедитесь, что ее метка «Забыли пароль?» и ее черта Ссылка . Если это кнопка, стилизованная под ссылку, черта должна оставаться Кнопка , и этикетка должна сделать действие ясным (например, «Забыли пароль? Нажмите, чтобы сбросить»).
  6. Запустите Аудит, нажав кнопку Аудит (иконка галочки). Инспектор просканирует экран и сообщит о любых проблемах. Общие выводы включают отсутствующие ярлыки на иконках или недостаточную контрастность для текста заполнителя.
  7. Исправьте проблемы в коде, перестраивайте и перепроверяйте до тех пор, пока экран не пройдет с нулевыми ошибками.
  8. Наконец, включите VoiceOver в настройках инспектора и перемещайтесь по экрану с помощью клавиатуры (Tab to focus, Space toactiv). Убедитесь, что VoiceOver читает поля в логическом порядке и что подсказки, если таковые имеются, полезны.

Общие проблемы доступности и как их исправить

Благодаря последовательному использованию Инспектора доступности вы столкнетесь с повторяющимися моделями. Ниже приведены некоторые из наиболее распространенных проблем и их средства правовой защиты.

Пропавшие или вводящие в заблуждение этикетки

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

Неправильные черты

Если кнопка не имеет Button признака, VoiceOver может не объявить его как прикладной. Аналогично, строка таблицы должна иметь Button или Static Text признак в зависимости от того, выполняет ли нажатие на нее действие. Используйте инспектора для подтверждения того, что все интерактивные элементы несут правильную черту. Для ползунок используйте Настраиваемый и реализуйте и или . Функция аудита специально помечает цели ниже рекомендуемого размера.

Плохая цветовая контрастность

Ревизия инспектора может обнаружить недостаточную контрастность между текстом и фоном. Однако она опирается на расчет коэффициента контрастности, определенный в WCAG 2.1. Для текста меньше 18 баллов минимальное коэффициент контрастности 4,5:1; для большего текста приемлемо 3:1. Используйте контрастное предупреждение инспектора в качестве руководства, затем соответствующим образом отрегулируйте свои цвета. Избегайте полагаться исключительно на цвет для передачи информации; всегда включайте значки или текстовые метки.

VoiceOver навигационный заказ

Иерархия элементов инспектора показывает порядок, в котором VoiceOver перемещается через элементы. Убедитесь, что порядок следует визуальной компоновке (слева направо, сверху вниз). Если порядок неправильный, настройте массив или измените массив элемента , чтобы направлять VoiceOver. Вы также можете установить на вид контейнера для улучшения навигации.

Интеграция тестирования доступности в ваш рабочий процесс

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

Человеческие испытания

Хотя автоматизированные инструменты улавливают много проблем, они не могут воспроизвести нюансы опыта реального пользователя. Запланируйте периодические сессии, где члены команды с ограниченными возможностями или без них тестируют приложение с помощью VoiceOver, Switch Control и других вспомогательных технологий. Инспектор доступности помогает вам подготовиться к этим сессиям, сначала всплыв на очевидные проблемы.

Автоматическое тестирование с помощью XCTest и XCUITest

Функция проверки инспектора доступности может быть использована программно в ваших тестах пользовательского интерфейса. Apple предоставляет (в частных API), но вы также можете использовать XCUITest для запроса элементов доступности и утверждения их свойств.

let button = app.buttons["Sign In"]
XCTAssertTrue(button.exists)
XCTAssertEqual(button.label, "Sign In")

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

Интеграция CI/CD

Вы можете запустить Аудит Инспектора Доступности как часть инструмента командной строки, используя подкоманду в (доступно в Xcode 14+). Добавьте шаг в скрипте непрерывной интеграции, который не срабатывает, если ошибки аудита превышают порог.

xcodebuild -project MyApp.xcodeproj -scheme MyApp -destination 'name=iPhone 14' test-without-building accessibility:audit

Это сохраняет качество доступности закрытым до слияния запросов на вытягивание.

Beyond the Inspector: дополнительные инструменты

Инспектор доступности является вашим основным инструментом, но он лучше всего работает вместе с другими:

Документация о доступности Apple содержит обширные руководства и код выборки. Кроме того, руководящие принципы WCAG 2.1 предлагают всеобъемлющую основу для цифровой доступности, которая применяется и к мобильным приложениям.

Преимущества, которые делают доступность приоритетом

Инвестирование в доступность приносит прямую прибыль как для пользователей, так и для вашего бизнеса.

Заключение

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