Saltar al contenido principal

HTML Semántico: Qué Es y Cómo Usar Etiquetas Semánticas en HTML5

Uso de etiquetas semánticas en HTML

Descubre qué es HTML semántico y cómo usar etiquetas como <header>, <main> y <footer> para dar estructura y significado a tus páginas web con HTML5.

¿Qué es el HTML semántico?

El HTML semántico se refiere al uso de etiquetas HTML que describen claramente el propósito y el significado del contenido que contienen. A diferencia de las etiquetas genéricas como <div> y <span>, las etiquetas semánticas proporcionan información adicional sobre la estructura y el tipo de contenido, lo que mejora la accesibilidad, la optimización para motores de búsqueda (SEO) y la mantenibilidad del código.

Beneficios del HTML semántico

  1. Mejora la accesibilidad: Las etiquetas semánticas facilitan a los lectores de pantalla y otros dispositivos de asistencia la interpretación del contenido, lo que mejora la experiencia para usuarios con discapacidades.

  2. Optimización para motores de búsqueda (SEO): Los motores de búsqueda utilizan la estructura semántica para comprender mejor el contenido de una página, lo que puede mejorar su clasificación en los resultados de búsqueda.

  3. Código más limpio y mantenible: El uso de etiquetas semánticas hace que el código sea más legible y fácil de mantener, ya que los desarrolladores pueden entender rápidamente la estructura y el propósito del contenido.

  4. Mejora la estructura lógica de las páginas.: El HTML semántico ayuda a organizar el contenido de manera lógica, facilitando la navegación y comprensión tanto para los usuarios como para los desarrolladores.

Etiquetas <header>, <nav>, <section> y <article>.

Las etiquetas semánticas en HTML5 ayudan a estructurar mejor el contenido de una página web, haciendo que sea más comprensible tanto para los desarrolladores como para los navegadores y motores de búsqueda. A continuación, exploraremos algunas de las etiquetas semánticas más importantes: <header>, <nav>, <section>, <article>, y <footer>.

La etiqueta <header> se utiliza para definir el encabezado de una sección o de un documento. Este encabezado puede contener elementos como logotipos, títulos, menús de navegación, etc.

HTML
<!DOCTYPE html>
<html>
<head>
<title>Página de Ejemplo</title>
</head>
<body>
<header>
<h1>Bienvenido a Mi Sitio Web</h1>
<nav>
<ul>
<li><a href="#inicio">Inicio</a></li>
<li><a href="#sobre">Sobre Nosotros</a></li>
<li><a href="#contacto">Contacto</a></li>
</ul>
</nav>
</header>
</body>
</html>

En este ejemplo, el <header> contiene un título y un menú de navegación.

La etiqueta <nav> se usa para definir un bloque de enlaces de navegación. Normalmente, contiene un menú principal del sitio web o un conjunto de enlaces a otras páginas o secciones del sitio.

HTML
<!DOCTYPE html>
<html>
<head>
<title>Página de Ejemplo</title>
</head>
<body>
<header>
<h1>Bienvenido a Mi Sitio Web</h1>
<nav>
<ul>
<li><a href="#inicio">Inicio</a></li>
<li><a href="#sobre">Sobre Nosotros</a></li>
<li><a href="#contacto">Contacto</a></li>
</ul>
</nav>
</header>
<section id="inicio">
<h2>Inicio</h2>
<p>Bienvenidos a nuestro sitio web.</p>
</section>
<section id="sobre">
<h2>Sobre Nosotros</h2>
<p>Somos una empresa dedicada a ...</p>
</section>
<section id="contacto">
<h2>Contacto</h2>
<p>Puede contactarnos a través de ...</p>
</section>
</body>
</html>

Aquí, <nav> contiene una lista de enlaces de navegación que llevan a diferentes secciones del documento. <section>

<section>

La etiqueta <section> se utiliza para definir una sección de un documento. Puede contener uno o más encabezados y está destinada a agrupar contenido relacionado.

HTML
<!DOCTYPE html>
<html>
<head>
<title>Página de Ejemplo</title>
</head>
<body>
<header>
<h1>Bienvenido a Mi Sitio Web</h1>
<nav>
<ul>
<li><a href="#inicio">Inicio</a></li>
<li><a href="#sobre">Sobre Nosotros</a></li>
<li><a href="#contacto">Contacto</a></li>
</ul>
</nav>
</header>
<section id="inicio">
<h2>Inicio</h2>
<p>Bienvenidos a nuestro sitio web.</p>
</section>
<section id="sobre">
<h2>Sobre Nosotros</h2>
<p>Somos una empresa dedicada a ...</p>
</section>
<section id="contacto">
<h2>Contacto</h2>
<p>Puede contactarnos a través de ...</p>
</section>
</body>
</html>

En este ejemplo, cada <section> agrupa contenido que pertenece a diferentes partes de la página: Inicio, Sobre Nosotros, y Contacto.

<article>

La etiqueta <article> se utiliza para contener contenido independiente y autónomo, como artículos, entradas de blog, comentarios, etc. Cada <article> debe tener sentido por sí mismo, incluso si se extrajera del documento.

HTML
<!DOCTYPE html>
<html>
<head>
<title>Página de Ejemplo</title>
</head>
<body>
<header>
<h1>Bienvenido a Mi Blog</h1>
<nav>
<ul>
<li><a href="#articulo1">Artículo 1</a></li>
<li><a href="#articulo2">Artículo 2</a></li>
</ul>
</nav>
</header>
<section>
<article id="articulo1">
<h2>Primer Artículo</h2>
<p>Este es el contenido del primer artículo.</p>
<footer>Publicado por Juan el 1 de enero de 2024</footer>
</article>
<article id="articulo2">
<h2>Segundo Artículo</h2>
<p>Este es el contenido del segundo artículo.</p>
<footer>Publicado por María el 2 de enero de 2024</footer>
</article>
</section>
</body>
</html>

Aquí, cada <article> representa un artículo independiente con su propio contenido y pie de página.

La etiqueta <footer> se utiliza para definir el pie de página de un documento o una sección. Suele contener información como el autor del documento, enlaces a términos de uso, contacto, y más.

HTML
<!DOCTYPE html>
<html>
<head>
<title>Página de Ejemplo</title>
</head>
<body>
<header>
<h1>Bienvenido a Mi Sitio Web</h1>
<nav>
<ul>
<li><a href="#inicio">Inicio</a></li>
<li><a href="#sobre">Sobre Nosotros</a></li>
<li><a href="#contacto">Contacto</a></li>
</ul>
</nav>
</header>
<section id="inicio">
<h2>Inicio</h2>
<p>Bienvenidos a nuestro sitio web.</p>
</section>
<section id="sobre">
<h2>Sobre Nosotros</h2>
<p>Somos una empresa dedicada a ...</p>
</section>
<section id="contacto">
<h2>Contacto</h2>
<p>Puede contactarnos a través de ...</p>
</section>
<footer>
<p>&copy; 2024 Mi Sitio Web. Todos los derechos reservados.</p>
<nav>
<ul>
<li><a href="#privacidad">Política de Privacidad</a></li>
<li><a href="#terminos">Términos de Uso</a></li>
</ul>
</nav>
</footer>
</body>
</html>

En este ejemplo, el <footer> contiene un mensaje de derechos de autor y un menú de navegación con enlaces a la política de privacidad y los términos de uso.

En resumen, uso de etiquetas semánticas como <header>, <nav>, <section>, <article>, y <footer> en HTML5 mejora la accesibilidad y la comprensión del contenido tanto para los usuarios como para los motores de búsqueda. Estas etiquetas proporcionan una estructura clara y significativa al documento, permitiendo a los desarrolladores y navegadores interpretar mejor el contenido y su propósito.

Etiquetas semánticas adicionales

Además de las etiquetas mencionadas anteriormente, HTML5 introduce varias otras etiquetas semánticas que ayudan a estructurar el contenido de manera más efectiva. Aquí hay algunas de las más comunes:

<aside>

La etiqueta <aside> se utiliza para contener contenido que está relacionado de manera tangencial con el contenido principal. Esto puede incluir barras laterales, citas, anuncios, o cualquier otro contenido que no sea parte del flujo principal del documento.

HTML
<aside>
<h2>Noticias Relacionadas</h2>
<p>Lee más sobre temas relacionados en nuestro blog.</p>
<ul>
<li><a href="#noticia1">Noticia 1</a></li>
<li><a href="#noticia2">Noticia 2</a></li>
<li><a href="#noticia3">Noticia 3</a></li>
</ul>
</aside>

<figure> y <figcaption>

La etiqueta <figure> se utiliza para encapsular contenido ilustrativo, como imágenes, diagramas, fotos, etc. La etiqueta <figcaption> se usa para proporcionar una leyenda o descripción para el contenido dentro de <figure>.

HTML
<figure>
<img src="imagen-ejemplo.jpg" alt="Descripción de la imagen" />
<figcaption>Esta es una leyenda que describe la imagen.</figcaption>
</figure>

<main>

La etiqueta <main> se utiliza para encapsular el contenido principal de un documento. Solo debe haber un <main> por página, y este debe contener el contenido que es único y relevante para esa página.

HTML
<main>
<h1>Contenido Principal de la Página</h1>
<p>Este es el contenido más importante de la página.</p>
</main>

<mark>

La etiqueta <mark> se utiliza para resaltar texto que es relevante o importante dentro de un contexto específico.

HTML
<p>Este es un <mark>texto resaltado</mark> que llama la atención del lector.</p>

Conclusión

El uso de etiquetas semánticas en HTML5 no solo mejora la estructura y la claridad del código, sino que también contribuye a una mejor accesibilidad y optimización para motores de búsqueda. Al utilizar etiquetas como <header>, <nav>, <section>, <article>, <footer>, <aside>, <figure>, <figcaption>, <main>, y <mark>, los desarrolladores pueden crear páginas web más organizadas y fáciles de entender tanto para los usuarios como para los motores de búsqueda.

Al estructurar correctamente tu HTML con estas etiquetas, no solo haces que tu código sea más legible y mantenible, sino que también mejoras la experiencia del usuario y la optimización para motores de búsqueda (SEO). Recuerda que la semántica importa, y el uso adecuado de estas etiquetas puede hacer una gran diferencia en la calidad y efectividad de tu sitio web.

Recursos
Ejercicios

🚧 Aprende haciendo. Trabaja con estos ejercicios básicos: