0Pricing
Web Accessibility Academy · Lección

Menu, Menubar y el botón de menú

Implemente menús de aplicaciones con los roles y las teclas correctos.

Menu, Menubar y el botón de menú 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.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

What ARIA Menus Are

An ARIA menu is an app-style list of commands, like the File or Edit menus in desktop software, not your site's main navigation. 🍔

Not for Site Navigation

Page links belong in a nav with normal anchors. Use the menu role only for true command sets, or you will confuse screen reader users.

Three Core Roles

The pattern uses role="menu" for the container, role="menuitem" for each command, and role="menubar" for a horizontal always-visible bar.

<ul role="menu">
  <li role="menuitem">Cut</li>
  <li role="menuitem">Copy</li>
</ul>

The Menu Button

A menu button is a real button that opens a menu. Give it aria-haspopup="true" so users know a popup is coming.

<button aria-haspopup="true"
  aria-expanded="false">Actions</button>

Track Open State

The menu button toggles aria-expanded between true and false as its menu opens and closes, just like any disclosure control.

Move Focus on Open

When the menu opens, move focus into it, onto the first menu item. The button no longer holds focus while the menu is active.

Arrow Keys Inside

Inside a vertical menu, Up and Down Arrow move between items. In a menubar, Left and Right Arrow move along the top-level bar.

Roving tabindex

Only one menu item is in the tab order at a time. With roving tabindex, the focused item has tabindex 0 and the rest have -1.

Activate and Close

Enter or Space runs the focused command and closes the menu. The menu should dismiss itself after a command is chosen.

Escape Returns Focus

Escape closes the menu without acting and sends focus back to the menu button, so the user lands exactly where they started.

Submenus Need More

A flyout submenu uses aria-haspopup on its parent menuitem, and Right Arrow opens it while Left Arrow closes it and returns.

Quick Check

You add a button that opens a list of commands. What signals to assistive tech that a menu will appear?

Recap

Menus are for commands, not page links: open with a haspopup button, move focus in, navigate with arrows and roving tabindex, and let Escape return focus. ✅

Preguntas frecuentes

¿La lección «Menu, Menubar y el botón de menú» es gratis?

Sí — el texto completo de «Menu, Menubar y el botón de menú» 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 «Menu, Menubar y el botón de menú»?

Implemente menús de aplicaciones con los roles y las teclas correctos. 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 «Menu, Menubar y el botón de menú»?

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. Lectura de la APG: patrones, teclas y ejemplos
  2. Combobox y autocompletado bien implementados
  3. Menu, Menubar y el botón de menú
  4. Treegrid y otros patrones avanzados
← Volver a Web Accessibility Academy