Navegação e conteúdo principal: nav e main
Veja como indicar semanticamente onde fica o menu de navegação e o conteúdo principal de uma página.
Depois de aprender sobre o cabeçalho e o rodapé da página,
vamos mergulhar em duas tags semânticas que definem o
coração da sua página: a navegação (<nav>) e o conteúdo
principal (<main>).
Essas tags são cruciais para a acessibilidade e para ajudar os mecanismos de busca a entenderem a estrutura e a hierarquia do seu conteúdo.
A tag <nav>: a navegação principal
A tag <nav> representa uma seção de links de navegação.
Ela é usada para agrupar os principais links que permitem
ao usuário navegar entre as páginas do seu site ou entre
seções importantes dentro da mesma página.
O que geralmente vai dentro de uma <nav>?
- Listas de links: Geralmente uma
<ul>ou<ol>contendo<li>s com<a>s. - Links para seções: Links para "Início", "Sobre", "Serviços", "Contato".
- Links para categorias: Em um blog, links para categorias de posts.
Exemplo de <nav>:
<nav>
<ul>
<li><a href="/">Início</a></li>
<li><a href="/sobre">Sobre Nós</a></li>
<li><a href="/servicos">Serviços</a></li>
<li><a href="/contato">Contato</a></li>
</ul>
</nav>
<nav> pode ser usado mais de uma vez?
Sim! Uma página pode ter múltiplos <nav>s.
Embora seja comum ter uma <nav> principal (geralmente
dentro do <header>), você pode ter outras <nav>s para:
- Navegação secundária: Links de navegação dentro de uma barra lateral (
<aside>). - Navegação de rodapé: Links de navegação no
<footer>. - Navegação de paginação: Links para páginas anteriores/próximas em uma lista de resultados.
Importante: Nem todos os grupos de links precisam estar
dentro de uma <nav>. Use <nav> apenas para os principais
blocos de navegação. Uma lista de links de redes sociais
no rodapé, por exemplo, pode ser apenas uma <ul> dentro do
<footer>, a menos que seja considerada uma navegação primária.
A tag <main>: o conteúdo principal
A tag <main> representa o conteúdo principal e único
do documento. É o conteúdo que é diretamente relacionado
ou expande o tópico central do documento.
Características principais:
- Única na página: Deve haver apenas uma tag
<main>por documento HTML. - Conteúdo principal: Tudo o que está dentro de
<main>deve ser o conteúdo que o usuário veio buscar na página. - Não deve conter: Conteúdo que se repete em várias páginas
(como cabeçalhos, rodapés, barras laterais de navegação global,
logotipos, formulários de busca). Esses elementos devem estar
fora do
<main>.
Exemplo de <main>:
<body>
<header>
<nav>...</nav>
</header>
<main>
<h1>Bem-vindo ao Meu Site!</h1>
<p>Este é o conteúdo principal da minha página. Aqui você encontrará informações relevantes sobre o tópico central.</p>
<section>
<h2>Nossos Produtos</h2>
<p>Conheça nossa linha de produtos inovadores.</p>
</section>
<article>
<h2>Últimas Notícias</h2>
<p>Fique por dentro das novidades.</p>
</article>
</main>
<footer>
<nav>...</nav> <!-- Navegação de rodapé pode estar aqui -->
</footer>
</body>
Por que <main> é tão importante?
- Acessibilidade: Leitores de tela e outras tecnologias
assistivas podem usar a tag
<main>para permitir que os usuários pulem diretamente para o conteúdo principal da página, ignorando menus de navegação repetitivos ou cabeçalhos. Isso melhora drasticamente a experiência para pessoas com deficiência. - SEO: Mecanismos de busca podem dar mais peso ao
conteúdo dentro de
<main>, entendendo que ele é o mais relevante para o tópico da página. - Organização: Ajuda a organizar o código, separando claramente o conteúdo central dos elementos de suporte.
<nav> e <main> não são apenas <div>s
Assim como <header> e <footer>, <nav> e <main>
são elementos de bloco que, visualmente, podem se comportar
como <div>s. No entanto, eles carregam um significado
semântico que a <div> não tem.
<nav>: Diz "este é um bloco de navegação".<main>: Diz "este é o conteúdo principal e único desta página".
Usar essas tags corretamente é fundamental para construir páginas web acessíveis, otimizadas para busca e fáceis de manter.
Resumindo
<nav>:- Representa uma seção de links de navegação principal.
- Geralmente contém
<ul>ou<ol>com<a>s. - Pode haver múltiplos
<nav>s na página (principal, secundária, rodapé). - Use apenas para blocos de navegação significativos.
<main>:- Representa o conteúdo principal e único do documento.
- Deve haver apenas uma tag
<main>por página. - Não deve conter conteúdo repetitivo (cabeçalhos, rodapés, barras laterais globais).
- Ambos são elementos semânticos de bloco que melhoram a acessibilidade, o SEO e a organização do código, comunicando o propósito do conteúdo que envolvem.