HTML: Semântica HTML
Última atualização: 2026-09-08
Tags semânticas dão significado à estrutura da sua página web — elas dizem ao navegador não apenas como exibir algo, mas também "o que esta seção é". Isso ajuda muito no SEO, na acessibilidade e na legibilidade do código.
1. O Que é Semântica
"Semântica" significa "significado". Você pode construir qualquer layout com <div>, mas o navegador não consegue entender a finalidade do container. As tags semânticas comunicam sua finalidade diretamente pelo nome:
▶ Exemplo
▶ Experimente<header> cabeçalho da página, <nav> navegação, <main> conteúdo principal, <section> seção, <article> artigo, <aside> barra lateral, <footer> rodapé. Todas são containers block-level que funcionam como <div>, mas seus nomes descrevem sua finalidade.
2. Benefícios da Semântica
A semântica oferece três benefícios diretos: os mecanismos de busca entendem a estrutura da sua página com mais precisão; os leitores de tela podem pular diretamente para áreas específicas; os desenvolvedores entendem o layout de um olhar, sem precisar adivinhar o que um nome de classe de <div> significa.
3. Container de Imagem/Conteúdo: <figure> e <figcaption>
<figure> envolve conteúdo autônomo como imagens, blocos de código ou gráficos, enquanto <figcaption> fornece uma legenda:
▶ Exemplo
▶ Experimente4. Tempo e Destaque: <time> e <mark>
<time> torna datas e horários legíveis por máquinas, e <mark> destaca palavras-chave de busca ou textos importantes:
▶ Exemplo
▶ Experimente5. Conteúdo Expansível: <details> e <summary>
<details> cria um widget interativo expansível/recolhível, e <summary> define seu título visível. HTML puro, sem necessidade de JavaScript:
▶ Exemplo
▶ Experimente<blockquote> para citações, <code> para código, <address> para informações de contato, <dialog> para diálogos. Tudo pode ser semântico — encontre a tag mais adequada antes de usar uma genérica.
❓ Perguntas Frequentes
<header> diz aos mecanismos de busca "este é o cabeçalho da página", <main> indica "este é o conteúdo principal", <article> significa "este é um artigo independente". Mecanismos de busca dão maior peso ao conteúdo dentro de <main> e <article>. Além disso, tags semânticas ajudam os mecanismos de busca a gerar snippets de resultados mais precisos.<section> e <article>?<article> é conteúdo independente e completo que pode ser publicado ou reutilizado por si só (como posts de blog, notícias, reviews). <section> é um agrupamento temático de conteúdo, tipicamente com um título, mas não é independente (como capítulos, painéis de abas, características de produto). O teste:se o bloco de conteúdo faz sentido por si só, use <article>; se precisa de contexto para ser compreendido, use <section>.<div>?<div> apenas quando não existir uma tag semântica adequada. Cenários comuns:1)Containers puramente de estilização (envolver elementos para layout Flexbox); 2)Hooks de JavaScript (modais, popups); 3)Agrupamentos sem significado semântico. Regra:primeiro procure tags semânticas (header/nav/main/section/article/aside/footer), use div como fallback quando nenhuma se encaixar.<details> e <summary>?<details> e <summary> são painéis expansíveis nativos do HTML5, suportados por todos os navegadores modernos (Chrome, Firefox, Safari, Edge) — excelente compatibilidade. Benefícios:expansível sem JavaScript, suporta navegação por teclado e leitores de tela. Limitações:personalização de estilo limitada (como ícones de seta), interações complexas ainda precisam de JavaScript. IE não suporta, mas IE foi descontinuado — não precisa se preocupar.📖 Resumo
- Tags semânticas principais:
<header>,<nav>,<main>,<section>,<article>,<aside>,<footer> <figure>+<figcaption>envolvem imagens/código com legendas<time>marca datas legíveis por máquinas;<mark>destaca texto<details>+<summary>criam painéis expansíveis em HTML puro- A semântica melhora o SEO, a acessibilidade e a legibilidade do código
<div>e<span>não têm semântica; use-os apenas quando não existir uma tag adequada
📝 Exercícios
- Construa um Esqueleto: Use tags semânticas para montar a estrutura de uma página de blog e preencha com algum texto de exemplo.
- Compare a Experiência: Use um leitor de tela para navegar em uma página só com
<div>e uma página semântica lado a lado, e observe a diferença.