Quelques notes suite à la lecture de l'article Won't somebody please think of the gerbils? de Mark Pilgrim, article dans lequel il revient sur le XHTML, la validation, les CSS, le balisage sémantique et l'accessibilité.

Si je peux comprendre ces réticences concernant le XHTML, le fait que mes documents soient servis comme du HTML ne me gênent pas, parce que dans la norme XHTML 1.0, le nommage MIME général recommandé pour les applications n'a pas encore été résolu. Le problème se posera si je passe en 1.1. Il faudrait alors que je vérifie que mon FAI (puisque cela se passe côté serveur) serve mes pages en xhtml+xml. Pourquoi utiliser du XHTML 1.0 strict alors ? Parce que comme l'écrivait Tristan Nitot, j'ai de la chance d'être un débutant :

C'est pour cela que les débutants ont une chance inouïe : ils peuvent décider, pour peu qu'on les informe, de débuter directement au niveau XHTML 1.0 strict, sémantique et accessible.

Débuter à ce niveau permet à des néophytes comme moi de bien rédiger ses pages. La principale règle d'écriture tient en une seule phrase : un document bien formé est un document dont chaque élément possède une balise d'ouverture, un contenu et une balise de clôture. Cela me semblait contraignant au départ, mais finalement on s'y habitue vite.

Un document bien formé n'est pas encore un document valide, bien que pour qu'un document soit valide, il doive être bien formé. C'est une condition nécessaire mais pas suffisante. Il faut encore qu'il obéisse à la structure de la DTD dans laquelle les éléments et les attributs sont définis. La validité elle-même ne me dit rien sur la sémantique ou l'accessibilité de mon document. À la limite, elle ne me sert qu'à déboguer mes pages, mais le programme Tidy le fait aussi bien. Quel est l'intérêt alors de laisser une rubrique « Validation » dans mon sommaire ? Pour faire comme tout le monde ?

Les feuilles de style en cascade (CSS) me permettent de séparer la structure de mon document de sa présentation physique (écran de moniteur ou de portable, papier, synthèse vocale, etc.). Elles n'ont rien à voir avec la conformité de mes pages : une page peut être valide sans utiliser de feuilles de styles ou l'inverse.

Le balisage sémantique est lié à la signification des marqueurs. Certains éléments renvoient à un type de contenu (textuel comme p ou non comme img) ou à une construction logique (comme h1). Mais h1 est lui-même de type textuel, non ? C'est le point le moins clair pour moi : lire l'annexe B des directives pour l'accessibilité aux contenus Web pour plus de précisions.

L'accessibilité signifie que le contenu est accessible indépendament de l'agent utilisateur. D'après Mark Pilgrim, deux points importants sont à retenir : l'attribut alt pour les éléments images et la navigation au clavier grâce à l'attribut accesskey. J'y rajouterais un troisième point, écrire des liens explicites qui ont encore un sens en dehors de leurs contextes. Si le premier point est règlé et que je fais attention au troisième, je n'ai défini par contre aucune navigation au clavier. Il va falloir que je me penche là-dessus et que j'écrive une page expliquant ma politique d'accessibilité.