1. Tags de Container Genéricas: <div> e <span>

Antes da evolução para o HTML5, as tags <div> e <span> eram as únicas ferramentas disponíveis para criar o layout de um site. Elas são "containers" (caixas) vazios, sem nenhum significado especial para o navegador, usados apenas para agrupar elementos.

Exemplo de Código: Estrutura Baseada em Divs (O padrão antigo)

HTML

<!DOCTYPE html>
<html lang="pt-br">

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Estrutura Baseada em Divs</title>
    </head>

    <body>
        <div id="cabecalho">
            <h1>Meu Site Antigo</h1>
            <div id="menu">
                <p>Início | Sobre | Contato</p>
            </div>
        </div>

        <div id="corpo-do-site">
            <p>Este é o conteúdo principal dentro de uma <span style="color: blue;">div de bloco</span>.</p>
        </div>

        <div id="rodape">
            <p>Todos os direitos reservados.</p>
        </div>
    </body>

</html>

2. Semântica no HTML5

No HTML5, foram introduzidas tags que possuem significado. Em vez de usar uma div para tudo, usamos tags que explicam ao navegador e aos buscadores (Google) o que cada parte do site realmente é.

Importância da Semântica:

  1. Acessibilidade: Softwares leitores de tela para pessoas com deficiência visual conseguem identificar onde está o menu (nav) ou o conteúdo principal (main), facilitando a navegação.
  2. SEO (Otimização para Buscadores): O Google entende a hierarquia do seu site. Um conteúdo dentro de um <article> tem muito mais peso do que um texto perdido em uma div genérica.

3. Tags Estruturais Semânticas

Aqui estão as "caixas inteligentes" que substituem as divs na estrutura principal: