<C²: webløg />

Courriel - email address

Avatar Denis

vendredi 11 avril 2003
par Denis Boudreau

Pour un respect accru de la sémantique

Emmanuel Clément, qui vit ses heures de gloire suite à son superbe concept de design pour OpenWeb écrivait sur son weblog hier un commentaire à l'effet que l'entreprise 4D, bien qu'ayant tout repeint son site aux couleurs de XHTML/CSS quasi conforme, avait un peu manqué le bateau au niveau sémantique, en utilisant notamment plusieurs <h1> dans la même page et de nombreux <br /> pour contrôler l'aspect présentation dans leurs documents. Il n'en fallait pas plus pour que je saute sur l'occasion de pousser le concept de sémantique un peu plus loin, moi qui n'ai pas forcément l'occasion de lire autant que je le voudrais sur le sujet. Étant moi-même un honteux utilisateur de code valide mais pas forcément sémantiquement correct, je décidai de lui poser la question afin de finir de me convaincre. Résultat; quelques clics de souris plus tard dans une interface de gestion pour transformer tous mes <h1> en <h2>, tous mes <h2> en <h3,>, etc., je suis en train de travailler ma sémantique. Si bien que ce matin, je peux me complaire à regarder mon code, toujours aussi conforme aux normes, mais maintenant beaucoup plus correct au niveau sémantique. Dorénavant, le seul <h1> du site est mis sur le titre du projet lui-même, la-haut, tout en haut de la page.

Pourquoi ? Simplement parce que logiquement et sémantiquement parlant, un document n'a jamais qu'un seul titre même si techniquement on peux lui en passer plusieurs. C'est d'ailleurs l'approche que nous avons emprunté sur OpenWeb, où le seul <h1> présent est associé au logo du site (donc le titre), ce qui a aussi pour conséquence d'en accroître la visibilité dans les engins de recherche. Ce qui est ennuyeux pour la communauté de développeurs, c'est l'incapacité devant laquelle nous nous trouvons à pouvoir valider efficacement et qualitativement la sémantique de nos documents. Le validateur du W3C, bien qu'efficace au niveau de la conformité du code, n'est apparemment pas assez rigoureux au niveau sémantique et laisse passer ce genre de bévues. Est-ce bien grave, me demanderez-vous ? Peut-être pas pour le moment, mais dans un avenir rapproché, qui sait ?

Quoi qu'il en soit, cette petite discussion avec Emmanuel a achevé de me convaincre de pousser un peu plus loin à ce niveau. Bien que l'ajustement sur les éléments <hx> ce fit sans trop de mal, il en ira peut-être tout autrement de la présence trop répétitive des fameux <br /> et des &nbsp; dans mes documents. Cela demande une restructuration de mes CSS assez importante, mais tout compte fait, le jeu en vaut largement la peine. Premièrement, cela me permet curieusement de réduire la taille de tous mes fichiers (CSS compris), mais surtout, ça m'incite à pousser plus de l'avant encore ma maîtrise des feuilles de style. En bout de ligne, tout le monde en bénéficie. Vous comme visiteurs avec un code plus élégant, moi comme développeur avec une approche plus globalisante.

La sémantique en fait, c'est comme les standards Web eux-mêmes. Au début, ça fait un peu peur, mais il suffit d'y mettre un pied pour se rendre compte qu'en fait, ce n'est pas si sorcier du tout. Souvent, ce n'est que du gros bon sens et de la logique. C'est peut-être pour cela que ça s'enseigne mal dans les livres. Merci Emmanuel pour ce gentil coup de pouce.

Denis Boudreau | 2003.04.11 @ 12:09

Alors, qu'en pensez-vous ?

Voici ce que vous aviez à en dire... vos impressions, recueillies à vif.

Ce carnet n'a pas encore été commenté. Avez-vous envie de briser la glace ?

Les commentaires et trackbacks sont désormais fermés. Pour toute remarque, vous pouvez toujours nous contacter.

Pisteur (Trackback)