Доступность
Заявление, которое стоит прочитать, называет вещи, которые сделаны неправильно. В этом заявлении они тоже названы, а также описано, к каким стандартам мы стремимся и как сообщить о том, что мы упустили.
- WCAG 2.2 AA как целевой стандарт
- Контраст измеряется, а не оценивается на глаз
- Известные пробелы перечислены
Позиция
Мы создаём этот сайт в соответствии с WCAG 2.2 уровня AA и проверяем это, а не полагаемся на предположения: контраст измеряется относительно цвета, которым фактически отображается каждый элемент, а при обнаружении несоответствия сборка блокируется. Это не цель, о которой мы заявляем и к которой возвращаемся раз в год, — такая проверка выполняется при каждом выпуске.
Это не заявление о полном соответствии. Известные несоответствия перечислены ниже, а не скрыты. Если чем-либо на этом сайте или в приложении вы не можете пользоваться, напишите нам по адресу [email protected], указав в теме Accessibility, и расскажите, что произошло, — такое сообщение рассматривается как отчёт об ошибке, а не как отзыв.
Действует с
Что уже встроено
- Каждая страница работает без JavaScript. По умолчанию ничего не скрывается, чтобы потом открыться с помощью скрипта, поэтому даже при сбое скрипта, строгой блокировке контента или использовании текстового клиента страница по-прежнему показывает своё содержимое. Интерактивные элементы дополняют страницы, которые уже работают.
- Контраст измеряется относительно фактически отображаемого фона: для этого каждый элемент связывается с первым непрозрачным предком за ним, а не оценивается на глаз относительно предполагаемого цвета. Когда-то основной текст на этом сайте имел контраст 4.49:1 — ниже уровня AA и при этом вполне нормально выглядел — и обнаружить это удалось только измерением.
- Ссылка для перехода к содержимому и видимый фокус. Каждая страница начинается со ссылки «Перейти к содержимому», а у каждого интерактивного элемента есть видимый индикатор фокуса: контур не убирается ради аккуратного вида.
- Семантическая структура. На каждой странице один h1, заголовки идут по порядку без пропущенных уровней, используются настоящие списки, таблицы с корректными ячейками заголовков и подписями, а также области, по которым может перемещаться пользователь программы чтения с экрана.
- Анимация учитывает системные настройки. Любая анимация отключается при включённой настройке prefers-reduced-motion, а содержимое отображается сразу, не дожидаясь появления.
- Размер текста можно увеличить. В макетах используются относительные единицы и перенос содержимого, поэтому при увеличении текста или узком окне ничего не ломается и не возникает горизонтальной прокрутки.
- Содержательные альтернативные описания, а у изображения внутри ссылки, которая уже содержит собственный текст, намеренно задан пустой alt — описание заставило бы программу чтения с экрана объявить одно и то же дважды.
Известные недостатки
Именно поэтому эту страницу стоит опубликовать. Каждый пункт реален, мы о нём знаем, и ни один из них здесь не выдаётся за исправленный.
Сайт опубликован на тридцати языках, но не на всех из них проверялся с помощью программы чтения с экрана. Тестирование проводилось на английском языке. Произношение и порядок чтения в языках с письмом справа налево, а также в системах письменности, для которых наши шрифты не имеют нужных символов и используются системные шрифты, ещё не проверялись с помощью вспомогательных технологий.
Наши два шрифта поддерживают только латиницу. Для кириллицы, деванагари, грузинского, тайского, арабского, иврита, бенгальского, эфиопского письма и CJK используются системные шрифты платформы. Обычно это хорошо для разборчивости, но типографические детали, которыми мы управляем в английском — насыщенность, интервалы и размер, при котором мелкий текст перестаёт быть достаточно мелким, — в этих локалях нам не подконтрольны.
Некоторые интерактивные элементы появились недавно и проверены не так тщательно. Матрица сравнения и фильтр поиска в справке меняют строки на месте, что является правильным подходом, но объявление программой чтения с экрана изменившегося числа результатов пока реализовано, а не проверено пользователями.
К приложению предъявляются те же требования, но оно проверяется реже, чем сайт. Оно поддерживает системное изменение размера текста и программу чтения с экрана — эти функции берут на себя большую часть работы, — но сейчас мы не проводим формальный аудит доступности при каждом выпуске.
Ни сайт, ни приложение не проходили формальный аудит у сторонней организации. Мы предпочитаем сказать об этом прямо, а не создавать впечатление, будто у нас есть сертификат, которым мы не располагаем.
Приложение и одна важная деталь
Приложение Telvio использует встроенные в операционную систему функции доступности: VoiceOver и Dynamic Type в iOS, TalkBack и масштабирование шрифта в Android. Этого достаточно для большинства задач приложения, интерфейс которого состоит из клавиатуры, баланса и списка тарифов.
Одно решение стоит отметить именно как свойство доступности, а не как функцию. Поскольку приложению не нужен аккаунт, в нём нет формы регистрации, пароля для ввода, подтверждения адреса электронной почты или кода, который нужно извлекать из сообщения. Весь класс взаимодействий, чаще всего создающий трудности для людей, использующих вспомогательные технологии, или вообще для тех, кому сложно заполнять формы, здесь отсутствует. Установите, наберите номер, разговаривайте.
Соответствующее ограничение указано там же, где и всё остальное: приложение не может звонить в экстренные службы, об этом говорится на странице экстренные вызовы. Если кто-то настраивает приложение для родственника — это распространённый сценарий, особенно для пожилых людей, звонящих семье за границу, — именно это важнее всего объяснить во время настройки.
Сообщить о проблеме
Напишите на [email protected], указав в теме Accessibility. Полезно сообщить: страницу или экран, что вы пытались сделать, какую вспомогательную технологию использовали и её версию, а также что произошло вместо этого. Ничего из этого не обязательно — фраза «Я не могу пользоваться таблицей тарифов с программой чтения с экрана» вполне подходит, и мы предпочтём её полному отсутствию сообщения.
Мы стараемся ответить в течение пяти рабочих дней: сообщить результаты оценки и, если согласны, что это дефект, назвать примерные сроки исправления. Проблемы, не позволяющие выполнить задачу, исправляются раньше остальных; проблемы, которые лишь усложняют задачу, честно ставятся в очередь, а не сопровождаются расплывчатыми обещаниями.
Если вы находитесь в Европейском союзе и считаете, что требование доступности не соблюдается, вы также можете обратиться в соответствующий национальный надзорный орган. Мы предпочли бы, чтобы сначала вы обратились к нам, но в любом случае ответим.
Как именно проходят проверки
Стоит описать две вещи: именно они отличают заявление от практики.
Контраст определяется по отображению, а не разбирается в коде. Значение цвета, прочитанное из таблицы стилей, показывает, каким элемент должен быть, а не как он выглядит в итоге: это может быть полупрозрачный элемент на тёмной полосе, современная цветовая функция, которую не понимает регулярное выражение, или закреплённый заголовок поверх фонового изображения. Проверка отображает настоящий фон каждого элемента, поднимаясь до первого непрозрачного предка и вычисляя цвет с помощью самого браузера, а затем рассчитывает соотношение. Так она обнаружила, что контраст основного текста на этом сайте составлял 4.49:1 — ниже уровня AA, хотя отдельно он выглядел совершенно нормально.
Страница проверяется в отображённом виде, а не по исходному коду. Отдельная проверка открывает каждую страницу в настоящем браузере и выясняет, нет ли в области просмотра текста с нулевой непрозрачностью, не прокручивается ли документ вбок и не отображается ли что-либо на фоне собственного цвета. Последний случай кажется нелепым, пока не попадает в релиз: однажды общее правило CSS задало подписи одинаковые цвет текста и фона, создав соотношение контраста 1:1, невидимое в разметке, DOM и на снимке исходного кода.
Что мы решили сделать намеренно
- Никакой анимации без разрешения. Анимация при прокрутке включается скриптом только после проверки, что пользователь не возражает против движения, поэтому читатель с включённым режимом уменьшения движения сразу видит содержимое и никогда не наблюдает его появление.
- Никакого контента за JavaScript. Ничто не создаётся невидимым. Это решение связано с доступностью не меньше, чем с производительностью: страница, которой для отображения нужен скрипт, не работает для всех, у кого этот скрипт не сработал.
- В данных используются слова, а не значки. В таблицах сравнения написано “Да”, “Нет” и “Округлено вверх”, а не используются галочки и крестики: при объявлении значок может быть неоднозначным, а при копировании — невидимым.
- Пустой alt, если описание повторялось бы. Изображению внутри ссылки, которая уже содержит собственный текст, задаётся
alt="", поэтому программа чтения с экрана объявляет назначение ссылки один раз, а не дважды. - Широкие таблицы прокручиваются внутри собственного блока, а не сдвигают страницу вбок, поэтому на телефоне не приходится прокручивать страницу по горизонтали, чтобы прочитать абзац.
Итог
Мы разрабатываем продукт в соответствии с WCAG 2.2 AA и проверяем его при каждом выпуске, измеряя контраст на фактически отображаемом фоне, а не на предполагаемом. Это не заявление о полном соответствии стандарту.
Известные недочёты: тестирование с программами экранного доступа на тридцати языках проводилось только на английском, наши шрифты поддерживают только латиницу, поэтому для других письменностей используются системные шрифты, новые интерактивные элементы протестированы менее тщательно, а сторонний аудит не проводился.
Сообщайте обо всём, чем невозможно пользоваться, на адрес [email protected] с темой Accessibility. Такие сообщения рассматриваются как отчёты об ошибках, а проблемы, блокирующие выполнение задачи, исправляются раньше остальных.
Часто задаваемые вопросы
Какому стандарту доступности соответствует Telvio?
Целевой уровень для сайта — WCAG 2.2 AA. Проверка проводится при каждом выпуске, а не время от времени. Контраст измеряется относительно фона, на котором фактически отображается каждый элемент, а при несоответствии сборка блокируется. Полное соответствие не заявляется.
Работает ли сайт Telvio без JavaScript?
Да. По умолчанию ничего не скрывается, чтобы затем показывать это с помощью скрипта, поэтому каждая страница отображает своё содержимое при отключённом или заблокированном JavaScript. Интерактивные функции, например фильтры сравнения, дополняют страницы, которые уже работают.
Проводился ли аудит доступности Telvio?
Ни сайт, ни приложение не проходили сторонний аудит. При каждом выпуске сайта выполняются автоматические и ручные проверки, а в этом заявлении перечислены известные недостатки, а не умолчано о них.
Доступно ли приложение Telvio для пользователей программ чтения с экрана?
Приложение использует встроенные функции доступности платформы — VoiceOver и Dynamic Type в iOS, TalkBack и масштабирование шрифта в Android. Оно проверяется реже, чем сайт, и для каждого выпуска не проводится формальный аудит доступности.
Как сообщить о проблеме с доступностью?
Напишите на [email protected], указав в теме Accessibility, и сообщите, на какой странице или экране возникла проблема, что вы пытались сделать и что произошло. Информация о вспомогательной технологии и её версии поможет, но не обязательна. Мы стараемся ответить в течение пяти рабочих дней.
Почему на сайте используется другой шрифт для моего языка?
Два шрифта, в которых разработан сайт, поддерживают только латиницу. Для кириллицы, деванагари, грузинского, тайского, арабского, иврита, бенгали, эфиопского письма и CJK используются системные шрифты платформы. Обычно это лучше для удобства чтения, но означает, что мы не контролируем типографические особенности в этих локалях.