Skip to main content
Validação HTML

Etiqueta de abertura “html” perdida.

Sobre este problema HTML

O elemento <html> serve como a raiz de um documento HTML. De acordo com a especificação HTML, só pode existir um elemento raiz, e deve conter exatamente um elemento <head> seguido de um elemento <body>. Quando o analisador do navegador encontra uma segunda etiqueta de abertura <html>, não sabe o que fazer com ela — a etiqueta é considerada “perdida” porque aparece num contexto onde não é esperada ou permitida.

Este erro ocorre tipicamente em alguns cenários comuns:

  • Erros de copiar-colar — Ao copiar HTML de outro ficheiro, pode acidentalmente colar um documento inteiro (incluindo a sua etiqueta <html>) dentro de um documento existente.
  • Erros de template ou inclusão — Inclusões do lado do servidor, motores de template, ou frameworks baseados em componentes podem injetar uma estrutura completa de documento HTML (com a sua própria etiqueta <html>) numa página que já tem uma.
  • Fusão incorreta de ficheiros — Combinar múltiplos ficheiros HTML sem remover as etiquetas estruturais dos ficheiros internos.
  • Duplicação acidental — Simplesmente ter uma etiqueta <html> duplicada devido a um erro de digitação ou descuido de edição.

Uma etiqueta <html> perdida sinaliza uma estrutura de documento mal formada. Os navegadores tentarão recuperar ignorando a etiqueta duplicada, mas a intenção por trás da marcação torna-se ambígua. Isto pode levar a renderização imprevisível, estilos quebrados, ou scripts que falham ao direcionar elementos corretamente. Também prejudica a acessibilidade, pois leitores de ecrã e outras tecnologias assistivas dependem de uma árvore de documento bem formada para interpretar o conteúdo.

Para corrigir este problema, procure no seu código fonte HTML por todas as instâncias de <html e certifique-se de que apenas uma existe — no topo do documento, logo após a declaração <!DOCTYPE html>. Se encontrar uma segunda, remova-a juntamente com quaisquer etiquetas duplicadas correspondentes </html>, <head>, </head>, <body>, e </body> que vieram com ela, mantendo apenas o conteúdo real de que necessita.

Exemplos

Incorreto: Etiqueta <html> duplicada do conteúdo colado

Este exemplo mostra um documento HTML completo acidentalmente incorporado dentro de outro, o que produz o erro de etiqueta de abertura perdida:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>My Page</title>
  </head>
  <body>
    <h1>Welcome</h1>

<!-- Accidentally pasted another full document -->

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <title>Other Page</title>
      </head>
      <body>
        <p>This content was pasted from another file.</p>
      </body>
    </html>

  </body>
</html>

Correto: Elemento <html> único com conteúdo fusionado

Remova a estrutura de documento duplicada e mantenha apenas o conteúdo de que necessita:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>My Page</title>
  </head>
  <body>
    <h1>Welcome</h1>

<!-- Only the relevant content from the other file -->

    <p>This content was pasted from another file.</p>
  </body>
</html>

Incorreto: Etiqueta <html> duplicada acidental

Por vezes a duplicação é um simples erro de digitação:

<!DOCTYPE html>
<html lang="en">
<html lang="en">
  <head>
    <title>My Page</title>
  </head>
  <body>
    <p>Hello, world!</p>
  </body>
</html>

Correto: Etiqueta <html> única

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>My Page</title>
  </head>
  <body>
    <p>Hello, world!</p>
  </body>
</html>

Verificar projetos baseados em templates

Se usa um sistema de templates (por exemplo, inclusões PHP, Jinja2, Handlebars, ou similar), certifique-se de que os seus parciais e inclusões contêm apenas fragmentos de conteúdo — não estruturas completas de documento. Por exemplo, um parcial incluído deve parecer-se com isto:

<!-- partial: sidebar.html — no <html>, <head>, or <body> tags -->

<aside>
  <nav>
    <ul>
      <li><a href="/">Home</a></li>
      <li><a href="/about">About</a></li>
    </ul>
  </nav>
</aside>

A regra chave é simples: todo o documento HTML deve ter exatamente um elemento <html>. Se o validador reportar uma etiqueta de abertura perdida, rastreie-a de volta à sua origem — seja um erro de copiar-colar, uma inclusão de template, ou uma simples duplicação — e remova-a.

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.