El HTML semántico se refiere a la práctica de utilizar las etiquetas HTML de acuerdo con el significado o propósito del contenido que encierran, en lugar de basar la elección de la etiqueta únicamente en cómo se va a ver visualmente en el navegador.
Se trata de elegir el elemento HTML que describe con mayor precisión la naturaleza de la información que contiene.
Por ejemplo, en lugar de usar etiquetas genéricas como <div> para todo y depender de clases para darles sentido (como <div class="articulo-noticias">), el HTML semántico te anima a usar etiquetas más descriptivas introducidas en HTML5, como <article>, <section>, <nav>, <header>, <footer>, <main>, <aside>, <figure>, etc.
Ejemplo:
- Forma no semántica (menos clara):
<div id="cabecera">
<div class="logo">Mi Empresa</div>
<div class="menu-principal">...</div>
</div>
<div class="contenido-principal">
<div class="noticia">...</div>
</div>
<div id="pie-pagina">...</div> - Forma semántica (más clara y significativa):
<header>
<div class="logo">Mi Empresa</div>
<nav>...</nav> </header>
<main>
<article>...</article>
</main>
<footer>...</footer>
Beneficios clave del HTML semántico:
- Mejora la accesibilidad (a11y): Las etiquetas semánticas proporcionan una estructura clara que las tecnologías de asistencia, como los lectores de pantalla para personas con discapacidad visual, pueden interpretar correctamente. Esto hace que tu sitio web sea mucho más usable para todos.
- Optimiza el SEO (Posicionamiento en Buscadores): Los motores de búsqueda (como Google) entienden mejor la estructura, la jerarquía y la relevancia del contenido de tu página cuando utilizas etiquetas semánticas. Esto puede ayudar a mejorar el posicionamiento de tu sitio en los resultados de búsqueda.
- Facilita el mantenimiento del código: Un código semántico es más legible, lógico y fácil de entender tanto para ti como para otros desarrolladores. Esto simplifica las actualizaciones, la depuración de errores y el trabajo en equipo.
- Mayor interoperabilidad: Un marcado claro y con significado es más fácil de procesar por diferentes navegadores, dispositivos y otras herramientas que puedan interactuar con tu contenido (como agregadores de noticias o modos de lectura).