SVG Acessível
Criar SVGs acessíveis: ARIA, títulos e descrições para accessibility
O que você vai aprender
- Adicionar títulos e descrições acessíveis a elementos SVG (
, ) - Configurar role e aria-label para SVGs usados como ícones ou imagens
- Garantir contraste adequado entre elementos SVG e fundo
- Testar SVG com leitores de tela para verificar a experiência acessível
SVG Acessível🔗
Por Que Acessibilidade?🔗
SVGs acessíveis funcionam com leitores de tela e são navegáveis por teclado.
Elementos Essenciais🔗
title🔗
<svg>
<title>Logo da Empresa</title>
...
</svg>desc🔗
<svg>
<title>Logo da Empresa</title>
<desc>Logo consistindo de um triângulo azul com as letras XYZ no centro</desc>
...
</svg>ARIA Roles🔗
role="img"🔗
<svg role="img" aria-label="Ícone de menu">
...
</svg>role="presentation"🔗
Para SVGs decorativos:
<svg role="presentation">
...
</svg>Boas Práticas🔗
Não Dependa Apenas de Cor🔗
- Use texto ou ícones com labels
- Contraste suficiente
- Não use cor como único indicador
Navegação por Teclado🔗
<svg>
<a xlink:href="/pagina">
<text tabindex="0">Link</text>
</a>
</svg>Teste com Leitores de Tela🔗
- Use NVDA (Windows)
- Use VoiceOver (macOS)
- Use axe DevTools
Checklist de Acessibilidade🔗
-
<title>presente -
<desc>para SVGs complexos -
role="img"ourole="presentation" -
aria-labelquando necessário - Contraste de cores adequado
- Testado com leitor de tela
SVGs inline em HTML herdam estilos do documento. Use aria-hidden="true" em SVGs decorativos para evitar redundância.
Você aprendeu
- Elementos
e fornecem contexto para leitores de tela - role='img' + aria-label tornam SVGs acessíveis quando usados como ícones
- Contraste WCAG AA (4.5:1) deve ser mantido entre texto/elementos SVG e o fundo