Pular para o conteúdo
Cursos

DevClub

LógicaFront-endBack-endMobile

IA Club

IA na prática
Estudar programaçãoEstudar IA

Aula 4 de 6

HTML semântico: organize a página pelo significado

Use header, nav, main, article, section e footer para criar regiões claras e uma estrutura que pessoas e ferramentas consigam percorrer.

34 minutos · leitura + prática · nível iniciante

Ao terminar esta aula, você vai conseguir

  • Escolher elementos semânticos conforme a função da região
  • Diferenciar article, section e div
  • Manter um único conteúdo principal com main
Um documento HTML representado como uma árvore de elementos dentro do navegador.

HTML semântico é a escolha de elementos pelo significado que eles carregam, não pela aparência padrão. Nesta aula, você vai dividir uma página em regiões claras e explicar por que cada elemento está ali.

Imagine uma loja. Há fachada, corredores, balcão principal, setores e rodapé do recibo. Colocar uma placa em cada região ajuda clientes e equipe a se orientar. No HTML, header, nav, main, section, article e footer cumprem esse papel estrutural. A analogia tem limite: elementos não obrigam uma posição na tela. Um footer pode aparecer visualmente ao lado, e o CSS pode reorganizar o layout; semanticamente ele continua sendo o rodapé daquela página ou seção.

Troque caixas genéricas por regiões explicáveis

Uma div é um agrupador sem significado próprio. Ela continua útil para layout, mas não deve ser a resposta automática. Veja uma página pequena:

html
<header>
  <h1>Caderno de projetos</h1>
  <nav aria-label="Principal">
    <a href="#projetos">Projetos</a>
    <a href="#sobre">Sobre</a>
  </nav>
</header>

<main>
  <section id="projetos" aria-labelledby="titulo-projetos">
    <h2 id="titulo-projetos">Projetos recentes</h2>

    <article>
      <h3>Lista de estudos</h3>
      <p>Uma página para organizar tarefas da semana.</p>
    </article>
  </section>

  <section id="sobre">
    <h2>Sobre mim</h2>
    <p>Estou aprendendo desenvolvimento web.</p>
  </section>
</main>

<footer>
  <p>Feito por Bia em 2026.</p>
</footer>

header reúne a introdução da página. nav identifica um conjunto importante de navegação. main envolve o conteúdo principal e normalmente aparece uma vez por documento. footer guarda informações finais relacionadas ao documento.

Diferencie section, article e div

Uma section é uma seção temática e geralmente possui um título. “Projetos” e “Sobre mim” são assuntos diferentes dentro da mesma página. Um article é uma unidade que ainda faz sentido separada, como uma notícia, postagem, cartão de produto ou comentário. Se o projeto pudesse aparecer sozinho num feed, ele é um bom candidato a article.

Use div quando você só precisa agrupar elementos para estilo ou comportamento e nenhum elemento semântico representa o papel. Pense numa caixa organizadora transparente dentro de um setor já identificado: ela ajuda a arrumar, mas não vira outro departamento.

O teste útil é terminar a frase: “este conteúdo é uma navegação”, “é o conteúdo principal”, “é uma seção sobre projetos”. Se a única justificativa for “preciso de uma caixa”, div pode ser honesta.

Semântica não escolhe o visual. Um header pode ser discreto e uma div pode parecer um grande banner; o CSS controla essa aparência. O elemento HTML deve continuar sendo escolhido pela função do conteúdo, inclusive quando nenhum estilo estiver carregado.

Semântica ajuda a navegar

Tecnologias assistivas conseguem oferecer atalhos entre regiões e títulos. Isso não torna uma página acessível automaticamente; ordem de foco, textos, contraste e interação ainda importam. A marcação semântica fornece uma base mais clara e reduz a quantidade de atributos que você teria de recriar manualmente.

No laboratório, duplique o article, altere título e texto e pressione o botão. O resultado deve passar de uma para duas notícias. O script encontra unidades pela própria estrutura, não por uma classe inventada. Depois remova o título da section e perceba que o agrupamento perde o nome que explicava seu assunto.

Antes da próxima aula, percorra o documento apenas por títulos e regiões. Se a ordem conta uma história coerente, a semântica está ajudando. A seguir, vamos aplicar o mesmo cuidado aos formulários, onde rótulo, tipo e nome definem o que o usuário envia.

Laboratório ao vivo

Página de notícias com regiões semânticas

Adicione uma segunda notícia com article e h2. Depois use o botão para conferir quantos artigos independentes a página contém.

Pronto para testar
Resultado

Pare e pense

Quando article costuma ser a escolha adequada?

Escolha uma resposta
Missão da aula

Faça sem copiar

Reestruture uma página de blog com header, nav, main, dois articles e footer. O sucesso é conseguir listar as regiões e explicar a função de cada uma.

Fontes para consultar

Terminou a missão?

Marque apenas quando você conseguir explicar o conceito e concluir o desafio. O progresso fica salvo somente neste navegador.

Próxima: Formulários HTML: rótulos, campos e envio compreensível →