Addaw, ir a inicio Donar

Técnica ARIA WCAG 2.2

ARIA13Dar nombre a las regiones de la página con aria-labelledby

Nombre oficial en el W3C: Usar aria-labelledby para nombrar regiones (landmarks)

En pocas palabras

Muchas regiones de la página, como un menú o una barra lateral, ya tienen un título visible. Con aria-labelledby, ese título se convierte en el nombre de la región. Así el lector de pantalla anuncia, por ejemplo, «Agenda cultural, complementario», y la persona distingue cada zona.

Por qué es importante

Los lectores de pantalla (programas que leen en voz alta la pantalla) muestran una lista de las regiones de la página. Si hay tres zonas «navegación» sin nombre, la persona no sabe cuál es el menú principal, cuál el de la sección y cuál el del pie.

Al usar el título que ya se ve, todos reciben el mismo nombre. Además, si alguien cambia el título, el nombre de la región cambia con él.

Cómo se hace

  1. Localice las regiones que tienen un título visible, normalmente un encabezado.
  2. Dé a ese título un id único, por ejemplo id="tit-agenda".
  3. Añada a la región aria-labelledby="tit-agenda". Sirve en <nav>, <aside>, <section>, <form> y en elementos con un role de región.
  4. Una <section> solo aparece como región cuando tiene nombre. Este atributo se lo da.
  5. Use títulos breves y no repita el tipo de región: «Agenda cultural», no «Región de agenda cultural».
  6. Si no hay título visible, use aria-label (técnica ARIA6).

Cómo comprobarlo

  1. Busque en el código las regiones con aria-labelledby.
  2. Compruebe que el id indicado existe en la página.
  3. Lea el texto al que apunta y confirme que describe bien esa zona.
  4. Abra la lista de regiones del lector de pantalla (en NVDA, Insert + F7; en VoiceOver, el rotor). Cada región debe aparecer con su nombre.

Ejemplo

Barra lateral cuyo nombre sale de su encabezado visible.

<aside aria-labelledby="tit-agenda">
  <h2 id="tit-agenda">Agenda cultural</h2>
  <ul>
    <li><a href="/agenda/teatro">Teatro en la plaza Mayor</a></li>
    <li><a href="/agenda/concierto">Concierto de la banda municipal</a></li>
  </ul>
</aside>
Ver el texto completo del W3C (traducción al español)

Esta es una traducción no oficial al español de la técnica ARIA13 de Techniques for WCAG 2.2, del W3C. Puede contener errores. El único documento oficial y normativo es la versión original en inglés, publicada en el sitio web del W3C.

Aplicabilidad

Tecnologías que admiten Accessible Rich Internet Applications (WAI-ARIA).

Descripción

El propósito de esta técnica es proporcionar nombres para las regiones de una página que puedan ser leídos por las tecnologías de asistencia. El atributo aria-labelledby ofrece una forma de asociar una sección de la página marcada como región (region o landmark) con un texto presente en la página que la etiqueta.

Las funciones de región (o «regiones», landmarks) identifican por software las secciones de una página. Las regiones ayudan a quienes usan tecnologías de asistencia a orientarse en una página y a desplazarse con facilidad a sus distintas secciones.

Al igual que aria-describedby, aria-labelledby puede aceptar varios id para apuntar a otras zonas de la página mediante una lista separada por espacios. También está limitado a id para definir estos conjuntos.

Ejemplos

Identificar una región con texto de la página

A continuación se muestra un ejemplo de aria-labelledby usado en una región complementary. La zona del documento a la que pertenece el encabezado puede marcarse con la propiedad aria-labelledby, cuyo valor es el id del encabezado.

<div role="complementary" aria-labelledby="hdr1">
  <h1 id="hdr1">Top News Stories</h1>
  ...
</div>

Identificación de regiones de tipo application

El siguiente fragmento de código corresponde a regiones de tipo application con prosa estática. Si tiene una región de tipo application y dispone de un texto descriptivo estático, incluya en la región application una referencia aria-describedby para asociar la aplicación con el texto estático, como se muestra aquí:

<div role="application" aria-labelledby="p123" aria-describedby="info">
   <h1 id="p123">Calendar<h1>
   <p id="info">This calendar shows the game schedule for the Boston Red Sox.</p>
   <div role="grid">
    ...
   </div>
</div>

Pruebas

Procedimiento

  1. Examinar cada elemento con el atributo role=region o con una función de región (landmark) en el que también esté presente un atributo aria-labelledby.
  2. Comprobar que el valor del atributo aria-labelledby es el id de un elemento de la página.
  3. Comprobar que el texto del elemento con ese id etiqueta con precisión la sección de la página.

Resultados esperados

  • Las comprobaciones n.º 2 y n.º 3 son verdaderas.

Recursos

Cómo lo comprobamos en ADDAW

En cada auditoría de ADDAW revisamos esta técnica página a página y le entregamos los errores con capturas y la forma de corregirlos.

Solicitar una auditoría

Basado en la técnica ARIA13 del W3C (WCAG 2.2). Explicación y ejemplos: ADDAW. Traducción no oficial del texto del W3C © W3C, licencia de documentos del W3C. ¿Ha visto un error? Escríbanos.