Web Accessibility Academy · Lección

Acordeones con button y aria-expanded

Cree un disclosure que anuncie si está abierto o cerrado.

Lección 3 de 413 pasos

Acordeones con button y aria-expanded es una lección gratuita de Web Accessibility Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Web Accessibility Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Web Accessibility Academy incluye 4 lecciones en total.

Qué hace un acordeón

Un acordeón es un conjunto de encabezados que se expanden y contraen para mostrar contenido. Cada sección puede abrirse por separado, a diferencia de las pestañas.

El encabezado es un botón

Convierta cada encabezado del acordeón en un button real. Los botones se pueden enfocar, funcionan con Enter y Space y se anuncian automáticamente a los lectores de pantalla.

<button>Shipping details</button>

Un encabezado div no funciona

Tenga cuidado con usar un div en el encabezado como elemento pulsable. No se puede enfocar, ignora el teclado y no informa a la tecnología de asistencia sobre su función.

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

aria-expanded es la clave

Añada aria-expanded al botón para que los lectores de pantalla anuncien si está contraído o expandido. Este único estado es lo que hace accesible un acordeón.

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

Cambiar el estado al hacer clic

Cuando el usuario active el botón, cambie aria-expanded entre true y false. Manténgalo sincronizado con la visibilidad real del panel.

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

Señalar la región

Use aria-controls en el botón y asígnele el id del panel que abre. Así, los usuarios sabrán qué contenido muestra este encabezado.

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

Ocultar el panel contraído

Cuando una sección esté cerrada, añada el atributo hidden a su panel. Esto lo elimina de la página y del árbol de accesibilidad hasta que vuelva a abrirse.

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

Envolver los encabezados en títulos reales

Coloque cada botón dentro de un encabezado real, como h3. Así, los usuarios de lectores de pantalla podrán saltar de una sección a otra mediante la navegación por encabezados.

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

Sin ARIA en divulgaciones individuales

Un único elemento para mostrar y ocultar es una disclosure, no un conjunto de pestañas. Solo necesita un botón con aria-expanded; no necesita roles tablist ni tab.

Mantener el foco en el botón

Después de cambiar el estado, deje el foco en el button que pulsó el usuario. No lleve el foco al panel; esto desorienta a los usuarios de teclado.

Por qué triunfa aria-expanded

Como el botón contiene su propio state, el lector de pantalla anuncia «expandido» o «contraído» cada vez. Los usuarios siempre saben qué ocurrirá al activarlo.

Comprobación rápida

Está creando un encabezado de acordeón que abre y cierra una sección. ¿Qué atributo hace accesible su estado?

Recapitulación: acordeones accesibles

Ha aprendido que el encabezado de un acordeón es un button with aria-expanded dentro de un encabezado. Cambie el estado, señale el panel y ocúltelo cuando esté cerrado.

Gratis para empezar

Aprende HTML con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «Acordeones con button y aria-expanded» es gratis?

Sí — el texto completo de «Acordeones con button y aria-expanded» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Web Accessibility Academy, actualiza a CoddyKit PRO. El curso de Web Accessibility Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Acordeones con button y aria-expanded»?

Cree un disclosure que anuncie si está abierto o cerrado. Practicas Web Accessibility Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Web Accessibility Academy?

No se requiere experiencia previa. Web Accessibility Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Acordeones con button y aria-expanded»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Web Accessibility Academy?

Sí. Cada lección de Web Accessibility Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. El patrón de pestañas: tablist, tab, tabpanel
  2. Navegación entre pestañas con las teclas de flecha
  3. Acordeones con button y aria-expanded
  4. Disclosure frente a pestañas: elija el adecuado
← Volver a Web Accessibility Academy