Frontend Academy · Lección

Etiquetas semánticas: header, nav, main, article y footer

Sustituya divs sin significado por elementos semánticos de HTML5 y comprenda cómo ayudan a navegadores, motores de búsqueda y lectores de pantalla.

Lección 2 de 413 pasos

Etiquetas semánticas: header, nav, main, article y footer es una lección gratuita de Frontend Academy en CoddyKit. Esta es la lección 2 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 Frontend Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Frontend Academy incluye 4 lecciones en total.

¿Qué es el HTML semántico?

El HTML semántico utiliza elementos que describen el significado del contenido, no solo su apariencia. <article> indica «esta es una pieza de contenido independiente». Un <div> genérico no indica nada.

Antes de la semántica: la sopa de divs

Los primeros desarrolladores web construían los diseños utilizando exclusivamente elementos <div> y <span>. Los lectores de pantalla no podían distinguir la navegación del contenido ni de los anuncios. Los motores de búsqueda tenían que adivinar la estructura de la página.

<!-- Old way -->
<div class="header">...</div>
<div class="nav">...</div>
<div class="content">...</div>
<div class="footer">...</div>

&lt;header&gt; — Encabezado del sitio o de la sección

El elemento <header> contiene contenido introductorio de la página o de una sección: normalmente el logotipo, el nombre del sitio y la navegación. Una página puede tener varios encabezados: uno para el sitio y uno por cada artículo.

<header>
  <a href="/"><img src="logo.svg" alt="CoddyKit"></a>
  <nav>...</nav>
</header>

&lt;nav&gt; — Enlaces de navegación

Utilice <nav> para agrupar conjuntos de enlaces de navegación: el menú principal, una ruta de navegación o un índice. Los lectores de pantalla anuncian los puntos de referencia de navegación para que los usuarios puedan saltar directamente a ellos o pasarlos.

<nav aria-label="Main navigation">
  <ul>
    <li><a href="/">Home</a></li>
    <li><a href="/courses">Courses</a></li>
    <li><a href="/about">About</a></li>
  </ul>
</nav>

&lt;main&gt; — El contenido principal

Debe haber exactamente un <main> por página. Contiene el contenido principal exclusivo de esa página, no elementos repetidos como la navegación o el pie de página. Las tecnologías de asistencia permiten a los usuarios saltar directamente a main.

<main>
  <h1>Learn Frontend Development</h1>
  <p>Start your journey here...</p>
</main>

&lt;article&gt; — Contenido independiente

<article> contiene contenido que tiene sentido por sí mismo y podría distribuirse mediante sindicación: una entrada de blog, una noticia, un comentario de usuario o una tarjeta de producto. Pregúntese: «¿Tendría sentido si lo copiara en otro sitio?»

<article>
  <h2>Introduction to CSS Grid</h2>
  <p>CSS Grid revolutionised web layout...</p>
  <time datetime="2025-01-15">January 15, 2025</time>
</article>

&lt;section&gt; — Agrupación temática

<section> agrupa contenido relacionado que pertenece a un mismo conjunto: capítulos, pestañas o áreas temáticas. Cada sección suele tener un encabezado. Si el contenido pudiera mantenerse por sí solo, utilice article.

<section>
  <h2>Core Technologies</h2>
  <p>HTML, CSS, and JavaScript...</p>
</section>

&lt;aside&gt; — Contenido complementario

<aside> contiene contenido relacionado tangencialmente con el contenido que lo rodea: barras laterales, citas destacadas, publicidad o enlaces relacionados. Los lectores de pantalla lo exponen como un punto de referencia complementario.

&lt;footer&gt; — Contenido de cierre

<footer> contiene información sobre el elemento que lo contiene: avisos de derechos de autor, enlaces de contacto y documentos relacionados. Al igual que header, una página puede tener varios footers.

<footer>
  <p>&copy; 2025 CoddyKit. All rights reserved.</p>
  <nav aria-label="Footer">
    <a href="/privacy">Privacy</a>
    <a href="/terms">Terms</a>
  </nav>
</footer>

Jerarquía de encabezados: de h1 a h6

Utilice los encabezados para crear un esquema lógico del documento. Solo debe haber un <h1> por página. Utilice h2 para los subencabezados, h3 para los subsubencabezados y así sucesivamente. No se salte niveles ni utilice encabezados solo por su tamaño visual.

Por qué la semántica importa para el SEO y la accesibilidad

Los motores de búsqueda utilizan la estructura semántica para comprender el contenido de la página; una página con puntos de referencia y una jerarquía de encabezados adecuados suele posicionarse mejor. Los usuarios de lectores de pantalla navegan mediante puntos de referencia y encabezados, por lo que la semántica es una cuestión directa de accesibilidad.

Comprobación rápida

¿Qué elemento debe contener el contenido principal exclusivo de una página (presente exactamente una vez)?

Repaso: puntos de referencia semánticos de HTML5

Utilice <header>, <nav>, <main>, <article>, <section>, <aside> y <footer> para dar a su documento una estructura que los navegadores, los motores de búsqueda y los lectores de pantalla puedan comprender.

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
41
Lecciones
163

Preguntas frecuentes

¿La lección «Etiquetas semánticas: header, nav, main, article y footer» es gratis?

Sí — el texto completo de «Etiquetas semánticas: header, nav, main, article y footer» 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 Frontend Academy, actualiza a CoddyKit PRO. El curso de Frontend Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Etiquetas semánticas: header, nav, main, article y footer»?

Sustituya divs sin significado por elementos semánticos de HTML5 y comprenda cómo ayudan a navegadores, motores de búsqueda y lectores de pantalla. Practicas Frontend 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 Frontend Academy?

No se requiere experiencia previa. Frontend 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 2 de 4.

¿Cuánto tiempo toma la lección «Etiquetas semánticas: header, nav, main, article y footer»?

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 Frontend Academy?

Sí. Cada lección de Frontend 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. Estructura del documento: DOCTYPE, html, head y body
  2. Etiquetas semánticas: header, nav, main, article y footer
  3. Texto, imágenes, enlaces y listas
  4. Formularios: input, label y button
← Volver a Frontend Academy