Skip to main content
Validação HTML

Cabeçalho vazio.

Sobre este problema HTML

Os cabeçalhos desempenham um papel crítico na estruturação de uma página web. Eles criam um esboço do documento no qual tanto utilizadores quanto máquinas confiam. Os leitores de ecrã, por exemplo, permitem aos utilizadores navegar numa página saltando entre cabeçalhos, tornando-os uma das ferramentas mais importantes para navegação acessível. Quando um cabeçalho está vazio, os leitores de ecrã podem anunciar “heading level 2” (ou similar) sem texto acompanhante, deixando os utilizadores confusos sobre que secção entraram.

Os cabeçalhos vazios também sinalizam um problema estrutural. Eles aparecem frequentemente quando os programadores usam elementos de cabeçalho puramente para espaçamento ou propósitos de estilo, quando o conteúdo deve ser injetado dinamicamente via JavaScript mas o script falha, ou quando os cabeçalhos são deixados como espaços reservados durante o desenvolvimento e nunca são preenchidos.

O validador W3C sinaliza isto como um aviso porque a especificação HTML declara que os cabeçalhos representam o tópico da sua secção. Um cabeçalho vazio não pode cumprir este propósito. Embora seja tecnicamente HTML analisável, é semanticamente sem significado e degrada a qualidade do documento.

Como corrigir

  • Adicione texto descritivo ao cabeçalho que represente com precisão o conteúdo da sua secção.
  • Remova o cabeçalho vazio se não serve nenhum propósito. Não mantenha cabeçalhos vazios como espaçadores — use margens ou padding CSS em vez disso.
  • Se o conteúdo é carregado dinamicamente, considere adicionar o elemento de cabeçalho via JavaScript ao mesmo tempo que o seu conteúdo, em vez de deixar uma estrutura vazia no markup.
  • Se está a esconder o cabeçalho visualmente mas ainda o quer disponível para leitores de ecrã, use uma técnica CSS visualmente oculta em vez de deixá-lo vazio.

Exemplos

❌ Cabeçalhos vazios (desencadeia o aviso)

<h1></h1>

<h2> </h2>

<h3>
</h3>

Todos estes três são considerados vazios — mesmo os que contêm espaços em branco ou uma nova linha.

❌ Usar um cabeçalho vazio para espaçamento

<h2></h2>
<p>This paragraph needs some space above it.</p>

Isto usa incorretamente um elemento de cabeçalho para propósitos de layout visual.

✅ Cabeçalho com conteúdo significativo

<h1>Welcome to Our Store</h1>

<h2>Featured Products</h2>
<p>Check out our latest arrivals.</p>

✅ Usar CSS para espaçamento em vez de cabeçalhos vazios

<p class="section-intro">This paragraph needs some space above it.</p>
.section-intro {
  margin-top: 2rem;
}

✅ Cabeçalho visualmente oculto para leitores de ecrã

Se precisa de um cabeçalho que esteja disponível para tecnologias assistivas mas não seja visível no ecrã, inclua texto e esconda-o com CSS:

<h2 class="visually-hidden">Navigation Menu</h2>
<nav>
  <ul>
    <li><a href="/">Home</a></li>
    <li><a href="/about">About</a></li>
  </ul>
</nav>
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

✅ Adicionar cabeçalhos dinamicamente com o seu conteúdo

Em vez de colocar um cabeçalho vazio no HTML e preenchê-lo depois, crie o cabeçalho juntamente com o seu conteúdo:

<div id="results"></div>

<script>
  const container = document.getElementById("results");
  const heading = document.createElement("h2");
  heading.textContent = "Search Results";
  container.appendChild(heading);
</script>

Esta abordagem evita qualquer momento em que um cabeçalho vazio exista no DOM, garantindo validade e acessibilidade em todos os momentos.

Encontre problemas como este automaticamente

O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.

Ajude-nos a melhorar os nossos guias

Este guia foi útil?

Pronto para validar os seus sites?
Comece o seu teste gratuito hoje.