10 votes

En HTML, que doit-il arriver à un élément d'option sélectionné et désactivé ?

Dans mon exemple spécifique, il s'agit d'une liste déroulante, par exemple :

<select name="foo" id="bar">
  <option disabled="disabled" selected="selected">Select an item:</option>
  <option>an item</option>
  <option>another item</option>
</select>

Bien sûr, c'est assez absurde, mais je me demande si un comportement strict est défini. Opera rejette effectivement l'attribut "selected" et sélectionne l'élément suivant dans la liste. Tous les autres navigateurs semblent l'autoriser et l'élément reste sélectionné.

Mise à jour : Pour clarifier, je m'intéresse plus particulièrement à la sélection initiale. J'ai affaire à l'une de ces listes déroulantes de type "Sélectionner un élément :", dans laquelle la première option est en fait une étiquette, et une action se produit onchange() . Il s'agit de équitablement bien "progressivement amélioré", en ce sens qu'un bouton de soumission est présent et ne peut être supprimé que par JavaScript. Si l'option "sélectionner..." était supprimée, ce qui deviendrait alors le premier élément ne serait pas sélectionnable. Sommes-nous en train d'exclure onchange ou l'option "sélectionner..." doit-elle être sélectionnable, mais sans effet ?

0voto

scunliffe Points 30964

Malheureusement, ce qui devrait se passer n'a pas vraiment d'importance, car IE ne prend pas en charge l'attribut "disabled" sur les options.

http://webbugtrack.blogspot.com/2007/11/bug-293-cant-disable-options-in-ie.html

-2voto

Brian Reindel Points 6416

Je ne pense pas que disabled soit un attribut standard pour l'élément option. En général, on désactive l'ensemble du menu de sélection, ce qui est une solution inter-navigateurs. Si un élément n'est pas sélectionnable, il ne doit pas apparaître dans le menu de sélection.

Edit : Wow, je me suis trompé sur ce point. Je suppose qu'il est utile de vérifier les spécifications à l'occasion.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X