Etiquetas HTML semánticas en el desarrollo web

CSSCSSBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, los participantes explorarán los conceptos fundamentales de las etiquetas HTML semánticas y su papel crucial en el desarrollo web moderno. A través de un enfoque práctico, los aprendices transformarán estructuras HTML tradicionales en diseños de páginas web significativos, accesibles y amigables para el SEO utilizando elementos semánticos como <header>, <nav>, <main>, <article>, <section>, <aside> y <footer>.

El laboratorio proporciona una guía paso a paso para comprender cómo el HTML semántico mejora la legibilidad del código, mejora la accesibilidad del sitio web para los lectores de pantalla y crea contenido web más estructurado y significativo. Al construir progresivamente un diseño de página HTML semántica completo, los participantes adquirirán habilidades prácticas en la implementación de etiquetas semánticas que describan claramente el propósito y la estructura de los elementos de la página web.

Explorar el concepto de HTML semántico

En este paso, aprenderás sobre el HTML semántico y por qué es importante en el desarrollo web. El HTML semántico utiliza etiquetas que describen claramente el significado del contenido, lo que hace que las páginas web sean más accesibles, legibles y amigables para el SEO.

Las etiquetas HTML tradicionales como <div> y <span> no proporcionan ninguna información sobre el contenido que contienen. En contraste, las etiquetas HTML semánticas describen el propósito y la estructura del contenido.

Vamos a crear un archivo HTML simple para demostrar los conceptos de HTML semántico. Abre el WebIDE y crea un nuevo archivo llamado semantic-example.html en el directorio ~/project.

touch ~/project/semantic-example.html
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Semantic HTML Example</title>
  </head>
  <body>
    <div>Website Header</div>
    <div>Navigation Menu</div>
    <div>Main Content</div>
    <div>Sidebar</div>
    <div>Footer</div>
  </body>
</html>

Ahora, transformemos este ejemplo utilizando etiquetas HTML semánticas:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Semantic HTML Example</title>
  </head>
  <body>
    <header>Website Header</header>
    <nav>Navigation Menu</nav>
    <main>Main Content</main>
    <aside>Sidebar</aside>
    <footer>Footer</footer>
  </body>
</html>

Las principales etiquetas HTML semánticas incluyen:

  • <header>: Representa el contenido introductorio
  • <nav>: Define los enlaces de navegación
  • <main>: Especifica el contenido principal del documento
  • <article>: Representa una pieza de contenido independiente y autónoma
  • <section>: Define una sección en un documento
  • <aside>: Contiene contenido tangencialmente relacionado con el contenido principal
  • <footer>: Representa el pie de página de un documento

Beneficios del HTML semántico:

  1. Mejor accesibilidad para los lectores de pantalla
  2. Mejor optimización para el SEO
  3. Código más significativo y legible
  4. Facilidad de estilización y mantenimiento

Cuando se previsualice el archivo HTML en un navegador, no habrá cambios visuales, pero la estructura subyacente será más descriptiva y significativa.

Notas: Aprende más sobre Cómo previsualizar archivos HTML en el WebIDE.

En este paso, aprenderás cómo utilizar las etiquetas semánticas <header> y <nav> para crear un encabezado de sitio web y un menú de navegación significativos y estructurados. Estas etiquetas ayudan a mejorar la estructura semántica de tu documento HTML.

Abre el WebIDE y modifica el archivo semantic-example.html en el directorio ~/project para implementar las etiquetas de encabezado y navegación:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>My Semantic Website</title>
  </head>
  <body>
    <header>
      <h1>Welcome to My Website</h1>
      <nav>
        <ul>
          <li><a href="#home">Home</a></li>
          <li><a href="#about">About</a></li>
          <li><a href="#services">Services</a></li>
          <li><a href="#contact">Contact</a></li>
        </ul>
      </nav>
    </header>
  </body>
</html>

Desglosemos las etiquetas semánticas utilizadas:

  1. Etiqueta <header>:

    • Representa el contenido introductorio de una página
    • Puede incluir títulos, logotipos, navegación
    • Se utiliza para agrupar el contenido de nivel superior de una página o sección
  2. Etiqueta <nav>:

    • Define una sección de enlaces de navegación
    • Por lo general, contiene menús, tablas de contenido
    • Mejora la accesibilidad y el SEO
  3. Etiquetas <ul> y <li>:

    • Crea una lista no ordenada de elementos de navegación
    • Las etiquetas <a> internas crean enlaces clicables

Puntos clave a recordar:

  • <header> puede contener múltiples elementos
  • <nav> es específicamente para bloques de navegación principales
  • Utiliza texto de enlace significativo para una mejor accesibilidad

Ejemplo de salida cuando se ve en un navegador:

Semantic header and navigation example

Crear estructuras semánticas de artículo y sección

En este paso, aprenderás cómo utilizar las etiquetas semánticas <article> y <section> para crear contenido más significativo y estructurado en tu documento HTML. Estas etiquetas ayudan a organizar y describir el propósito de diferentes partes de tu página web.

Abre el archivo semantic-example.html en el directorio ~/project y actualízalo con el siguiente código:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Semantic HTML Article and Section Example</title>
  </head>
  <body>
    <header>
      <h1>My Blog</h1>
      <nav>
        <ul>
          <li><a href="#home">Home</a></li>
          <li><a href="#blog">Blog</a></li>
        </ul>
      </nav>
    </header>

    <main>
      <article>
        <h2>Learning Web Development</h2>
        <section>
          <h3>HTML Basics</h3>
          <p>
            HTML is the foundation of web development. It provides structure to
            web content.
          </p>
        </section>

        <section>
          <h3>Semantic HTML</h3>
          <p>
            Semantic HTML uses tags that describe the meaning of the content,
            making web pages more accessible and meaningful.
          </p>
        </section>
      </article>
    </main>
  </body>
</html>

Desglosemos las etiquetas semánticas:

  1. Etiqueta <article>:

    • Representa una composición autónoma
    • Puede ser distribuible o reutilizable de forma independiente
    • Por lo general, se utiliza para publicaciones de blogs, artículos de noticias, publicaciones de foros
  2. Etiqueta <section>:

    • Define un agrupamiento temático de contenido
    • Por lo general, contiene un encabezado
    • Ayuda a dividir el contenido en partes lógicas
  3. Etiqueta <main>:

    • Especifica el contenido principal del documento
    • Debe ser único en el documento
    • Contiene el tema central o la funcionalidad principal

Ejemplo de salida cuando se ve en un navegador:

Browser view of semantic HTML example

Puntos clave a recordar:

  • <article> es para contenido autónomo
  • <section> agrupa contenido relacionado
  • Cada sección suele tener un encabezado
  • Utiliza estas etiquetas para mejorar la estructura y la legibilidad del documento

Agregar elementos semánticos de barra lateral y pie de página

En este paso, aprenderás cómo utilizar las etiquetas semánticas <aside> y <footer> para mejorar la estructura y el significado de tu página web. Estas etiquetas ayudan a organizar el contenido complementario y proporcionan información adicional sobre la página.

Abre el archivo semantic-example.html en el directorio ~/project y actualízalo con el siguiente código:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Semantic HTML Aside and Footer Example</title>
  </head>
  <body>
    <header>
      <h1>My Web Development Blog</h1>
      <nav>
        <ul>
          <li><a href="#home">Home</a></li>
          <li><a href="#blog">Blog</a></li>
        </ul>
      </nav>
    </header>

    <main>
      <article>
        <h2>Learning Web Development</h2>
        <section>
          <h3>HTML Basics</h3>
          <p>
            HTML is the foundation of web development. It provides structure to
            web content.
          </p>
        </section>

        <aside>
          <h3>Related Resources</h3>
          <ul>
            <li><a href="#">HTML Tutorial</a></li>
            <li><a href="#">CSS Guide</a></li>
            <li><a href="#">JavaScript Basics</a></li>
          </ul>
        </aside>
      </article>
    </main>

    <footer>
      <p>&copy; 2023 Web Development Blog</p>
      <p>Contact: [email protected]</p>
    </footer>
  </body>
</html>

Exploremos las nuevas etiquetas semánticas:

  1. Etiqueta <aside>:

    • Representa contenido tangencialmente relacionado con el contenido principal
    • A menudo se utiliza para barras laterales, citas destacadas o información adicional
    • Ayuda a separar el contenido complementario del artículo principal
  2. Etiqueta <footer>:

    • Representa el pie de página de un documento o sección
    • Por lo general, contiene información de derechos de autor, detalles de contacto o enlaces relacionados
    • Puede aparecer varias veces en un documento

Ejemplo de salida cuando se ve en un navegador:

Browser view of semantic HTML example

Puntos clave a recordar:

  • <aside> contiene contenido relacionado, pero no central, con el contenido principal
  • <footer> proporciona información adicional sobre el documento o sección
  • Estas etiquetas mejoran la estructura semántica de tu HTML

Construir un diseño de página HTML semántica completo

En este paso, combinarás todas las etiquetas HTML semánticas que has aprendido para crear una página web completa y bien estructurada. Crearemos un diseño integral que demuestre el poder del HTML semántico.

Crea un nuevo archivo llamado semantic-website.html en el directorio ~/project con el siguiente código:

touch ~/project/semantic-website.html
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Web Development Learning Hub</title>
  </head>
  <body>
    <header>
      <h1>Web Development Learning Hub</h1>
      <nav>
        <ul>
          <li><a href="#home">Home</a></li>
          <li><a href="#tutorials">Tutorials</a></li>
          <li><a href="#resources">Resources</a></li>
          <li><a href="#contact">Contact</a></li>
        </ul>
      </nav>
    </header>

    <main>
      <article>
        <h2>Getting Started with Web Development</h2>

        <section>
          <h3>HTML Fundamentals</h3>
          <p>
            Learn the basics of HTML and how to create structured web pages
            using semantic tags.
          </p>
        </section>

        <section>
          <h3>CSS Styling</h3>
          <p>
            Explore how to style your HTML documents and create visually
            appealing websites.
          </p>
        </section>

        <aside>
          <h3>Recommended Learning Path</h3>
          <ul>
            <li>HTML Basics</li>
            <li>CSS Styling</li>
            <li>JavaScript Fundamentals</li>
            <li>Responsive Web Design</li>
          </ul>
        </aside>
      </article>

      <article>
        <h2>Latest Tutorials</h2>
        <section>
          <h3>Semantic HTML Deep Dive</h3>
          <p>
            Understand the importance of semantic tags in modern web
            development.
          </p>
        </section>
      </article>
    </main>

    <footer>
      <p>&copy; 2023 Web Development Learning Hub</p>
      <nav>
        <ul>
          <li><a href="#privacy">Privacy Policy</a></li>
          <li><a href="#terms">Terms of Service</a></li>
        </ul>
      </nav>
      <p>Contact: [email protected]</p>
    </footer>
  </body>
</html>

Revisemos la estructura semántica:

  1. <header>: Contiene el título del sitio y la navegación principal
  2. <nav>: Proporciona enlaces de navegación en dos ubicaciones
  3. <main>: Envuelve el contenido principal de la página
  4. <article>: Representa contenido independiente y autónomo
  5. <section>: Divide el contenido en grupos temáticos
  6. <aside>: Muestra información complementaria
  7. <footer>: Proporciona información adicional del sitio y enlaces

Ejemplo de salida cuando se ve en un navegador:

Semantic HTML page layout example

Principales conclusiones:

  • El HTML semántico mejora la estructura del documento
  • Cada etiqueta tiene un significado y propósito específicos
  • Las etiquetas semánticas hacen que tu código sea más legible y accesible

Resumen

En este laboratorio, los participantes exploran los conceptos fundamentales del HTML semántico y su importancia en el desarrollo web. Al pasar de las etiquetas <div> tradicionales sin descripción a elementos semánticos significativos como <header>, <nav>, <main>, <article>, <section>, <aside> y <footer>, los aprendices obtienen conocimientos sobre cómo crear páginas web más accesibles, legibles y amigables con el SEO.

El laboratorio guía a los participantes a través de la implementación práctica del HTML semántico, demostrando cómo estas etiquetas especializadas proporcionan un contexto estructural claro al contenido web. Al entender y aplicar los principios del HTML semántico, los desarrolladores pueden mejorar la accesibilidad del sitio web para los lectores de pantalla, optimizar la búsqueda en motores de búsqueda y crear estructuras de código más mantenibles y significativas.