Skip to main content

Sobre este problema HTML

Em HTML, certos elementos são classificados como elementos vazios — não podem conter qualquer conteúdo e não devem ter uma tag de fecho (fim). O elemento <br>, que representa uma quebra de linha, é um destes elementos vazios. Outros incluem <img>, <input>, <hr>, <meta>, e <link>.

Quando o validador encontra </br>, interpreta-o como uma tag de fecho para um elemento <br>. Uma vez que os elementos vazios são proibidos de ter tags de fecho pela especificação HTML, isso produz o erro “End tag br.”

Por que isso é importante

  • Conformidade com padrões: O WHATWG HTML Living Standard afirma explicitamente que os elementos vazios não devem ter uma tag de fim. Usar </br> viola esta regra.
  • Inconsistência do navegador: Embora a maioria dos navegadores recupere silenciosamente de </br> — alguns tratam-no como um <br>, outros podem ignorá-lo completamente — depender do comportamento de recuperação de erros é imprevisível e pode levar a renderização inconsistente entre navegadores.
  • Clareza do código: Usar </br> sugere que o elemento tem um par de abertura e fecho, o que é enganoso para outros programadores que leem o código. Isso implica uma má compreensão de como o elemento funciona.

Como corrigir

Substitua todas as instâncias de </br> por <br>. É só isso. Não há necessidade de uma tag de fecho porque <br> é auto-fechado por definição.

Tanto <br> quanto <br/> (com barra final) são válidos em HTML5. A forma <br> é geralmente preferida em documentos HTML, enquanto <br/> é necessário em XHTML e às vezes usado para compatibilidade com ferramentas baseadas em XML.

Exemplos

❌ Inválido: usar uma tag de fim para <br>

<p>Primeira linha</br>Segunda linha</p>

Isso desencadeia o erro de validação “End tag br“.

❌ Também inválido: emparelhar uma tag de abertura e fecho <br>

<p>Primeira linha<br></br>Segunda linha</p>

Mesmo quando emparelhado com um <br> de abertura, a tag de fim </br> ainda é inválida.

✅ Válido: usar <br> sem uma tag de fecho

<p>Primeira linha<br>Segunda linha</p>

✅ Também válido: sintaxe auto-fechada com barra final

<p>Primeira linha<br/>Segunda linha</p>

Esta forma é aceitável em HTML5, embora <br> sem a barra seja mais convencional em HTML moderno.

✅ Exemplo prático: um bloco de endereço

<address>
  Rua Principal, 123<br>
  Suite 400<br>
  Lisboa, 1000-001
</address>

Outros elementos vazios

A mesma regra aplica-se a todos os elementos vazios. Nenhum destes deve ter tags de fecho:

<area>, <base>, <br>, <col>, <embed>, <hr>, <img>, <input>, <link>, <meta>, <source>, <track>, <wbr>

Se você ver um erro similar “End tag” para qualquer um destes elementos, a correção é a mesma: remova a tag de fecho.

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.