aria-label versus aria-labelledby
Escolha entre um nome inserido diretamente e um nome referenciado.
aria-label versus aria-labelledby é uma aula grátis de Web Accessibility Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Web Accessibility Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Web Accessibility Academy inclui 4 aulas no total.
Duas formas de nomear
Quando a nomeação nativa não é suficiente, você tem duas ferramentas ARIA: aria-label para uma string inserida diretamente e aria-labelledby para apontar para um texto existente.
aria-label contém uma string
Use aria-label quando não houver texto visível para reutilizar. Insira o nome falado diretamente no próprio elemento.
<button aria-label="Search">🔍</button>aria-labelledby contém um ID
Use aria-labelledby quando um texto visível na página puder servir como nome. Seu valor é o id desse elemento, não uma string.
<h2 id="sec">Billing</h2>
<section aria-labelledby="sec">...</section>Prefira texto visível
Use primeiro aria-labelledby. Reutilizar o texto exibido na tela mantém automaticamente sincronizados o nome falado e o nome visível.
labelledby pode combinar IDs
Forneça vários ids separados por espaços a aria-labelledby, e o navegador unirá o texto deles, nessa ordem, em um único nome.
<span aria-labelledby="verb noun">Go</span>
<span id="verb">Delete</span> <span id="noun">file</span>labelledby prevalece sobre label
Quando ambos estão presentes, aria-labelledby vence. O navegador ignora aria-label por completo; portanto, nunca espere que eles sejam combinados.
Um elemento pode nomear a si mesmo
Com aria-labelledby, um elemento pode referenciar seu próprio id, o que é útil para nomear uma região usando o texto do seu título visível.
label é invisível
Um aria-label nunca aparece na tela. Ele altera apenas o que a tecnologia assistiva anuncia, portanto os usuários que enxergam não veem nenhuma diferença.
Cuidado com a armadilha da tradução
Um aria-label é texto simples que os tradutores de páginas frequentemente ignoram, enquanto labelledby reutiliza conteúdo visível que é traduzido.
Os IDs precisam corresponder exatamente
O id de um aria-labelledby precisa corresponder ao id de um elemento real. Um erro de digitação deixa silenciosamente o elemento sem nenhum nome calculado.
Escolha pela fonte de verdade
Pergunte onde o nome está. Se ele já estiver na tela, use aria-labelledby; se existir apenas para a tecnologia assistiva, use aria-label.
Verificação rápida
Uma seção já exibe um título h2. Como você deve nomear a seção?
Recapitulação: label ou labelledby
Você aprendeu a usar aria-labelledby para texto visível existente e aria-label para nomes inseridos diretamente e invisíveis, sem esperar que eles sejam combinados. 🎯
Aprenda HTML com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “aria-label versus aria-labelledby” é grátis?
Sim — o texto completo de “aria-label versus aria-labelledby” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Web Accessibility Academy, atualize para CoddyKit PRO. O curso de Web Accessibility Academy inclui 4 aulas no total.
O que vou aprender em “aria-label versus aria-labelledby”?
Escolha entre um nome inserido diretamente e um nome referenciado. Você pratica Web Accessibility Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Web Accessibility Academy?
Nenhuma experiência prévia é necessária. Web Accessibility Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “aria-label versus aria-labelledby”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Web Accessibility Academy?
Sim. Cada aula de Web Accessibility Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O cálculo do nome acessível, desmistificado
- aria-label versus aria-labelledby
- aria-describedby para contexto adicional
- Erros comuns de nomeação que silenciam controles