Я — Денис, Middle Android-разработчик в «Лайв Тайпинге». В этой статье я расскажу об инструменте тестирования accessibility в Android приложениях.
Введение
Исследования показывают, что максимальный процент выявленных проблем с accessibility составляет 40-50%. Поэтому ручное тестирование всегда необходимо. Но для этих 40-57% есть несколько инструментов, которые можно использовать. Один из них — Accessibility Scanner, и в этой статье я расскажу о том, как протестировать с его помощью ваше приложение. Давайте начнем с того, что это такое.
Accessibility Scanner
Accessibility Scanner — полезный инструмент для полуавтоматического тестирования доступности приложения. Он может выявить проблемы в следующих категориях:
размер цели касания;
кликабельные элементы;
контрастность текста и изображения.
Он также предлагает исправления для некоторых из обнаруженных проблем, и предоставляет дополнительную информацию о них. Тем не менее, он не находит все возможные проблемы доступности и, таким образом, не гарантирует хорошей доступности вашего приложения. Ручное тестирование все еще необходимо.
Замечательно то, что вы можете использовать Accessibility Scanner с любым приложением для Android — это может быть нативное приложение для Android или созданное с использованием кроссплатформенных технологий, таких как Flutter или React Native. Или это может быть даже PWA — Progressive Web App.
Установка
Чтобы воспользоваться Accessibility Scanner, его нужно сначала загрузить из Google Play.
После запуска сканера будет предложено его активировать в настройках специальных возможностей.
На телефонах Samsung нужно выбрать пункт «Установленные приложения» и выбрать «Сканер доступности».
После вам необходимо дать доступ к управлению работой экрана. И нажать на «тогл» для запуска сканера.
Тестирование
Accessibility Scanner предоставляет две возможности — сканировать один экран или записывать несколько экранов. Перейдите к приложению, затем нажмите кнопку Accessibility Scanner на экране. Откроется меню, в котором вы можете выбрать запись, снимок (один экран) или отключить сканер доступности.
Нажмите кнопку записи, чтобы записать поток или несколько экранов. Затем перемещайтесь по экранам. Если в вашем телефоне включена вибрация, вы должны ощущать легкую вибрацию каждый раз, когда приложение делает снимок экрана.
Завершить запись можно нажатием той же кнопки, которая теперь превратилась в кнопку «Стоп». Если она не видна на экране, то можно, например, открыть Быстрые настройки (сдвиньте их вниз от верхней части экрана).
Итак, вы сделали снимок или записали поток. Следующий шаг — посмотреть результаты и интерпретировать их.
Сканер доступности предоставляет обзор экранов:
Вы можете перемещаться по экранам и видеть выделение возможных проблем. Если вы предпочитаете видеть предложения в виде списка, вы можете найти его в правом верхнем углу, в значке списка. Найденные проблемы группируются либо по экранам, либо по категориям. При нажатии на элемент на экране отображается скриншот проблемного элемента:
Как правило, в описании проблем также содержатся идеи о том, как их устранить. Подробнее о различных проблемах, их возможных причинах и способах устранения вы можете узнать из материалов, упомянутых в следующем разделе. Например, приложение для покупки шаурмы.
Найденные проблемы и вариант их решения можно посмотреть кликнув на выделенный элемент или в списке категорий.
Android studio
Но даже без сканера можно узнать, на сколько ваш UI accessibility friendly. Достаточно открыть XML или Compose вёрстку и «провалиться» в меню предупреждений/ошибок. Тут IDE сама подскажет у какого элемента какая проблема. И даже выдаст ссылку на документацию.
Итог
Google создал материалы, позволяющие узнать больше о сканере доступности. Есть два хороших текстовых ресурса:
А если вы предпочитаете смотреть видео, у них также есть видео на YouTube.
Благодарю за внимание!
Денис Попков
Middle Android разработчик в «Лайв Тайпинге»
Если вы нашли неточности/ошибки в статье или просто хотите дополнить её своим мнением — то прошу в комментарии! Или можете написать мне в Telegram — t.me/MolodoyDenis.