edubun
Español

Estructura semántica de la página

La mayoría de las páginas comparten la misma forma general: un encabezado, un menú, el contenido principal y un pie de página. HTML tiene un elemento para cada uno, y los lectores de pantalla permiten saltar directamente a ellos.

De la sopa de div a las regiones

Durante años las páginas se armaron con elementos <div> con nombres de clase como header o menu. Un <div> es una caja genérica sin ningún significado, así que el nombre de clase era la única pista, y solo podían verla quienes leían el código. Hoy HTML tiene elementos que dicen qué es cada región. Los navegadores, los buscadores y las tecnologías de asistencia los entienden, y quienes usan lectores de pantalla pueden abrir una lista de estas regiones, llamadas regiones (landmarks), y saltar a la que quieran, igual que quienes ven echan un vistazo al diseño.

Una forma de página común. Solo los nombres son estándar; las posiciones vienen de CSS y pueden cambiar en un teléfono.

Las regiones principales

  • <header>: contenido introductorio, normalmente el nombre o el logotipo del sitio y a menudo el menú principal. Un artículo también puede tener su propio header.
  • <nav>: un bloque de enlaces de navegación principales, como el menú del sitio o un índice. No todo grupo de enlaces necesita uno.
  • <main>: el contenido propio de esta página. Usa exactamente un <main> visible por página, y no lo pongas dentro de header, nav, aside ni footer.
  • <article>: una pieza independiente que tendría sentido por sí sola, como una entrada de blog, una noticia o la tarjeta de un producto.
  • <section>: una parte temática de una página o un artículo, normalmente con su propio título.
  • <aside>: contenido relacionado con el contenido principal pero separado de él, como una barra lateral, un recuadro de glosario o enlaces relacionados.
  • <footer>: información de cierre, como el autor, los derechos de autor y los enlaces de contacto.

Estos elementos describen el significado, no la posición. Un <nav> no tiene por qué estar arriba, y un <aside> no tiene por qué estar a la derecha; en un teléfono el aside suele terminar debajo del contenido principal. Las posiciones vienen de CSS. Elige el elemento preguntándote qué es el contenido, igual que elegiste los niveles de título por la estructura y no por el tamaño.

¿article o section?

La pregunta clave es si la pieza tendría sentido por sí sola en otro lugar, por ejemplo en un lector de noticias o compartida como enlace. Si la respuesta es sí, es un <article>. Si solo tiene sentido como parte de algo más grande, como la parte Ingredientes de una receta, es un <section>. Los dos deberían empezar normalmente con un título. Los artículos pueden contener secciones, y una sección puede contener artículos, como una sección de Últimas entradas con varias tarjetas de entradas.

div y span todavía tienen su lugar

Cuando ningún elemento encaja, usa <div> para un bloque y <span> para unas pocas palabras dentro de una línea. Sirven como ganchos para CSS, por ejemplo un <div class="cards"> que acomoda tarjetas en una cuadrícula. La regla es recurrir primero a un elemento con significado y usar uno genérico solo cuando nada describe el contenido. Una página hecha solo de div funciona, pero le oculta su estructura a todo el que no mira el código.

Una prueba rápida: abre tu página con CSS desactivado, o lee el esquema de títulos y regiones que te muestra una extensión del navegador. Si la página todavía se lee en un orden razonable, con un encabezado, un menú, un contenido principal y un pie de página claros, la estructura está haciendo su trabajo.

Elementos nativos antes que ARIA

Puede que te encuentres con el atributo role, parte de un estándar del W3C llamado WAI-ARIA, escrito como <div role="navigation">. Le da a un elemento genérico un significado para las tecnologías de asistencia. La guía del W3C sobre el uso de ARIA empieza con una regla simple: si un elemento HTML nativo ya tiene el significado que necesitas, úsalo. <nav> es más corto, funciona en todas partes y no se puede olvidar en un lugar y recordar en otro. La misma idea vale para los botones: un <button> real recibe el foco con Tab y se presiona con Enter o Espacio sin esfuerzo, mientras que un <div> en el que se puede hacer clic necesita código extra para hacer lo mismo.

headerContenido introductorio: nombre del sitio, logotipo, a menudo el menú
navEnlaces de navegación principales
mainContenido propio de esta página; uno por página
articlePieza independiente que tiene sentido por sí sola
sectionUna parte temática, normalmente con un título
asideContenido relacionado pero separado, como una barra lateral
footerInformación de cierre: autor, derechos de autor, contacto
región (landmark)Una región de la página a la que pueden saltar quienes usan lectores de pantalla
  1. ¿Cuántos elementos main visibles debe tener una página?
  2. Una entrada de blog que se podría compartir por sí sola es
    • article
    • section
    • aside
  3. La parte Ingredientes de un artículo de receta es
    • section
    • article
    • nav
  4. ¿Qué elemento contiene el menú del sitio?
  5. ¿aside tiene que aparecer a la derecha?
    • No, la posición viene de CSS
    • Sí
    • Solo en pantallas anchas
  6. ¿Qué significa un div?
    • Nada; es una caja genérica
    • Una sección de un documento
    • Una cuadrícula de diseño
  7. ¿Qué elemento marca unas pocas palabras dentro de una línea, sin significado, para darles estilo?
    • span
    • div
    • strong
  8. ¿Dónde deben ir los derechos de autor y los enlaces de contacto?
    • footer
    • header
    • main
  9. ¿Cómo ayudan las regiones a quienes usan lectores de pantalla?
    • Pueden listar las regiones y saltar a una
    • Hacen que el texto suene más fuerte
    • Ocultan el menú
  10. ¿Se puede poner main dentro de header?
    • No
    • Sí
    • Solo con un título
Ideas clave
  • header, nav, main, article, section, aside y footer nombran las regiones de una página.
  • Elige por el significado; CSS decide la posición.
  • Usa div y span solo cuando no encaja ningún elemento con significado.
Fuentes de este curso (10)
  • WHATWG, HTML Living Standard (html.spec.whatwg.org, checked 2026-10-17)
  • MDN Web Docs, Learn web development: Structuring content with HTML, and the HTML element reference (developer.mozilla.org/en-US/docs/Learn_web_development/Core/Structuring_content and developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements, checked 2026-10-17)
  • MDN, HTML images (alt text guidance, checked 2026-10-17)
  • W3C WAI, Images tutorial and alt decision tree (w3.org/WAI/tutorials/images/decision-tree, checked 2026-10-17)
  • CERN, A short history of the Web (home.cern/science/computing/the-birth-of-the-web/short-history-web/, checked 2026-10-17)
  • W3C and WHATWG memorandum of understanding, 28 May 2019 (w3.org/2019/04/WHATWG-W3C-MOU.html, checked 2026-10-17)
  • W3C, Using ARIA, first rule of ARIA use (w3.org/TR/using-aria/, checked 2026-10-17)
  • W3C Markup Validation Service (validator.w3.org, checked 2026-10-17)
  • MDN, Viewport meta element (checked 2026-10-17)
  • Every code exercise was checked with a Playwright probe against a reference solution.

Fecha de consulta: 2026-10-17