Die meisten der angezeigten Rollen wurden als Teil von ARIA 1.0 definiert und später in HTML5 integriert. Einige der neuen HTML5-Elemente (Dialog, Hauptelement usw.) basieren sogar auf den ursprünglichen ARIA-Rollen.
http://www.w3.org/TR/wai-aria/
Es gibt zwei Hauptgründe, zusätzlich zu Ihrem nativen semantischen Element Rollen zu verwenden.
Grund Nr. 1. Überschreiben der Rolle, wenn kein Host-Sprachelement geeignet ist oder aus verschiedenen Gründen ein weniger semantisch geeignetes Element verwendet wurde.
In diesem Beispiel wurde ein Link verwendet, obwohl die resultierende Funktionalität eher einer Schaltfläche ähnelt als ein Navigationslink.
<a href="#" role="button" aria-label="Delete item 1">Delete</a>
Bildschirmleser hören dies als Schaltfläche (im Gegensatz zu einem Link), und Sie können einen CSS-Attributselektor verwenden, um Class-Itis und Div-Itis zu vermeiden.
*[role="button"] {
/* style these a buttons w/o relying on a .button class */
}
Grund # 2. Sichern der Rolle eines nativen Elements, um Browser zu unterstützen, die die ARIA-Rolle implementiert haben, die Rolle des nativen Elements jedoch noch nicht implementiert haben.
Zum Beispiel wird die "Hauptrolle" in Browsern seit vielen Jahren unterstützt, aber es ist eine relativ neue Ergänzung zu HTML5, so dass viele Browser die Semantik für noch nicht unterstützen <main>
.
<main role="main">…</main>
Dies ist technisch redundant, hilft aber einigen Benutzern und schadet keinem. In einigen Jahren wird diese Technik wahrscheinlich unnötig werden.
Sie haben auch geschrieben:
Ich sehe, dass einige Leute ihre eigenen erfinden. Ist das erlaubt oder eine korrekte Verwendung des Rollenattributs?
Dies ist eine gültige Verwendung des Attributs, sofern keine echte Rolle enthalten ist. Browser wenden die erste erkannte Rolle in der Token-Liste an.
<span role="foo link note bar">...</a>
Aus der Liste sind nur link
und note
gültige Rollen, und daher wird die Verknüpfungsrolle angewendet, da sie an erster Stelle steht. Wenn Sie benutzerdefinierte Rollen verwenden, stellen Sie sicher, dass diese nicht mit einer definierten Rolle in ARIA oder der von Ihnen verwendeten Hostsprache (HTML, SVG, MathML usw.) in Konflikt stehen.
[role="button"]
Willen zu lokalisieren , sparen zu müssena[role="button"], span[role="button"]
role
im Allgemeinen.Soweit ich weiß, wurden Rollen ursprünglich von XHTML definiert, aber veraltet. Sie werden jetzt jedoch durch HTML 5 definiert, siehe hier: https://www.w3.org/WAI/PF/aria/roles#abstract_roles_header
Der Zweck des Rollenattributs besteht darin, die genaue Funktion eines Elements (und seiner untergeordneten Elemente) als Teil einer Webanwendung für die Parsing-Software zu identifizieren. Dies ist hauptsächlich eine Barrierefreiheit für Bildschirmleser, aber ich kann es auch als nützlich für eingebettete Browser und Bildschirmschaber ansehen. Um für den ungewöhnlichen HTML-Client nützlich zu sein, muss das Attribut auf eine der Rollen aus der von mir verknüpften Spezifikation festgelegt werden. Wenn Sie sich selbst ein Bild machen, kann diese "zukünftige" Funktionalität nicht funktionieren - ein Kommentar wäre besser.
Praktische Informationen hier: http://www.accessibleculture.org/articles/2011/04/html5-aria-2011/
quelle
Antwort: Ja .
Es bietet Ihnen:
quelle
Mir ist klar, dass dies eine alte Frage ist, aber eine weitere mögliche Überlegung, die von Ihren genauen Anforderungen abhängt, ist, dass die Validierung unter https://validator.w3.org/ Warnungen wie folgt generiert:
quelle
Rollenattribute verbessern hauptsächlich die Zugänglichkeit für Benutzer von Bildschirmleseprogrammen. In einigen Fällen verwenden wir es wie Barrierefreiheit, Geräteanpassung, serverseitige Verarbeitung und komplexe Datenbeschreibung. Weitere Informationen finden Sie unter: https://www.w3.org/WAI/PF/HTML/wiki/RoleAttribute .
quelle