Skip to main content
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →
Acessibilidade6 minutos de leitura·Updated Outubro de 2026·Pela equipe ExodeUI

Estados de foco acessíveis: projetando o foco visível do teclado

Como projetar o foco visível do teclado que atenda ao WCAG 2.2: o que 2.4.7 e 2.4.13 exigem, como :focus-visible funciona e dicas de design para anéis de foco.

Resumo direto e definição

Ponto principal

Cada elemento interativo precisa de um indicador de foco claramente visível para usuários de teclado; WCAG 2.2 requer nível AA (2.4.7). Para um indicador forte, busque a orientação AAA do WCAG (2.4.13): pelo menos a área de um contorno de 2 pixels CSS ao redor do elemento com contraste de 3:1 entre os estados focado e não focado. Use :focus-visible para mostrar anéis para usuários de teclado sem mostrá-los a cada clique do mouse.

Por que os estados de foco são importantes

Pessoas que usam teclado, dispositivo móvel ou ampliador de tela movem-se pela página, um elemento por vez. O indicador de foco é a única maneira de saberem onde estão. Remover o contorno do navegador sem substituí-lo é uma das falhas de acessibilidade mais comuns.

Dois conjuntos de botões: um sem foco visível e outro onde o botão Salvar em foco tem um anel azul claro
Sem um indicador de foco visível, os usuários do teclado não conseguem saber qual botão está ativo.

O que WCAG 2.2 requer

O critério de sucesso 2.4.7 Foco Visível (nível AA) requer que qualquer interface operável por teclado tenha um modo onde o indicador de foco esteja visível. WCAG 2.2 adicionou 2.4.13 Focus Appearance (nível AAA), que descreve um indicador forte: pelo menos tão grande quanto a área de um perímetro de 2 pixels de espessura CSS do componente, com uma taxa de contraste de pelo menos 3:1 entre os estados focado e não focado.

:foco-visível

MDN explica que :focus-visible se aplica quando um elemento tem foco e o navegador decide, usando heurística, que o foco deve ser mostrado, normalmente para uso do teclado. Isso permite mostrar anéis de foco fortes para usuários de teclado, sem mostrá-los sempre que alguém clica em um botão com o mouse. Use-o em vez de remover contornos.

Projetando o anel

Orientação prática:

  • Use um contorno ou anel com deslocamento para que não se misture ao elemento.
  • Verifique o contraste em cada plano de fundo em que o elemento pode aparecer; um anel bicolor ajuda.
  • Mantenha-o consistente entre os componentes, definidos como um token no seu sistema de design.
  • Nunca confie apenas em uma mudança sutil de cor.
  • Certifique-se de que o elemento em foco não esteja oculto atrás de cabeçalhos fixos.

Foco e movimento

Um anel de foco pode aparecer com uma transição muito curta, mas deve parecer instantâneo. Evite animações que atrasem o anel ou movam o elemento e, para componentes personalizados desenhados em tela, certifique-se de que ainda haja um elemento real focável na página para que os usuários do teclado possam acessá-lo.

Princípios-chave para lembrar

  • O foco visível é necessário em WCAG AA (2.4.7)
  • 2.4.13 (AAA): área de perímetro de 2px e alteração de contraste de 3:1
  • Use :focus-visible em vez de remover contornos
  • Defina o anel de foco como um token de design
  • A IU renderizada em tela precisa de elementos reais focalizáveis

Perguntas frequentes

Fontes

  1. Understanding SC 2.4.7: Focus Visible — W3C WAI
  2. Understanding SC 2.4.13: Focus Appearance — W3C WAI
  3. :focus-visible — Documentos da Web MDN

Guias e exemplos relacionados

Cada estado, incluindo foco

Navegue por componentes interativos gratuitos com estados de foco, pressionado e foco projetados.

Procure componentes ativos
Experimente grátis