Técnica HTML WCAG 2.2
H101Usar elementos semánticos de HTML para identificar regiones de una página
En resumen
Esta técnica explica cómo los elementos header, nav, main, aside, footer, section y form crean regiones (landmarks) de forma implícita, sin necesidad de añadir roles ARIA. Gracias a ellas, quienes usan lectores de pantalla pueden saltar directamente a la zona de la página que les interesa, por ejemplo al contenido principal o al menú. Aplíquela al estructurar cualquier página web.
Ejemplo práctico
La plantilla básica de una sede web municipal (cabecera, menú, contenido y pie) suele maquetarse solo con elementos div. Con los elementos semánticos de HTML, esas zonas pasan a ser regiones a las que se puede saltar directamente.
Así no: Plantilla maquetada solo con div
Cabecera, menú, contenido y pie son div con clases. Visualmente se distinguen, pero no existe ninguna región: con un lector de pantalla no se puede saltar al menú ni al contenido principal, y hay que recorrer todo desde el principio.
<style>
.cabecera { background: #412c56; color: #fff; padding: 8px 12px; font-weight: bold; }
.menu ul { display: flex; gap: 16px; list-style: none; padding: 0; margin: 10px 0; }
.menu a { color: #744E9A; }
.contenido h1 { font-size: 1.4rem; margin: 0 0 .5rem; }
.pie { border-top: 1px solid #767676; font-size: .875rem; padding-top: 8px; }
</style>
<div class="cabecera">Ayuntamiento de Villanueva</div>
<div class="menu">
<ul>
<li><a href="#">Trámites</a></li>
<li><a href="#">Noticias</a></li>
<li><a href="#">Contacto</a></li>
</ul>
</div>
<div class="contenido">
<h1>Cita previa para el padrón</h1>
<p>Reserve día y hora para empadronarse o cambiar de domicilio.</p>
</div>
<div class="pie">© 2026 Ayuntamiento de Villanueva · <a href="#">Accesibilidad</a></div>

La demostración contiene, a propósito, el error de accesibilidad que se explica.
Así sí: header, nav, main y footer
Se cambian los div por header, nav, main y footer, sin tocar el CSS. El navegador expone las regiones banner, navigation, main y contentinfo; el nav lleva aria-label para distinguirlo si se añade otro menú.
<style>
.cabecera { background: #412c56; color: #fff; padding: 8px 12px; font-weight: bold; }
.menu ul { display: flex; gap: 16px; list-style: none; padding: 0; margin: 10px 0; }
.menu a { color: #744E9A; }
.contenido h1 { font-size: 1.4rem; margin: 0 0 .5rem; }
.pie { border-top: 1px solid #767676; font-size: .875rem; padding-top: 8px; }
</style>
<header class="cabecera">Ayuntamiento de Villanueva</header>
<nav class="menu" aria-label="Principal">
<ul>
<li><a href="#">Trámites</a></li>
<li><a href="#">Noticias</a></li>
<li><a href="#">Contacto</a></li>
</ul>
</nav>
<main class="contenido">
<h1>Cita previa para el padrón</h1>
<p>Reserve día y hora para empadronarse o cambiar de domicilio.</p>
</main>
<footer class="pie">© 2026 Ayuntamiento de Villanueva · <a href="#">Accesibilidad</a></footer>
Pruébelo aquí:
Cómo comprobarlo
Errores frecuentes en auditorías
- Plantillas sin main, de modo que el enlace «Saltar al contenido» no tiene una región de destino equivalente.
- Varios nav (menú principal, migas de pan, pie) sin aria-label que los diferencie.
- Usar section para cada bloque esperando que sea una región, cuando sin nombre accesible no se expone como tal.
- Banners de cookies y avisos colocados fuera de cualquier región, al final del body.
Técnica completa: traducción al español del texto del W3C
Aplicabilidad
Tecnologías que admiten ARIA (Accessible Rich Internet Applications).
Descripción
El propósito de esta técnica es proporcionar acceso por software a las secciones de una página web. Las funciones (roles) de región, o «landmarks», identifican por software las secciones de una página. Los navegadores no muestran las regiones directamente a los usuarios, pero las tecnologías de asistencia y las extensiones del navegador las ponen a su disposición para facilitar la navegación hacia las distintas secciones de la página.
Las regiones ofrecen a los usuarios de tecnologías de asistencia una forma sencilla de entender la estructura programática de una página y de saltarse el contenido que no les interesa. Por ejemplo, si la cabecera, la navegación global, el área de contenido principal y el pie de un sitio están marcados como regiones, una persona que usa un lector de pantalla puede saltar fácilmente a la región que le interesa sin tener que recorrer todo el contenido anterior. Una persona ciega que conozca el menú de un sitio de noticias y solo quiera llegar a la noticia principal podría ir directamente a la región «main» y evitar docenas de enlaces del menú. En otra situación, una persona ciega puede querer localizar rápidamente un menú de navegación, y puede hacerlo saltando a la región de navegación.
Las regiones se crean de forma implícita al usar ciertos elementos semánticos de HTML, lo que es distinto de usar ARIA para crear regiones de forma explícita. Estos elementos son:
<header>: cuando unheaderes hijo directo del elementobody, crea una funciónbanner, una región que normalmente contiene el logotipo del sitio, su nombre y otro contenido persistente común a todo el sitio en la parte superior de la página.<nav>: una región que contiene enlaces de navegación a otras páginas o a distintas partes de la misma página.<main>: una región que contiene el contenido principal de la página.<section>: una región que contiene una sección genérica de un documento o aplicación. Un elementosectionno se expone como región a menos que tenga un nombre accesible.<form>: una región del documento que representa un conjunto de elementos asociados a un formulario, algunos de los cuales pueden representar valores editables que se pueden enviar a un servidor para su procesamiento. Un elementoformno se expone como región a menos que tenga un nombre accesible.<aside>: una región del documento que complementa el contenido principal, pero que es independiente y tiene sentido por sí misma.<footer>: una región que, cuando su ancestro más cercano es el elementobody, contiene información sobre la página, como los derechos de autor y enlaces a las declaraciones de privacidad.
Los navegadores web modernos no necesitan que se añada al elemento HTML la función ARIA equivalente para exponerlo como región. Por ejemplo, <main role="main"> es innecesario y debería ser simplemente <main>.
Hay casos en los que una misma función de región puede usarse más de una vez en una página, por ejemplo, con bloques de navegación principal y secundaria. En estos casos, las funciones idénticas deben etiquetarse mediante una técnica válida para etiquetar regiones.
Se recomienda incluir todo el contenido de la página dentro de regiones, para que los usuarios de lectores de pantalla que se apoyan en las regiones para navegar de una sección a otra no pierdan contenido por el camino.
Ejemplos
Regiones sencillas
El siguiente ejemplo muestra cómo se podrían añadir regiones a un documento HTML:
<header> site logo and name, etc. here </header>
<form aria-label="site search"> search functionality here </form>
<nav> a list of navigation links here </nav>
<main> the page's main content here </main>
<section> a sponsor's promotion here </section>
<aside> sidebar content here </aside>
<footer> site contact details, copyright information, etc. here </footer>
Varias regiones del mismo tipo y aria-labelledby
El siguiente ejemplo muestra un enfoque recomendado para añadir regiones a un documento HTML cuando hay dos o más regiones del mismo tipo en la misma página. Por ejemplo, si un elemento nav se usa varias veces en una página, cada instancia puede tener una etiqueta única especificada mediante aria-labelledby:
<nav aria-labelledby="site-nav-heading">
<h2 id="site-nav-heading">Site</h2>
<ul>
<li><a href="/news">News</a></li>
<li><a href="/weather">Weather</a></li>
<li><a href="/sport">Sport</a></li>
</ul>
</nav>
<nav aria-labelledby="related-nav-heading">
<h2 id="related-nav-heading">Related Topics</h2>
<ul>
<li><a href="/local-news">Local News</a></li>
<li><a href="/local-weather">Local Weather</a></li>
<li><a href="/local-sport">Local Sport</a></li>
</ul>
</nav>
Varias regiones del mismo tipo y aria-label
El siguiente ejemplo muestra un enfoque recomendado para añadir regiones a un documento HTML cuando hay dos o más regiones del mismo tipo en la misma página y no existe en ella ningún texto al que se pueda hacer referencia como etiqueta:
<nav aria-label="Vehicles">
<ul>
<li><a aria-current="page" href="/cars">Cars</a></li>
<li><a href="/trucks">Trucks</a></li>
<li><a href="/bikes">Bikes</a></li>
</ul>
</nav>
<nav aria-label="Tags">
<ul>
<li><a href="/cars-electric">Electric Cars</a></li>
<li><a href="/cars-gas">Gas-powered Cars</a></li>
<li><a href="/cars-family">Family Cars</a></li>
<li><a href="/cars-working">Rugged Cars For Working</a></li>
<li><a href="/cars-commuting">Cars For Suburban Commuting</a></li>
</ul>
</nav>
Formulario de búsqueda
El siguiente ejemplo muestra un formulario de búsqueda. Un elemento form debe tener un nombre accesible para exponerse como región:
<form aria-labelledby="search-label">
<label for="product-search" id="search-label">Search</label>
<input id="product-search" placeholder="title, author, or ISBN" type="text">
<button type="submit">Find Books</button>
</form>
Pruebas
Procedimiento
- Examinar cada elemento HTML que crea una función de región (landmark).
- Examinar si se ha usado el elemento correcto para marcar el contenido. Por ejemplo: se ha usado un elemento
navpara marcar una sección con enlaces de navegación, o se usa el elementomainpara contener el contenido principal de la página. - Si una región necesita tener un nombre accesible para exponerse como región, comprobar que tiene un nombre accesible.
Resultados esperados
- Las comprobaciones n.º 1, n.º 2 y n.º 3 son verdaderas.
Recursos
Cómo lo comprobamos en ADDAW
En las auditorías de accesibilidad de ADDAW revisamos cada criterio de conformidad siguiendo este catálogo de técnicas: comprobamos si la web aplica una técnica suficiente y documentamos cada fallo común con capturas y el código afectado, para que el equipo de desarrollo sepa exactamente qué corregir. Los informes siguen la metodología del Observatorio de Accesibilidad y la norma UNE-EN 301 549.
Fuente y licencia
Traducción al español, no oficial, realizada por ADDAW a partir de la técnica H101 del documento «Techniques for WCAG 2.2» del W3C (versión del repositorio público del W3C a 22/10/2026). Copyright © W3C® (MIT, ERCIM, Keio, Beihang). Se publica conforme a la licencia de documentos del W3C. El texto normativo de referencia es el original en inglés; si detecta un error en la traducción, escríbanos.