Проблемы доступности официального приложения Telegram для iOS

English version

В официальном приложении Telegram для iOS версии 10.2.4.

Содержание

Информация о тестировании

Выявление проблем доступности проведено в официальном приложении Telegram для iOS. Версия приложения: 10.2.4

Использовались два устройства:

  • iPhone SE с iOS 14.8.1;
  • iPhone SE 2022 с iOS 17.1.

Предварительные условия:

  1. На устройстве установлено официальное приложение Telegram из App Store;
  2. Пользователь зарегистрирован и авторизован в Telegram;
  3. В списке чатов больше десяти бесед;
  4. В рассматриваемом чате или канале больше десяти сообщений;
  5. Используется программа экранного доступа VoiceOver.

Проблемы доступности

1. Список чатов не прокручивается (Critical)

На вкладке «Чаты» не работает автоматическая прокрутка списка чатов и каналов

Список чатов.

Шаги для воспроизведения

  1. Открыть вкладку «Чаты» главного окна Telegram.
  2. Установить фокус VoiceOver на последний видимый чат в списке чатов одним из следующих способов:
    1. Однократно коснуться последнего видимого чата одним пальцем;
    2. Смахивать одним пальцем вправо, последовательно переходя по всем элементам интерфейса.
  3. Перейти к следующему элементу, смахнув одним пальцем вправо.

Ожидаемый результат

Список чатов прокручивается, а фокус доступности попадает на следующую беседу.

Фактический результат

Список чатов не прокручивается, а фокус доступности попадает на кнопки, находящиеся в верхней части экрана.

2. Кнопки на вкладке «Чаты» не принимают фокус доступности (Blocker)

На вкладке «Чаты» в верхней части экрана находятся кнопки, предназначенные для написания нового сообщения, поиска и др. Эти кнопки визуально обозначены «Изм.», «+», «Карандаш с листом бумаги», но установить фокус VoiceOver и взаимодействовать с этими элементами интерфейса невозможно.

Список чатов. Стрелками показаны кнопки «Изм.», «+», «Карандаш с листом бумаги».

Шаги для воспроизведения

  1. Запустить приложение Telegram;
  2. Коснуться верхней части экрана;
  3. Перемещать фокус по элементам интерфейса, смахивая одним пальцем вправо или влево.

Ожидаемый результат

Фокус VoiceOver попадает на кнопки, сообщает необходимую информацию (название, роль/тип и т.д.), а также позволяет пользователю взаимодействовать с ними.

Фактический результат

Указанные элементы интерфейса не принимают фокус программы экранного доступа и полностью недоступны для незрячих пользователей.

3. Последовательная навигация внутри чата или канала работает непредсказуемо (Critical)

В чате или канале возникают критичные проблемы с последовательным чтением сообщений.

Сообщения в канале, в фокусе находится сообщение наверху.

Шаги для воспроизведения

  1. Открыть чат или канал, в котором более десяти сообщений;
  2. Последовательно перемещаться по сообщениям от старых к новым, выполняя смахивание одним пальцем вправо, или от новых к старым, смахивая одним пальцем влево.

Ожидаемый результат

Фокус доступности перемещается по всем сообщениям беседы, а VoiceOver  сообщает всю необходимую информацию (имя отправителя, содержимое сообщения, дату и время отправки, реакции и т.д.). При необходимости последовательное перемещение фокуса доступности по списку сообщений прокручивает экран, обеспечивая доступ к предыдущему сообщению, интерактивному содержимому сообщения (ссылки), следующему сообщению, элементам прокрутки беседы (например, к кнопке «Перейти к последнему сообщению»). , к автоматизированным уведомлениям (например, к дате, которая выступает разделителем переписки — если уместно).

Фактический результат

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

4. Переход к последнему сообщению не имеет текстовой подписи (Critical)

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

Сообщения в канале, стрелкой на скриншоте показана кнопка для быстрого перехода к самому новому сообщению (прокрутки чата вниз).

Шаги для воспроизведения

  1. Открыть чат или канал, в котором больше 10 сообщений;
  2. Убедиться, что  последнее (самое новое) сообщение отсутствует на экране (беседа прокручена вверх);
  3. Установить фокус доступности на элемент, отвечающий за прокрутку беседы вниз до самого свежего (последнего) сообщения.

Ожидаемый результат

VoiceOver озвучивает название элемента управления (например, «Перейти к последнему сообщению») и его тип/роль — «кнопка».

Фактический результат

VoiceOver не озвучивает ни название, ни тип/роль элемента интерфейса. Этот элемент воспринимается программой экранного доступа как пустое место.

5. Реакции на сообщения недоступны (Blocker)

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

Сообщения в канале, стрелки на скриншоте указывают на реакции к постам.

Шаги для воспроизведения

  1. Открыть любой чат или канал, на сообщениях которого есть реакции пользователей.
  2. Установить фокус доступности на сообщение с реакцией;
  3. Открыть контекстное меню сообщения, на которое необходимо отреагировать.

Ожидаемый результат

  1. На шаге 2: VoiceOver озвучивает информацию о реакциях на текущее сообщение.
  2. На шаге 3: пользователь VoiceOver может просмотреть варианты доступных реакций, выбрать требуемую и установить её на сообщение.

Фактический результат

Пользователь VoiceOver не получает информацию о количестве и характере реакций на сообщение, а также не может  выбрать и установить реакцию на сообщение.

6. Навигация в настройках нарушена (Critical)

Не работает автоматическая прокрутка экранов с настройками. В результате невозможно перейти к следующему элементу интерфейса, если он не отображается на экране. Для доступа к элементам, которые находятся за пределами видимой области, пользователю VoiceOver необходимо вручную прокрутить экран, но незрячий пользователь не получает никакой информации о том, что за пределами видимой области есть какие-либо элементы интерфейса. Проблема наблюдается в следующих разделах: «Уведомления и звуки», «Устройства», «Данные и память». Проблема иллюстрируется на примере раздела «Данные и память».

Настройки Telegram, раздел «Данные и память».

Шаги для воспроизведения

  1. Активировать вкладку «Настройки»;
  2. Активировать пункт «Данные и память»;
  3. Просмотреть открывшийся экран любым из способов:
    1. Выполнить команду «Читать сверху» (смахнуть двумя пальцами снизу вверх),
    2. Последовательно просмотреть все элементы интерфейса, представленные на экране  (несколько раз смахнуть одним пальцем вправо).
  4. В обоих случаях последним объектом на экране оказывается надпись: «Автоматическое сохранение всех новых фотографий и видео из этих чатов в приложение «Фото»»;
  5. Смахнуть одним пальцем вправо для перехода к следующему объекту.

Ожидаемый результат

Экран прокручивается вниз, фокус доступности устанавливается на следующий элемент интерфейса, VoiceOver сообщает название, тип/роль, состояние и другую необходимую информацию об этом элементе. В данном случае это переключатель «Сократить трафик звонков».

Фактический результат

Экран не прокручивается, фокус доступности остаётся на текущем элементе, воспроизводится звуковой сигнал, уведомляющий незрячего пользователя о том, что текущий элемент является последним. В данном случае это: «Автоматическое сохранение всех новых фотографий и видео из этих чатов в приложение «Фото»». Ничто не указывает пользователю программы экранного доступа на то, что за пределами видимой области находятся другие элементы интерфейса. Перейти к остальным настройкам в этом разделе можно только заведомо зная, что они там есть. Для этого необходимо прокрутить экран, смахнув  снизу вверх тремя пальцами.

7. Экран использования памяти содержит неподписанные элементы управления (Blocker)

Настройки Telegram, экран «Использование памяти».

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

Шаги для воспроизведения

  1. Открыть настройки Telegram;
  2. Активировать раздел «Данные и память»;
  3. Перейти в подраздел «Использование памяти».

Ожидаемый результат

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

Фактический результат

  1. Единственный элемент интерфейса (помимо кнопки для перехода назад), отвечающий требованиям доступности – это кнопка «Очистить весь кэш».
  2. Остальные элементы не предоставляют информацию для программы экранного доступа о своём назначении и состоянии. Программа экранного доступа просто сообщает, что это – кнопка, и всё.

8. Управление воспроизведением аудио недоступно (Critical)

Управление воспроизведением аудиосообщений крайне затруднено.

Воспроизводится аудио в канале.

Шаги для воспроизведения

  1. Открыть канал, в котором есть аудиосообщения;
  2. Установив фокус доступности на аудиосообщение, активировать воспроизведение двойным быстрым касанием экрана 1 пальцем.

Ожидаемый результат

На открытом экране появляются доступные для VoiceOver элементы управления воспроизведением.

Фактический результат

На экране открытой беседы элементы управления воспроизведением не доступны. Они доступны на экране списка чатов, но необходимость выходить из текущей беседы для того, чтобы управлять её содержимым, является контр-интуитивной. Кроме этого элементы управления воспроизведением не имеют программно заданных ролей: VoiceOver произносит только названия.

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

 

9. Управление воспроизведением видео недоступно (Blocker)

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

Воспроизводится видео в Telegram.

Шаги для воспроизведения

  1. Открыть беседу, в которой есть видеосообщения;
  2. Установить фокус доступности на видеосообщение и активировать его двойным быстрым касанием экрана 1 пальцем.

Ожидаемый результат

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

Фактический результат

  1. Воспроизведение может начаться, а может и нет. Пользователь программы экранного доступа не получает никакой информации о том, почему оно не началось;
  2. Элементы управления воспроизведением (такие как пауза и перемотка) недоступны для программы экранного доступа;
  3. После остановки воспроизведения пользователь программы экранного доступа не может получить информацию об элементах интерфейса на экране. Чтобы продолжить использование Telegram, приложение необходимо закрыть через переключатель приложений и запустить заново.

10. Управление воспроизведением голосовых сообщений крайне затруднено (Critical)

Элементы управления воспроизведением на экране открытой беседы недоступны, а также отсутствует доступная индикация сообщения, которое воспроизводится в настоящий момент.

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

Шаги для воспроизведения

  1. Открыть беседу, в которой есть голосовые сообщения;
  2. Установить фокус доступности на голосовое сообщение и активировать его двойным быстрым касанием экрана 1 пальцем.

Ожидаемый результат

  1. На экране открытой беседы доступны элементы управления воспроизведением;
  2. Сообщение, которое воспроизводится в настоящий момент, имеет соответствующий индикатор, доступный для VoiceOver.

Фактический результат

  1. Элементы управления воспроизведением, которые появляются на экране открытой беседы, недоступны для VoiceOver. Элементы управления воспроизведением доступны в списке чатов, но необходимость закрывать беседу для управления её содержимым является контр-интуитивной;
  2. Голосовое сообщение, которое воспроизводится в настоящий момент, не имеет соответствующего индикатора, доступного для VoiceOver. В результате незрячий пользователь не получает информацию о том, какое именно голосовое сообщение воспроизводится в настоящий момент, что особенно неприятно, если беседа содержит несколько голосовых сообщений подряд.

11. Выбор отправляемых объектов недоступен (Blocker)

Недоступны элементы окна отправляемых объектов, которое открывается по кнопке «Отправить медиа».

Диалог отправки объектов в канал. Внизу экрана 5 вкладок для выбора типа отправляемых объектов. Текущая вкладка «Галерея», показаны медиафайлы для отправки.

Шаги для воспроизведения

  1. Открыть беседу, которая допускает отправку сообщений с медиа-контентом (например, собственный канал, группу или чат с другим пользователем);
  2. Установить фокус доступности на кнопку «Отправить медиа» и активировать её двойным быстрым касанием экрана 1 пальцем.

Ожидаемый результат

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

Фактический результат

  1. Фокус VoiceOver остаётся на кнопке «Прикрепить медиа» (несмотря на то, что на экране появилось новое окно). Поместить фокус доступности на элементы открывшегося окна можно только при помощи изучения касанием;
  2. В открывшемся окне расположены элементы интерфейса, которые недоступны для VoiceOver. Например, Элементы, предназначенные для выбора типа прикрепляемого медиа: «Галерея», «Файл», «Геопозиция», «Опрос», «Контакт») не принимают фокус доступности.

12. Экран «Поделиться» недоступен (Blocker)

Экран, с помощью которого можно поделиться контентом с пользователями Telegram из других приложений, не доступен пользователям программы экранного доступа.

Экран поделиться с контактами в Telegram, открытый из браузера Safari.

Шаги для воспроизведения

  1. Открыть приложение, которое поддерживает возможность поделиться контентом с Telegram (например, Safari);
  2. Открыть любую WEB-страницу (например, www.i2tc.org);
  3. Установить фокус доступности на кнопку «Поделиться» и активировать её;
  4. В открывшемся списке выбрать Telegram;
  5. На открывшемся экране смахиваем одним пальцем вправо для перемещения фокуса по элементам интерфейса.

Ожидаемый результат

Элементы интерфейса доступны VoiceOver: незрячий пользователь может ознакомиться со списком чатов, куда возможна отправка сообщения, выбрать нужные и поделиться контентом.

Фактический результат

Список чатов на открывшемся экране недоступен для VoiceOver: незрячий пользователь не может просмотреть доступные чаты, выбрать нужные и поделиться контентом из внешнего приложения.

13. Подключение к трансляции затруднено (Critical)

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

Подключение к трансляции, выбор аккаунта, в качестве которого подключиться.

Шаги для воспроизведения

  1. Открыть канал, в котором в настоящий момент ведётся трансляция;
  2. Установить фокус доступности на сообщение с объявлением трансляции и активировать его двойным быстрым касанием экрана 1 пальцем.

Ожидаемый результат

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

Фактический результат

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

14. Интерфейс участника трансляции недоступен (Blocker)

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

Интерфейс участника трансляции в Telegram.

Шаги для воспроизведения

  1. Открыть канал, в котором в настоящий момент ведётся трансляция;
  2. Установить фокус доступности на сообщение с объявлением трансляции и активировать его двойным быстрым касанием экрана 1 пальцем;
  3. Указать пользователя или канал, в качестве которого хотим подключиться к трансляции;
  4. Последовательно перемещать фокус VoiceOver по элементам интерфейса открывшегося окна, смахивая 1 пальцем вправо.

Ожидаемый результат

Все элементы окна участника трансляции доступны для VoiceOver — незрячий пользователь может самостоятельно участвовать в трансляции (включать/выключать звук трансляции и др.).

Фактический результат

  1. Элементы окна участника трансляции не содержат информации о своём назначении, доступной для VoiceOver;
  2. Фактически возникала ситуация, в которой громкость трансляции была настолько высокой, что восприятие синтезатора речи VoiceOver оказалось невозможным. Необходимо убедиться, что звуковой поток Telegram следует общесистемным правилам и заглушается в тот момент, когда начинает говорить синтезатор речи VoiceOver.

15. Названия тем в группе недоступны (Critical)

В группе с несколькими обсуждениями в списке тем недоступны названия тем.

Группа с несколькими темами.

Шаги для воспроизведения

  1. На вкладке «Чаты» активировать поле поиска;
  2. Ввести фрагмент названия группы с несколькими темами;
  3. В списке результатов выбрать группу с несколькими темами и открыть её;
  4. Изучить список тем, последовательно перемещая фокус VoiceOver по элементам интерфейса, смахивая 1 пальцем вправо и влево.

Ожидаемый результат

Элементы интерфейса доступны для VoiceOver — незрячий пользователь может узнать название темы и информацию о последнем сообщении.

Фактический результат

Наряду с последним сообщением темы озвучивается избыточная информация (название группы) и не озвучивается необходимая информация (название темы). Чтобы узнать название темы, необходимо открыть саму тему. Это затрудняет ориентирование в группах с несколькими обсуждениями.

16. Список тем группы недоступен (Critical)

Фокус доступности автоматически не перемещается в список тем. Если установить фокус VoiceOver на тему, то речевое сообщение будет некорректным. Вернуться из списка тем в список чатов стандартным образом невозможно.

Список тем группы.

Шаги для воспроизведения

  1. Открыть вкладку «Чаты»;
  2. В списке чатов открыть группу, которая содержит несколько  тем.

Ожидаемый результат

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

Фактический результат

Происходит одно из двух событий:

  1. Открывается список сообщений одной из тем группы. В этом случае поведение VoiceOver аналогично поведению в беседе без тем;
  2. Появляется заголовок с названием группы и список тем. В этом случае фокус VoiceOver автоматически не перемещается на появившиеся элементы интерфейса. Если вручную установить фокус VoiceOver на одну из тем, наряду с последним сообщением темы озвучивается избыточная информация (название группы) и не озвучивается необходимая информация (название темы). При этом стандартная команда «Назад» (зигзаг двумя пальцами) не работает, т.е. не возвращает фокус VoiceOver в список чатов. Чтобы вернуться в список чатов, необходимо найти и активировать кнопку «Чаты».
    На прилагаемом скриншоте продемонстрирован вариант «b».

Заключение

Выявленные проблемы доступности в официальном приложении Telegram на iOS можно разделить на следующие группы:

  1. Ошибки доступности в реализации прокручиваемых списков. Речь идёт о списке чатов и каналов и, что особенно важно, о списке сообщений в чате или в канале.
  2. Ошибки доступности в реализации появления всплывающих экранов, когда фокус программы экранного доступа автоматически не оказывается на новом экране, а остаётся на тех элементах интерфейса, которых уже нет на экране. Пример: экран выбора типа отправляемого объекта в чате или в администрируемом канале и др.
  3. Некоторые кнопки и иные элементы интерфейса не передают информацию о своём назначении программе экранного доступа. Такие элементы оказываются для пользователя программы экранного доступа безымянными кнопками либо вовсе пустым местом. Так обстоит дело с кнопкой для перехода к последнему сообщению в чатах и в каналах, а также с переключателями на экране использования памяти на вкладке «Настройки» и др.
  4. Отдельно следует отметить, что есть элементы интерфейса, которые не только не содержат информации, доступной для программы экранного доступа, но и вовсе не обнаруживаются ею в обычном режиме использования: они просто не принимают фокус доступности. Пример: кнопки в верхней части экрана на вкладке «Чаты».

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

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

Почему это важно?

Проблемы доступности ограничивают возможности взаимодействия с Telegram на iOS для пользователей программ экранного доступа. Степень ограничения зависит от пользовательского мастерства и понимания того, как могут проявляться различные ошибки доступности, допущенные разработчиками интерфейса, и как можно это попытаться преодолеть в той или иной ситуации. В настоящее время пользователю с глубоким нарушением зрения может потребоваться совмещать использование двух различных интерфейсов для разных задач (например, официальный клиент Telegram на iOS и сторонний Telegram-клиент Unigram для Windows).

В App Store в России приложение Telegram в 2023 году № 1 в категории «Социальные сети». Этот показатель говорит сам за себя. Для огромного числа людей Telegram – это возможность узнавать новости по интересующим темам, общаться в личных и в профессиональных целях, реализовывать свой творческий потенциал и зарабатывать.

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

Напомним, что в iOS предусмотрен инструментарий для реализации доступности различных элементов интерфейса приложения. Также Консорциум Всемирной Паутины (W3C) разработал и поддерживает руководство по обеспечению доступности веб-контента (действующая версия — WCAG 2.2), а в России принят ГОСТ Р 52872-2019 «Интернет-ресурсы и другая информация, представленная в электронно-цифровой форме. Приложения для стационарных и мобильных устройств, иные пользовательские интерфейсы. Требования доступности для людей с инвалидностью и других лиц с ограничениями жизнедеятельности».

АНО «Центр И2Т» благодарит Сергея Сырцова за подготовку материала.

Поделиться