Curso gratuito de HTML. Regístrate para hacer un seguimiento de tu progreso →

HTML: Elementos Semánticos

Al crear un documento HTML, los desarrolladores utilizan las etiquetas <div> y <span>. Estas permiten crear elementos de bloque o en línea, lo que ayuda a crear bloques independientes con diferentes estilos. Sin embargo, para el navegador y los motores de búsqueda, estos bloques no son semánticos, es decir, no indican directamente qué contenido contienen.

Desde las primeras versiones del estándar HTML, las etiquetas ya tenían semántica, por ejemplo, <p> para párrafos, <table> para tablas, <ol>, <ul> para listas. Sin embargo, estas etiquetas no permitían marcar áreas como "encabezado", "pie de página" o "panel lateral" de un sitio web.

Antes de la llegada del estándar HTML5, se utilizaban clases o identificadores para marcar estas áreas. Por ejemplo:

<div id="header">
  // Aquí irá el encabezado del sitio web. Por lo general, se encuentra el logotipo, información de contacto y menú.
</div>

<div id="main">
  // Contenido único del sitio web.
</div>

<div id="footer">
  // Pie de página del sitio web. Por lo general, se encuentra información de contacto, menú adicional e información legal de la empresa.
</div>

Esto resolvió los problemas desde el punto de vista de los desarrolladores, ya que la navegación en el código se volvió más rápida. Sin embargo, desde el punto de vista del navegador, la situación no cambió. Los navegadores no entienden que id="header" se utiliza en el sitio web para indicar el encabezado, y los desarrolladores nombraban las áreas según su criterio, ya que no había un estándar unificado.

Con la llegada del estándar HTML5, se introdujeron nuevas etiquetas que permiten marcar la semántica de las áreas de una página, no solo del texto.

Las principales etiquetas semánticas son:

  • <article>
  • <aside>
  • <footer>
  • <header>
  • <main>
  • <nav>
  • <section>

La mayoría de los elementos son intuitivos y se pueden utilizar de inmediato en los documentos. Ahora, el ejemplo anterior se puede rehacer utilizando los nuevos elementos HTML:

<header>
  // Aquí irá el encabezado del sitio web. Por lo general, se encuentra el logotipo, información de contacto y menú.
</header>

<main>
  // Contenido único del sitio web.
</main>

<footer>
  // Pie de página del sitio web. Por lo general, se encuentra información de contacto, menú adicional e información legal de la empresa.
</footer>

Observa que desaparecieron los identificadores en el marcado y este se volvió más limpio. En este módulo, veremos los elementos semánticos principales en un ejemplo unificado. Iremos complicando y mejorando la página web de lección en lección.

Tarea

Crea el marcado del "encabezado" y el "pie de página" utilizando los nuevos elementos semánticos de HTML5.

¿El ejercicio no pasa la prueba, qué debo hacer? 😶

Si te quedaste atascado, es el momento perfecto para hacer una pregunta en las "Discusiones".
* Asegúrate de incluir la salida de las pruebas. Sin ella, es casi imposible entender qué está mal, incluso si muestras tu código. Los programadores tienen dificultades para ejecutar el código en su mente, pero casi siempre es posible entender a dónde mirar a partir del error que recibiste.

Mi código funciona en mi entorno, pero no aquí 🤨

Las pruebas están diseñadas de manera que verifican la solución de diferentes maneras y con diferentes datos. A menudo, una solución funciona con ciertos datos de entrada pero no con otros. Para entender este punto, revisa la pestaña "Pruebas" y presta atención a los mensajes de error, que suelen contener pistas.

Mi código es diferente a la solución del profesor 🤔

Esto es normal 🙆. En programación, una tarea puede tener muchas soluciones diferentes. Si tu código pasa la prueba, cumple con los requisitos de la tarea.

En raras ocasiones, la solución puede estar ajustada para pasar las pruebas, pero esto suele ser evidente.

Leí la lección, pero no entendí nada 🙄

Crear materiales de aprendizaje comprensibles para todos es bastante difícil. Hacemos nuestro mejor esfuerzo, pero siempre hay margen para mejorar. Si encuentras material que no entiendes, describe el problema en las "Discusiones". Es ideal si puedes formular los aspectos que no entiendes en forma de preguntas. Por lo general, necesitamos unos días para hacer mejoras.

Por cierto, tú también puedes contribuir a mejorar los cursos: en la parte inferior hay un enlace al código fuente de las lecciones, que se puede modificar directamente en el navegador.


¿Encontraste un error? ¿Quieres añadir algo? Las solicitudes de extracción son bienvenidas. https://codica.la/errores
Si te encuentras con dificultades y no sabes qué hacer, pregunta en nuestra gran y amigable comunidad