Dans ce deuxième niveau de conformité, l'objectif est d'utiliser le HTML de la manière la plus stricete qui soit en privilégiant les balises ayant un sens formel et non les balises de présentation.
Je résumerais personnellement l'objectif par :
Structurer l'information et privilégier les standards.
- Point 2.1 : S'assurer que la combinaison des couleurs d'arrière plan et d'avant plan fournit un contraste suffisant lorsqu'elle est vue par quelqu'un ayant une déficience au niveau des couleurs ou lorsqu'elle est vue sur un écran noir et blanc. [Priorité 2 pour les images, Priorité 3 pour le texte]..
- Point 2.2 : Créer des documents qui soient validés par la grammaire formelle publiée.
-
HTML 4 : http://www.w3.org/TR/html4/
XHTML 1 : http://www.w3.org/TR/xhtml1/ - Point 2.3 : Utiliser des feuilles de styles pour contrôlez la mise en page et la présentation.
-
CSS 1 : http://www.w3.org/TR/CSS1/
CSS 2 : http://www.w3.org/TR/CSS2/ - Point 2.4 : Utiliser des unités relatives plutôt qu'absolues dans les valeurs des attributs du langage de balises et dans les valeurs des propriétés des feuilles de styles.
-
Les problèmes qu'impliquent les unités absolues en CSS sont par exemple :
- cela empêche l'agrandissement de la police du texte.
- cela empêche un redimenssionnement de la page.
Exemple :
font-size:small;et nonfont-size:12px;
Les tailles de police standards sont :xx-smal, x-small, small, medium, large, x-large, xx-large. - Point 2.5 : Utiliser des entêtes d'éléments pour indiquer la structure d'un document.
-
Très bon article sur les DOCTYPE : http://pompage.net/pompe/doctype/
- Point 2.6 : Baliser correctement les listes et leurs éléments.
-
Utiliser de manière correcte les balise suivantes :
<ul>: Liste à puces<ol>: Liste ordonnée<li>: Elément d'une liste<dl>: Liste de définitions<dt>: Terme<dt>: Définition
- Point 2.7 : Baliser les citations. Ne pas utiliser ces balises pour réaliser des effets de formatage tels que l'indentation.
-
<q>: Citation en ligne<blockquote>: Bloc de citation
- Point 2.8 : S'assurer que le contenu dynamique est accessible ou qu'une page ou une présentation alternative soit fournie.
- Point 2.9 : Ne pas créer de pages se rafraîchissant toutes seules périodiquement tant que les navigateurs ne fournissent pas la possibilité d'arrêter le rafraîchissement.
-
Eviter les META Refresh en général ou tout du moins dans les pages proposant de l'information.
- Point 2.10 : Ne pas utiliser de script pour rediriger les pages automatiquement tant que les navigateurs ne fournissent pas la possibilité d'arrêter les redirections automatiques.
-
À la place, configurer le serveur pour effectuer les redirections. Ces redirections peuvent également être préjudiciables pour le référencement du site dans les moteurs de recherche.
- Point 2.11 : Ne pas provoquer l'apparition de popups ou d'autres fenêtres et ne changez pas la fenêtre courante sans en informer l'utilisateur tant que les navigateurs ne fournissent pas la possibilité d'empêcher l'ouverture de fenêtres.
-
Pour ouvrir un popup, il suffit de garder un attribut
href=""explicite et d'ouvrir la popup de la manière suivante :href="page.html" onclick="window.open(this.href); return false;"
- Point 2.12 : Eviter les fonctionnalités dépréciées des technologies du W3C.
-
Les balises suivantes sont à bannir :
<b>,<i>,<font>: ces balises doivent être remplacées par des balises portant de l'information (<strong>,<em>) ou par du CSS<table>pour la mise en page.
Un très bon article sur les balises déconseillées : Bad Tags
- Point 2.13 : Diviser les grands blocs d'information en groupes plus maniables quand c'est naturel et approprié.
-
Hiérarchiser au maximum chaque page en imbriquant des balises
<div>de manière logique. - Point 2.14 : Identifier clairement la cible de chaque lien.
-
Pour ce faire, rajouter un attribut
title=""sur votre lien si le texte de ce dernier n'est pas assez explicite. - Point 2.15 : Fournir des méta données (balises
<META>) pour ajouter des informations sémantiques aux pages et aux sites. -
L'article du W3C sur les balises META : http://www.w3.org/TR/html4/struct/global.html#edef-META
- Point 2.16 : Fournir des informations à propos de la structure générale d'un site.
-
A l'aide de balises
<link>, il est possible de fournir de l'information supplémentaire pour expliciter les principaux liens.Exemples :
<link rel="start" title="Accueil" href="/"/> <link rel="help" title="Aide" href="/aide.html"/>
<link rel="index" title="Plan" href="/plan.html"/> - Point 2.17 : Ne pas utiliser de tableaux pour la mise en page à moins que le tableau garde un sens une fois linéarisé.
-
Pour vérifier la linéarisation d'un tableau, utilisez un navigateur texte pour visualiser votre site. Opera a également un option pour tout simplement désactiver les tableaux.
- Point 2.18 : N'utiliser aucune balise structurelle pour faire du formatage visuel si un tableau est utilisé pour la mise en page.
- Point 2.19 : Décrire l'objectif des frames et comment elles sont reliées les unes aux autres si ce n'est pas clair avec leurs titres seuls.
-
Une description dans une balise
<noframe>pourrait être une première approche mais l'abandon de l'utilisation des frames reste un objectif primordial dans l'accessibilité. - Point 2.20 : S'assurer que les libellés sont explicitement associés avec leurs champs.
-
Pour ce faire, vérifier qu'une balise
<label>est bien présente et positionnée par rapport à chaque champ du formulaire. - Point 2.21 : Pour les scripts et les applets, s'assurer que les gestionnaires d'évènements sont indépendants du périphérique d'entrée.
-
Il faut donc créer des scripts fonctionnels et accessibles au clavier ET à la souris.
- A chaque attribut
onclick="", rajouter un attributonkeypress="" - A chaque attribut
onmouseover="", rajouter un attributonfocus="" - A chaque attribut
onmouseout="", rajouter un attributonblur=""
- A chaque attribut
Voilà pour le niveau AA. Comme on dit : "Stay tuned" pour le dernier niveau.
ajouter un commentaire commentaires (2) créer un trackback recommander


