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?
javascript
html
validation
Thomas Bonini
fonte
fonte
Respostas:
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
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?
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.
fonte
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.
fonte
Eu acho que vale a pena, pois eu pego muitos erros de marcação e lógica procurando 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.
fonte
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.
fonte
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 seu novo site for válido, a atualização para dar suporte à última versão deve ser mais fácil.
Por baixo, 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.
fonte
A melhor abordagem é aprender qual HTML inválido é ruim e qual HTML inválido não importa.
Por exemplo, esquecer muito de fechar uma
<div>
tag é muito ruim , porque seu layout quase certamente estraga em um ou mais navegadores.No entanto, o uso em
<br>
vez de<br />
no XHTML não importa - todos os navegadores interpretarão ambos como uma quebra de linha sem problemas. O uso dotarget
atributo nos links é inválido, mas o pior cenário é que o navegador não abre o link em uma nova janela.fonte
target
é válido em XHTML de transição e apenas masoquistas usam estrito. A omissão da barra de fechamento tornará a sua página XML inválida, o que provavelmente confundirá os raspadores de tela. Se você optar por usar XHTML, sua página deverá ser no mínimo XML válido.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 ajustam dessa maneira semanticamente), perdendo atributos alt nas imagens (pouca acessibilidade para os deficientes) ), são todos importantes. Coisas como atributos desconhecidos nas tags NÃO são importantes. Em absoluto. Estruturas Javascript como Dojo ou aquela 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.
fonte
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 fazer isso devido ao HTML malformado (que os principais navegadores podem solucionar 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.
fonte
Eu realmente acho que não importa mais. Eu era escravo da validação, agora raramente verifico. Talvez tenha me cansado de garantir que meu site seja válido, ou talvez não me importe 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.
fonte
A validação é útil porque pode ajudá-lo a detectar alguns erros difíceis de detectar, como
ou comportamento imprevisível do navegador (por exemplo, colocar elementos de bloco em
a
algumas vezes pode quebrar de maneira feia no Firefox).fonte
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.
fonte
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 um grande 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 de 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.
fonte
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
id
mais de uma vez) e problemas para alguns usuários (por exemplo, não incluindo umalt
atributo em branco ou significativo nas imagens).Se todas as nossas páginas forem validadas, é uma boa verificação automatizada 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 observar 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.
fonte
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.
fonte
<font>
tag ou seu tipo.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ê usa
document.write()
, você precisa ter o cuidado de obter a sintaxe correta (ela passa pelo mesmo analisador que a fonte da página).fonte
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
fonte
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 nos principais navegadores e na Pesquisa do Google .
fonte