
O que faz um validador de HTML (e por que é importante)
- VersionDude
- Padrões
- 5 min de leitura
Um validador de HTML confronta o seu markup com o padrão vivo — detetando erros que os navegadores mascaram mas que prejudicam a acessibilidade e a fiabilidade.
Um validador de HTML analisa o seu documento como faria um navegador e assinala os pontos onde se desvia do padrão HTML. Assinala as etiquetas não fechadas, os atributos mal utilizados, os elementos colocados onde a especificação não o permite, e outros problemas estruturais. Em suma, confronta o seu markup com o regulamento e indica-lhe com precisão onde os dois divergem, antes que essas divergências se transformem em bugs.
A razão por que estes problemas passam tantas vezes despercebidos é que os navegadores são deliberadamente indulgentes. O algoritmo de análise do HTML está concebido para se recuperar de quase qualquer erro produzindo ainda assim uma página utilizável, o que é excelente para a resiliência mas desastroso para o feedback. Uma página que parece perfeitamente correta no seu navegador pode conter um markup que o padrão considera inválido, e nunca o saberia sem uma ferramenta que verifique em relação à especificação em vez de se limitar a apresentar o resultado.
A ferramenta de referência e o seu âmbito

A ferramenta de referência para este trabalho é o Nu HTML Checker, disponível em validator.nu e como motor por trás de validator.w3.org/nu. Provém do mesmo trabalho de verificação de conformidade documentado noutro lado deste site, e aplica o verdadeiro algoritmo de análise assim como as regras de esquema que sustentam o padrão vivo. Porque usa o algoritmo real em vez de uma aproximação, os seus veredictos refletem a forma como um analisador conforme ao padrão interpreta verdadeiramente o seu documento.
Vale a pena ser preciso sobre o que o validador promete e o que não. Verifica a conformidade ao padrão — que o seu markup é bem formado e usa corretamente os elementos e os atributos — e não que a sua página é bem concebida, acessível sob todos os aspetos ou isenta de erros lógicos. Um documento pode validar-se perfeitamente e ter ainda assim uma má ergonomia, tal como alguns avisos de validação não significam necessariamente que uma página está quebrada. O validador é um instrumento preciso e estreito, e tratá-lo como a imagem completa seria um erro.
Os verdadeiros benefícios de um markup válido
Dentro do seu perímetro, no entanto, um markup válido traz benefícios concretos e práticos em vez de uma simples limpeza. Melhora a acessibilidade, porque as tecnologias de apoio assentam num DOM bem formado e corretamente estruturado para transmitir o conteúdo aos utilizadores que não podem ver o ecrã. Os títulos mal aninhados, as etiquetas em falta e os marcos malformados degradam todos esta experiência, e muitos destes problemas aparecem primeiro sob a forma de erros de validação.
Um markup válido reduz também as incoerências entre navegadores. Quando o seu documento se desvia do padrão, navegadores diferentes podem aplicar as suas regras de recuperação de erros de maneiras subtilmente diferentes, conduzindo a um layout ou a um comportamento que varia entre eles. Um markup conforme dá a cada navegador conforme ao padrão a mesma árvore sem ambiguidade a partir da qual trabalhar, o que significa menos dessas exasperantes surpresas «funciona aqui mas não ali».
Há também um ângulo de pesquisa e de ferramentas. Os motores de pesquisa, as pré-visualizações de hiperligações, as funcionalidades de modo de leitura e inúmeras ferramentas automatizadas leem o DOM que o seu markup produz, e uma estrutura previsível e válida torna as suas páginas mais fiavelmente interpretadas por todos. Não pode controlar a forma como cada ferramenta analisa um documento desarrumado, mas pode controlar o facto de lhe entregar um limpo, e a validação é a maneira de o verificar.
Um ganho de qualidade barato e de grande alavancagem
Tudo isto faz da correção dos avisos do validador um dos ganhos de qualidade menos dispendiosos que existem. A maioria dos erros é rápida de resolver — uma etiqueta de fecho em falta, um id duplicado, um atributo no elemento errado — e o benefício em acessibilidade, coerência e previsibilidade é desproporcionado em relação ao esforço. Poucas melhorias oferecem uma relação benefício/tempo gasto tão favorável.
Fazer da validação parte do fluxo de trabalho
A forma de captar este valor de maneira fiável é fazer da validação uma parte do seu fluxo de trabalho em vez de um ritual ocasional. Execute o validador no commit, ou integre-o na sua pipeline de integração contínua, para que o markup seja verificado automaticamente sempre que muda. Apanhar os erros no momento em que são introduzidos é bem mais fácil do que fazer arqueologia mais tarde numa grande base de código longamente negligenciada.
Uma vez automatizado, trate os novos erros de validação como trata um teste que falha: como uma regressão que bloqueia a alteração até à sua correção. Isto mantém o seu markup conforme ao longo do tempo em vez de se degradar lentamente, e transforma a conformidade ao padrão de um esforço de limpeza heroico num hábito discreto e contínuo. A combinação do Nu HTML Checker e de um fluxo de trabalho disciplinado é uma das maneiras mais fiáveis de manter o markup de um site saudável a longo prazo.



Tudo isto faz da correção dos avisos do validador um dos ganhos de qualidade menos dispendiosos que existem. A maioria dos erros é rápida de resolver — uma etiqueta de fecho em falta, um id duplicado, um atributo no elemento errado — e o benefício em acessibilidade, coerência e previsibilidade é desproporcionado em relação ao esforço. Poucas melhorias oferecem uma relação benefício/tempo gasto tão favorável.