Brauche ich role="button" auf einer <button>?
Habe ich bemerkt dass in allen Bootstrap - Beispiele für die Verwendung von button
Elemente, Sie gehören role="button"
(und type="button"
), wie:
<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>
Nicht accessibility-software wissen bereits, dass ein button
element ist gemeint, zu handeln wie ein button? Gibt es einen Grund, ich sollte zählen role="button"
- und/oder type="button"
in meinem code?
Ich glaube nicht, verwenden Sie entweder die mit bootstrap und es funktioniert gut, aber es wird nicht Schaden, um zu Folgen den Beispielen von bootstrap. Ich würde empfehlen vor dem posten einer Frage dieser Art zu versuchen, und entfernen Sie die beiden Felder aus und testen Sie es. Versuch und Irrtum mein Freund, ist eine wunderbare Lernhilfe. 🙂
InformationsquelleAutor QuasarDonkey | 2014-11-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Viele HTML5-Elemente kommen mit Standard-implizite ARIA-Semantik, und explizit die Festlegung dieser Standardwerte ist "unnötig und nicht empfehlenswert".
Blick auf die
Taste
- element, können Sie sehen, dass es für dieTaste
Rolle standardmäßig.So, Einstellung
role="button"
ist "nicht empfohlen, aber erlaubt. Es könnte helfen älteren user-agents, die Unterstützung von WAI-ARIA, aber nicht HTML5.InformationsquelleAutor unor
TL;DR Für den Fall gegeben,
role=button
sollte angegeben werden, denn es verhält sich als toggle-Taste.type=button
sollte auch verwendet werden.Alle Bootstrap-Tasten nicht verwenden role=button
Die Informationen in der Frage, die besagt, dass alle buttons in Bootstrap Beispiele verwenden
role=button
ist falsch. Nur die Schaltflächen, die logisch Verhalten sich wie toggle-buttons sind als solche gekennzeichnet.Mit role=button auf ein button-element
Du nicht verwenden müssen
role=button
im Allgemeinen, wie button-Elemente haben starken einheitlichen Semantik. Außerdem, so die ARIA Verwendung Hinweis: in W3C-HTML5-Spezifikation:Gibt es eine Ausnahme, für die Tasten, das ist der Fall in dem Beispiel gegeben.
Entsprechend den Empfehlungen in Tabelle W3C Mit WAI-ARIA in HTML:
So sollte man die Rolle für die Tasten, aber sonst nicht.
Type=button auf eine Taste
Da die Frage auch erwähnt
type=button
werde ich erarbeiten. Nach der Abschnitt über die Schaltflächen in der W3C-HTML5-Spezifikation, die fehlenden default-Wert für geben Sie auf den button Elemente isttype=submit
, deren Aktivierung Verhalten ist, das Formular zu senden Besitzer, wenn er eines hat. Es ist keine Aktivierung Verhalten im Zusammenhang mittype=button
.Daher
type=button
sollte angegeben werden für den Fall gegeben.InformationsquelleAutor QuasarDonkey
Den
<button>
tag kann eines von drei Dingen:type = button
).type = submit
).type = reset
).Es ist gut, um anzugeben, welche Art Sie wollen verwendet werden, weil verschiedene Browser verwenden unterschiedliche Standardeinstellungen für die Schaltflächen.
http://www.w3schools.com/tags/att_button_type.asp
Die Rolle nicht haben enthalten sein, aber es ist schön für accessibilty-software.
So, Sie haben, um Sie? Nein, tun Sie nicht, aber es ist im Allgemeinen ratsam, dass Sie tun.
type="button"
standardmäßig, aber nachdem Sie es getan haben weiter zu forschen, whatwg und w3c sagen, dasstype="submit"
ist tatsächlich die fehlende default-Wert.Ich empfehle die Lektüre von w3fools.com statt. Was meinst du mit 'schön für die Zugänglichkeit von software'?
InformationsquelleAutor MattD
Hier sagen:
Möglichen Auswirkungen auf die user-agents und assistiven Technologie
Dann sollten Sie es hinzufügen. Damit setzen Sie für den Benutzer an. Aber ist nicht normativ.
InformationsquelleAutor rnrneverdies
Laut W3C-Html5-Button
Es sei denn, Sie verwenden die Schaltflächen, um ein Formular Absenden, müssen Sie explizit festlegen
type="button"
als das weglassen dieser, wie in der W3C-Spezifikation, es wird wirken wie ein submit-button, wird das Formular Absenden. Zur Vermeidung unnötiger unterwirft, müssen Sie explizit festlegentype="button"
zu Ihrem<button>
s.Da die meisten bootstrap - Tasten sind für die Auslösung einer javascript-Funktion oder ähnlich Verhalten, um zu vermeiden, versehentliche, unbeabsichtigte senden Verhalten bei code kopieren&einfügen und in den Namen der Normalisierung mit der guten Praxis,
type="button"
undrole="button"
Attribute Hinzugefügt werden, ist<button>
InformationsquelleAutor Cemal
InformationsquelleAutor Milan Panigrahi