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.
Saiba mais: