web design uiNovember 5, 20267 min read

Цвет ссылок: почему #0000FF не работает и 8 цветов ссылок, которые стоит использовать вместо него

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

By Boone
XLinkedIn
Link Color: Why #0000FF Fails and the 8 Link Colors to Use Instead

Правильный цвет ссылки - чуть более мягкий синий, который ещё и подчёркнут, а не одинокий #0000FF. Чистый синий - первый цвет ссылок, который выбирает каждый, и он подводит в двух местах: рядом с чёрным основным текстом и на тёмных экранах. Вот четыре исправления и восемь цветов, которые можно отдать разработчику.

Почему #0000FF не работает

Никто не решает использовать #0000FF. Он просто появляется. Это ключевое слово blue в CSS и первый насыщенный синий в любой палитре.

У самих браузеров по умолчанию чуть другие цвета: #0000EE для ссылки и #551A8B для посещённой, и обе они подчёркнуты. Подчёркивание - часть исходной сделки. Дизайнеры убирают его ради чистоты и оставляют синий.

И тогда синему приходится работать в одиночку. Чистый синий очень тёмный. Поставьте его в абзац почти чёрного текста, и они почти неотличимы для тех, кому трудно различать цвета. На тёмном экране ещё хуже: #0000FF тонет в фоне.

Ссылка - это три вещи: цвет, линия и состояние.

Исправление 1: подчеркните

Только цвет

Абзац про возвраты, где слова «политика возврата» синие, без подчёркивания, внутри чёрного основного текста

С подчёркиванием

Тот же абзац, где «политика возврата» мягкого синего цвета с подчёркиванием
Одно и то же предложение, одна и та же ссылка. Слева единственная подсказка - синий, близкий к окружающему чёрному. Справа подчёркивание позволяет найти ссылку с первого взгляда, а более мягкий #0F62FE приятнее глазу, чем #0000FF.

Правило за этим - WCAG 1.4.1, использование цвета.

Ссылка, отмеченная только цветом, должна чётко выделяться на фоне окружающего текста. Чистый синий рядом с чисто чёрным этого не делает, а #0F62FE рядом с #161616, цветом текста у нас здесь, делает. Подчёркивание снимает проблему полностью, потому что ссылка больше не зависит от цвета.

Подчёркивайте ссылки внутри сплошного текста. Навигация, кнопки и карточки - другое дело: их положение и форма уже говорят «можно нажать», так что подчёркивание там необязательно.

Только цвет, оттенки серого

Абзац про возвраты в оттенках серого, где ссылку не отличить от текста

С подчёркиванием, оттенки серого

Тот же абзац в оттенках серого, где подчёркивание по-прежнему отмечает ссылку
Быстрый тест: переключите экран в оттенки серого. Без цвета в левом абзаце нет ссылки. В правом она всё ещё есть.

Исправление 2: осветлите на тёмном

#0000FF на тёмном

Тёмная карточка про возвраты, где подчёркнутую ссылку чистого синего цвета трудно разглядеть на почти чёрном фоне

#78A9FF на тёмном

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

Разница огромная. #0000FF на #161616 слишком тёмный для чтения в размере основного текста, а #78A9FF на том же фоне читается легко. Насыщенные цвета, работающие на белом, на тёмном становятся светлее и мягче, тот же приём мы применяем для цветов ошибок.

Держите два синих и переключайте их вместе с темой: #0F62FE на светлых экранах, #78A9FF на тёмных. Наведение сдвигается ещё на шаг: #0043CE на светлом, #A6C8FF на тёмном.

Исправление 3: покажите, где люди уже были

Все ссылки выглядят новыми

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

Посещённые становятся фиолетовыми

Тот же список, где две уже открытые ссылки фиолетовые
Список статей - это ещё и карта того, что вы уже прочитали. Когда посещённые и новые ссылки выглядят одинаково, люди открывают одну страницу дважды и теряют из виду остальные.

Nielsen Norman Group утверждает это с 2004 года: люди теряются и ходят по кругу, когда посещённые и новые ссылки одного цвета. Фиолетовый - общепринятая норма, браузеры используют его с самого начала. Берите #8A3FFC на светлых экранах и #BE95FF на тёмных. Это стоит одного правила CSS: a:visited.

Исправление 4: оставьте кольцо фокуса

outline: none

Карточка входа, где ссылка в фокусе клавиатуры не показывает никаких признаков фокуса

Кольцо 2px #0F62FE

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

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

Удаление его через outline: none без замены нарушает WCAG 2.4.7, видимость фокуса. Если стандартное кольцо браузера не вяжется с вашим дизайном, замените его. Не удаляйте.

Кольцо 2px в цвете ссылки с небольшим отступом - безопасный вариант. WCAG 2.2 описывает сильнейшую форму как периметр не менее 2 CSS-пикселей.

8 цветов ссылок, светлая и тёмная темы

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

Светлая тема. Нажмите на цвет, чтобы скопировать код.
Тёмная тема на #161616. Нажмите на цвет, чтобы скопировать код.
РольСветлаяТёмнаяДля чего
Текст#161616#F4F4F4Основной текст вокруг ссылки
Ссылка#0F62FE#78A9FFКаждая ссылка в обычном состоянии
Наведение#0043CE#A6C8FFУказатель над ссылкой
Посещённая#8A3FFC#BE95FFУже открытые ссылки

Это токены ссылок IBM Carbon, считанные из опубликованных значений его тем.

Отдайте это разработчику

css
:root { --color-text: #161616; --color-link: #0F62FE; --color-link-hover: #0043CE; --color-link-visited: #8A3FFC; } @media (prefers-color-scheme: dark) { :root { --color-text: #F4F4F4; --color-link: #78A9FF; --color-link-hover: #A6C8FF; --color-link-visited: #BE95FF; } } a { color: var(--color-link); text-decoration: underline; text-underline-offset: 0.15em; } a:visited { color: var(--color-link-visited); } a:hover { color: var(--color-link-hover); } a:focus-visible { outline: 2px solid var(--color-link); outline-offset: 3px; }

Порядок важен: :link, :visited, :hover, :focus, :active - классическая последовательность, а правило hover, поставленное перед правилом visited, никогда не победит на посещённой ссылке. Селектор :focus-visible показывает кольцо пользователям клавиатуры и пропускает его при клике мышью, так что причин убирать его ни у кого нет.

Цифры за словами «легко читать»

ПараКонтраст
#0000FF на белом8,6 к 1, проходит, но всё равно слишком близок к чёрному тексту
#0000FF на #1616162,1 к 1, не проходит
#0F62FE на белом5,0 к 1
#0043CE на белом7,8 к 1
#8A3FFC на белом5,0 к 1
#78A9FF на #1616167,7 к 1
#A6C8FF на #16161610,6 к 1
#BE95FF на #1616167,7 к 1

Первая строка объясняет, почему одного чекера недостаточно. Чистый синий на белом проходит по цифре. Но он не проходит настоящий тест: отличается ли ссылка от чёрного текста рядом.

FAQ

Какого цвета должны быть ссылки?

Средний синий вроде #0F62FE на светлых фонах и более светлый синий вроде #78A9FF на тёмных, с подчёркиванием в основном тексте.

Хороший ли цвет ссылки #0000FF?

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

Нужно ли подчёркивать ссылки?

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

Какого цвета должны быть посещённые ссылки?

Фиолетового. Браузеры по умолчанию используют #551A8B, а дизайн-системы вроде IBM Carbon берут #8A3FFC на светлых экранах и #BE95FF на тёмных.

Какой цвет ссылок работает в тёмном режиме?

Более светлый синий. #78A9FF легко читается на #161616, где #0000FF слишком тёмный для чтения в размере основного текста.

Можно ли убрать контур фокуса у ссылок?

Только если заменить его другим видимым индикатором. Удаление без замены нарушает WCAG 2.4.7, видимость фокуса.

Источники

  • HTML Living Standard, Rendering: таблица стилей по умолчанию задаёт :link как #0000EE, :visited как #551A8B и подчёркивает ссылки. #0000FF - именованный цвет CSS blue.
  • IBM Carbon color tokens, считано из @carbon/themes 11.40.0: link-primary #0F62FE, hover #0043CE, visited #8A3FFC в белой теме; #78A9FF, #A6C8FF, #BE95FF в теме g100.
  • WCAG 2, 1.4.1 Use of Color и техника G183.
  • WCAG 2.4.7 Focus Visible и 2.4.13 Focus Appearance.
  • Nielsen Norman Group, Change the Color of Visited Links (Якоб Нильсен, 2004).
  • Коэффициенты контраста вычислены по формуле относительной яркости WCAG. Пример текста придуман для этой страницы.
  • Впервые опубликовано как карусель в UX Brainy.

Want links, forms and every other state designed as one system? Our team designs and builds product UI that holds up in light and dark.

Get Started

More from Brainy Papers

Keep reading