Acessibilidade na Web: Guia Completo sobre ARIA e Roles

A acessibilidadeInserindo Imagens: `<img>`, Formatos, `alt` e `title`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. 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 componentesTags e Elementos: Sintaxe e HierarquiaTags 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-labelLabels e Fieldsets: Melhorando a UsabilidadeLabels 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. e o 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`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.. Quando uma pessoa cega ou com baixa visão navega em um site, o leitor de tela interpreta tanto o HTMLO que é HTML? Fundamentos, História e Evolução da LinguagemO 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 elementosTags e Elementos: Sintaxe e HierarquiaTags 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.

Atributo aria-label🔗

O aria-labelLabels e Fieldsets: Melhorando a UsabilidadeLabels 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. é 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 acessibilidadeInserindo Imagens: `<img>`, Formatos, `alt` e `title`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 JavaScriptFunçõ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-labelLabels e Fieldsets: Melhorando a UsabilidadeLabels 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", um leitor de tela consegue informar ao usuário qual é o objetivo daquele botão.

Quando usar:

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 HierarquiaTags 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:

<!-- 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 divDivs e Spans: Uso e DiferençasDivs 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 HierarquiaTags 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

roleFinalidade
buttonElemento que executa uma ação ao ser clicado ou acionado.
navigationSeção de links de navegação (geralmente um menu de links).
dialogRepresenta uma caixa de diálogo ou modal.
bannerIdentifica a área de cabeçalho da página ou site.
mainIndica o conteúdo principal de uma página.
contentinfoRodapé 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 usar role 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🔗

Exemplo Prático Completo🔗

Abaixo, um pequeno exemplo de como podemos tornar um componente simples mais acessível usando aria-labelLabels e Fieldsets: Melhorando a UsabilidadeLabels 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. e 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:

Conclusão🔗

Adicionar atributos ARIA como aria-labelLabels e Fieldsets: Melhorando a UsabilidadeLabels 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. e 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`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.. 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 HierarquiaTags 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-labelLabels e Fieldsets: Melhorando a UsabilidadeLabels 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. e 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🔗

Compartilhar artigo

Artigos Relacionados