edubun
Português

Estrutura semântica da página

A maioria das páginas tem mais ou menos a mesma forma: um cabeçalho, um menu, o conteúdo principal e um rodapé. O HTML tem um elemento para cada parte, e os leitores de tela deixam o usuário pular direto para elas.

Da sopa de divs aos pontos de referência

Durante anos, as páginas foram montadas com elementos <div> com nomes de classe como header ou menu. Um <div> é uma caixa genérica sem significado nenhum, então o nome da classe era a única pista, e só quem lia o código conseguia vê-la. Hoje o HTML tem elementos que dizem o que é cada região. Navegadores, buscadores e tecnologias assistivas os entendem, e quem usa leitor de tela pode abrir uma lista dessas regiões, chamadas pontos de referência (landmarks), e pular para a que quiser, do mesmo jeito que quem enxerga bate o olho no layout.

Uma forma comum de página. Só os rótulos são padrão; as posições vêm do CSS e podem mudar no celular.

As regiões principais

  • <header>: conteúdo de abertura, em geral o nome ou o logo do site e muitas vezes o menu principal. Um artigo também pode ter o seu próprio header.
  • <nav>: um bloco com os principais links de navegação, como o menu do site ou um sumário. Nem todo grupo de links precisa de um.
  • <main>: o conteúdo exclusivo desta página. Use exatamente um <main> visível por página e não o coloque dentro de header, nav, aside ou footer.
  • <article>: uma peça independente que faria sentido sozinha, como um post de blog, uma notícia ou o cartão de um produto.
  • <section>: uma parte temática de uma página ou de um artigo, normalmente com o seu próprio título.
  • <aside>: conteúdo relacionado ao conteúdo principal, mas separado dele, como uma barra lateral, um quadro de glossário ou links relacionados.
  • <footer>: informações de encerramento, como autor, direitos autorais e links de contato.

Esses elementos descrevem significado, não posição. Um <nav> não precisa ficar no topo, e um <aside> não precisa ficar à direita; no celular, o aside costuma ir parar embaixo do conteúdo principal. As posições vêm do CSS. Escolha o elemento perguntando o que o conteúdo é, do mesmo jeito que você escolheu os níveis de título pela estrutura e não pelo tamanho.

article ou section?

A pergunta a fazer é se a peça faria sentido sozinha em outro lugar, por exemplo num leitor de notícias ou compartilhada como link. Se sim, é um <article>. Se só faz sentido como parte de algo maior, como a parte Ingredientes de uma receita, é uma <section>. Os dois normalmente começam com um título. Artigos podem conter seções, e uma seção pode conter artigos, como uma seção Últimos posts com vários cartões de posts.

div e span ainda têm seu lugar

Quando nenhum elemento serve, use <div> para um bloco e <span> para algumas palavras dentro de uma linha. Eles são úteis como ganchos para o CSS, por exemplo um <div class="cards"> que organiza cartões numa grade. A regra é procurar primeiro um elemento com significado e só recorrer a um genérico quando nada descreve o conteúdo. Uma página feita só de divs funciona, mas esconde a estrutura de todos que não olham o código.

Um teste rápido: abra a página com o CSS desligado, ou leia o esquema de títulos e pontos de referência que uma extensão do navegador mostra. Se a página ainda se lê numa ordem coerente, com cabeçalho, menu, conteúdo principal e rodapé claros, a estrutura está cumprindo o seu papel.

Elementos nativos antes do ARIA

Você pode encontrar o atributo role, parte de um padrão do W3C chamado WAI-ARIA, escrito como <div role="navigation">. Ele dá a um elemento genérico um significado para as tecnologias assistivas. A orientação do W3C sobre o uso de ARIA começa com uma regra simples: se um elemento HTML nativo já tem o significado de que você precisa, use-o. <nav> é mais curto, funciona em todo lugar e não pode ser esquecido num lugar e lembrado em outro. A mesma ideia vale para botões: um <button> de verdade recebe o foco com Tab e é acionado com Enter ou Espaço sem custo nenhum, enquanto um <div> clicável precisa de código extra para fazer o mesmo.

headerConteúdo de abertura: nome do site, logo, muitas vezes o menu
navPrincipais links de navegação
mainConteúdo exclusivo desta página; um por página
articlePeça independente que faz sentido sozinha
sectionUma parte temática, em geral com um título
asideConteúdo relacionado, mas separado, como uma barra lateral
footerInformações de encerramento: autor, direitos autorais, contato
ponto de referência (landmark)Uma região da página para a qual quem usa leitor de tela pode pular
  1. Quantos elementos main visíveis uma página deve ter?
  2. Um post de blog que poderia ser compartilhado sozinho é
    • article
    • section
    • aside
  3. A parte Ingredientes de um artigo de receita é
    • section
    • article
    • nav
  4. Qual elemento guarda o menu do site?
  5. O aside precisa aparecer à direita?
    • Não, a posição vem do CSS
    • Sim
    • Só em telas largas
  6. O que um div significa?
    • Nada; é uma caixa genérica
    • Uma seção de um documento
    • Uma grade de layout
  7. Qual elemento marca algumas palavras dentro de uma linha, sem significado, para estilizar?
    • span
    • div
    • strong
  8. Onde devem ficar os direitos autorais e os links de contato?
    • footer
    • header
    • main
  9. Como os pontos de referência ajudam quem usa leitor de tela?
    • A pessoa pode listar as regiões e pular para uma delas
    • Deixam o texto mais alto
    • Escondem o menu
  10. main pode ficar dentro de header?
    • Não
    • Sim
    • Só com um título
Pontos-chave
  • header, nav, main, article, section, aside e footer dão nome às regiões de uma página.
  • Escolha pelo significado; o CSS decide a posição.
  • Use div e span só quando nenhum elemento com significado servir.
Fontes deste curso (10)
  • WHATWG, HTML Living Standard (html.spec.whatwg.org, checked 2026-10-17)
  • MDN Web Docs, Learn web development: Structuring content with HTML, and the HTML element reference (developer.mozilla.org/en-US/docs/Learn_web_development/Core/Structuring_content and developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements, checked 2026-10-17)
  • MDN, HTML images (alt text guidance, checked 2026-10-17)
  • W3C WAI, Images tutorial and alt decision tree (w3.org/WAI/tutorials/images/decision-tree, checked 2026-10-17)
  • CERN, A short history of the Web (home.cern/science/computing/the-birth-of-the-web/short-history-web/, checked 2026-10-17)
  • W3C and WHATWG memorandum of understanding, 28 May 2019 (w3.org/2019/04/WHATWG-W3C-MOU.html, checked 2026-10-17)
  • W3C, Using ARIA, first rule of ARIA use (w3.org/TR/using-aria/, checked 2026-10-17)
  • W3C Markup Validation Service (validator.w3.org, checked 2026-10-17)
  • MDN, Viewport meta element (checked 2026-10-17)
  • Every code exercise was checked with a Playwright probe against a reference solution.

Data de verificação: 2026-10-17