Question

Je suis en train de construire un site en ce moment, mais j’ai jusqu’à présent forcé tous mes efforts pour qu’il soit conforme, et il a pratiquement la même apparence sur tous les navigateurs. Cependant, je commence à implémenter des javascripts libres / tiers qui permettent, par exemple, d’ajouter des attributs (par exemple, ordre = 2). Je pourrais contourner ce problème, mais c’est pénible et je commence à perdre le principe de ma responsabilité de s’assurer que tout est valide. Vraiment, y a-t-il un intérêt à travailler sur quelque chose comme ça? J'ai le plugin HTMLValidator pour firefox, et en regardant la plupart des sites majeurs (y compris celui-ci, Google, etc.), ils ne sont pas valides en XHTML ou HTML.

Était-ce utile?

La solution

Je n'ai pas encore rencontré d'expérience dans laquelle l'ajout d'un attribut non standard a entraîné un problème de rendu dans tous les navigateurs.

N'essayez pas de contourner ces attributs non standard. Les validateurs sont des outils pratiques pour vérifier votre code à la recherche d'erreurs non intentionnelles, mais comme nous le savons tous, même un xhtml totalement valide ne sera pas toujours restitué de manière cohérente sur tous les navigateurs. Il arrive souvent que les décisions de conception nous obligent à utiliser des piratages spécifiques à un navigateur (et non standard) pour obtenir un effet. C’est la vie d’un développeur Web, comme en témoigne le nombre de sites de pilotage technologique (Google, Yahoo, etc.) qui ne sont pas validés.

Autres conseils

La validation est utile pour déterminer si des éléments ne répondent pas aux normes avec lesquelles vous êtes probablement d’accord. Si vous utilisez délibérément un outil qui ajoute spécifiquement quelque chose qui n’est pas dans les normes de validation, cela n’enfreind évidemment pas votre contrat de normes personnel.

Cette discussion devient beaucoup plus difficile si vous avez un chef ou un client qui pense que tout devrait lui être favorable, car vous devrez leur expliquer ce qui précède et les convaincre que ce n’est pas simplement que vous êtes paresseux.

Cela dit, assurez-vous que vous n'êtes pas simplement paresseux. Bien que les validateurs puissent de manière agaçante constamment évoquer toutes les instances de l'attribut tiers, cela n'invalide pas (ha) les autres erreurs de validation qu'ils mentionnent. Il vaut souvent la peine de la parcourir pour vérifier votre travail.

La conformité aux normes vise à augmenter les chances que votre page fonctionne dans les navigateurs avec lesquels vous ne testez pas. Cela inclut les lecteurs d’écran et la prochaine mise à jour des navigateurs sur lesquels vous effectuez des tests, ainsi que les navigateurs sur lesquels vous effectuez des tests mais que l’utilisateur a configurés de manière inattendue.

La validation ne vous garantit rien, car il est possible que votre page soit validée mais reste suffisamment ambiguë pour ne pas se comporter comme vous le souhaitez sur certains navigateurs un jour.

Cependant, si votre page est validée, vous avez au moins la force de la spécification XHTML indiquant comment elle devrait se comporter. Si cela ne valide pas, tout ce que vous avez est un tas de conventions informelles entre les auteurs de navigateur.

Il est probablement préférable d'écrire du code HTML 3 valide qu'un XHTML non valide, si vous souhaitez effectuer quelque chose qui est autorisé dans l'un mais pas dans l'autre.

Si vous envisagez de tirer parti de XHTML en tant que XML, cela vaut la peine de rendre vos pages valides et bien formées. Sinon, le vieux HTML sémantique est probablement ce que vous voulez. Dans tous les cas, les besoins de votre public l'emportent sur ceux d'un validateur.

N'oubliez pas que la balise XHTML est restituée différemment dans la plupart des navigateurs. L'attribut DOCTYPE détermine le mode d'affichage du navigateur et détermine ce qui est autorisé ou non. Si vous vous écartez de la conformité XHTML, veillez simplement à effectuer un nouveau test dans tous les navigateurs.

Personnellement, je m'en tiens aux normes les plus récentes dans la mesure du possible, mais vous devez peser temps / argent par rapport à la conformité et cela dépend des préférences personnelles pour la plupart.

En ce qui concerne les navigateurs, la conformité XHTML est inutile en ce que:

  1. Les navigateurs ne disposent pas d’analyseurs XHTML. Ils ont des analyseurs syntaxiques HTML compatibles avec le Web, non spécifiques à la version, qui construisent un DOM autour de la http: // www .w3.org / 1999 / xhtml , espace de noms.

  2. Certains navigateurs dotés d'un analyseur XML peuvent traiter le balisage XHTML utilisé comme application / xhtml + xml comme XML. Cela prendra le code XML et donnera le style et le comportement HTML par défaut aux éléments du http: //www.w3. org / 1999 / xhtml espace de noms. Mais, en ce qui concerne l'analyse, cela n'a rien à voir avec XHTML. Les règles d’analyse XML sont suivies, pas certaines règles de la DTD XHTML.

Ainsi, lorsque vous utilisez le balisage XHTML, vous donnez quelque chose d'étranger aux navigateurs et vous voyez s'il est diffusé comme vous le souhaitez. Le fait est que vous pouvez le faire avec n’importe quel balisage. Si le rendu est correct et que le bon DOM est créé, vous vous en tirerez très bien. Assurez-vous simplement de garder DOCTYPE Switch en tête et de ne pas vous fier à un bogue de navigateur (pour éviter que les navigateurs sans bogue ne se détériorent).

La conformité XHTML est bonne pour la vérification de la syntaxe (en validant) pour voir si le balisage est bien formé. Cela permet d’éviter d’analyser les bogues. Bien sûr, cela peut également être fait avec HTML, il n'y a donc rien de spécial à propos de XHTML dans ce cas. Quoi qu’il en soit, vous devez toujours tester les navigateurs et espérer que les fournisseurs de navigateurs créent d’excellents analyseurs syntaxiques HTML capables d’accepter toutes sortes de foutaises.

Ce qui n’est pas inutile, c’est essayer de se conformer aux attentes des navigateurs. HTML5 aide avec ce grand temps. Et, en parlant de HTML5, vous pouvez définir des attributs personnalisés à votre guise. Préfixez-les simplement avec data-, comme dans & Lt; p data-order = & "Ceci est un attribut personnalisé valide. &"; & Gt; test & Lt; / p >.

Etre HTML valide est généralement une aide pour vous et le moteur de rendu du navigateur. Moins les navigateurs ont de problèmes, plus ils peuvent se concentrer sur l’ajout de nouvelles fonctionnalités. Plus vous êtes strict, moins vous passez de temps à vous demander pourquoi cette balise propriétaire f @ # cking ne fonctionne pas dans les autres navigateurs.

D’un autre côté, XHTML est, à mon humble avis, plus inutile, sauf si vous envisagez de l’intégrer dans un document XML. Comme IE ne le reconnaît toujours pas, il est inutile de rester avec.

Je pense écrire " code valide " est important, tout simplement parce que vous donnez l'exemple en suivant les règles. Si chaque développeur avait écrit du code pour Fx, Safari et Opera, je pense que IE devait & Commencer à suivre les règles & Quot; plus tôt qu'avec la version 8.

J'essaie d'écrire du code conforme la plupart du temps en pesant le temps / coût par rapport aux besoins du public dans tous les cas sauf un. Lorsque votre code doit être conforme à la norme 503, il est dans votre intérêt et de l'intérêt de votre auditoire d'écrire du code conforme. Je suis tombé sur un groupe de lecteurs d'écran qui explosent lorsque le code est légèrement en retrait.

Comme le dit la majorité des affiches, il s’agit vraiment de répondre aux besoins de votre public.

Ce n’est nullement inutile, mais il est parfaitement justifié de le casser. Au cours des premières étapes du développement CSS, il est très utile de diagnostiquer les problèmes de navigateur si votre balisage est valide. Au-delà de cela, si vous voulez faire quelque chose et que vous pensez que la méthode la plus appropriée est de casser la validation, c'est généralement bien.

Une alternative à l'utilisation d'attributs personnalisés consiste à utiliser l'attribut 'rel'. Pour un exemple, voir Litebox. (et ses proches).

Bien sûr, vous pouvez toujours aller de l'avant et l'écrire comme vous le souhaitez, en veillant à ce que cela fonctionne au minimum. Bien sûr, nous avons déjà subi cette mentalité et en avons été témoin, Internet Explorer 6 .

Je suis un grand fan de la Approche de Mike Davidson en matière de développement axé sur les normes .

  

Ce n'est pas parce que vous pouvez valider votre code que & # 8217; vous êtes meilleur que quiconque. Heck, cela ne & # 8217; t signifie même pas nécessairement que vous écrivez meilleur code que quiconque. Quelqu'un qui peut écrire une application bancaire entièrement en Flash est un meilleur codeur que vous. Quelqu'un qui peut intégrer du code tiers dans un environnement de publication complexe est un meilleur codeur que vous. Pensez à la validation comme à l’utilisation de la grammaire parfaite; cela vous aide à faire passer vos idées et est le signe d'une bonne éducation, mais ce n'est & # 8217; pas aussi important que les idées et les concepts auxquels vous pensez et que vous communiquez par la suite. La personne la plus charismatique et peut-être la plus intelligente pour laquelle je & # 8217; ai jamais travaillé était originaire du Sud et utilisait le mot & # 8220; ain & # 8217; t & # 8221; assez régulièrement. Cela ne & # 8217; ne l'a pas rendu moins intelligent et, en fait, cela l'a rendu encore plus mémorable. Donc, tout ce que je & # 8217; dis, c’est qu’il ya beaucoup de choses pour juger quelqu'un sur & # 8230; la validation est l'un d'entre eux, mais certainement pas le plus important.

Beaucoup de gens comprennent mal que cet article veut dire que nous ne devrions pas coder selon les normes. Nous devrions, évidemment, mais ce n'est pas quelque chose qui devrait même être vraiment pensé. L’armée de validation décrira toujours ceux qui ne le font pas, mais la validation signifie bien plus que du code valide.

Alors, ne perdez pas vos principes, mais souvenez-vous que si vous respectez les normes, vous aurez beaucoup moins de chances de vous retrouver dans le vif du sujet. Le contenu que vous essayez de fournir est beaucoup plus important que son affichage.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top