Aprenda HTML: Estrutura, Tags, Elementos e Boas Práticas
Acessibilidade na Web: Guia Completo sobre ARIA e Roles
A acessibilidadeInserindo Imagens: `<img>`, Formatos, `alt` e `title`Aprenda a inserir imagens em HTML utilizando a tag <img> com foco em acessibilidade e performance, explorando atributos, formatos e melhores práticas. na web tem ganhado cada vez mais relevância à medida que crescem as iniciativas para tornar o conteúdo online disponível a todas as pessoas, incluindo aquelas com deficiências visuais, auditivas, motoras ou cognitivas. Nesse contexto, a WAI-ARIA (Web Accessibility Initiative – Accessible Rich Internet Applications) oferece um conjunto de atributos que ajudam desenvolvedores a criar páginas e componentes
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. mais acessíveis. Entre esses atributos, destacam-se o
aria-label
e o Labels e Fieldsets: Melhorando a UsabilidadeAprenda como aplicar labels e fieldsets em formulários para melhorar a acessibilidade, otimizar a usabilidade e potencializar o SEO do seu site.
role
, que veremos em detalhes neste tutorial.
Por que a ARIA é importante?🔗
A ARIA permite adicionar informações semânticas e de usabilidade para tecnologias assistivas, como leitores de telaInserindo Imagens: `<img>`, Formatos, `alt` e `title`Aprenda a inserir imagens em HTML utilizando a tag <img> com foco em acessibilidade e performance, explorando atributos, formatos e melhores práticas.. Quando uma pessoa cega ou com baixa visão navega em um site, o leitor de tela interpreta tanto o HTML
O que é HTML? Fundamentos, História e Evolução da LinguagemDescubra a origem e evolução do HTML, entendendo sua importância na estrutura da web e como influenciou o desenvolvimento digital moderno. quanto os atributos ARIA, fornecendo descrições mais precisas dos elementos
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. na página.
- Sem ARIA: um leitor de tela pode não conseguir dizer ao utilizador se um elemento
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. é um botão, um link ou apenas texto.
- Com ARIA: o desenvolvedor pode indicar claramente papéis (funções) e rótulos, permitindo que a pessoa compreenda melhor o objetivo de cada elemento
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis..
Atributo aria-label
🔗
O aria-label
é utilizado para fornecer um rótulo acessível a um elemento que não possui um texto visível associado ou cujo texto não descreve a funcionalidade do elemento de forma clara. Ele aparece “invisível” para a maioria dos usuários, mas leitoras de tela e outras ferramentas de acessibilidadeLabels e Fieldsets: Melhorando a UsabilidadeAprenda como aplicar labels e fieldsets em formulários para melhorar a acessibilidade, otimizar a usabilidade e potencializar o SEO do seu site.
Inserindo Imagens: `<img>`, Formatos, `alt` e `title`Aprenda a inserir imagens em HTML utilizando a tag <img> com foco em acessibilidade e performance, explorando atributos, formatos e melhores práticas. fazem uso dessas informações.
Exemplo de uso:
<!-- Botão com ícone e sem texto -->
<button aria-label="Abrir menu de navegação">
<img src="icone-menu.svg" alt="" />
</button>
Nesse exemplo, o ícone do menu pode não ter texto visível para indicar sua funçãoFunções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas.. Com o
aria-label
, um leitor de tela consegue informar ao usuário qual é o objetivo daquele botão.Labels e Fieldsets: Melhorando a UsabilidadeAprenda como aplicar labels e fieldsets em formulários para melhorar a acessibilidade, otimizar a usabilidade e potencializar o SEO do seu site.="Abrir menu de navegação"
Quando usar:
- Quando o elemento
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. não tem um texto visível adequado (como ícones, botões vazios ou imagens gráficas sem legenda).
- Quando o rótulo visível não reflete de forma clara a ação ou a finalidade do elemento
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis..
Atributo role
🔗
O role
é um atributo que define ou sobrepõe o papel semântico de um elemento. Ele indica aos usuários de tecnologias assistivas qual é a função daquele elementoTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. em termos de interface, permitindo uma navegação mais intuitiva.
Alguns exemplos comuns de role
:
button
: Indica que o elementoTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. se comporta como um botão.
navigation
: Indica uma área de navegação.dialog
: Indica uma caixa de diálogo ou pop-up.banner
,main
,contentinfo
, entre muitos outros.
<!-- Div comportando-se como um botão -->
<div role="button" aria-label="Enviar mensagem" tabindex="0">
Clique aqui para enviar
</div>
No exemplo acima, a div
Divs e Spans: Uso e DiferençasAprenda a usar divs e spans para estruturar páginas HTML. Descubra técnicas essenciais e dicas de boas práticas para criar layouts organizados.
recebe o papel de botão (
role="button"
) e ganha foco com tabindex="0"
. Dessa forma, um leitor de tela a interpretará como botão, e o usuário poderá navegá-la e acioná-la da mesma forma que acionaria um elementoTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis.
<button>
.
Tabela de alguns valores de role
role | Finalidade |
---|---|
button | Elemento que executa uma ação ao ser clicado ou acionado. |
navigation | Seção de links de navegação (geralmente um menu de links). |
dialog | Representa uma caixa de diálogo ou modal. |
banner | Identifica a área de cabeçalho da página ou site. |
main | Indica o conteúdo principal de uma página. |
contentinfo | Rodapé ou seção com informações de conteúdo e direitos autorais. |
Observação: Muitos desses papéis já são implícitos em tags semânticas do HTML5 (como<nav>
e<main>
). É recomendável usarrole
apenas se a tag usada não fornecer a semântica necessária ou se você precisar de um comportamento específico para tecnologias assistivas.
Boas Práticas🔗
- Não exagere: Use somente os atributos ARIA realmente necessários. Muitos elementos HTML
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. já fornecem semântica suficiente por si só.
- Mantenha coerência: Se um elemento
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. tem seu papel alterado com
role
, deve se comportar como tal (ex.:role="button"
deve ser acionado por teclado, mouse, etc.). - Forneça rótulos claros: Textos em
aria-label
precisam ser diretos e informativos, descrevendo com objetividade a ação ou o conteúdo do elementoLabels e Fieldsets: Melhorando a UsabilidadeAprenda como aplicar labels e fieldsets em formulários para melhorar a acessibilidade, otimizar a usabilidade e potencializar o SEO do seu site.
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis..
- Tabindex: Ao usar
role="button"
em tags que não são botões nativos, lembre-se de tornar o elementoTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. focável com
tabindex="0"
e trate eventos de teclado (Enter/Espaço).
Exemplo Prático Completo🔗
Abaixo, um pequeno exemplo de como podemos tornar um componente simples mais acessível usando aria-label
e Labels e Fieldsets: Melhorando a UsabilidadeAprenda como aplicar labels e fieldsets em formulários para melhorar a acessibilidade, otimizar a usabilidade e potencializar o SEO do seu site.
role
:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8" />
<title>Exemplo de Acessibilidade ARIA</title>
</head>
<body>
<!-- Ícone de busca sem texto visível -->
<button aria-label="Procurar no site">
<img src="icone-busca.svg" alt="" />
</button>
<!-- Área de navegação usando role -->
<div role="navigation" aria-label="Menu principal">
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<!-- Modal simulada com ARIA -->
<div role="dialog" aria-label="Detalhes do produto" aria-modal="true">
<p>Exibindo informações detalhadas sobre o produto...</p>
</div>
</body>
</html>
Observe que:
- A tag
Tags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis.
<button>
temaria-label
para descrever seu objetivo (“Procurar no site”).Labels e Fieldsets: Melhorando a UsabilidadeAprenda como aplicar labels e fieldsets em formulários para melhorar a acessibilidade, otimizar a usabilidade e potencializar o SEO do seu site.
- A
<div>
comrole="navigation"
identifica semântica de navegação. - A
<div>
comrole="dialog"
age como uma caixa de diálogo, indicando a possibilidade de uma janela modal para leitura de tela.
Conclusão🔗
Adicionar atributos ARIA como aria-label
e Labels e Fieldsets: Melhorando a UsabilidadeAprenda como aplicar labels e fieldsets em formulários para melhorar a acessibilidade, otimizar a usabilidade e potencializar o SEO do seu site.
role
torna o conteúdo do seu site mais compreensível para todos, especialmente para usuários que dependem de leitores de telaInserindo Imagens: `<img>`, Formatos, `alt` e `title`Aprenda a inserir imagens em HTML utilizando a tag <img> com foco em acessibilidade e performance, explorando atributos, formatos e melhores práticas.. Esses atributos complementam a semântica do HTML, garantindo que cada elemento seja percebido e utilizado corretamente nas mais diversas situações.
Pratique inserir esses atributos nos elementosTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. que julgar necessários e teste usando softwares de tecnologia assistiva, assegurando que seu site ofereça uma experiência inclusiva e agradável.
Gostou do conteúdo? Faça seus testes com aria-label
e Labels e Fieldsets: Melhorando a UsabilidadeAprenda como aplicar labels e fieldsets em formulários para melhorar a acessibilidade, otimizar a usabilidade e potencializar o SEO do seu site.
role
e perceba como eles podem transformar a forma como usuários com deficiências navegam pela sua página!
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- W3C Accessibility: www.w3.org/WAI/standards-guidelines/