Доступность цвета и контраста

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

Рекомендации WebAIM рекомендуют коэффициент контрастности AA (минимальный) 4,5:1 для всего текста. Есть исключения для очень большого текста (на 120–150 % больше основного текста по умолчанию), для которого соотношение может снижаться до 3:1. Обратите внимание на разницу в коэффициентах контрастности, показанную здесь:

Изображение, показывающее различные коэффициенты контрастности.
Текст с низким коэффициентом контрастности по отношению к фону труднее читать.

Коэффициент контрастности 4,5:1 был выбран для уровня AA, поскольку он компенсирует потерю контрастной чувствительности, которую обычно испытывают пользователи с потерей зрения, эквивалентной примерно 20/40. Обычно считается, что 20/40 — это типичная острота зрения людей в возрасте около 80 лет. Для пользователей со слабыми нарушениями зрения или нарушениями цветопередачи мы можем увеличить контрастность основного текста до 7:1.

Вы можете использовать аудит доступности в Lighthouse, чтобы проверить цветовой контраст. Чтобы запустить отчет:

  1. Откройте Инструменты разработчика.
  2. Нажмите Аудит .
  3. Выберите Доступность .
Скриншот результатов проверки цветового контраста.
Предупреждение о недостаточном цветовом контрасте из отчета о доступности Lighthouse.

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

Скриншот результатов экспериментальной функции Chrome с низкой контрастностью текста.
Доступное цветовое решение.

Для получения более полного отчета установите расширение Accessibility Insights Extension . Отчеты Fastpass включают подробную информацию обо всех элементах, которые не прошли проверку цветового контраста.

Отчет в Accessibility Insights
Отчет о цветовом контрасте Accessibility Insights.

Усовершенствованный алгоритм перцептивного контраста (APCA)

Усовершенствованный алгоритм перцептивного контраста (APCA) — это новый способ расчета контраста, основанный на современных исследованиях восприятия цвета.

По сравнению с рекомендациями AA и AAA , APCA более зависит от контекста.

Контраст рассчитывается исходя из следующих особенностей:

  • Пространственные свойства (вес шрифта и размер текста)
  • Цвет текста (ощущаемая разница в яркости между текстом и фоном)
  • Контекст (окружающий свет, окружение и предполагаемая цель текста)

Chrome включает экспериментальную функцию, позволяющую заменить рекомендации по коэффициенту контрастности AA/AAA на APCA .

Скриншот вывода функции APCA в Chrome.
Отчет о контрастности APCA.

Не передавайте информацию только с помощью цвета

Во всем мире около 320 миллионов человек страдают нарушением цветового зрения. Примерно 1 из 12 мужчин и 1 из 200 женщин страдают той или иной формой дальтонизма, а это означает, что около пяти процентов ваших пользователей не будут воспринимать ваш сайт так, как вы предполагали. Использование цвета для передачи информации приводит к тому, что это число становится неприемлемым.

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

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

В разделе 1.4.1 контрольного списка WebAIM указано, что «цвет не должен использоваться как единственный метод передачи контента или различения визуальных элементов». В нем также отмечается, что «сам по себе цвет не должен использоваться для различения ссылок от окружающего текста», если только они не соответствуют определенным требованиям по контрастности. Вместо этого контрольный список рекомендует добавить дополнительный индикатор, например знак подчеркивания (с использованием свойства CSS text-decoration ), чтобы указать, когда ссылка активна.

Основной способ исправить предыдущий пример — добавить в поле дополнительное сообщение, сообщающее, что оно недействительно и почему.

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

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

Если вам интересно, как ваш сайт выглядит для разных людей, или если вы в значительной степени полагаетесь на использование цвета в своем пользовательском интерфейсе, вы можете использовать DevTools для имитации различных форм нарушений зрения. Chrome включает функцию «Эмулировать недостатки зрения» . Чтобы получить к нему доступ, откройте DevTools, затем откройте вкладку «Рендеринг» в ящике. Отсюда вы можете эмулировать следующие недостатки цвета:

  • Протанопия: неспособность воспринимать любой красный свет.
  • Дейтеранопия: неспособность воспринимать любой зеленый свет.
  • Тританопия: неспособность воспринимать любой синий свет.
  • Ахроматопсия: неспособность воспринимать любой цвет, кроме оттенков серого (крайне редко).
Имитируя зрение человека с ахроматопсией, наша страница отображается в оттенках серого.
Используйте DevTools, чтобы увидеть, как ваша страница выглядит для людей с различными типами дальтонизма.

Режим высокой контрастности

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

Операционные системы, такие как Mac OSX и Windows, предлагают режимы высокой контрастности, которые можно включить для всего на системном уровне.

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

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

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

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

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

Если вы соответствуете коэффициентам контрастности, описанным ранее, с поддержкой режима высокой контрастности все будет в порядке. Но для дополнительного спокойствия рассмотрите возможность установки расширения High Contrast Chrome и еще раз проверьте свою страницу, чтобы убедиться, что все работает и выглядит так, как ожидалось.