Что такое скрин ридер
По официальной статистике Минздрава, более чем у 20 миллионов жителей России временные или постоянные нарушения зрения. Согласно данным главного офтальмолога РФ Владимира Нероева, количество учтённых тотально незрячих и слабовидящих в России составляет 218 тысяч человек, из них абсолютно незрячих — 103 тысячи. Но реальное число людей с нарушениями зрения значительно выше.
Тотально незрячих людей немного. Но игнорировать их потребности — значит не только не соответствовать современным стандартам, но и терять аудиторию. Например, Сбербанк при разработке новой версии интернет-банка Сбербанк Онлайн уделил отдельное внимание доступности для незрячих и сделал сайт удобным.
Инженеры ещё в конце 80-х начали искать решения, которые помогли бы людям с нарушениями зрения пользоваться компьютером. Сейчас незрячие люди при работе с компьютером и смартфоном используют программы экранного доступа. Первая подобная программа JAWS появилась в 1989 году. Её разработал американец Тед Хентер, потерявший зрение после дорожной аварии.
В основе технологии ротор — функция выбора элементов, с помощью которой пользователь перемещается по странице, и голосовой интерфейс, который описывает все её элементы: заголовки, ссылки, картинки и так далее.
Принцип работы у JAWS и её аналогов идентичный. Скринридер, отвечающий за сканирование данных на экране, выводит информацию блоками. Разработчик приложения и операционная система определяют, какая именно информация попадёт в эти блоки.
Предлагаем угадать на слух, какой сайт звучит в аудиофрагменте. Правильные ответы мы собрали в конце статьи.
При работе с сайтом скринридер работает, в первую очередь, с кодом, html-метками, размечающими блоки текста и заголовки, а также с самим текстом. Правильно расставленные метки дают незрячему пользователю информацию о структуре страницы и позволяют быстро по ней перемещаться.
Важно, чтобы визуальные элементы были подписаны так называемыми «альтами» — подписями для скринридера. Если картинка или пиктограмма на кнопке не подписаны, то пользователь слышит «right arrow.jpg», а на адаптированном сайте он услышит «перейти на следующую страницу».
JAWS изначально создавался для MS-DOS. Это была одна из немногих программ для чтения с экрана, работающих в текстовом режиме этой операционной системы.
Теперь аналогичные программы разработаны для каждой системы. У Apple — это VoiceOver, на Android — TalkBack, для Windows — NVDA и JAWS.
Технологий море. С их помощью можно обеспечить высокий уровень цифровой инклюзии людей с различными особенностями. Но мы их не применяем. На мой взгляд, потому что мы ещё не до конца повзрослели как общество.
Последний качественный прорыв, мне кажется, случился более 10 лет назад. Тогда Apple выпустил на рынок технологию VoiceOver в iPhone 3GS. Сопоставимых по масштабу функциональных прорывов я сейчас не наблюдаю. То, что есть, просто достраивается: где-то что-то улучшается, где-то что-то ухудшается — но заметного прогресса нет.
руководитель проекта Dialogue in the Dark, эксперт Всероссийского общества слепых и консультант Сбербанка по вопросам доступности продуктов
Ситуация с доступностью мобильных приложений, информационных сервисов, интернет-ресурсов в России изменяется не очень быстро. Движение есть, но оно поступательное. Стремление Сбербанка обеспечить полную доступность всех удалённых каналов является приятным исключением, высоко оцененным пользователями с нарушениями зрения.
Для создания доступного интерфейса прежде всего требуется корректная верстка. На более поздних этапах разработки необходимо проводить автоматизированное тестирование доступности и тестирование на целевых группах.
Когда мы начали обновлять дизайн интернет-банка, мы в первую очередь попросили макеты новой страницы у дизайнеров, и вместе с незрячим экспертом банка посмотрели, какие там будут области, как их лучше разметить заголовками.
В качестве примера: раньше, чтобы через интернет версию Сбербанк Онлайн перевести деньги, приходилось выполнять порядка 20 или даже 30 нажатий на стрелки клавиатуры для перемещения по странице. Сейчас достаточно пяти нажатий.
Незрячие пользователи довольно консервативны, многие из них принципиально не обновляют операционные системы и приложения на своих смартфонах — им придётся заново их исследовать и изучать. При разработке нового Сбербанк Онлайн программисты старались сделать его не просто доступным, а удобно доступным, чтобы пользователь мог работать с ним без посторонней помощи, так как речь идёт о банковской тайне.
Например, в мобильном приложении Сбербанка есть довольно редкая для российского рынка функция — звуковая индикация загрузки страницы. Во многих других приложениях, когда, например, рассчитывается комиссия на операцию, телефон не издаёт сигналов. И незрячий человек не понимает — приложение зависло или не прошло целевое действие. В подобных ситуациях приложение Сбербанка издает специальные щелчки, которые сигнализируют о том, что приложение работает.
При управлении с клавиатуры незрячему пользователю должно быть очевидно положение фокуса, а переход между элементами должен быть логичным – сверху вниз и слева направо, в порядке визуального расположения элементов.
Разработчики не всегда учитывают, что при навигации с помощью скринридера любое всплывающее (модальное) окно должно выделяться с помощью клавиатурного фокуса, иначе незрячий пользователь не поймёт, что оно появилось.
Пользователь должен иметь возможность выбрать и активировать любой интерактивный элемент на странице с помощью клавиш Tab, пробела и стрелок. Если есть элементы, раскрывающиеся при наведении на них курсора, то должна быть предусмотрена альтернатива для скринридера — в этом могут помочь библиотеки доступности wai-aria.
Специфика для незрячего пользователя в том, что он воспринимает всю информацию на слух. Зрячий пользователь, например, может нажать на кнопку, посмотреть на следующий экран и довольно быстро вернуться обратно.
У человека с нарушениями зрения на это уйдёт намного больше времени: нажатиями кнопок ему придётся перемещаться по экрану и прослушать все элементы.
Все элементы на странице должны быть свёрстаны отдельно. Если подписи к полям и формам свёрстаны как единый текстовый блок, незрячий человек не узнает, к какому полю какая подпись относится. Особое внимание следует уделять таблицам и элементам captcha. Защищённый «молчащей» captcha сценарий будет навсегда закрыт для незрячего пользователя.
В Сбербанк Онлайн практикуется сценарный подход, чтобы убедиться, что все этапы полностью доступны для незрячего пользователя и на его пути не возникнет неподписанной кнопки или неозвучиваемой информации.
Для незрячих пользователей особенно важна функция, позволяющая беспрепятственно перемещаться по странице и переходить к основному контенту. Она дает возможность пропустить рекламу и перепрыгнуть через длинную навигацию к нужной информации веб-страницы, уменьшая количество контента, который они прослушивают.
В коде HTML есть метки для заголовков разного уровня. Когда незрячий пользователь слышит страницу в первый раз, он нажатием на «горячую клавишу» перемещается по этим заголовкам. Ему необязательно пролистывать весь экран – он может сразу переместиться на заголовок нужного уровня или, например, в раздел курсов валют. Для корректной работы разработчик должен разметить все заголовки нужного уровня и все области.
Заголовки первого уровня на макете должны быть заголовками H1 в коде — и наоборот. Обычный текст не должен выделяться как заголовок.
При грамотной разработке пользователь сможет самостоятельно выбрать масштаб контента – при этом сайт останется читаемым. Использовать адаптивную верстку для этого – лучшее решение. Это и закроет потребности слабовидящих пользователей (у которых есть остаточное зрение), и обеспечит адаптируемость сайта под любое устройство.
Также должны быть соблюдены требования к контрастности. Минимальный её коэффициент — 4,5:1. Проверить свой сайт на контрастность можно с помощью плагинов и программ: Stark plugin, Colour Contrast Analyser, Colorable.
Первым элементом для пользователя скринридера должен быть первый элемент страницы — как правило, это кнопка «назад» или заголовок. Разработчики должны учитывать, что курсор можно ставить не в начало страницы, а на первый значимый по смысловой нагрузке элемент.
Если мы говорим о доступных цифровых сервисах, то я всегда привожу в пример Сбербанк. Во-первых, это приложение Сбербанк Онлайн для iOS и Android. Во-вторых, это Сбербанк Бизнес Онлайн, сейчас в веб-версии.
Я тотально незрячий человек и при взаимодействии с компьютером и гаджетами использую программу экранного доступа. Если приложение и сайт адаптированы, то для того, чтобы осуществлять платежи мне не приходится прибегать к помощи других людей.
Например, если мне нужно ввести смс с кодом подтверждения, то раньше мне требовалось переключаться между приложениями, запоминать код или просить сделать это других людей. Теперь смс зачитывает сринридер и предлагает подставить её в приложение автоматически, это очень удобно.
руководитель проекта Dialogue in the Dark, эксперт Всероссийского общества слепых и консультант Сбербанка по вопросам доступности продуктов
Подробнее о доступности интерфейса можно почитать в гайдлайнах, которые разработал Сбербанк и разместил в открытом доступе.
Сайт Пенсионного Фонда России предлагает не только удобные настройки контрастности для слабовидящих. Там разработали и встроили виджет, зачитывающий выделенный текст – это удобно для слабовидящих, но для незрячего всё равно потребуется скринридер на персональном компьютере.
Помимо веб-версии банк адаптировал и своё приложение Сбербанк Онлайн и Сбербанк Бизнес Онлайн для предпринимателей. А недавно и веб-версия Сбербанк для бизнеса стала доступной для слабовидящих.
Из личного опыта реализации accessibility:
1. Все скринридеры довольно сильно отличаются друг от друга — намного сильнее, чем обычные браузеры. Конечное звучание зависит и от скринридера, и от браузера, и от версии операционной системы.
2. Ни один скринридер не поддерживает WAI-ARIA на 100%. Многие приёмы и примеры с официального сайта могут работать в реальном скринридере не совсем корректно.
3. При включении скринридера браузеры переходят в особый режим работы. В этом режиме клавиатурное взаимодействие начинает определяться aria-разметкой, поэтому тестировать навигацию с клавиатуры нужно обязательно при включённом скринридере.
4. Внедрять поддержку доступности для сайта или сервиса лучше всего ещё на этапе дизайна. UX-составляющей в этом процессе очень много. Дизайнер должен учитывать поведение скринридера, взаимодействие компонентов сайта, цветовую палитру, размеры шрифтов.
5. Есть множество нюансов дизайна. Например, нельзя показывать изменение некоторого состояния элемента одним лишь цветом. Нужно или рисовать иконку, или добавлять текстовое описание.
6. Доступная цветовая палитра — это боль. Официальная формула расчёта контрастности не совсем удачна и может выдавать странные результаты для многоцветных изображений. Например, контрастность белого текста на цветной кнопке или плашке может оказаться недостаточной.
7. Если планируется аудит доступности сайта или сервиса сторонней компанией-аудитором, то следует знать, что это весьма непростой процесс: аудитор будет придираться даже к чтению графиков и карт.
8. Кстати говоря, встраиваемые гуглокарты, в отличие от сайта Google Maps, сами по себе не поддерживают чтение. Нужно дорабатывать их самостоятельно.
9. Аналогично, библиотеки для рисования графиков сами по себе не учитывают скринридеры. В каждом конкретном случае нужно придумывать своё решение этой проблемы.
10. Если аудитор проверил страницу, то это ещё не значит, что она теперь точно доступна на 100%. Попросите его проверить её ещё раз, и она вам найдёт новые ошибки. Это следует учитывать, когда аудит изначально заказан клиентом, а вы заказываете у аудитора предварительные проверки.
А можно раскрыть более подробно личный опыт реализации accessibility.
В настоящий момент разрабатываем магазин и честно говоря, я задаюсь этим вопросом. Но с какого конца начать, нет понимания. С командой сошлись на том, что минимум титры к видеоматериалам. Возможно синхронист, но нет понимания востребованности. Но, это пока в сторону людей с ограничением по слуху, а с ограничением по зрению.
Мысли . В России все плохо и с доступной средой и с материалами для уникальных людей. Если посмотреть на прогрессивные страны - редкий концерт даже реп исполнителей обходиться без сурда, а потенциал лояльной аудитории огромный.
Вообще я реализовывал accessibility для веб-приложения, а не типичного сайта, но общие приёмы схожи. Постараюсь вкратце изложить их. Если что-то непонятно — буду рад подсказать подробнее.
Самая главная цель — чтобы незрячий пользователь смог зайти к вам в магазин и сделать заказ: то есть смог понять, что это действительно магазин, что он в его регионе, пользователь смог бы пройти по каталогу, заполнить корзину и оформить заказ. В крайнем случае — нашёл бы телефон.
Чтобы понять, как звучит ваш сайт, можете поставить себе на компьютер программу NVDA, запустить её, надеть наушники или включить колонки, открыть браузер, а затем с закрытыми глазами попытаться открыть ваш сайт и что-нибудь там найти без помощи мышки одной лишь клавиатурой.
Для начала на сайте важна разметка: она должна быть семантическая и валидная. Например, в скринридерах есть возможность зачитать «оглавление» страницы, которое формируется из тегов H1-H6 и быстро перейти к нужному подразделу. Списки ul-li и ol-li тоже зачитываются особым образом: скринридер упоминает, что в таком-то списке столько пунктов, а вы находитесь на таком-то пункте.
К изображениям обязательно должны быть прописаны alt-атрибуты с описанием того, что на них изображено. Посмотрите, например, сайт Майкрософта. Сейчас на главной там висит баннер с рекламой Teams. Alt-атрибут картинки говорит: «Пять человек работают удаленно, используя Microsoft Teams.» Ниже на странице на баннере OneDrive картинка подписана как «Женщина использует ноутбук с Windows 10 и OneDrive».
Не уверен, что у незрячего пользователя возникнет желание включать видео. Я бы, наверное, сделал сопроводительный текст. Так или иначе он пригодится и для SEO. Для людей с ограничениями по слуху, конечно, в видео незаменимы будут субтитры. И разумеется, html-разметка видео тоже должна содержать атрибуты с текстовым описанием.
Помимо полностью незрячих есть ещё люди с нарушениями цветовосприятия (их, кстати, весьма много), ну и, разумеется, люди с плохим зрением. Для первых важно будет проверить, что контент нигде не сливается с фоном или плохо виден из-за цвета. Для вторых, что цвета достаточно контрастные, шрифты не микроскопические, анимации не мельтешат. Для таких целей есть специальные дизайнерские инструменты.
Подытоживая: для создания более-менее доступного сайта создайте простой, «чистый» дизайн; сверстайте его семантично; подпишите все картинки, видео, графики и карты; проверьте, как страница звучит в разных популярных скринридерах, в том числе и на телефонах. Если пользоваться сайтом неудобно, придётся доработать разметку aria-атрибутами.
Может показаться, что работа над доступностью приложения для незрячих пользователей заключается лишь в том, чтобы подписать все элементы интерфейса для скринридера. Мы тоже так раньше думали. Реальность оказалась куда сложнее.
Привет! Меня зовут Николай Морев, я разрабатываю iOS-версию приложения Яндекс Go. Не буду скрывать: долгое время незрячим и слабовидящим пользователям было крайне сложно, а порой и невозможно пользоваться нашим приложением.
Первые попытки, которые мы предприняли, должны были решить проблему малой кровью. Этот подход оказался наивным, но он принёс нам опыт, которым я хочу поделиться с другими разработчиками в этом посте. Под катом расскажу, почему работа над доступностью — это прежде всего работа над UX, а уже во вторую очередь — над API. Покажу примеры, когда эвристики системного скринридера приносили больше вреда, чем пользы. Объясню, почему для работы над доступностью нам потребовалась помощь ещё и бэкендеров.
Приложению Яндекс Go ещё далеко до идеала, нерешённых проблем хватает. Но, надеюсь, накопленный нами опыт поможет другим.
Для большинства пользователей такси — один из множества способов перемещаться по городу. Но городская инфраструктура не всегда приспособлена для людей с ограничениями по зрению: иногда такси для них становится единственной комфортной возможностью доехать до нужного адреса.
Кто-то может возразить, что незрячие, к примеру, всё равно не смогут найти место, где их ждёт такси, а значит, поддержка доступности лишена смысла. Чаще всего такие вопросы основаны на стереотипах. Жизнь всегда сложнее: нарушения по зрению — это целая градация различающихся по степени состояний (от лёгкой до полной слепоты). Чтобы самостоятельно выполнять повседневные действия, люди стараются найти удобные интерфейсы, которые решат их проблемы.
Всё, что требуется от нас, разработчиков приложений, — сделать свою часть работы и не создавать искусственные ограничения там, где их могло бы и не быть. Тем более, все инструменты для этого уже существуют.
Первые шаги
Жалобы на доступность интерфейса нашего приложения поступали всегда. Хотелось бы сказать, что мы так долго реагировали на них по какой-либо уважительной причине. Но нет.
Опытным путём мы выяснили: учёт требований доступности увеличивает трудозатраты примерно на 10%. Когда дизайнеры и разработчики набираются опыта, эта цифра, конечно, снижается.
Так мы осознали, что доступность — не то, что можно реализовать за выходные или хакатон, а потом забыть. Вы либо работаете над ней постоянно, либо тратите дополнительные ресурсы на то, что уже завтра будет сломано.
Быстро чиним основной сценарий
В 2021 году мы предприняли, пожалуй, первую значимую попытку наладить процесс и починить хотя бы самый базовый сценарий вызова такси. Для этого мы выделили разработчика, который отвечал только за доступность приложения на каждой из платформ. Кроме того, мы пригласили незрячих экспертов по доступности помочь нам осознать масштаб проблемы и наметить бэклог.
iOS предоставляет широкий набор технологий, полезных людям с самыми разными физическими ограничения. В первую очередь мы занялись адаптацией интерфейса для VoiceOver. Для тех, кто никогда не сталкивался с VoiceOver: это режим, похожий на то, как в Windows или в вебе можно перемещаться между элементами нажатием на Tab, только при этом текущий выбранный элемент ещё и прочитывается вслух системой.
Изначально наше приложение выглядело для скринридера как набор разрозненных мелких кусков информации: что с ними делать — непонятно. Например, зайдя на главный экран, пользователь мог перемещаться между объектами 20 мин, 35 мин, Ваш адрес, Кнопка. Если с адресом ещё хоть что-то понятно без подсказок, то с минутами — совсем загадка. Другие важные элементы интерфейса и вовсе были невидимы через VoiceOver.
Мы быстро внесли ключевые изменения:
- добавили подписи к элементам, которые до этого обозначались только картинкой,
- объединили связанные по смыслу элементы,
- обозначили признаком «Кнопка» те элементы, на которые можно нажать,
- исправили некорректные подписи, которые система пыталась сгенерировать из имён файлов картинок за неимением лучшего варианта.
Было — стало
Но это оказалось лишь верхушкой айсберга. Скоро мы поняли, что усилиями одного мобильного разработчика такие вещи системно не решаются.
Начинаем думать над UX-дизайном
Тесты показали, что неподписанные элементы — наименьшая из наших проблем. В приложении обнаружилось множество тупиков, из которых нельзя было выйти с помощью VoiceOver. К тому же мы использовали больше способов показа и скрытия экранов, чем поддерживает VoiceOver. Всё, что функция не смогла распознать, она не озвучивает. Например, свайп: если пользователь закрывал карточку выбора адресов или экрана боковых меню свайпом, VoiceOver молчал.
В таких ситуациях для незрячего пользователя единственным вариантом было перезапустить приложение и запомнить тупиковый сценарий, чтобы никогда его не повторять.
- На все экраны в обязательном порядке добавили кнопку закрытия. Теперь это первый элемент, который появляется при открытии экрана.
- Добавили стандартный звук открытия нового экрана для всех переходов между экранами.
- Добавили на все экраны стандартный для VoiceOver жест закрытия экрана «зигзаг двумя пальцами».
Проверяем нестандартные элементы
Пользовательский интерфейс Яндекс Go состоит из «карточек», которые иногда появляются из нижней части экрана поверх фонового интерфейса. Иногда их можно раскрыть на полный экран свайпом и поскроллить содержимое, показать сверху другую карточку. Проблема в том, что карточки — это не стандартный элемент UIKit, поэтому поддержку доступности для них требовалось продумать и написать с нуля.
Мы добавили простой способ разворачивать наполовину скрытые разделы на весь экран. Например, для раскрытия главного экрана с частыми адресами, точками входа в другие сервисы и промо-баннерами достаточно свайпа вверх. Для VoiceOver мы решили сделать так, чтобы карточка автоматически раскрывалась, когда фокус доходит до последнего видимого элемента и пользователь пытается перейти к следующему. Таким образом получается плавно перейти к дополнительным информационным элементам именно в тот момент, когда пользователь пытается их просмотреть.
Свайп к следующему элементу… разворачивает карточку
Вовлекаем в наш проект бэкендеров
Приложение Яндекс Go с самого начала своего существования было задумано как управляемое с бэкенда, хотя фактически это реализовано не на все 100%. Часть текстов пользовательского интерфейса зашита в приложение, другая — загружается с сервера: качественно обеспечить доступность силами одной команды iOS-разработки не получится. Это сильно осложняет весь процесс, так как у разных команд — разные релизные циклы и планирование: нужно согласовывать изменения в API, иногда — затаскивать новые поля в интерфейс админки, а потом реализовывать всё на клиенте. Поэтому в идеале доступность нужно продумывать на начальных этапах разработки любой фичи:
- Если бэкенд отдаёт картинку, нужно сразу предусмотреть поле для ее описания.
- Если бэкенд отдаёт какую-то сложную отформатированную строку с данными, нужно сразу подумать, хорошо ли она будет читаться. Если нет — дополнительно предусмотреть доступную версию той же строки.
Ломаем голову над обновлением данных на экране
Если фокус стоит на часто обновляемом элементе (например, До конца поездки осталось 5 минут), экранная читалка зачитывает его слишком часто. Эта проблема решается проще всего: к элементу добавляется признак updatesFrequently , и он озвучивается реже. Но это мелочь.
Куда критичнее другое. Если фокус стоит на каком-то элементе экрана, то пользователь может не заметить важные изменения, которые произошли в другом элементе. Чтобы избежать таких случаев, следует объявлять важные изменения с помощью специальной нотификации announcement .
А вот и самая большая проблема: слишком частое пересоздание вьюшек просто ломает (!) скринридер. Он может отказаться пролистывать экраны вперёд или назад и не показывать элементы, которые на самом деле отображаются. Отчасти это решается отправкой нотификации layoutChanged на каждое изменение, но изредка проблема всё равно проявляется. Правильным решением в таком случае было бы переписать код обновления экрана таким образом, чтобы он реже пересоздавал инстансы UIView .
Вспоминаем про клавиатуру
Продираемся через тарифы
Самым сложным в тестировании неадаптированного приложения оказался селектор тарифа на экране параметров заказа.
Особенно сложен он в Москве, где содержит несколько вертикалей, включая Драйв, Такси, Ультиму, Доставку. Более того, в вертикали Такси может быть столько доступных тарифов, что они не поместятся на экран по ширине. Каждая карточка тарифа состоит из нескольких информационных элементов: название, цена и иногда скидка. При попытке навигации по неадаптированному селектору фокус постоянно сбивался и происходили абсолютно неожиданные даже для зрячих переходы между экранами. А не пролистав все тарифы, пользователь не мог добраться до кнопки заказа такси.
Для элементов, где происходит выбор одного варианта из горизонтального списка, хорошо подходит элемент доступности adjustable . С его помощью реализованы такие стандартные контролы UIKit, как UISlider и UIStepper. Он позволяет легко переключаться между доступными вариантами вертикальными свайпами.
Мы выделили селектор вертикалей в отдельный adjustable и в дополнительный селектор тарифа внутри вертикали. Нам даже удалось сохранить в адаптированном варианте действия Нажатие на выбранный тариф, которое открывает экран для задания дополнительных требований к поездке. Теперь оно стало просто основным действием селектора тарифов.
Не даём скринридеру умничать
Скринридер не просто зачитывает содержимое accessibilityLabel , accessibilityValue , accessibilityHint и аналогичных полей, а тажке пытается проактивно понять контекст, исходя из текста, и одновременно правильно прочитать текст, основываясь на контексте. Например, подпись «3 мин» будет прочитана как «3 минуты». Это, безусловно, благое намерение, но есть ложка дегтя: на это поведение, как и на многое другое, нельзя влиять, отключить его или настроить. Во всяком случае, через доступные публичные API.
Пример вредной самостоятельности скринридера: текст «до N» в русской локали, где N — цифра вида 1812. Скринридер анализирует сочетание предлога «до» и цифры 1812 и воспринимает итоговую строку как дату, озвучивая «до 1812 года». Замечательно, если в этой строке речь идёт именно о дате. Но если в тексте подразумевается что-то другое, то повлиять на такую самодеятельность скринридера всё равно нельзя. Получается, скринридер немного косплеит Excel, упорно находя даты там, где их нет.
В качестве альтернативы, которая позволяет влиять на эвристику определения контента скринридером и минимально аффектит сам текст, нам подошло добавить разделители разрядов в строковое представление числа. При их наличии VoiceOver понимал, что речь идёт не о годах и корректно зачитывал строку. Сами разделители в тексте никак не озвучиваются, если соответствуют разделителям из локали пользователя: далеко не везде это запятая, как в русской.
Пример такой альтернативы (логика кода в продакшне более сложная, с дополнительными проверками):
Разрешаем конфликты
При переключении фокуса на элемент внутри UIScrollView или его наследника VoiceOver по умолчанию пытается проскроллить список так, чтобы фокусированный элемент был в середине экрана. Если у вас в приложении есть какая-то дополнительная логика, которая завязана на изменения contentOffset , то будет не лишним убедиться, что она не сломается в таком случае.
Наша логика была следующей: в зависимости от значений contentOffset менялся layout псевдозаголовка для таблицы и производилась еще парочка манипуляций с view. Как оказалось, при навигации через VoiceOver всё ломается. Так как повлиять на это системное поведение нельзя, мы применили тривиальный фикс: отслеживаем изменения contentOffset в scrollViewDidScroll(_:) или через KVO или другим удобным способом и при включенном VoiceOver применяем логику, исправляющую нежелательные значения contentOffset .
Не трогаем карту
Во всех основных экранах сценария заказа Такси на фоне присутствует карта, которая помогает ориентироваться на местности и показывает дополнительную информацию о расчётном времени прибытия такси и маршруте.
Вообще, карту сложнее адаптировать для экранной читалки, чем обычные экранные контролы, так как:
- Там слишком много информации, которую тяжело описывать и воспринимать на слух.
- С точки зрения API и платформы карта — вещь в себе, которая программируется отдельно от обычных контролов и не имеет встроенной поддержки доступности.
Если бы нам потребовалось что-то улучшить, мы могли бы использовать идеи из Apple Maps. Они позволяют перемещать фокус между различными элементами на карте. API доступности в iOS позволяет создавать элементы доступности, которые не привязаны к соответствующей UIView , а также задавать для них произвольное положение на экране, содержимое и поведение.
Продолжаем думать над ещё не решёнными проблемами
- Часть сценариев взаимодействия с Яндекс Go реализована на веб-технологиях: Еда, Лавка, некоторые экраны в меню. К сожалению, пока уровень их доступности остаётся низким. Скрестили пальцы и ждём исправления этого.
- Надпись «100 ₽» система читает как «100 знак рубля» вместо правильного «100 рублей» или просто «100», если включена английская локаль. Эти строки мы получаем от бэкенда, причём есть множество полей и ручек, где может прийти цена. Предусмотреть и реализовать для каждой из них отдельное поле с доступным прочтением — огромная работа. Постепенно должно стать лучше.
- Странное поведение фокуса в развернутой карточке создания заказа. Здесь, возможно, потребуется переписать внутреннюю структуру экрана: вместо UITableView использовать простую коллекцию вьюшек. UITableView реализует внутри себя некоторый встроенный набор функциональности доступности, который не всегда работает так, как нам нужно.
Коротко: базовый чек-лист доступности
Хорошо, если вы заранее досконально продумали и реализовали доступность в своем приложении. К сожалению, так бывает редко, поэтому, если вы хотите чтобы приложение было доступно для пользователей с ограниченными возможностями, стремление сделать всё идеально не должно тормозить решение самых очевидных и бросающихся в глаза проблем, которые не дают использовать приложение целиком. Важно, чтобы в интерфейсе, как минимум, не было блокирующих недостатков, таких как тупики или недоступные ключевые элементы и экраны.
Чтобы убедиться в отсутствии этих проблем, и разработчикам, и тестировщикам нужно уметь включать режимы доступности и пользоваться ими хотя бы на базовом уровне.
- Включите VoiceOver и пройдите все сценарии.
- Последовательность перехода по элементам выглядит логично? Соответствует расположению элементов на экране (сверху вниз, слева направо)?
- Не пролезли ли в описания элементов некорректные строки? Например, названия файлов картинок, странно озвучиваемые спецсимволы. Например, «·» (маркер списка).
- Все элементы, которые видны зрячему, должны прочитываться и иметь правильный тип (кнопка, заголовок, переключатель и так далее). Можно пропускать чисто декоративные элементы, которые не несут собственной смысловой нагрузки или дублируют то, что уже доступно в другом элементе.
- На всех экранах есть кнопка Закрыть и жест «зигзаз двумя пальцами» для выхода.
- Все экраны сигнализируют об открытии и закрытии стандартным звуком?
- Есть визуальные элементы, которые появляются динамически после какого-то внешнего события?
- Корректно ли пролистывается содержимое scroll view?
- Все экраны можно открыть, используя VoiceOver?
- Не выбираются ли элементы, лежащие под модальными экранами?
Полезные ссылки
На написание этого поста меня вдохновил Михаил Рубанов akaDuality из Dodo Engineering. Обязательно прочтите цикл его хабрастатей и книгу про доступность.
ABBYY Screenshot Reader — как удалить программу?
Штатное удаление (деинсталляция):
Также можете удалить при помощи специальных удаляторов — Revo Uninstaller или Uninstall Tool. Первый немного лучше, второй более проще и чуть быстрее работает. Рекомендую первый. Удалятор не только удалит программу, но и удалит следы/остатки в реестре и среди файлов.
Программы чтения с экрана — это компьютерное программное обеспечение, которое помогает слепым или слабовидящим в использовании компьютеров, либо читая текст , отображаемый на экране, либо представляя их на дисплее Брайля . По сути, он служит платформой для слабовидящих общаться со своими компьютерами. Программы чтения с экрана могут быть либо проинструктированы озвучивать текст на экране вслух, либо автоматически сообщать об изменениях, которые происходят на экране.
Каждая программа чтения с экрана имеет свой уникальный набор командных структур. Они могут выполнять такие задачи, как чтение слова, строки или даже полного текста, информировать пользователя о расположении курсора мыши на экране и сообщать ему, на какой объект фокусируется. Некоторые программы чтения с экрана также могут выполнять сложные задачи, такие как чтение определенных частей экрана (полезно при работе в Интернете) и даже чтение элементов в ячейках документа электронной таблицы.
Есть несколько вещей, которые необходимо учитывать, прежде чем инвестировать в определенное программное обеспечение для чтения с экрана. Во-первых, необходимо убедиться, что программа чтения с экрана совместима с операционной системой их компьютера. Кроме того, поскольку большинство пользователей с нарушениями зрения считают использование дисплеев Брайля очень полезным, программа чтения с экрана должна быть совместима с ними. Необходимо также проверить, совместимо ли программное обеспечение с приложениями, которые пользователь чаще всего использует. Наконец, целесообразно заранее проверить структуры команд и нажатия клавиш в программном обеспечении, чтобы быть уверенными, что они легко запоминаются и не конфликтуют с существующими нажатиями клавиш.
В настоящее время существует несколько различных программ для чтения с экрана для персональных компьютеров. Некоторые из них бесплатны, а другие могут обойтись вам в 1200 долларов.
ABBYY Screenshot Reader — плюсы и минусы
Итак, какие я могу выделить плюсы:
И какие минусы вижу:
Возможно есть еще плюсы или минусы, может что-то не учел.
Так что мое мнение — скорее всего прога ABBYY Screenshot Reader хорошая, но платная. И скорее всего будет реально очень полезна тем, кому реально нужно распознавать текст. Потому что во всех остальных случаях я думаю логичнее пользоваться бесплатными аналогами.
COBRA
COBRA — еще одно популярное платное программное обеспечение для чтения с экрана. Он позволяет пользователю изменять свои рабочие столы в соответствии со своими потребностями, определяя функции, которые вам часто нужны, для создания продуктивной рабочей среды. Индивидуальные функции также позволяют более эффективный рабочий процесс. В настоящее время COBRA доступна в двух разных версиях: COBRA 11 для пользователей Windows 8 и 10 и COBRA 10 для Windows 7 (32- и 64-разрядная версия ), Windows XP (32-разрядная версия ) и Vista (32-разрядная версия ).
Вот некоторые из особенностей КОБРЫ :
- Простое и интуитивно понятное управление
- Поддерживает MS Office 2016
- Чистый и естественный синтезатор речи
- Бесплатные обновления на срок до 4 лет
- Поддерживает речь, шрифт Брайля и / или увеличение для вывода
Для запуска COBRA ваш компьютер должен иметь минимальную частоту процессора 2 ГГц (рекомендуется двухъядерный процессор или более высокую скорость обработки), 4 ГБ ОЗУ, как минимум 2 ГБ на жестком диске и звуковую карту, совместимую с Windows, с последним драйвером.
Каждая версия COBRA представлена в трех разных аватарах: COBRA Zoom, COBRA Braille и COBRA Pro. COBRA Zoom стоит 649 долларов, COBRA Braille — 749 долларов, а COBRA Pro — 849 долларов.
Вот 6 лучших программ для чтения с экрана для ПК
Dolphin Screen Reader
Dolphin Screen Reader , разработанный Dolphin Computer Access Inc., является еще одной популярной платной программой для чтения с экрана. Ранее он продавался как программа чтения с экрана SuperNova. Доступ к речи и Брайлю позволяет слепому или слабовидящему пользователю полностью контролировать свой компьютер.
Вот некоторые из примечательных особенностей Dolphin Screen Reader :
- Обладает естественным звучанием текста в речь , который может читать документы, статьи, электронные письма и т. Д.
- Его Dolphin Cursor и Item Finder позволяют легко узнать, что на экране.
- Произносите символы и слова по мере их ввода, что повышает точность.
- Они могут сканировать и читать (через OCR) различные бумажные документы и PDF-файлы.
- Поддерживает речь и Брайля для вывода
Для запуска Dolphin Screen Reader требуется компьютер с тактовой частотой 1,5 ГГц или выше, минимум 2 ГБ ОЗУ, 5 ГБ дискового пространства и звуковая карта, совместимая с Windows, с речевым выводом. Он поддерживает планшеты, ноутбуки и настольные компьютеры под управлением Windows 7, 8, 8.1 или 10.
Dolphin Screen Reader можно приобрести либо по однопользовательской, либо по многопользовательской лицензии. Однопользовательская версия программного обеспечения, которая идеально подходит для личного использования, стоит $ 955. Многопользовательская лицензия стоит 955 долларов за первого пользователя и 685 долларов за каждого дополнительного пользователя. Многопользовательская лицензия идеально подходит для организаций, которые хотят предоставить доступ через одну или несколько сетей. Dolphin Screen Reader поставляется с соглашением об обслуживании программного обеспечения (SMA) для обновления. Обновления доставляются на ваш почтовый ящик.
ZoomText
ZoomText — это платное программное обеспечение для чтения с экрана для слепых или слабовидящих, разработанное Ai Squared. Он доступен в трех разных версиях:
- Увеличитель ZoomText: увеличивает и улучшает все на экране компьютера для идеальной четкости.
- ZoomText Magnifier / Reader: делает все, что делает ZoomText Magnifier, а также считывает текст с экрана.
- ZoomText Fusion: делает все, что делает Magnifier / Reader, а также работает как полноэкранное программное обеспечение для чтения.
Вот некоторые из важных особенностей ZoomText:
- Бесплатная техническая поддержка, даже для пробной версии
- Поддержка сенсорного экрана
- Кристально чистое увеличение, от 1.25x до 60x
- Читает все на экране компьютера вслух
- Позволяет настроить вид (изменить цвет, контраст и т. Д.)
Доступны три разные версии ZoomText: ZoomText Fusion, который стоит 1200 долларов, ZoomText Magnifier / Reader, который стоит 600 долларов, и ZoomText Magnifier, который стоит 400 долларов. Ai Squared также предлагает платное личное обучение, платные программы сертификации и бесплатные вебинары на ZoomText.
Вы достигли конца нашего списка. Перечисленные выше инструменты отлично подходят для слепых или слабовидящих, что позволяет им использовать компьютеры и общаться с миром.
Если вы использовали другие программы чтения с экрана, которые, по вашему мнению, мы должны добавить в этот список, сообщите нам об этом в комментариях ниже.
ABBYY Screenshot Reader — что это такое? (ScreenshotReader.exe)
Программа для создания скриншотов любой части экрана, отдельной программы либо вручную выделенной области. Также присутствует функция распознавания текста с созданного скриншота.
Важно! По поводу распознавания текста. Скорее всего принцип работы такой: вы делаете скриншот области экрана с текстом, после чего прога может понять что за текст и записать в файл или скопировать его например в буфер. Но есть другая версия, что все работает немного иначе: вы выделяете область экрана с текстом, и уже после этого прога считывает текст. То есть без создания скриншота.
Что такое скриншот? Это в прямом смысле почти как снимок — как будто сфоткать экран. Только прога может сфоткать весь экран, окно отдельного приложения, указанную область на экране. И потом результат можно сохранить в файл, то есть в виде обычной картинки.
Таких программ много, например Скриншотер от Маил Ру, Joxi, Lightshot.. все они хороши по своему. Лично мне, как бы не было странно — нравится Скриншотер от Маил ру.
Но у ABBYY Screenshot Reader есть мощная фишка, именно мощная — она умеет распознавать текст, и потом этот текст может сохранить в редактируемый формат. Например когда текст скопировать нельзя — это мега удобно, например при просмотре PDF-файлов, картинок.
Однако и есть маленький минус — как для подобных программ, размер у ABBYY Screenshot Reader не такой уж и маленький — почти 250 мегов. Кроме этого оказывается программа платная, но имеет пробный период в 15 дней. А вот аналоги — большинство бесплатные и весят намного меньше, вот такие дела. Но текст конечно распознавать не умеют.
Устанавливается прога в эту папку:
C:\Program Files (x86)\ABBYY Screenshot Reader 11\
И для установки нужно примерно 500 мб, что опять мягко говоря многовато для просто создания скриншотов. Но думаю это плата за то, что умеет распознавать текст.
У программы есть своя иконка в трее, по которой если правой кнопкой нажать, то будет такое меню:
Можно сразу открыть прогу либо навести мышку на меню Настройки, в котором находятся такие функции: поверх других окон, запускать при загрузке системы, включить звуки, загружать подсказки с сервера ABBYY (этот пункт почему-то неактивен).
Кстати программа работает под процессом ScreenshotReader.exe.
Но самое интересное даже не это. Если запустить ярлык с рабочего стола, то мы увидим маленькое окошко, при помощи которого можно понять функционал программы. Итак, вот варианты создания скриншота:
Меню Язык — я так понимаю связано с распознаванием текста, то есть выбираем язык текста, который предстоит распознать:
Меню Передать — куда передать после создания картинку и текст:
Должен сказать, что функции впечатляют. Конечно это круче чем просто скриншотер.
Но к сожалению дальше — минус, нужна регистрация и не простая, а немного сложная. В общем если нажать на эту кнопку, то есть чтобы сделать скриншот:
То появляется такое окно:
И даже если выбрать первый вариант, то есть самый быстрый, то потом нужно заполнить вот столько данных:
Вывод один — если вам важно распознавание текста, тогда стоит регистрироваться, настраивать, потому что оно того стоит. Если вам нужна просто утилита, которая создает скриншоты — то этой программой думаю не стоит пользоваться. Она платная, прилично весит, компьютер не думаю что грузит, но не ускоряет точно.
Простота использования
Главный экран программы позволяет выбрать область для скриншота и формат вывода. Screenshot Reader можно настроить на автоматический запуск при каждом запуске, и он всегда будет у вас под рукой.
Множество форматов сохранения
ABBYY Screenshot Reader позволяет сохранять скриншоты изображений в форматах JPEG, Bitmap или PNG. Текстовые снимки экрана можно сохранять как редактируемые тексты в форматах, - RTF, .TXT, .DOC или .XLS.
Преимущества
Распознавание текста с выделенной области
Иногда при просмотре изображений, презентаций или PDF-файлов возникает необходимость скопировать ту или иную фразу, но обычным копированием это сделать не получается. В результате приходится перепечатывать информацию вручную. Знакомая ситуация?
Используя ABBYY Screenshot Reader, вы сможете быстро создать снимок нужной области с текстом и преобразовать его в редактируемый формат. Далее вы можете вставить распознанный текст в документ, с которым работаете, или сохранить в новый документ Microsoft Word и Excel.
Программа распознает тексты на 188 языках и поддерживает 24 языка интерфейса.
Простой и удобный интерфейс
Программа очень проста в использовании. От вас потребуется только указать формат, в который вы хотите сохранить снимок экрана (в виде изображения или в формат документа), а затем выделить с помощью курсора мыши область экрана. После этого снимок экрана или текст для дальнейшего редактирования в вашем в распоряжении!
Для вашего удобства программу можно настроить таким образом, чтобы она всегда была под рукой и запускалась по одному нажатию мыши из tray-меню.
Приветствую всех! В этот раз мы попытаемся узнать что за программа ABBYY Screenshot Reader. Постараюсь узнать максимум полезной информации. В результате вы сможете понять — нужна ли она на ПК, либо ее можно удалить. Напишу все простыми словами, чтобы было понятно каждому!
Доступ к системе
Системный доступ , разработанный корпорацией Serotek, является одним из наиболее доступных программ чтения с экрана для персональных компьютеров. Он предоставляет слепым или слабовидящим пользователям полный доступ к среде Windows. Он поддерживает множество приложений, в том числе Adobe Reader , Outlook Express, Skype и Microsoft Office.
Вот некоторые из примечательных особенностей System Access:
- Облегчает просмотр интернета
- Естественно звучащие текстовые голоса с NeoSpeech
- Бесплатное обновление программного обеспечения
- Бесплатная техническая поддержка
Доступ к системе относительно дешевле по сравнению с другими платными программами для чтения с экрана. System Alone Standalone продается за 399 долларов, а за 499 долларов вы можете получить System Access Mobile. Система Access Mobile также доступна за $ 21,99 в месяц.
Технологии ABBYY OCR
Технологии ABBYY OCR с высочайшей точностью превращают бумажные документы и изображения в редактируемые электронные форматы.
NVDA (NonVisual Desktop Access)
NonVisual Desktop Access , обычно называемый NVDA, является очень популярным средством чтения с экрана. Его разработчики утверждают, что их цель — дать возможность слепым и людям с нарушениями зрения легко пользоваться компьютерами. Он может либо считывать текст на экране с помощью компьютеризированного голоса, либо преобразовывать и представлять его в виде шрифта Брайля через дисплей Брайля. Пользователи могут контролировать то, что читается, перемещая курсор по экрану.
Пользователи могут либо загрузить программное обеспечение на свой ПК, либо загрузить его на USB-накопитель и использовать с любым компьютером, который они хотят.
Вот некоторые из недопустимых особенностей NVDA :
NVDA поддерживает все 32-разрядные и 64-разрядные версии Windows начиная с Windows XP , вплоть до Windows 10. Это включает в себя серверные операционные системы. Для бесперебойной работы NVDA требовалось не менее 1,0 ГГц скорости процессора, 256 МБ оперативной памяти и 90 МБ дискового пространства. Это делает его довольно легким по сравнению с другими записями в этом списке.
В отличие от большинства программ чтения с экрана, которые смехотворно дороги, NVDA полностью бесплатна для загрузки и использования. Разработчики утверждают, что его скачали более 70000 раз на 43 разных языках. Они поощряют пользователей средствами делать пожертвования на проект. Это пожертвование помогает поддерживать разработчиков, которые работают над обновлением системы, а также гарантирует, что программное обеспечение остается бесплатным.
Создание снимков любой области экрана
Программа поможет легко и просто создавать снимки любой области экрана компьютера, и вы можете использовать эти изображения при подготовке презентаций, учебных материалов, отправке друзьям или в службу технической поддержки.
Используя функцию «Снимок экрана с отсрочкой», можно делать снимки с пятисекундной задержкой, например, для создания снимка определенного момента из анимационного ролика.
Возможности
JAWS (работа с речью)
Job Access with Speech , обычно называемый JAWS, является самым популярным программным обеспечением для чтения с экрана в мире. Согласно опросу пользователей программ чтения с экрана 2015 года, 30,2% всех пользователей использовали его в качестве основного средства чтения с экрана, а 43,7% сообщили, что использовали его часто. Разработанная Freedom Scientific и распространяемая The Chicago Lighthouse , JAWS может преобразовывать различные компоненты операционной системы Windows в речь, что позволяет слепому или слабовидящему пользователю использовать ОС.
Вот некоторые из задач, которые пользователь может выполнить с помощью JAWS :
- Серфинг в интернете
- Чтение текста вслух с экрана компьютера
- Чтение электронных книг и других статей
- Обработка текста
- связь
JAWS поддерживает все версии Windows начиная с Windows Vista . Для работы требуется минимальная частота процессора 1,5 ГГц и 4 ГБ оперативной памяти. Также обязательна звуковая карта, совместимая с Windows . Он поддерживает дисплеи Брайля, а также синтезаторы речи в качестве устройств вывода.
Существует две разные версии JAWS: домашняя версия, предназначенная для некоммерческого использования, и профессиональная версия, предназначенная для коммерческого использования. Рекомендованная цена для Домашнего издания составляет 900 долларов США, тогда как для Профессионального издания — 1100 долларов США. Продукт поставляется с 30-дневной гарантией возврата денег и ограниченной 90-дневной гарантией на производственные дефекты.
Читайте также: