Web Accessibility Academy · Aula

Acordeões com Button e aria-expanded

Crie uma área expansível que anuncie quando está aberta ou fechada.

Aula 3 de 413 etapas

Acordeões com Button e aria-expanded é uma aula grátis de Web Accessibility Academy no CoddyKit. Esta é a aula 3 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.

O que um acordeão faz

Um acordeão é um conjunto de títulos que se expandem e recolhem para revelar conteúdo. Cada seção pode ser aberta individualmente, ao contrário das abas.

O cabeçalho é um botão

Transforme cada cabeçalho do acordeão em um botão de verdade. Botões podem receber foco, funcionam com Enter e Espaço e são anunciados gratuitamente por leitores de tela.

<button>Shipping details</button>

Um cabeçalho div falha

Tenha cuidado com um div clicável usado como cabeçalho. Ele não pode receber foco, ignora o teclado e não informa à tecnologia assistiva qual é sua função.

<div onclick="toggle()">Shipping details</div>

aria-expanded é essencial

Adicione aria-expanded ao botão para que os leitores de tela anunciem se ele está recolhido ou expandido. Esse único estado é o que torna um acordeão acessível.

<button aria-expanded="false">Shipping details</button>

Alterne o estado ao clicar

Quando o usuário ativa o botão, alterne aria-expanded entre true e false. Mantenha esse valor sincronizado com o fato de o painel estar realmente visível.

btn.setAttribute("aria-expanded", String(open));

Aponte para a região

Use aria-controls no botão, definindo-o como o id do painel que ele abre. Assim, os usuários sabem qual conteúdo esse cabeçalho revela.

<button aria-controls="sec1" aria-expanded="false">More</button>

Oculte o painel recolhido

Quando uma seção estiver fechada, adicione o atributo hidden ao painel. Isso o remove da página e da árvore de acessibilidade até que seja reaberto.

<div id="sec1" hidden>Panel content</div>

Envolva os cabeçalhos em títulos reais

Coloque cada botão dentro de um título real, como h3. Assim, usuários de leitores de tela podem passar de uma seção para outra usando a navegação por títulos.

<h3><button aria-expanded="false">FAQ</button></h3>

Não use ARIA em divulgações isoladas

Uma única área que mostra e oculta conteúdo é uma divulgação, não um conjunto de abas. Ela precisa apenas de um botão com aria-expanded, sem papéis de tablist ou tab.

Mantenha o foco no botão

Depois de alternar o estado, mantenha o foco no botão pressionado pelo usuário. Não mova o foco para o painel; isso surpreende usuários de teclado.

Por que aria-expanded é melhor

Como o botão traz seu próprio estado, o leitor de tela anuncia “expandido” ou “recolhido” todas as vezes. Os usuários sempre sabem o que acontecerá ao ativá-lo.

Verificação rápida

Você está criando um cabeçalho de acordeão que abre e fecha uma seção. Qual atributo torna o estado dele acessível?

Recapitulação: acordeões acessíveis

Você aprendeu que o cabeçalho de um acordeão é um botão com aria-expanded, envolvido por um título. Alterne o estado, aponte para o painel e oculte-o quando estiver fechado.

Grátis para começar

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 “Acordeões com Button e aria-expanded” é grátis?

Sim — o texto completo de “Acordeões com Button e aria-expanded” é 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 “Acordeões com Button e aria-expanded”?

Crie uma área expansível que anuncie quando está aberta ou fechada. 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 3 de 4.

Quanto tempo leva a aula “Acordeões com Button e aria-expanded”?

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

  1. O padrão de abas: tablist, tab, tabpanel
  2. Navegação entre abas com as teclas de seta
  3. Acordeões com Button e aria-expanded
  4. Área expansível versus abas: escolha a opção certa
← Voltar para Web Accessibility Academy