web-dev-qa-db-fra.com

Validation HTML: ça vaut le coup?

Quels sont les avantages et les inconvénients (le cas échéant) de s'assurer que toutes les pages sont validées par rapport à un code HTML non valide qui fonctionne toutefois sur tous les principaux navigateurs?

En outre, le fait d'avoir du code HTML valide après l'exécution de Javascript est-il aussi important?

52
Thomas Bonini

Je pense que cela vaut vraiment la peine , mais vous ne devriez jamais être esclave de la validation - c'est un jeu de fou.

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

  1. Validez votre code HTML. Sachez ce que signifie avoir un balisage HTML valide. Comprendre l'outillage. Plus d'informations sont toujours meilleures que moins d'informations. Pourquoi voler à l'aveugle?

  2. Personne ne se soucie de savoir si votre code HTML est valide. Sauf toi. Si tu veux. Ne croyez pas un instant que produire du code HTML parfaitement valide est plus important que de faire fonctionner votre site Web, de fournir des fonctionnalités qui enchantent vos utilisateurs ou d'accomplir votre travail.

42
Jeff Atwood

Je considère le HTML valide comme un objectif louable, mais je ne le vois pas comme le but ultime de la création de bons sites Web.

Le truc, c'est que votre balisage peut être parfaitement valide, mais il peut ne pas être sémantique - par exemple. utiliser des tableaux pour la mise en page ou la navigation. Il y a une différence entre un code valide et un code sémantique.

Sur une autre note, si vous utilisez de la publicité ou des scripts externes, ils peuvent insérer leur propre balisage, ce qui peut vraiment gâcher le vôtre.

32
Grant Palin

Je pense que cela en vaut la peine, car j'ai corrigé de nombreuses erreurs de balisage et de logique en recherchant une validation. C'est une de ces choses "nécessaires mais pas suffisantes". Un balisage valide, comme un code qui compile (ou extrait via JSlint) sans erreurs, avertissements et astuces, est une bonne première étape pour bien faire les choses.

22
Alan

Le gros avantage du code HTML valide est que votre page est alors plus accessible aux éléments autres que les "principaux navigateurs". Tous les "principaux navigateurs" ont des solutions de contournement sans fin pour traiter tous les fichiers indésirables invalides qui peuplent le WWW. Cependant, s’en tenir au code HTML valide aide, par exemple, si une personne utilise un navigateur pour les malvoyants, ou accède à vos pages hors ligne, etc.

9
delete

La validation en elle-même n’est pas si critique, car peu de navigateurs sont 100% conformes et la spécification n’est pas claire sur la façon d’interpréter les règles.

Cependant, étant valide, le HTML vous met dans une meilleure position pour adapter et améliorer votre site. Au fur et à mesure que les normes évoluent, elles migrent généralement vers l'avant et si votre nouveau site est valide, la mise à jour pour prendre en charge la dernière version devrait être plus facile.

En bas, être valide permet de rester au top de la forme et d’être aussi compatible que possible avec le plus large public.

8
MrChrister

La meilleure approche consiste à savoir quel code HTML non valide est incorrect et quel code HTML non valide importe peu.

Par exemple, oublier de fermer une balise <div> c'est très mauvais, car votre mise en page risquera très certainement de foirer dans un ou plusieurs navigateurs.

Cependant, utiliser <br> au lieu de <br /> dans XHTML n'a pas d'importance - tous les navigateurs l'interpréteront comme un saut de ligne sans problème. L'utilisation de l'attribut target sur des liens n'est pas valide, mais le pire des cas est que le navigateur n'ouvre pas le lien dans une nouvelle fenêtre.

4
DisgruntledGoat

Une des raisons pour tester votre site pour le code HTML valide est qu’il garantit que les robots des moteurs de recherche seront en mesure d’indexer et de déterminer la signification de vos pages. S'ils ne peuvent pas le faire en raison d'un code HTML mal formé (que les principaux navigateurs peuvent utiliser pour des raisons historiques), vous risquez de limiter le classement de votre moteur de recherche.

Il a également été spéculé sur le fait que, si les principaux moteurs de recherche gèrent efficacement le code HTML malformé, ils peuvent également attribuer des "points" de qualité à la qualité de la page, ce qui a une incidence sur votre capacité à obtenir le meilleur classement possible.

3
JasonBirch

Je ne pense vraiment plus que ça compte. J'étais un esclave de la validation, maintenant je la vérifie rarement. Peut-être me suis-je épuisé de m'assurer que mon site est valide, ou peut-être que je m'en moquais tout simplement parce que personne d'autre ne le ferait. Je peux vous garantir que 99,9% de nos visiteurs ne savent même pas ce que c'est et se moquent d'eux. Le logiciel de navigation de demain pourrait peut-être, mais quand ce jour viendra, je m'en inquiéterai alors.

3
Ben

Lors de l'exécution du validateur, vous devez examiner les erreurs qu'il vous produit cas par cas. La validation est-elle importante? Pour moi, oui, c'est très important. Mais est-ce une exigence? Non.

Des choses comme utiliser le même ID plusieurs fois (au lieu d'une classe), placer des éléments de niveau bloc dans des éléments de niveau ligne (généralement, ces éléments ne correspondent pas non plus de manière sémantique), des attributs alt manquants sur les images (accessibilité médiocre pour les personnes ayant une déficience ), sont tous importants. Des choses comme les attributs inconnus sur les tags sont NE PAS important. Du tout. Les frameworks Javascript tels que Dojo ou cette horrible barre de médias sociaux Meebo utilisent des attributs personnalisés comme crochets, et la spécification HTML indique que ceux-ci sont autorisés et que tout attribut inconnu doit être ignoré. Le validateur ne les ignore pas, cependant, il génère des erreurs. Ces erreurs peuvent être ignorées.

Lors de la validation, ne supposez pas simplement que si vous avez des erreurs, vous le faites mal. La sémantique est beaucoup plus importante et il se trouve que le code HTML valide est plus souvent que pas le résultat naturel d'une sémantique correcte.

3
Bryson

Personne n'a encore mentionné le fait qu'un code HTML non valide peut entraîner des temps de rendu plus lents lorsque le navigateur tente de comprendre le code HTML non standard lors de l'affichage.

2
BradB

La validation est utile car elle peut vous aider à détecter certaines erreurs difficiles à détecter, telles que

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

comportement imprévisible du navigateur (par exemple, le fait de placer des éléments de bloc dans un a peut parfois casser de manière très laide dans Firefox).

2
Tgr

Certaines erreurs de validation HTML peuvent entraîner des problèmes de mise en page non évidents (par exemple, des balises imbriquées/non correctement fausse), des bugs JavaScript (par exemple, l'utilisation d'un id plus d'une fois) et des problèmes pour certains utilisateurs (par exemple, l'inclusion d'un _ non significatif ou vierge alt attribut sur les images).

Si toutes nos pages sont validées, c’est une vérification automatique agréable que vous pouvez effectuer pour éliminer les sources d’erreurs. Si vous laissez des erreurs de validation parce que vous savez qu'elles ne causent aucun préjudice, votre contrôle n'est plus automatisé: vous devez examiner chaque erreur et vous rappeler que tout va bien. Personnellement, je le préfère lorsque les ordinateurs réduisent la quantité de travail que je dois faire plutôt que de l’augmenter.

1
Paul D. Waite

Un point dont personne n'a parlé est les développements futurs du navigateur. Bien que tous les navigateurs actuels gèrent relativement bien les balises non valides, ce n'est peut-être pas toujours le cas.

À l'avenir, les fabricants de navigateurs veilleront à ce que leurs navigateurs respectent les normes HTML/XHTML. C'est donc ce que les développeurs Web devraient viser également. Le fait qu’un bit de balisage non valide fonctionne maintenant ne garantit pas son efficacité dans les futurs navigateurs.

1
Loftx

La validité vous aide à éviter les incompatibilités et à maintenir le code maintenable. Les navigateurs récupèrent les erreurs de marquage, mais parfois de manière très peu intuitive.


  • Basé sur la DTD (HTML4, XHTML1 @ W3C) - Ne vaut peut-être pas la peine. La DTD est primitive et ne peut par exemple pas vérifier la validité de la plupart des attributs. Vous aurez surtout du mal à comprendre les erreurs concernant les entités et l’imbrication.

  • validateur HTML5 - Oui . Absolument. HTML5 est plus pragmatique et permet certaines constructions inoffensives qui étaient autrefois des erreurs. Le validateur d'OTOH Henri est beaucoup plus complet et mieux à même de découvrir de vrais problèmes.


La validité du code généré par JS peut avoir son importance, car les navigateurs fonctionnent sous DOM, quelle que soit la manière dont il a été créé. Si vous utilisez document.write(), vous devez même vous assurer que la syntaxe est correcte (il utilise le même analyseur que la source de la page).

1
Kornel

Même si votre code HTML fonctionne sur tous les principaux navigateurs, cela vaut la peine, car cela peut parfois causer des problèmes avec les robots d'exploration des moteurs de recherche tels que googlebot. Par exemple voir ceci:

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

1
Mee

il n'y a pas d'inconvénient à avoir du code HTML valide. Il y a une raison pour laquelle il existe une spécification en premier lieu et pourquoi beaucoup d'efforts sont déployés dans la spécification pour définir comment les choses devraient fonctionner.

en gros, tout ce que vous gagnez est de répondre aux spécifications. ce qui signifie que les programmes écrits pour lire le code HTML (navigateurs, bots) ne peuvent pas vous reprocher de ne pas respecter les spécifications en cas de problème. et certains de ces programmes vous donnent des extrapoints (classement plus élevé dans les moteurs de recherche si le bot indique "respecte les spécifications"). Si vous répondez aux spécifications, vous serez moins pris au dépourvu si certains navigateurs ne rendent pas le code HTML défectueux comme vous le pensez.

alors, répondre aux spécifications et écrire du HTML valide est bon pour vous, sans aucun inconvénient.

1
akira

Google et Bing n’utilisent pas, n’ont jamais utilisé et n’utiliseront jamais la validation CSS ou HTML comme facteur de classement.

La majorité des sites Web contiennent des dizaines à des centaines d'erreurs et vous n'avez pas à vous en soucier, car tous les moteurs de recherche se soucient de la façon dont la page s'affiche. Assurez-vous simplement que votre site Web s'affiche correctement dans tous les principaux navigateurs et Google Fetch .

0
Simon Hayter