Categories: Tecnologia

Semântica HTML

Quando penso em Semântica HTML, diretamente já penso em HTML5.

O HTML5 (lançado a partir de 2009) é uma versão do HTML ainda não concluída, mas que já pode – e deve – ser utilizada por desenvolvedores e navegadores, antes de sua finalização.

Antes do lançamento dessa versão a semântica do HTML era quase nenhuma, quase nenhuma mesmo. Não tinha como, por exemplo, o robô do Google ou um ledor identificar e entender para que servia cada área do site, apenas através do código HTML.

Já com o HTML5, foram inseridas novas TAGS, onde a semântica ficou simples.

Veja a imagem com o comparativo do HTML anterior e do atual:

Perceba que antes era tudo div, então como o navegador iria conseguir diferenciar? Pois é, não ia (nem mesmo com aquelas IDs ali).

 A semântica dos novos elementos

  1. header
  2. main
  3. footer
  4. nav
  5. section
  6. article
  7. aside

Header

<header> é o cabeçalho do site, ou de uma área dele. Nele normalmente são inseridos elementos h1 até h6 (títulos), elementos de navegação, a logo. O elemento <header> pode ser utilizado várias vezes dentro de uma mesma página.

<header> não pode ser filho de outro <header> ou <footer> ou ainda <address>.

 Main

<main> demarca onde deve estar o conteúdo principal da página. Diferentemente do <header>, só pode existir uma <main> por página. Esta tag ainda não é compatível com todos os navegadores, mas mesmo assim já deve ser utilizada. Veja mais sobre a tag main aqui.

Footer

<footer> é rodapé do site, ou de uma área dele. Normalmente nele ficam informações de autoria, contato, Copyright e outros. Podem existir vários footers na mesma página.

Nav

<nav> marca uma seção do documento que agrupa links, sejam eles externos ou internos. A <nav> pode estar no cabeçalho, no rodapé ou em outras seções do documento, se relacionando assim com a navegação primária ou global. Mas atente-se, nem todo link deve estar dentro de nav, dentro desta tag devem estar conjuntos de links.

Section

Entre todos estes elementos estruturais que estou tratando aqui, <section> é o mais genérico. Dentro dele podemos colocar <header>, <article> e <footer>. Sua principal função é dividir o conteúdo em grandes blocos, seções.

Article

Representa um artigo, um conteúdo independente e bastante relevante, que pode ser um artigo, post ou bloco de texto. Também pode ser utilizado em widgets. O conteúdo de um <article> deve poder ser distribuído de forma independente do resto do site.

Aside

<aside> define um conteúdo que faz alguma referência ao conteúdo principal que está a sua volta. Normalmente em uma barra lateral exibindo informações contextuais, assuntos relacionados, publicidade, ou navegação secundária.

Na construção de sites institucionais, por exemplo, você vai usar principalmente <header>, <main>, <nav> e <footer>.

Lembrando que todas as tags que abordei foram implementadas no HTML5.

André Felizardo

View Comments

Share
Published by
André Felizardo

Recent Posts

Blockchain & Cripto

Desvendando o Potencial da Blockchain e Criptomoedas através da Criptografia Em um mundo onde a…

3 semanas ago

Automatize o deploy de uma aplicação React com Github Actions e FTP

O deploy de uma aplicação React é uma etapa crucial para disponibilizar sua criação na…

10 meses ago

Github Satellite 2020 – Muitas novidades

Satellite 2020 foi a primeira conferência virtual do Github. O Github já tinha sido liberado…

4 anos ago

Web Components – Guia Geral

Neste guia veremos o que são web components, quando usar, sua estrutura e também um…

4 anos ago

Tipos de Frontend

A alguns anos atrás escrevi um texto sobre o que é o frontend, também palestrei…

4 anos ago

SVG – Guia definitivo

O que é SVG é a sigla para Scalable Vector Graphics que traduzindo seria gráficos…

4 anos ago