Vous disposez des codes pour réaliser ce menu, mais il est largement possible de l'améliorer.
Rendre le formulaire plus accessible
Préciser une étiquette
Une étiquette (balise
<label>), c'est un texte lié à un champ de formulaire. Il est très important car il permet d'indiquer quelle information saisir ou, comme dans notre cas, quelle est l'information que l'on choisit. En cliquant sur ce texte, la focalisation se place dans le champ. Voici comment procéder dans notre cas :
Code : HTML1
2
3
4
5
6
7 | <label for="menu_destination_liste">Navigation</label>
<select name="menu_destination" id="menu_destination_liste">
<option value="http://www.monsite.net/accueil.html">Accueil</option>
<option value="http://www.monsite.net/apropos.html">Qui sommes-nous ?</option>
<option value="http://www.monsite.net/contact.html">Nous contacter</option>
<option value="http://www.monsite.net/plan.html">Plan du site</option>
</select>
|
Le libellé "Navigation" pourrait être plus original. Par exemple : "Choisissez votre destination".
Grouper les options
Si vous proposez de nombreuses options, il est nécessaire de les grouper. Une longue liste est ennuyeuse et peu pratique.
Pour grouper plusieurs options, il faut entourer plusieurs
<option> par
<optgroup> comme dans l'exemple suivant :
Code : HTML 1
2
3
4
5
6
7
8
9
10
11
12
13 | <select name="menu_destination">
<optgroup label="le site">
<option value="http://www.monsite.net/accueil.html">Accueil</option>
<option value="http://www.monsite.net/apropos.html">Qui sommes-nous ?</option>
<option value="http://www.monsite.net/contact.html">Nous contacter</option>
<option value="http://www.monsite.net/plan.html">Plan du site</option>
</optgroup>
<optgroup label="rubriques">
<option value="url_1">Catégorie 1</option>
<option value="url_2">Catégorie 2</option>
<option value="url_3">Catégorie 3</option>
</optgroup>
</select>
|
Quand il y a un groupement
<optgroup>, il est souvent affiché en gras et italique (cela dépend des navigateurs), les options ayant une marge gauche. Note : la valeur de l'attribut
label ne peut pas contenir de balisage.
Proposer une option par défaut
Une des recommandations d'accessibilité est de proposer une valeur par défaut pour n'importe quel champ de formulaire (
WCAG 1, point de contrôle n°10.4 de priorité 3). Pour notre liste, il suffit d'ajouter
selected="selected" à l'option que vous voulez définir par défaut, comme ceci :
Code : HTML1 | <option value="URL" selected="selected">Libellé</option>
|
Si cela n'est pas précisé, c'est la première option de la liste qui sera affichée en premier.
Donner un style CSS plus original
Tel quel, ce menu ressemble à un banal formulaire. Lui donner un meilleur style est un plus.
Par exemple, pour remplacer le bouton d'envoi par une image, remplacez
Code : HTML1 | <input type="submit" value="Go" title="valider pour aller à la page sélectionnée" />
|
par
Code : HTML1 | <input type="image" src="../images/bouton_valider_go.png" alt="Go" title="valider pour aller à la page sélectionnée" />
|
La valeur de
alt est importante : ce texte sera affiché si l'image n'est pas disponible ou son affichage désactivé. De plus, il est perçu par les non-voyants, qui peuvent ainsi utiliser ce formulaire.
Rappel : un formulaire est un élément de
type bloc. Pour le positionner
dans le flux, vous pouvez utiliser la déclaration CSS suivante :
Code : CSS