Acordeões com Button e aria-expanded
Crie uma área expansível que anuncie quando está aberta ou fechada.
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.
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
- O padrão de abas: tablist, tab, tabpanel
- Navegação entre abas com as teclas de seta
- Acordeões com Button e aria-expanded
- Área expansível versus abas: escolha a opção certa