Zum Inhalt springen
SilktideHilfe

Widersprüchliche ARIA-Rolle

Silktide prüft Elemente, die eine explizite Rolle deklarieren, anhand der Bedeutung, die sie bereits in HTML haben. Es meldet Rollen, die für dieses Element nicht zulässig sind, sowie Rollen, die lediglich wiederholen, was das Element bereits bedeutet.

<!-- Problem: Ein nav-Element kann keine Schaltfläche sein -->
<nav role="button">…</nav>

<!-- Problem: redundant, nav hat diese Rolle bereits -->
<nav role="navigation">…</nav>

<!-- Lösung: Lassen Sie das Element für sich selbst sprechen -->
<nav>…</nav>

Warum dies wichtig ist

Jedes -Element besitzt eine integrierte Bedeutung, auf die sich verlassen. Eine -Rolle, die dieser Bedeutung widerspricht, erzeugt ein Element, das wie eine Sache aussieht und sich als eine andere ankündigt – ein -Benutzer könnte bei etwas, das sich wie eine Schaltfläche verhält, „Link“ hören, mit Tastenkombinationen und Erwartungen, die nicht mehr übereinstimmen. Redundante Rollen sind weniger schädlich, erzeugen aber unnötige Informationen, begünstigen künftige Fehler und zeigen, dass ARIA verwendet wird, obwohl es nicht nötig ist.

So beheben Sie das Problem

  1. Entfernen Sie bei einer widersprüchlichen Rolle entweder die Rolle oder wechseln Sie zu einem Element, das tatsächlich die gewünschte Bedeutung hat – wenn es wie eine Schaltfläche funktionieren soll, verwenden Sie <button>.
  2. Löschen Sie bei einer redundanten Rolle wie <nav role="navigation"> oder <button role="button"> das Rollenattribut. Das Element stellt diese Rolle bereits selbst bereit.

So prüft Silktide dies

  1. Suchen Sie jedes Element auf der Seite mit einem role-Attribut und überspringen Sie unbekannte oder abstrakte Rollen (diese werden von Ungültige ARIA-Rolle gemeldet).
  2. Vergleichen Sie die Rolle mit den Kombinationen, die die Spezifikation ARIA in HTML für dieses Element zulässt, und melden Sie Rollen, die das Element nicht erlaubt.
  3. Melden Sie Rollen, die die eigene implizite Rolle des Elements duplizieren.
  4. Wenn ein Rollenattribut mehrere Rollen aufführt, wird nur die erste berücksichtigt.

Die Ergebnisse unterscheiden zwischen den beiden Fällen, sodass Sie Widersprüche vor Redundanzen priorisieren können.

Fehlerbehebung

Die redundante Rolle ist für ältere Browser vorhanden

Explizite Landmark-Rollen wie role="navigation" wurden früher als Absicherung für alte assistive Technologien empfohlen. Die Unterstützung für die nativen Elemente ist seit Jahren universell, und die duplizierte Rolle verursacht nun mehr Wartungsaufwand, als sie Nutzen bringt. Entfernen Sie sie oder Sie das Ergebnis, falls Ihre Unterstützungsrichtlinie das Beibehalten erfordert.

Diese Prüfung meldet nichts, obwohl ich Ergebnisse erwarte

ARIA-Prüfungen können für jede Website deaktiviert werden. Prüfen Sie die erweiterten Einstellungen der Website.

Weitere Informationen

Zuletzt aktualisiert

War diese Seite hilfreich?

Widersprüchliche ARIA-Rolle | Silktide-Hilfe