Zum Inhalt springen
SilktideHilfe

Erforderliches ARIA-Attribut fehlt

Silktide überprüft Elemente, die eine ARIA-Rolle deklarieren, und stellt sicher, dass sie auch die für diese Rolle erforderlichen Attribute bereitstellen. Einige Rollen sind ohne ihre Attribute unbrauchbar, z. B. ein Schieberegler, der nie angibt, auf welchen Wert er eingestellt ist.

<!-- Problem: Ein Schieberegler muss seinen aktuellen Wert offenlegen -->
<div role="slider" tabindex="0"></div>

<!-- Lösung: den erforderlichen Zustand angeben -->
<div role="slider" tabindex="0"
     aria-valuemin="0" aria-valuemax="100" aria-valuenow="50"></div>

Warum das wichtig ist

Eine -Rolle für ein Element zu vergeben, ist ein Versprechen: "Das ist ein Schieberegler", "Das ist ein Kontrollkästchen". Solche Rollen benötigen Zustandsattribute, denn ohne sie bleibt das Versprechen leer – ein -Nutzer landet auf einem Kontrollkästchen und kann nicht erkennen, ob es aktiviert ist, oder auf einem Schieberegler und kann weder seinen Wert noch seinen Bereich feststellen. Das Steuerelement wird angekündigt, ist fokussierbar und trotzdem nicht bedienbar.

So beheben Sie das Problem

  1. Fügen Sie die Attribute hinzu, die die Rolle erfordert, und halten Sie sie per Skript aktuell, wenn sich der Zustand des Steuerelements ändert – ein statisches aria-checked="false" auf einem funktionierenden Kontrollkästchen ist so irreführend wie gar keines.
  2. Bevorzugen Sie native -Elemente, wo sie existieren: <input type="checkbox"> und <input type="range"> geben ihren Zustand automatisch preis, ohne dass ARIA gepflegt werden muss.

So testet Silktide dies

  1. Alle Elemente auf der Seite finden, die ein role-Attribut deklarieren.
  2. Die Attribute nachschlagen, die ARIA 1.2 für diese Rolle verlangt – zum Beispiel erfordert role="checkbox" aria-checked und role="slider" aria-valuenow.
  3. Fälle überspringen, in denen das Element den Zustand nativ bereitstellt: Ein echtes Kontrollkästchen oder Optionsfeld trägt seinen Aktiviert-Zustand bereits mit, ein natives <option> seinen Ausgewählt-Zustand, und ein Schieberegler mit aria-valuetext darf auf aria-valuenow verzichten.
  4. Jedes Element melden, dem ein erforderliches Attribut fehlt.

Fehlerbehebung

Ein Skript setzt das Attribut nach dem Laden der Seite

Silktide testet die Seite während des Ladens. Wenn Ihr Widget seine Zustandsattribute erst bei der ersten Interaktion hinzufügt, hören Nutzende bis dahin ein zustandsloses Steuerelement – rendern Sie stattdessen den Anfangszustand direkt in die Seite.

Diese Prüfung meldet nichts, obwohl ich Ergebnisse erwarte

ARIA-Tests können pro Website deaktiviert werden. Prüfen Sie die erweiterten Einstellungen für die Website.

Mehr erfahren

Zuletzt aktualisiert

War diese Seite hilfreich?

Erforderliches ARIA-Attribut fehlt | Silktide-Hilfe