Validação e Semântica

Eu me lembro que tempos atrás eu acreditava que passar pelo validador da W3C era tudo! Acreditava que se eu conseguisse validar meu site em “XHTML strict” eu seria “o cara”! Me lembro até hoje como foi a sensação de ver aquela tela “This page is valid XHTML 1.0 Strict” pela primeira vez. Com certeza “um pequeno passo para um homem, mas um grande passo para humanidade”, eu pensava.

Vou ter que tirá-la da toca do coelho Alice!

Este mundo mágico que você acreditava existir onde você insere sua URL e um mecanismo verifica que você está com um código semântico não existe! Existe outra realidade que você deve saber sobre os validadores, e especificamente sobre o validador de HTML da W3C. O maior erro que a maioria dos desenvolvedores comete é associar que um código validado pela W3C é um código semanticamente correto. Não há nada mais enganoso que isto. Você pode ter um código sujo, sem respeitar nenhuma tag, sem nunca ter ouvido falar em semântica e ainda assim, tê-lo 100% validado em XHTML Strict.

Se você gritou na sua mente “isso é um absurdo” ou “o que este cara está falando?”, você precisa aprender algumas coisas sobre semântica.

Semântica é significado.

Como eu escrevi aqui anteriormente que semântica é o estudo do significado das palavras e sua relação uma com as outras. Não estou me referindo aqui a semântica de SGML da qual o XHTML é um dos derivados. É um assunto muito distante do escopo deste texto.  Estou falando de semântica de XHTML e nada mais. Neste sentido estrito, um código semântico nada mais é do que utilizar as tags no sentido real pelo qual elas foram criadas. Se você vai escrever uma lista, você pode usar <ol> <ul> ou <dl>, se vai escrever um endereço você deve usar <adderess>, se precisa de um título, você tem os headings <h1>, <h2>, <h3> e assim por diante. Utilizar as tags no sentido correto é igual a “código semântico” que por sua vez justifica o termo “web standards”. Seguir os web standards é respeitar a semântica!

O validador de HTML verifica a ortografia do seu código, ou seja, verificam se não há erros de escrita nele. E nada mais! É só isso que ele faz. Ele não avalia se o conteúdo que você inseriu, e que só tem significado para seres humanos, foi inserido dentro das tags correspondentes aquele tipo de conteúdo. Ou seja, o validador nem ao menos vai te falar se seu código está dentro dos padrões e nem ao menos significa que seu trabalho seja uma boa página! O validador não vai te informar se este trecho deve estar dentro de um <h1> ou dentro de uma <li>. Isso é impossível de ser feito!

Não existe e nunca vai existir um “validador semântico”. Você vai precisar estudar e ler muito para avaliar você mesmo se o seu XHTML segue os padrões ou não. A semântica é a alma dos web standards. Seguir os padrões é descrever seus dados usando as tags de forma correta (descrever dados te lembra outra coisa chamada Microformats?). Você precisa dizer para os user agents o que é um título, o que é uma lista ordenada, o que é um endereço e assim por diante.

Voltando aos Validadores

Para que servem os validadores então, se eles não avaliam se meu site está ou não dentro dos padrões? A função dos validadores é te ajudar a verificar se seu código tem erros de “ortografia”. Ele pode te mostrar onde você esqueceu de fechar uma tag, onde você esqueceu um atributo que não deveria ter esquecido ou o lugar onde você colocou aspas e não deveria ter feito. Um site “validado” significa simplesmente que ele não tem erros ortográficos! Não significa que ele segue os padrões. Mais vale um site semântico com alguns errinhos ortográficos na mão (leia-se não validado) do que dois sites validados feito todo em tabelas voando!

Algum tempo atrás me parece que havia um “status” maior em se ter um site validado. Alguns até diziam que se não fosse em XHTML Strict e validado, o site não merecia atenção. Mas lembre-se que o HTML 4 ainda é uma recomendação da W3C, e um site semanticamente correto, escrito em HTML 4 e com alguns errinhos de ortografia tem milhões de chances a mais de ser relevante para o Google ou qualquer outro mecanismo de busca, do que um site validado, não semântico e feito em tabelas. Os valores aqui se inverteram não é mesmo?

No final das contas, é ou não importante ter um site validado?

Sim. É importante. Significa que você não esqueceu nada onde não deveria e que seu documento não tem erros ortográficos e código mal escrito. Mas nunca se esqueça que isso não faz do seu site um “web standards conformance”.  E se vivêssemos no país das maravilhas e fizesse algum sentido fazer uma escolha entre as duas opções, ter um site dentro dos padrões, mas com erros de validação, é melhor! É tudo uma questão de relevância!