Accordéons avec Button et aria-expanded
Créez une zone dépliable qui annonce son état ouvert ou fermé.
Accordéons avec Button et aria-expanded est une leçon Web Accessibility Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Web Accessibility Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Web Accessibility Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
What an Accordion Does
An accordion is a stack of headings that expand and collapse to reveal content. Each section can open on its own, unlike tabs.
The Header Is a Button
Make every accordion header a real button. Buttons are focusable, work with Enter and Space, and announce themselves to screen readers for free.
<button>Shipping details</button>A div Header Fails
Watch out for a clickable div as a header. It is not focusable, ignores the keyboard, and tells assistive tech nothing about its job.
<div onclick="toggle()">Shipping details</div>aria-expanded Is the Key
Add aria-expanded to the button so screen readers announce collapsed or expanded. This single state is what makes an accordion accessible.
<button aria-expanded="false">Shipping details</button>Toggle the State on Click
When the user activates the button, flip aria-expanded between true and false. Keep it in sync with whether the panel is actually showing.
btn.setAttribute("aria-expanded", String(open));Point at the Region
Use aria-controls on the button, set to the id of the panel it opens. Users learn which content this header reveals.
<button aria-controls="sec1" aria-expanded="false">More</button>Hide the Collapsed Panel
When a section is closed, give its panel the hidden attribute. That removes it from the page and from the accessibility tree until reopened.
<div id="sec1" hidden>Panel content</div>Wrap Headers in Real Headings
Place each button inside a real heading like h3. Screen reader users can then jump section to section using heading navigation.
<h3><button aria-expanded="false">FAQ</button></h3>No ARIA on Single Disclosures
A lone show-and-hide is a disclosure, not a tab set. It needs only a button with aria-expanded, no tablist or tab roles at all.
Keep Focus on the Button
After toggling, leave focus on the button the user pressed. Do not steal focus into the panel; that surprises keyboard users.
Why aria-expanded Wins
Because the button carries its own state, a screen reader says expanded or collapsed every time. Users always know what activating it will do.
Quick Check
You are building an accordion header that opens and closes a section. Which attribute makes its state accessible?
Recap: Accessible Accordions
You learned an accordion header is a button with aria-expanded, wrapped in a heading. Toggle the state, point at the panel, and hide it when closed.
Questions Fréquemment Posées
La leçon « Accordéons avec Button et aria-expanded » est-elle gratuite ?
Oui — le texte complet de « Accordéons avec Button et aria-expanded » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Web Accessibility Academy, passe à CoddyKit PRO. Le cours Web Accessibility Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Accordéons avec Button et aria-expanded » ?
Créez une zone dépliable qui annonce son état ouvert ou fermé. Tu pratiques Web Accessibility Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Web Accessibility Academy ?
Aucune expérience préalable n'est requise. Web Accessibility Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Accordéons avec Button et aria-expanded » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Web Accessibility Academy ?
Oui. Chaque leçon Web Accessibility Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Le modèle des onglets : tablist, tab, tabpanel
- Navigation entre les onglets avec les touches fléchées
- Accordéons avec Button et aria-expanded
- Zone dépliable ou onglets : choisir le bon modèle