Как защитить доступность iOS-приложения от регрессий
Как защитить доступность iOS-приложения от регрессий Разметить элементы для VoiceOver недостаточно: после редизайна доступный сценарий может сломаться. В 2ГИС первая версия адаптации со временем именно так и потеряла работоспособность. Во второй итерации разработчик начал со snapshot-тестов. Они сохраняют текстовый слепок экрана: набор элементов и фразы, которые услышит незрячий пользователь. Если слепок меняется, тест падает до слияния кода. Автор выбрал этот путь вместо UI-тестов, которые выполняются десятки секунд, а причину расхождения здесь видно в тексте. В статье 2ГИС на Хабре есть рабочий проект и нюансы адаптации: действие Escape, динамический расчёт доступности и укрупнение элементов. Подход пригодится командам с частыми изменениями интерфейса, где ручная регрессия VoiceOver не успевает за разработкой.