Validação vs. Semântica

Novembro 1, 2006

O blog de Rafael Marin mudou para www.rafaelmarin.net.

Lendo alguns artigos à respeito de Validação e Semântica, como o artigo que o Henrique do Revolução Etc escreveu sobre o assunto, resolvi criar a minha versão para este assunto.
Talvez eu seja o centésimo que esteja escrevendo sobre isto, mas não importa.

Muitos pensam pensam que um site validado pelo W3C é o suficiente, principalmente os iniciantes no assunto de Web Standards. É fundamental que o desenvolvedor conheça ao menos qual o papel real do Validador da W3C. Ao validar o código, você apenas verifica que não há nenhum erro de sintaxe, como uma tag que não foi fechada, e coisas do gênero. Só, e nada mais.

Talvez seja uma das gafes mais comuns cometidas pelos iniciantes confundir validação e semântica. Basicamente, a validação consiste em verificar se não há erros de sintaxe, e semântica é atribuir as tags adequadas de acordo com o conteúdo. Isso significa que usamos as tags <p> para parágrafos, <h1> (e as outras tags h) para títulos, e assim por diante.

O único validador de semântica que existe é você mesmo. Uma máquina não consegue verificar se o texto de uma tag <p> realmente é um parágrafo, ou se é um elemento com uma classe que o torna com a aparência de título.

Cabe exclusivamente a você avaliar se o seu código é semântico – o que exige experiência, e o que eu considero muito mais importante do que a validação. Por isso às vezes nem ligo se na validação ficam ainda alguns warnings – claro que tento corrigí-los ao máximo quando possível, mas é algo que não incomoda justamente por que uma das causas destes warnings são as adaptações necessárias para que o site rode tranqüilamente, sem distorções, em diferentes plataformas e browsers.

Ter um código sem erros é ótimo, e para isto (leia-se: SOMENTE para isto) é que serve o validador. Mas um código semântico, onde as tags realmente são usadas para sua devida função, vale muito mais.

Vou citar um exemplo que mostra a diferença entre validação e semântica, antes de encerrar este artigo: a tag <table> é utilizada para criar tabelas de dados, mas nos últimos tempos vêm sido usada por muitos desenvolvedores para estruturar o corpo da página. Isto é correto? Não, não é correto. Não é semanticamente correto, pois a tag <table> não foi planejada para a estruturação do corpo da página.

Mesmo não sendo o propósito da tag <table>, que é o de exibir dados tabulares, mas fazendo a tabela sem erros de HTML, o código será validado pelo validador. O código é válido? Sim, é válido. É semântico? Não.

Pensem nisso ;D

Em outros sites você encontra outras versões – melhores que a minha talvez – para este assunto. O Jader escreveu um bom artigo à respeito, e o Henrique do Revolução Etc escreveu vários. Ah, o Maujor também escreveu um ótimo artigo.

Até mais, pessoal!

One Response to “Validação vs. Semântica”

  1. Jader Rubini Says:

    Bom texto, Rafael.
    É isso ai… O que vale é ter um site semanticamente correto.
    Parabéns e obrigado pela referência.
    Abraços

Leave a Reply