Comment maintenir la conformité aux normes W3C d'un thème

10

Lorsque j'ai écrit un thème, je me suis assuré qu'il était compatible avec XHTML 1.1 et CSS 2.1. Ensuite, j'ai ajouté des plugins et le thème n'est plus compatible avec XHTMl 1.1. Ensuite, j'ai utilisé la police Google API dans mon CSS et il est plus compatible CSS 2.1.

Existe-t-il un moyen de conserver la conformité sans me débarrasser des plugins, polices, etc. ou devrais-je simplement ignorer les erreurs de validation?

    
posée James 17.08.2010 - 23:07

4 réponses

5

Correction, votre thème était toujours compatible avec XHTML 1.1 et CSS 2.1, mais les plug-ins que vous avez ajoutés ont injecté du code supplémentaire non compatible .

Malheureusement, il n’existe pas de moyen facile de maintenir la conformité si vous utilisez des plug-ins. Le mieux que vous puissiez faire est de valider votre thème et l'ensemble du balisage dont vous êtes personnellement responsable, puis espérez que les autres développeurs ont pris le temps de valider leur propre travail.

L'alternative est beaucoup plus de travail de votre part - vous pouvez toujours utiliser la fonctionnalité principale des plug-ins, mais ne leur permettez pas de générer des balises aucune dans le navigateur. Ajoutez votre propre couche personnalisée qui décroche tout ce que le plug-in touche et créez votre propre tampon de sortie. C’est la seule façon de contrôler le style de marquage envoyé au navigateur.

Plusieurs plug-ins commencent à utiliser HTML 5 ... d'autres essayent d'utiliser CSS3. Si vous installez ces plug-ins et que vous ne procédez pas à la désinfection et à la validation de leur sortie, votre site cessera de valider correctement.

    
réponse donnée EAMann 17.08.2010 - 23:46
8

Chaque plugin va générer le code qu’il veut générer et certains d’entre eux ne seront pas conformes à XHTML 1.1. Le seul moyen raisonnable de corriger ce problème consiste à vérifier chacun d'eux et à modifier les contrevenants ou à demander au développeur de modifier ou d'utiliser vos modifications comme correctif.

Vous pouvez également essayer d’écrire un filtre pour le nettoyer, mais essayer de saisir tous les cas particuliers semble être une version de mon propre cauchemar personnel et cela affecterait également les performances pour un bénéfice douteux.

Avez-vous un client / responsable qui le souhaite, ou est-ce simplement quelque chose qui est supposé être un " bien-à-avoir "? (Oui, il y en a qui sont très sensibles. Je ne suis cependant pas de ceux-là.)

Cela dit, XHTML perd son statut " d'enfant aux cheveux blonds " sur le Web; même Tim Berners-Lee dit en 2006:

  

Certaines choses sont plus claires avec le recul   de plusieurs années. Il est nécessaire de   évoluer HTML progressivement. La tentative   pour amener le monde à passer au XML,   y compris les guillemets autour de l'attribut   les valeurs et les barres obliques dans les balises vides et   Les espaces de noms tout à la fois ne fonctionnaient pas.   Le grand public générant du HTML a   pas bouger, en grande partie parce que les navigateurs   ne s'est pas plaint. Certains gros   les communautés ont changé et profitent   les fruits de systèmes bien formés, mais   pas tout. Il est important de maintenir   HTML progressivement, ainsi que   poursuivre une transition vers bien formé   monde, et développer plus de pouvoir dans   ce monde.

Vous pouvez également lire HTML5, c'est beaucoup plus facile à écrire que XHTML 1.0. sur StackOverflow. Voici leur résumé:

  

En termes de syntaxe, lorsque vous utilisez HTML5,   vous vous retrouvez avec plus propre, plus facile à   lire le balisage qui invoque toujours   mode standard. Lorsque vous utilisez XHTML 1.0   (servi comme texte / html), vous êtes   spécifiant un tas de crud (dans l'ordre   pour valider contre un dtd merdique) que   le navigateur fera automatiquement.

    
réponse donnée MikeSchinkel 17.08.2010 - 23:59
2

Le respect des normes ne garantit pas que votre site Web fonctionnera dans tous les navigateurs. Ignorez la conformité aux normes et concentrez-vous sur les tests avec autant de navigateurs que possible.

    
réponse donnée tomdxw 20.08.2010 - 23:39
1

Vous pouvez mettre en tampon la totalité de la sortie de votre site, puis la ranger dans du code HTML compatible. Le mieux est que cela puisse être fait de manière entièrement automatisée:

Vous pouvez activer la mise en mémoire tampon de la sortie sur le thème init ou sur les points d'ancrage associés (par exemple * setup_theme * hook).

Voici deux fragments de code. La première montre que vous démarrez la mise en mémoire tampon de sortie et que vous la lisez plus tard:

<?php
ob_start();
?>
  …
<?php
$buffer = ob_get_clean();
$tidy = tidy_repair_string($buffer);
echo $tidy;
?>

La deuxième montre certaines des options de configuration en action:

/* Tiny Configuration */
$config["clean"]         = true;
$config["hide-comments"] = true;
$config["output-xhtml"]  = true;
$config["indent-spaces"] = 2;
$config["tab-size"]      = 2;
$config["wrap"]          = 0;

$buffer = ob_get_clean();
$tidy   = tidy_repair_string($buffer, $config);

echo $tidy;

Je parie qu’il existe déjà un plugin wordpress pour le faire. Voyons voir:

  • enlace
  • enlace (est fourni avec des binaires bien rangés qui pourraient être considérés comme saturés)
réponse donnée hakre 18.08.2010 - 09:40

Lire d'autres questions sur les étiquettes