desenv-web-rp.com

Validação HTML: vale a pena?

Quais são as vantagens e desvantagens (se houver) de garantir que todas as páginas sejam validadas em comparação com o HTML inválido que, no entanto, funciona nos principais navegadores?

Além disso, o HTML válido é válido após a execução do Javascript tão importante?

52
Thomas Bonini

Eu acho que definitivamente vale a pena fazer , mas você nunca deve ser escravo da validação - é um jogo de tolos.

http://www.codinghorror.com/blog/2009/03/html-validation-does-it-matter.html

  1. Valide seu HTML. Saiba o que significa ter uma marcação HTML válida. Entenda as ferramentas. Mais informações são sempre melhores que menos informações. Por que voar às cegas?

  2. Ninguém se importa se o seu HTML é válido. Exceto você. Se você quiser. Não pense por um segundo que produzir HTML perfeitamente válido é mais importante do que executar o site, fornecer recursos que encantam os usuários ou realizar o trabalho.

42
Jeff Atwood

Considero o HTML válido um objetivo que vale a pena, mas não o vejo como o todo e o fim de criar bons sites.

O truque é que sua marcação pode ser perfeitamente válida, mas pode não ser semântica - por exemplo, usando tabelas para layout ou navegação. Há uma diferença entre código válido e código semântico.

Em outra nota, se você usar scripts de publicidade ou externos, eles poderão inserir sua própria marcação, que poderá realmente atrapalhar a sua.

32
Grant Palin

Eu acho que vale a pena, pois peguei muitos erros de marcação e lógica ao procurar validação. É uma daquelas coisas "necessárias, mas não suficientes". A marcação válida, como código que compila (ou efetua check-out via JSlint), livre de erros, avisos e dicas, é um bom primeiro passo para acertar.

22
Alan

A grande vantagem do HTML válido é que sua página fica mais acessível a outros itens que não os "principais navegadores". Todos os "principais navegadores" têm soluções infinitas para lidar com todo o lixo inválido que preenche a WWW. No entanto, aderir a HTML válido ajuda, por exemplo, se alguém estiver usando um navegador para deficientes visuais ou acessando suas páginas off-line etc.

9
delete

A validação por si só não é tão crítica, pois poucos navegadores são 100% compatíveis e as especificações não são 100% claras sobre como interpretar as regras.

No entanto, ser um HTML válido coloca você em uma posição melhor para adaptar e melhorar seu site. À medida que os padrões se movem, eles normalmente migram para a frente e, se o seu novo site for válido, a atualização para dar suporte à última coisa será mais fácil.

No fundo, a validade torna mais fácil permanecer no topo do jogo e ser o mais compatível possível com o público mais amplo.

8
MrChrister

A melhor abordagem é aprender qual HTML inválido é ruim e qual HTML inválido não importa.

Por exemplo, esquecer de fechar uma tag <div> é muito ruim, porque seu layout quase certamente estraga em um ou mais navegadores.

No entanto, usar <br> em vez de <br /> em XHTML não importa - todos os navegadores interpretarão ambos como uma quebra de linha sem problemas. O uso do atributo target nos links é inválido, mas o pior cenário é que o navegador não abre o link em uma nova janela.

4
DisgruntledGoat

Uma razão para testar seu site quanto a HTML válido é que ele garante que os spiders do mecanismo de pesquisa possam indexar e determinar completamente o significado de suas páginas. Se eles não puderem fazê-lo devido ao HTML malformado (que os principais navegadores podem contornar por razões históricas), você está potencialmente limitando a classificação do seu mecanismo de pesquisa.

Também houve especulações de que, embora os principais mecanismos de pesquisa façam um bom trabalho ao lidar com HTML malformado, eles também podem atribuir "pontos" à qualidade da página para validade, afetando ainda mais sua capacidade de classificar tão alto quanto seu conteúdo merece.

3
JasonBirch

Eu realmente acho que não importa mais. Eu era escravo da validação, agora raramente verifico. Talvez eu tenha me cansado de garantir que meu site seja válido, ou talvez eu não me importei mais porque ninguém mais o fará. Posso garantir que 99,9% dos nossos visitantes nem sabem o que é e também se importam se soubessem. Futuro software de navegador pode, mas quando esse dia chegar, vou me preocupar com isso.

3
Ben

Ao executar o validador, você precisará examinar os erros que ele fornece caso a caso. A validação é importante? Para mim, sim, é muito importante. Mas é um requisito? Não.

Coisas como usar o mesmo ID várias vezes (em vez de uma classe), colocar elementos no nível de bloco dentro de elementos no nível inline (geralmente esses elementos também não se encaixam dessa maneira semanticamente), perdendo atributos alt nas imagens (pouca acessibilidade para os deficientes) ), são todos importantes. Coisas como atributos desconhecidos nas tags são NÃO importante. Em absoluto. Estruturas Javascript como Dojo ou essa terrível barra de mídia social Meebo usam atributos customizados como ganchos, e a especificação HTML declara que eles são permitidos e que qualquer atributo desconhecido deve ser ignorado. O validador não os ignora, porém, gera erros. Esses erros podem ser ignorados.

Ao validar, não basta assumir que, se houver erros, você estará fazendo errado. A semântica é muito mais importante, e acontece que o HTML válido é mais frequentemente do que o resultado natural de ter uma semântica adequada.

3
Bryson

Um ponto que ninguém mencionou ainda é que o HTML inválido pode causar tempos de renderização mais lentos, enquanto o navegador tenta entender o HTML não padrão ao exibir.

2
BradB

A validação é útil porque pode ajudá-lo a detectar alguns erros difíceis de detectar, como

<input name=foo value=<?php echo htmlspecialchars($_GET['foo']); ?> />

ou comportamento imprevisível do navegador (por exemplo, colocar elementos de bloco em um a às vezes pode quebrar de maneira feia no Firefox).

2
Tgr

Alguns erros de validação de HTML podem causar problemas de layout não óbvios (por exemplo, tags aninhadas/não fechadas incorretamente), erros de JavaScript (por exemplo, usando um id mais de uma vez) e problemas para alguns usuários (por exemplo, não incluindo um texto em branco ou significativo alt atributo nas imagens).

Se todas as nossas páginas forem validadas, é uma verificação automática agradável que você pode fazer para descartar fontes de erros. Se você deixar alguns erros de validação porque sabe que eles não estão causando nenhum dano, sua verificação não será mais automatizada: você deve analisar cada erro e lembrar que está tudo bem. Pessoalmente, prefiro quando os computadores reduzem a quantidade de trabalho que tenho que fazer, em vez de aumentá-la.

1
Paul D. Waite

Um ponto que ninguém mencionou são os desenvolvimentos futuros do navegador. Embora todos os navegadores de hoje lidem com marcações inválidas relativamente bem, isso nem sempre é o caso.

Os fabricantes de navegadores no futuro garantirão que seus navegadores funcionem de acordo com os padrões HTML/XHTML; portanto, é isso que os desenvolvedores da web também devem ter. Só porque um pouco de marcação inválida funciona agora não garante que funcione em navegadores futuros.

1
Loftx

A validade ajuda a evitar incompatibilidades e mantém o código com manutenção. Os navegadores se recuperam de erros de marcação, mas às vezes de maneiras muito pouco intuitivas.


  • Baseado em DTD (HTML4, XHTML1 @ W3C) - Pode não valer a pena. DTD é primitivo e, por exemplo, não pode verificar a validade da maioria dos atributos. Você dificilmente entenderá erros sobre entidades e aninhamento.

  • validador HTML5 - Sim . Definitivamente. O HTML5 é mais pragmático e permite algumas construções inofensivas que costumavam ser erros. O validador da OTOH Henri é muito mais completo e melhor na descoberta de problemas reais.


A validade do código gerado por JS pode ser importante, pois os navegadores operam no DOM, independentemente de como ele foi criado. Se você usar document.write(), precisará cuidar para obter a sintaxe correta (ela passa pelo mesmo analisador que a fonte da página).

1
Kornel

Mesmo que seu HTML funcione em todos os principais navegadores, ainda vale a pena fazer, pois às vezes pode causar problemas com os rastreadores de mecanismos de pesquisa como o googlebot. Por exemplo, veja isto:

http://www.codeproject.com/KB/server-management/Google_Indexing_Problem.aspx

1
Mee

não há desvantagem de ter html válido. há uma razão pela qual há uma especificação em primeiro lugar e por que muito esforço está sendo colocado na especificação para definir como as coisas devem funcionar.

basicamente, tudo o que você ganha é atender às especificações. o que, por sua vez, significa que os programas escritos para ler html (navegadores, bots) não podem culpá-lo por não atender às especificações se algo der errado. e alguns desses programas oferecem pontos extras (classificação mais alta nos mecanismos de pesquisa, se o relatório do bot "atender às especificações"). se você atender às especificações, será surpreendido muito menos se alguns navegadores não apresentarem html quebrado da maneira que você acha que deveria.

portanto, atender às especificações e escrever html válido é bom para você, sem nenhuma desvantagem.

1
akira

O Google e o Bing não usam, nunca usaram e nunca usarão a validação CSS ou HTML como fator de classificação.

A maioria dos sites tem entre dezenas e centenas de erros e você não precisa se preocupar com eles, porque todos os mecanismos de pesquisa se preocupam com a forma como a página é processada. Apenas verifique se o seu site é renderizado corretamente em todos os principais navegadores e Busca do Google .

0
Simon Hayter