DevPath · Aprenda a programar ESPTEN

HTML semântico, multimídia e tabelas

HTML semântico: estrutura com significado

Da "sopa de divs" a tags com significado

Durante anos, as páginas eram construídas empilhando <div> para tudo: o cabeçalho, o menu, o conteúdo, o rodapé... O apelido carinhoso disso é sopa de divs. O navegador exibia tudo lindamente, mas nem os leitores de tela nem os buscadores conseguiam distinguir o que era cada coisa. Para uma máquina, uma <div class="nav"> não é um menu: é só mais uma caixa anônima boiando na sopa.

O HTML semântico te tira dessa: usa tags cujo nome descreve sua função. Elas quase não mudam a aparência, mas acrescentam significado à estrutura. E isso destrava duas coisas enormes: acessibilidade e SEO. Mesma cara, muito mais cérebro por trás.

As regiões principais (landmarks)

Essas tags definem landmarks: zonas que a tecnologia assistiva pode listar e às quais pode pular diretamente.

<body>
  <header>
    <h1>Minha revista</h1>
    <nav>
      <a href="/">Início</a>
      <a href="/artigos">Artigos</a>
    </nav>
  </header>

  <main>
    <article>
      <h2>Como cozinhar massa</h2>
      <p>Conteúdo do artigo...</p>
    </article>

    <aside>
      <h2>Artigos relacionados</h2>
      <p>...</p>
    </aside>
  </main>

  <footer>
    <p>© 2026 Minha revista</p>
  </footer>
</body>

Seções de conteúdo

Regra prática: se você está em dúvida entre <section> e <div>, pergunte-se se o bloco merece um cabeçalho próprio. Se sim, provavelmente é uma <section>. Se você só agrupa para pendurar um estilo, a <div> continua sendo sua amiga: nem tudo precisa ser semântico, mas o que significa algo, sim.

Pequenas tags semânticas em linha

<figure>
  <img src="grafico.png" alt="Vendas por trimestre em 2025" />
  <figcaption>Figura 1. As vendas cresceram 12%.</figcaption>
</figure>
<p>Publicado em <time datetime="2026-06-22">22 de junho de 2026</time>.</p>
<p>O resultado contém a palavra <mark>semântica</mark>.</p>

Por que isso realmente importa

  1. Acessibilidade: quem usa um leitor de tela pode pedir "lista de regiões" e pular direto para o <main> ou para o <nav>, sem ter que ouvir o cabeçalho em cada página. A sopa de divs não oferece nenhum desses atalhos.
  2. SEO: os buscadores entendem melhor a hierarquia e a importância do conteúdo. Um <article> com seu <h2> e seu <time> grita para o Google "isto é uma notícia com data"; uma <div> fica calada.
  3. Manutenibilidade: o código se lê como prosa. Daqui a seis meses, <nav> vai te dizer muito mais do que <div class="menu-top-v2">.

⚠️ Cilada clássica: usar <div> para tudo por hábito. Antes de escrever uma, pergunte-se se já existe uma tag que diga o que aquele bloco é. Quase sempre, existe.

Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
Multimídia: imagens responsivas, áudio e vídeo →