aria-deprecated-role
role-Attribut sollte keine veraltete oder für Autoren nicht empfohlene ARIA-Rolle verwenden
Prüft, dass ein explizites role=""-Attribut keine Rolle verwendet, die die WAI-ARIA-Spezifikation als veraltet kennzeichnet oder die für die interne Verwendung durch User Agents reserviert ist (z. B. role="generic").
Anwendbarkeit. Gilt für jedes Element, dessen erstes (verwendetes) Token im role-Attribut eine gültige, nicht abstrakte ARIA-Rolle ist, die Autoren nicht explizit deklarieren sollten – entweder weil WAI-ARIA sie als veraltet kennzeichnet (z. B. „directory“, ersetzt durch role="list") oder weil sie für die interne Verwendung durch User Agents reserviert ist (role="generic", die laut ARIA 1.2 §5.4 Autoren in Inhalten nicht verwenden SOLLTEN).
Erwartung. Die verwendete Rolle ist weder veraltet noch reserviert. Abgestuft nach der Verbindlichkeit der Vorgabe in ARIA:
- CANTTELL bei SHOULD NOT, womit die Verwendung konform bleibt und der Autor entscheidet, ob es eine Rolle spielt: eine veraltete Rolle („directory“) oder eine für User Agents reservierte („generic“).
- FAIL bei MUST NOT. Außerhalb der abstrakten Rollen trägt keine Rolle in ARIA 1.2 oder 1.3 ein MUST NOT für Autoren; dieses Ergebnis ist daher einer späteren Revision vorbehalten, die eine Rolle auf diese Stufe hebt.
Eine eigenständige, atomare Entscheidung neben aria-roles-valid (Existenz/Abstraktheit): Eine Rolle kann gültig und nicht abstrakt sein und in expliziter Verwendung durch Autoren trotzdem nicht empfohlen sein.
Was ein Befund meldet.
role: die verwendete veraltete oder reservierte Rolle.guidance: ein Hinweis, was stattdessen zu verwenden ist, als englischer Text.
Diese Felder in data.details helfen, einen Befund zu lesen und zu reproduzieren. Außer reasonCode und den wenigen Feldern, die Ausgabeschema als stabil nennt, sind sie kein stabiler Vertrag: Ein Feld kann in einer Minor-Version umbenannt werden oder wegfallen, bauen Sie also nicht darauf auf.
Beispiele
<ul role="list"><li>Item</li></ul>
role="list" ist aktuelles, nicht veraltetes ARIA.
<div role="directory"><a href="/a">Item</a></div>
role="directory" ist in WAI-ARIA zugunsten von role="list" veraltet; weiterhin gültiges Markup, aber nicht empfohlen.
So prüfen Sie es
Wenn diese Regel nicht entscheiden kann, meldet sie cantTell und überlässt die Frage einer Person. Jede Frage, die sie stellen kann, steht hier unter ihrem Reason-Code, mit den Schritten, um sie zu beantworten. Ein Befund enthält dieselben Schritte in howToCheck, in der Sprache des Scans. Siehe Ausgabeschema.
ARIA_ROLE_AUTHOR_DISCOURAGED
- Untersuchen Sie das im Bericht genannte Element und notieren Sie sein Tag und role="generic".
- Ist das Tag ein einfacher Container (div, span, b, i), ändert die Rolle nichts; entfernen Sie sie zur Bereinigung.
- Andernfalls öffnen Sie den Bereich „Barrierefreiheit“ in den Entwicklertools des Browsers und prüfen Sie, ob die native Bedeutung des Elements (Schaltfläche, Link, Überschrift, Listeneintrag, Navigation) verloren gegangen ist.
- Navigieren Sie mit einem Screenreader zum Element und, falls es fokussierbar ist, drücken Sie Tab, um es zu erreichen, und achten Sie darauf, was angesagt wird.
Bestanden. Das Element war bereits ein generischer Container, oder seine native Rolle wird weiterhin angezeigt und angesagt.
Nicht bestanden. role="generic" entfernt eine native Bedeutung, etwa ein Link oder eine Überschrift, die nicht mehr als solche angesagt wird; das verstößt gegen WCAG 4.1.2 (und 1.3.1 für die Struktur).
ARIA_ROLE_DEPRECATED
- Untersuchen Sie das im Bericht genannte Element und notieren Sie seine veraltete Rolle (etwa directory).
- Öffnen Sie den Bereich „Barrierefreiheit“ in den Entwicklertools des Browsers und prüfen Sie, welche Rolle bereitgestellt wird (directory wird meist auf list abgebildet).
- Navigieren Sie mit einem Screenreader zum Element und seinen Einträgen und achten Sie darauf, ob die Struktur angesagt wird.
- Ziehen Sie die vorgeschlagene Ersatzrolle in Betracht (list für directory) und prüfen Sie, ob sie passt.
Bestanden. Die Struktur wird korrekt angesagt (zum Beispiel als Liste mit der Anzahl ihrer Einträge), oder die Rolle wird durch die vorgeschlagene ersetzt.
Nicht bestanden. Die Struktur wird von assistiven Technologien nicht vermittelt, weil sie auf der veralteten Rolle beruht; das kann gegen WCAG 4.1.2 verstoßen.