DevPath · Aprende a programar ESPTEN

HTML semántico, multimedia y tablas

HTML semántico: estructura con significado

De la "sopa de divs" a etiquetas con significado

Durante años, las páginas se construían apilando <div> para todo: la cabecera, el menú, el contenido, el pie... A esto se le llama, con cariño, la sopa de divs. El navegador la mostraba estupendamente, pero ni los lectores de pantalla ni los buscadores podían distinguir qué era cada cosa. Para una máquina, un <div class="nav"> no es un menú: es una caja anónima más en la sopa.

El HTML semántico te saca de ahí: usa etiquetas cuyo nombre describe su función. No cambian (casi) el aspecto en pantalla, pero sí aportan significado a la estructura. Y eso desbloquea dos cosas enormes: accesibilidad y SEO. Misma pinta, mucho más cerebro detrás.

Las regiones principales (landmarks)

Estas etiquetas definen landmarks: zonas que la tecnología de asistencia puede listar y a las que puede saltar directamente.

<body>
  <header>
    <h1>Mi revista</h1>
    <nav>
      <a href="/">Inicio</a>
      <a href="/articulos">Artículos</a>
    </nav>
  </header>

  <main>
    <article>
      <h2>Cómo cocinar pasta</h2>
      <p>Contenido del artículo...</p>
    </article>

    <aside>
      <h2>Artículos relacionados</h2>
      <p>...</p>
    </aside>
  </main>

  <footer>
    <p>© 2026 Mi revista</p>
  </footer>
</body>

Secciones de contenido

Regla práctica: si dudas entre <section> y <div>, pregúntate si el bloque merece un encabezado propio. Si sí, probablemente sea una <section>. Si solo lo agrupas para colgarle un estilo, el <div> sigue siendo tu amigo: no todo tiene que ser semántico, pero sí lo que significa algo.

Pequeñas etiquetas semánticas en línea

<figure>
  <img src="grafico.png" alt="Ventas por trimestre en 2025" />
  <figcaption>Figura 1. Las ventas crecieron un 12 %.</figcaption>
</figure>
<p>Publicado el <time datetime="2026-06-22">22 de junio de 2026</time>.</p>
<p>El resultado contiene la palabra <mark>semántica</mark>.</p>

Por qué importa de verdad

  1. Accesibilidad: quien usa un lector de pantalla puede pedir "lista de regiones" y saltar directo al <main> o al <nav>, sin tragarse la cabecera en cada página. La sopa de divs no ofrece ni uno de esos atajos.
  2. SEO: los buscadores entienden mejor la jerarquía y la importancia del contenido. Un <article> con su <h2> y su <time> le grita a Google "esto es una noticia con fecha"; un <div> se queda callado.
  3. Mantenibilidad: el código se lee como prosa. Dentro de seis meses, <nav> te dirá mucho más que <div class="menu-top-v2">.

⚠️ Trampa clásica: usar <div> para todo por costumbre. Antes de escribir uno, pregúntate si existe una etiqueta que ya diga lo que ese bloque es. Casi siempre, sí.

Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
Multimedia: imágenes responsive, audio y vídeo →