Ai-je besoin role=“button” sur un <button>?
Que j'ai remarqué dans tous Bootstrap est des exemples d'utilisation de button
éléments, ils comprennent role="button"
(et type="button"
), tels que:
<div class="dropdown">
<button id="dLabel" type="button" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
Dropdown trigger <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
...
</ul>
</div>
Ne l'accessibilité des logiciels déjà savoir qu'un button
élément est conçu pour agir comme un bouton? Est-il une raison je devrais inclure role="button"
et/ou type="button"
dans mon code?
Je ne suis pas d'utiliser l'une de ces avec bootstrap et il fonctionne très bien, mais il ne fera pas de mal à suivre les exemples de bootstrap. Je dirais avant de poster une question de cette nature pour essayer et retirer les deux champs et de le tester. l'essai et l'erreur, mon ami est un merveilleux outil d'apprentissage. 🙂
OriginalL'auteur QuasarDonkey | 2014-11-14
Vous devez vous connecter pour publier un commentaire.
De nombreux éléments HTML5 venir avec par défaut implicite ARIA sémantique, et explicitement la définition de ces valeurs par défaut est "inutile et n'est pas recommandé".
À la recherche à la
bouton
de l'élément, vous pouvez voir qu'il a lebouton
rôle par défaut.La mise en place de
role="button"
"n'est pas recommandé", mais autorisée. Il pourrait aider les plus âgés, les agents utilisateurs qui prennent en charge WAI-ARIA, mais pas le HTML5.OriginalL'auteur unor
TL;DR Pour le cas donné,
role=button
devrait être précisé, car il se comporte comme un bouton à bascule.type=button
doit être utilisé.Tous Bootstrap boutons n'utilisez pas de rôle=bouton
Les informations contenues dans la question en précisant que tous les boutons dans le Bootstrap exemples de l'utilisation
role=button
est incorrect. Seuls les boutons qui, logiquement, se comportent comme des boutons à bascule sont étiquetés en tant que tels.À l'aide de rôle=bouton sur un élément de bouton
Vous ne pas besoin d'utiliser
role=button
en général, comme le bouton éléments ont une forte natif de la sémantique. En outre, selon le ARIA note d'utilisation dans la spécification HTML5 du W3C:Il y a une exception pour les boutons à bascule, ce qui est le cas dans l'exemple donné.
Selon les Recommandations de la Table dans les normes du W3C À l'aide de WAI-ARIA en HTML:
De sorte que vous devrait définir le rôle des boutons à bascule, mais pas autrement.
Type=button sur un bouton
Depuis la question mentionne également
type=button
, je vais essayer d'approfondir. Selon le la section sur les boutons dans la spécification HTML5 du W3C, l'absence de la valeur par défaut pour le type sur le bouton éléments esttype=submit
, dont l'activation du comportement est de soumettre le formulaire propriétaire si il en a un. Il n'y a pas d'activation du comportement associés àtype=button
.Par conséquent,
type=button
devrait être spécifié pour le cas donné.OriginalL'auteur QuasarDonkey
La
<button>
tag peut être l'une des trois choses:type = button
).type = submit
).type = reset
).Il est bon de spécifier le type que vous avez l'intention d'être utilisé, parce que différents navigateurs utilisent différentes valeurs par défaut pour les boutons.
http://www.w3schools.com/tags/att_button_type.asp
Le rôle n'est pas ont pour être inclus, mais c'est bien pour l'accessibilité des logiciels.
Donc, devez-vous inclure? Non, vous n'avez pas, mais il est généralement conseillé que vous faites.
type="button"
par défaut, mais de l'avoir fait d'autres recherches, whatwg et w3c dire quetype="submit"
est en fait le manque valeur par défaut.Je recommande la lecture de w3fools.com à la place. Qu'entendez-vous par "sympa pour l'accessibilité du logiciel"?
OriginalL'auteur MattD
Ici dire:
Effets possibles sur les agents utilisateurs et technologies d'assistance
Ensuite, vous devez l'ajouter. Dans le but de les exposer à l'utilisateur. Mais il n'est pas normatif.
OriginalL'auteur rnrneverdies
Selon W3C Html5 Bouton
Sauf si vous allez utiliser les touches de soumettre un formulaire, vous devez définir explicitement
type="button"
que l'omission de cette, comme indiqué dans la spécification du W3C, il agira comme un bouton de soumission, va soumettre votre formulaire. Afin d'éviter d'inutiles soumet, vous devez définir explicitementtype="button"
à votre<button>
s.Puisque la plupart de l'amorçage de boutons pour déclencher une fonction javascript ou un comportement similaire, pour éviter les blessures accidentelles involontaire soumettre comportement sur le code copier&coller et au nom de la normalisation avec les bonnes pratiques,
type="button"
etrole="button"
attributs sont ajoutés à<button>
OriginalL'auteur Cemal
OriginalL'auteur Milan Panigrahi