Fehlende ARIA-Beschreibungs-IDs
Silktide überprüft Elemente, die sich zusätzlichen beschreibenden Text zuordnen, indem sie per ID auf andere Elemente verweisen, und meldet Verweise auf IDs, die auf der Seite nicht existieren. Ein fehlerhafter Verweis lässt die Beschreibung unbemerkt weg.
Das -Attribut aria-describedby verknüpft ein
Element mit ergänzendem Text an anderer Stelle auf der Seite – etwa mit Hilfetext unter einem Formularfeld oder einer Erläuterung einer Steuerung:
<!-- Problem: Der Verweis lautet "email-help", aber die id des Absatzes ist "email-helpp" -->
<input type="email" aria-describedby="email-help">
<p id="email-helpp">Geben Sie Ihre Arbeits-E-Mail-Adresse ein</p>
Warum das wichtig ist
Beschreibungen enthalten Hinweise, die Menschen vor Fehlern bewahren – Formatvorgaben, Warnungen, Erläuterungen zu Folgen. Ein liest die Beschreibung nach dem Namen eines Elements vor, jedoch nur, wenn der Verweis aufgelöst werden kann. Zeigt er ins Leere, erhält die Besucherin oder der Besucher das Feld ohne seine Hinweise und hat keine Möglichkeit zu wissen, dass etwas fehlt. Sehende Besucher sehen den Hilfetext weiterhin neben dem Feld, sodass der Fehler bei einer rein visuellen Prüfung unbemerkt bleibt – genau deshalb sind hier automatisierte Prüfungen wichtig.
So beheben Sie das
- Suchen Sie das Element mit dem beschreibenden Text und lassen Sie den Wert von
aria-describedbyexakt mit dessenidübereinstimmen (IDs unterscheiden Groß- und Kleinschreibung):
<!-- Behoben: Der Verweis entspricht der id des Absatzes -->
<input type="email" aria-describedby="email-help">
<p id="email-help">Geben Sie Ihre Arbeits-E-Mail-Adresse ein</p>
- Wenn das beschreibende Element entfernt wurde, stellen Sie es wieder her oder entfernen Sie das verwaiste
aria-describedby-Attribut. - Wenn ein Element von mehreren anderen beschrieben wird, listen Sie jede ID durch Leerzeichen getrennt auf und prüfen Sie jede einzelne.
So prüft Silktide das
- Jedes Element mit einem
aria-describedby-Attribut auf jeder Seite finden. - Den Attributwert in einzelne IDs aufteilen.
- Jede referenzierte ID melden, die irgendwo auf der Seite nicht existiert.