Muitas vezes quando vamos validar nosso código junto ao validador HTML do W3C, acabamos nos deparando com erros que as vezes não somos capazes de corrigir, ou, custa bastante tempo descobrir a causa d erro.
Apesar das explicações detalhadas de cada erro encontrado, na maioria das vezes o validador encontra erros que não etão diretamente relacionados com a sintaxe do código e com isso acabamos em um conflito. Abaixo vocês verão uma lista dos erros mais comuns em HTML:
Tags HTML dentro de um elemento SCRIPT
Um erro bastante comum é quando usamos uma linguagem de programação sob a outra de forma incorreta, especificamente quando utilizamos sentenças JavaScript sob linguagem HTML. Não, isso não é um erro, o erro está quando esquecemos de utilizar os caracteres de escape.
Forma Incorreta:
<script type="text/javascript">
<!--
document.write("</p>");
// -->
</script>
Forma Correta:
<script type=”text/javascript”>
<!–
document.write(“<\/p>”);
// –>
</script>
Como podemos ver no exemplo acima, deve-se utilizar rimeiramente de uma barra invertida para obrigar o user-agent do usuário a entender que a barra que encerra o parágrafo não significa um comportamento especial, e sim, o fim de um bloco de parágrafo.
Ampersands (&) em URLs
Outro erro bastante comum são o de interpretação dos Ampersands em URLs, objetos, imagens e outros:
<a href="http://web.com/?id=12&num=3">Artigo</a>
<a href="http://web.com/?id=12&num=3">Artigo</a>
A segunda opção é a maneira correta para escrita.
Ordem incorreta dos elementos
Outro erro bastante comum, é que em varios objetos aninhados, fechamso uma tag posterior, sendo que deveria ser fechada juntamente com a anterior:
<strong><em>Olá a todos</strong></em>
<strong><em>Olá a todos</em></strong>
A segunda opção é a maneira correta para escrita.
Uso do DOCTYPE em minúsculas
O tipo do documento estabelecido no início do código é sensível a maiúsculas, portanto você deve respeitá-lo sem alterá-lo.
Se requer um sub-elemento no cabeçalho
O elemento Title não só serve para estabelecer um título para página, mas sim é um elemento obrigatório que você deve estabelecer em suas páginas web.
Letras maiúsculas em tags XHTML
Em XHTML, todos os elementos da página devem ser escritos em minúsculo, por exemplo, onMouseOver é inválido em XHTML, mas onmouseover já é válido.
Artigo original: WDG.