web design uiNovember 5, 20267 min read

Cor de link: por que #0000FF falha e as 8 cores de link para usar no lugar

Azul puro é a primeira cor de link que todo mundo escolhe e a errada ao lado do texto e em telas escuras. Sublinhe, clareie no escuro, mostre links visitados, mantenha o anel de foco. Oito códigos incluídos.

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

A cor certa de link é um azul um pouco mais suave que você também sublinha, e não o #0000FF sozinho. Azul puro é a primeira cor de link que todo mundo escolhe, e ele falha em dois lugares: ao lado de texto preto e em telas escuras. Aqui estão as quatro correções e as oito cores para entregar ao seu dev.

Por que #0000FF falha

Ninguém decide usar #0000FF. Ele simplesmente aparece. É a palavra-chave blue no CSS e o primeiro azul saturado de qualquer seletor de cores.

Os próprios navegadores usam um padrão um pouco diferente, #0000EE para link e #551A8B para visitado, e sublinham os dois. O sublinhado faz parte do acordo original. Designers o removem para ficar com visual limpo e mantêm o azul.

Aí o azul precisa fazer o trabalho sozinho. Azul puro é muito escuro. Coloque-o dentro de um parágrafo de texto quase preto e os dois parecem quase iguais para quem tem dificuldade de distinguir cores. Em tela escura é pior: o #0000FF afunda no fundo.

Um link é três coisas: uma cor, uma linha e um estado.

Correção 1: sublinhe

Só cor

Um parágrafo de Devoluções em que as palavras política de reembolso estão em azul, sem sublinhado, dentro de texto preto

Sublinhado

O mesmo parágrafo em que política de reembolso está em um azul mais suave e sublinhado
Mesma frase, mesmo link. À esquerda, a única pista é um azul próximo do preto ao redor. À direita, o sublinhado faz o link ser achado de relance, e o #0F62FE, mais suave, cansa menos o olho que o #0000FF.

A regra por trás disso é a WCAG 1.4.1, uso de cor.

Um link marcado só pela cor precisa se destacar claramente do texto ao redor. Azul puro ao lado de preto puro não se destaca, e #0F62FE ao lado de #161616, a cor de texto que usamos aqui, se destaca. O sublinhado elimina o problema por completo, porque o link deixa de depender da cor.

Sublinhe links dentro de texto corrido. Barras de navegação, botões e cards são diferentes: posição e forma já dizem "clicável", então o sublinhado ali é opcional.

Só cor, em escala de cinza

O parágrafo de Devoluções em escala de cinza, em que o link não se distingue do texto

Sublinhado, em escala de cinza

O mesmo parágrafo em escala de cinza, em que o sublinhado ainda marca o link
Um teste rápido: coloque a tela em escala de cinza. Sem cor, o parágrafo da esquerda não tem link nenhum. O da direita ainda tem.

Correção 2: clareie no escuro

#0000FF no escuro

Um card escuro de Devoluções em que o link sublinhado em azul puro é difícil de ver contra o fundo quase preto

#78A9FF no escuro

O mesmo card em que o link em azul claro se destaca com clareza
Os dois links estão sublinhados aqui, e o azul puro continua difícil de ler. Telas escuras pedem um azul mais claro.

Nem se compara. #0000FF sobre #161616 é escuro demais para ler em tamanho de texto, e #78A9FF no mesmo fundo lê fácil. As cores saturadas que funcionam no branco ficam mais claras e suaves no escuro, o mesmo movimento que fazemos nas cores de erro.

Mantenha dois azuis e troque conforme o tema: #0F62FE em telas claras, #78A9FF nas escuras. O hover avança mais um passo: #0043CE no claro, #A6C8FF no escuro.

Correção 3: mostre por onde as pessoas já passaram

Todo link parece novo

Uma lista Leia a seguir com três links azuis sublinhados, todos iguais

Visitado vira roxo

A mesma lista em que os dois links já abertos estão roxos
Uma lista de artigos também é um mapa do que você já leu. Quando links visitados e novos são iguais, as pessoas abrem a mesma página duas vezes e perdem o fio do resto.

O Nielsen Norman Group defende isso desde 2004: as pessoas se perdem e andam em círculos quando links visitados e novos dividem uma cor. O roxo é a convenção, e os navegadores o usam desde o começo. Use #8A3FFC em telas claras e #BE95FF nas escuras. Custa uma regra de CSS: a:visited.

Correção 4: mantenha o anel de foco

outline: none

Um card de Entrar em que um link com foco do teclado não mostra nenhum sinal de foco

Anel de 2px #0F62FE

O mesmo card em que o link focado tem um anel azul nítido ao redor
Quem aperta Tab nesta página precisa ver onde está. À esquerda o foco está em algum lugar, e ninguém sabe onde.

Usuários de teclado, usuários de acionadores e qualquer pessoa com a mão do mouse cansada dependem do anel de foco.

Removê-lo com outline: none sem colocar nada no lugar falha na WCAG 2.4.7, foco visível. Se o anel padrão do navegador briga com seu design, substitua. Não apague.

Um anel de 2px na cor do link, com um pequeno deslocamento, é a versão segura. A WCAG 2.2 descreve a forma mais forte como um perímetro de pelo menos 2 pixels CSS.

Toque em qualquer chip para copiar o código.

Tema claro. Toque em uma cor para copiar o código.
Tema escuro sobre #161616. Toque em uma cor para copiar o código.
PapelClaroEscuroUse para
Texto#161616#F4F4F4Texto corrido ao redor do link
Link#0F62FE#78A9FFTodo link em estado de repouso
Hover#0043CE#A6C8FFPonteiro sobre o link
Visitado#8A3FFC#BE95FFLinks já abertos

Estes são os tokens de link do IBM Carbon, lidos dos valores publicados do tema.

Entregue isto ao seu dev

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; }

A ordem importa: :link, :visited, :hover, :focus, :active é a sequência clássica, e uma regra de hover colocada antes da regra de visitado nunca vence em um link visitado. O seletor :focus-visible mostra o anel para usuários de teclado e o pula em cliques do mouse, então ninguém tem motivo para removê-lo.

Os números por trás de "fácil de ler"

ParContraste
#0000FF sobre branco8,6 para 1, passa, e ainda assim é próximo demais do texto preto
#0000FF sobre #1616162,1 para 1, falha
#0F62FE sobre branco5,0 para 1
#0043CE sobre branco7,8 para 1
#8A3FFC sobre branco5,0 para 1
#78A9FF sobre #1616167,7 para 1
#A6C8FF sobre #16161610,6 para 1
#BE95FF sobre #1616167,7 para 1

A primeira linha é o motivo pelo qual um verificador não basta. Azul puro sobre branco passa pelo número. Ele falha no teste real, que é se o link parece diferente do texto preto ao lado.

FAQ

Um azul médio como #0F62FE em fundos claros e um azul mais claro como #78A9FF em fundos escuros, com sublinhado no texto corrido.

Não sozinho. Ele lê bem no branco, mas é próximo demais do texto preto para quem não enxerga o azul, e em fundos escuros quase desaparece.

Sim, dentro de parágrafos. A WCAG 1.4.1 diz que só a cor não pode marcar um link, a menos que ele se destaque claramente do texto ao redor, e o sublinhado remove essa dependência.

Roxo. Os navegadores usam #551A8B por padrão, e design systems como o IBM Carbon usam #8A3FFC em telas claras e #BE95FF nas escuras.

Um azul mais claro. #78A9FF lê fácil sobre #161616, onde #0000FF é escuro demais para ler em tamanho de texto.

Só se você o substituir por outro indicador visível. Removê-lo sem nada no lugar falha na WCAG 2.4.7, foco visível.

Fontes

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