Краткий курс истории развития средств доступности Android OS

Дата публикации:13.07.2011
Дата обновления:14.05.2019
Поделиться в Twitter Поделиться в F******k Поделиться в VKontakte Поделиться в Telegram Поделиться в Mastodon

Введение

Android — это операционная система для мобильных устройств, основанная на модифицированном ядре Linux. Изначально разрабатывалась одноимённой компанией, которая впоследствии была куплена Google Inc., с чего и началось её активное продвижение. Сейчас её разработкой занимается отдельное подразделение Open Handset Alliance.

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

Прежде чем перейти к обзору версий Android, следует отметить то, что существует определённая традиция называть версии системы не только цифрами, но и словами. Все используемые слова относятся к названиям различных видов десерта и идут в алфавитном порядке. Поэтому надо быть готовым к тому, что в различных источниках Android, например, версии 1.5 также может именоваться и "Cupcake" (Кекс).

Первая информация о разработки accessibility-функционала Android OS для пользователей с нарушениями зрения появляется в конце 2008 - начале 2009 года (см. Специальные возможности ОС Android для мобильных устройств). Однако до конечных пользователей эти разработки доходят лишь осенью 2009 года.

1.6 Donut

15 сентября 2009 года выходит Android 1.6 под кодовым названием «Donut» (Пончик). В этой версии впервые реализуется функционал синтеза речи на базе Pico TTS. Кроме того, программы могут использовать и сторонние синтезаторы речи при условии установки компонента TTS Extended, однако голоса Loquendo остаются недоступными.

Начиная с этой версии система поддерживает установку двух некоммерческих программ экранного доступа Talkback и Spiel. Таким образом, условно Android-аппараты доступны, начиная с версии 1.6. Однако со временем поддержка 1.6 программами экранного доступа прекращается, поэтому на современном этапе развития для озвучивания данной устаревшей версии системы, если это по каким-то причинам требуется, следует брать не самые новые версии чтецов экрана.

2.0.x2.1 Eclair

26 октября 2009 года выходит Android 2.0/2.1 под кодовым названием "«clair» (Эклер). В этой версии исправлена проблема невозможности использования голосов Loquendo. Кроме того, начиная с 2.1, на систему можно установить ещё один screenreader - Mobile Accessibility.

2.2.x Froyo

20 мая 2010 года выходит Android 2.2 под кодовым названием «Froyo» (Замороженный йогурт). В отношении новинок accessibility данная версия отмечается полноценной встроенной службой синтеза речи и реализацией распознавания речи. Именно из-за поддержки speech-to-text Codefactory советуют устанавливать screenreader Mobile Accessibility на Android 2.2, так как это даст возможность использовать все функции программы.

Кроме того, в Froyo исправлена ошибка, которая на предыдущих версиях приводила к частым сбоям синтезатора речи, а также в настройках доступности (Accessibility Settings) появляется новый пункт, который позволяет для завершения разговора использовать аппаратную клавишу Power, что избавляет от необходимости каждый раз искать кнопку завершения разговора в меню аппарата или на сенсорном дисплее, который по-прежнему остаётся недоступным.

2.3.x Gingerbread

6 декабря 2010 года выходит Android 2.3 под кодовым названием «Gingerbread» (Имбирный пряник). Эта версия не отмечается заметными нововведениями в области специальных возможностей и обозначает начало довольно продолжительного отрезка времени, на протяжении которого разработка системы осуществляется без учёта потребностей accessibility. Однако именно из-за последующего затишья в развитии специальных возможностей Android, как раз эта версия на достаточно долгое время становится основной среди смартфонов, в том числе и среди пользователей с нарушениями зрения.

3.x Honeycomb

22 февраля 2011 года в свет выходит Android 3.x под кодовым названием «Honeycomb» (Медовые соты). Линейка 3 не является следующим этапом развития линейки 2, а представляет собой параллельную ветвь разработки, ориентированную, главным образом, на планшетные компьютеры. В Android Honeycomb также проигнорированы потребности в специальных возможностях, и устройства на базе этой платформы в принципе остаются недоступными для незрячих пользователей ввиду отсутствия у них необходимых аппаратных элементов управления.

4.0.x Ice Cream Sandwich

19 октября 2011 года выходит Android 4.0 под кодовым названием «Ice Cream Sandwich» (Мороженое-сэндвич). Данная версия призвана в будущем снова объединить направления разработки, ориентированные на смартфоны и планшетные компьютеры, и наконец опять обращается к аспекту специальных возможностей.

Android 4 становится знаковым этапом в развитии доступности системы, так как предлагает ряд глобальных нововведений: возможность включения голосового экранного доступа и обучающего режима accessibility при помощи специального жеста, реализацию explore-by-touch mode, то есть режима обзора касанием, обеспечивающего невизуальную доступность сенсорного экрана, а также исправления ряда существенных ошибок в обработке событий доступности, на базе которых строится весь функционал чтения экрана, в частности, обрезания читаемого текста на пятисотом символе.

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

4.1.x Jelly Bean

27 июня 2012 года в свет выходит Android 4.1 под кодовым названием «Jelly Bean» (Желейная конфета), в которой предприняты очередные шаги по обеспечению продвинутого функционала для незрячих и слабовидящих пользователей.

Так 4.1, в добавок к изучению касанием из 4.0, получила функционал линейной навигации (см. нашу статью), представляющий собой набор жестов доступности, позволяющих осуществлять невизуальную работу более удобно и производительно. Кроме того, в этой версии была реализована общесистемная поддержка брайлевских дисплеев, что на Android 2.1-4.0 было воплощено буквально месяцем ранее в программе экранного доступа Mobile Accessibility версии 1.09, но лишь как локальный функционал screenreader'а. Помимо этого, слабовидящим пользователям могут оказаться полезны некоторые нововведения Jelly Bean, связанные, например, с более гибким конфигурированием размера виджетов.

4.2.x Jelly Bean

29 октября 2012 года официальным пресс-релизом представлена система Android версии 4.2, являющаяся минорным обновлением и, как следствие, идущим под прежним кодовым названием «Jelly Bean».

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

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

4.3 Jelly Bean

24 июля 2013 года представлена Android версии 4.3 под слоганом «An even sweeter Jelly Bean» (Ещё более сладкая Желейная конфета - англ.). Как не трудно догадаться, данная версия является ещё одним минорным обновлением, идущим под всё тем же кодовым названием «Jelly Bean». На уровне системы разве что заметны исправления некоторых мелких ошибок, типа невозможности посимвольного чтения первого значка в названии экранных элементов, что в 4.3 было выправлено.

Дело в том, что к этому моменту концепция развития Android всё больше и больше приобретает модульный характер, когда релизы системы приносят не только и не столько готовые функции, сколько общую инфраструктуру в виде API, на основе которых в дальнейшем и появляется новый функционал для конечных пользователей с выходом обновлений уже отдельных приложений. Службы специальных возможностей, то есть различные программы экранного доступа и голосовые ассистенты, как раз являются такими обновляемыми модулями, поэтому именно с выходом Android 4.3 они не получают заметных обновлений. Из таких можно назвать разве что улучшение взаимодействия TalkBack и экранного увеличения. Однако происходит обновление API доступности, которые в потенциале должны предоставить ряд полезных возможностей. В частности речь идёт о том, что приложения смогут обрабатывать не только специальные жесты, но и клавиатурные команды, также появляются функции, позволяющие повысить доступность операций по редактированию текста, а также происходит несколько менее значительных обновлений API доступности.

Некоторое время спустя, ряд API, действительно, реализуются в TalkBack в виде нескольких достаточно полезных функций, таких как редактирование текста в полях ввода данных, а также возможности подписывания графических кнопок. Не смотря на то, что эти функции реализуются на уровне программы TalkBack, основываются они всё-таки на API системы, поэтому на более ранних версиях Android недоступны.

4.4.x KitKat

31 октября 2013 года выходит Android 4.4 под кодовым названием «KitKat», то есть в честь известной шоколадки, поэтому его название не подлежит переводу, являясь именем собственным. Традиционно сама система в отношении специальных возможностей приносит, главным образом, лишь внутренние архитектурные нововведения, обычному пользователю незаметные.

Можно только отметить появление функции субтитров, ориентированной, главным образом, на людей с нарушениями слуха. В отношение же невизуальной доступности 4.4 содержит ряд довольно интересных API, но пока так и не задействованных в службах доступности.

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

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

В 4.4 ещё можно отметить долгожданное исправление проблемы с чтением программами экранного доступа символов не из пространства ASCII в гипертекстовых документах. К концу 2013 года наконец-то встроенные почтовые клиенты и многие другие сторонние программы, использующие web-скрипты доступности, стали доступны для русскоговорящих пользователей.

5.0.x Lollipop

12 ноября 2014 года выходит Android 5.0 под кодовым названием "Lollipop" (Леденец). К сожалению, весь 2014 год для специальных возможностей Android проходит в состоянии полного затишья, и данный релиз во многом продолжает эту тенденцию, так как содержит не так уж и много по-настоящему новых функций, особенно если говорить о доступности для пользователей со значительными ограничениями. Некоторые из нововведений прямо повторяют дополнительный функционал специальных возможностей, который раньше был в редакциях Android TouchWiz от Samsung. Не исключено, что это прямое следствие соглашения о кросс-лицензировании технологий, заключённого между Google и Samsung в январе 2014 года.

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

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

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

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

Третьей экспериментальной настройкой стала Коррекция цвета, которая предназначена для включения отображения всего интерфейса в специализированных цветовых схемах со сдвинутой гаммой, ориентированной на самые распространённые нарушения цветового зрения. Правда, следует отметить, что в предварительной бета-версии Android L таких схем было 6, а в финальном релизе Lollipop стало ровно в два раза меньше:

  • Дейтераномалия (красный/зеленый)
  • Проданомалия (красный/зеленый)
  • Тританомалия (синий/желтый)

Для интересующихся отметим, что со времён Android L были утрачены три моноцветные схемы:

  • Дейтеранопия (зеленый)
  • Протанопия (красный)
  • Тританопия (синий)

Чем вызвано уменьшение количества доступных специализированных цветовых схем остаётся загадкой, по крайней мере, для автора данной статьи.

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

Тем не менее, в Android 5.0 традиционно произошли и определённые внутренние доработки специальных возможностей, которые несут некоторый потенциал, но не проявляются в виде готовых функций, а должны быть задействованы разработчиками приложений.

Главным образом, интерес представляет серьёзное обновление различных API для тестирования accessibility, которые покрывают как визуальную, так и невизуальную часть интерфейсов. Всё это даёт широкие возможности по включению автоматизированного контроля accessibility в системы continuous integration. Кроме того, появилась возможность управлять параметрами синтеза речи внутри приложения, то есть разработчик программы может задать различные профили TTS в зависимости от тех или иных параметров.

Ещё одним важным для незрячих пользователей нововведением Android 5.0 является то, что в этом релизе была существенно улучшена доступность элементов WebView, отображающих гипертекстовое содержимое. Более того, начиная с Android 5.0, компонент WebView обновляется через Play Market. Это значит, что когда Google обновляет движок своего браузера, новые функции также становятся доступны для всех разработчиков приложений, вне зависимости от того, выпустил ли производитель Android-устройства обновление операционной системы или нет. Очевидно, что это хорошая новость в контексте доступности приложений с web-интерфейсами, построенных на базе, например, фреймворков Apache Cordova или Adobe PhoneGap, тогда как раньше с ними были очень большие проблемы при взаимодействии с TalkBack. Теперь пользователи могут значительно быстрее получать последние нововведения, которые появляются в web-платформе, точно также, как и пользователи настольных браузеров, не нуждающиеся для этого в обновлении всей операционной системы.

5.1.x Lollipop

9 марта 2015 года выходит Android 5.1 под прежним кодовым названием «Lollipop», так как данное обновление в целом является достаточно минорным. В отношении функциональности специальных возможностей данный релиз также практически ничем не примечателен.

В 5.1 можно отметить лишь малозначительное обновление службы доступности Switch Access, появившейся в 5.0, которая, в частности, в русском интерфейсе наконец-то получила локализованное название "Специальные элементы управления", а также ряд внутренних изменений, относящихся к системным accessibility API. Преимущественно данные изменения относятся к исправлению ошибок, связанных с обработкой событий доступности и поведением фокуса доступности, удалением ряда эвристических алгоритмов, в частности, отвечавших за определение места клика в режиме изучения касанием и признанных неэффективными, а также к другим низкоуровневым аспектам реализации инфраструктуры доступности. С точки же зрения простых пользователей наиболее заметным будет та группа изменений, которая относится к доработкам маршрутизации фокуса доступности. В итоге, в Android 5.1 частично изменилось поведение фокуса доступности, вследствие чего, при линейной навигации, он, во-первых, стал фокусироваться на системных кнопках внизу экрана, таких как Назад, Домой и Обзор, а во-вторых, стал захватывать в цепочку навигации и некоторые другие элементы экрана, которые ранее туда не попадали.

6.0 Marshmallow

Этот выпуск был впервые представлен 28 мая 2015 года и получил кодовое название «Marshmallow» (Зефир). Выпуск не содержал существенных изменений в API специальных возможностей (по крайней мере тех, на которые обратили бы внимание сами разработчики в анонсе выпуска). Из нововведений, возможно, интересных для пользователей со специальными потребностями, можно отметить появление многооконного режима, изменения в API голосового управления, API помощника (ассистента) и улучшенная поддержка MIDI.

7.0 Nougat

Финальный выпуск этой версии ОС Android ( кодовое название «Nougat» — Нуга, кондитерское изделие, традиционно изготовляемое из сахара или мёда и жареных орехов — миндаля, грецких или лесных.) состоялся 22 августа 2016 года.В выпуске реализован многооконный режим с разделением экрана между двумя активными приложениями, особенности которого следует учитывать при разработке служб доступности. Непосредственно специальных возможностей касаются следующие нововведения:

  • На экране приветствия, который появляется при первом старте системы, теперь присутствуют настройки «Vision Settings», что значительно упрощает пользователям переход к настройкам специальных возможностей, включая жесты увеличения, размер шрифта, размер экрана и функцию TalkBack..
  • Появились службы специальных возможностей, которые помогут пользователям с нарушениями двигательных функций касаться экрана. Новый API позволяет встроить в службы такие возможности, как отслеживание лица, отслеживание взгляда, сканирование точек и другой функционал, соответствующий потребностям этих пользователей.

8.0 Oreo

Выпуск Android 8.0 с кодовым названием «Oreo» (название популярного печения) состоялся 21 августа 2017 года. В выпуске появились новые возможности для разработчиков служб доступности (таких как, например, TalkBack):

  • Отдельная регулировка громкости звука для служб доступности (категория STREAM_ACCESSIBILITY), тогда как до этого громкость речи программ экранного доступа регулировалась вместе со звуком мультимедиа.
  • Поддержка для служб доступности механизма ввода на отпечатке пальцев (например, обработка жестов смахивания, выполняемых на датчике отпечатка пальца).
  • Поддержка для служб доступности автоматического переключения языков в службе синтеза речи. Для поддержки этой возможности служба доступности должна помещать текст для синтеза в специальный span-тег с указанием локали.
  • Встроенная поддержка возможности запустить или отключить программу экранного доступа (службу доступности)на работающем устройстве в любой момент. Для этого пользователю нужно одновременно удерживать клавиши увеличения и уменьшения громкости на протяжении нескольких секунд. По умолчанию запускается программа TalkBack, но пользователь может выбрать другую службу доступности из установленных на устройстве.
  • Поддержка усложнённых жестов и программное задание их формы (последовательности штрихов).
  • Поддержка «Кнопки доступности» (Accessibility Button) для вызова одной из включённых опций или служб специальных возможностей (только на устройствах с программной отрисовкой области навигации).
  • Унифицировано представление используемых в API специальных возможностей диапазонных значений с одной определённой границей диапазона (вторая граница представлена бесконечностью с соответствующим знаком).
  • Поддержка новых опций, упрощающих обработку текста, включая текст уведомлений и местоположение символа на экране.

Android Q

Операционная система Google Android Q содержит множество изменений, в том числе некоторые новшества для пользователей и разработчиков вспомогательных технологий и средств доступности. В Android Q пользователи смогут активировать специальные возможности при помощи комбинации клавиш на физической клавиатуре: Ctrl + Alt + Z. Эта та же самая комбинация, которая используется в настоящее время в Chromebook, и должна действовать аналогично одновременному нажатию кнопок увеличения громкости / уменьшения громкости, используемому для тех же целей в предыдущей версии Android. Также появилась возможность использовать речевой вывод при первой активации специальных возможностей, что делает этот этап более интерактивным и доступным.

Ещё одно нововведение позволяет отображать экранную клавиатуру, даже если при этом подключена аппаратная клавиатураПредполагается, что это позволит пользователям, при отключении или подключении брайлевских дисплеев, действовать без риска остаться совсем без клавиатурного ввода.

Помимо этого, у разработчиков и пользователей появилась возможность влиять на время, в течение которого уведомления отображаются на экране. Такая возможность соответствует Руководству по обеспечению доступности web-контента и облегчает чтение кратковременных сообщений.

Ниже приведен список изменений API специальных возможностей, взятый со страницы описания всех новых функций и API.

В Android Q представлены следующие новые функции и API специальных возможностей:

Флаг поля ввода клавиш для AccessibilityNodeInfo

В Android Q в AccessibilityNodeInfo добавлен новый флаг, обозначающий, является ли элемент полем ввода клавиш как часть клавиатуры или клавишного блока. Значение этого флага можно получить, используя метод AccessibilityNodeInfo.isTextEntryKey ().

Озвучивание диалога специальных возможностей

Когда службе доступности требуется, чтобы пользователь повторил действие для активации специальных возможностей, чтобы запустить службу, диалоговое окно теперь может быть озвучено при помощи синтеза речи.

Комбинация клавиш для активации специальных возможностей при помощи аппаратной клавиатуры

В Android Q пользователи теперь могут активировать специальные возможности при помощи аппаратной клавиатуры, нажимая комбинацию Control + Alt + Z.

Усовершенствование контроллера экранной клавиатуры

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

Определяемые пользователем таймауты

Android Q предоставляет API метод AccessibilityManager.getRecommendedTimeoutMillis(), позволяющий разработчикам приложений обеспечить поддержку настраиваемых пользователем тайм-аутов для интерактивных и неинтерактивных элементов пользовательского интерфейса. На возвращаемое значение влияют как пользовательские настройки, так и API служб доступности.



Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2024