Sémantique et petits rongeurs
3 septembre 2003
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é.