Prüfschritt 9.4.1.3 Statusmeldungen programmatisch verfügbar

Was wird geprüft?

Eine Statusmeldung ist eine Nachricht, die einer Seite dynamisch hinzugefügt wird. Sie informiert Nutzenden beispielsweise über den Erfolg oder das Ergebnis einer Aktion, über den Fortschritt eines Prozesses oder über das Vorkommen von Fehlern.

Wenn Webangebote Statusmeldungen erzeugen, sollen visuell eingeblendete Statusmeldungen mit geeigneten Rollen und Eigenschaften ausgezeichnet und programmatisch ermittelbar sein, das bedeutet die Statusmeldungen werden Nutzenden von assistiven Technologien (Screenreader) präsentiert, ohne dass sie den Fokus erhalten.

Beispiele für Statusmeldungen:

  • Ware wurde im Shop dem Warenkorb hinzugefügt

  • 3 Bücher der Merkliste hinzugefügt

  • Formular erfolgreich abgeschickt (Erfolgsmeldung)

  • 5 Suchergebnisse (etwa nach Filterung der Ergebnisse)

  • 3 Fehler im Formular (bei clientseitiger Prüfung ohne Neuladen der Seite)

  • Punktestand geändert

  • Seite wird geladen (bei visueller Ladeanzeige/Fortschrittsbalken)

Warum wird das geprüft?

In vielen Nutzungskontexten erhalten sehende Nutzende von Webangeboten Statusmeldungen (einige von ihnen vorübergehend), die Rückmeldungen über das Ergebnis von Interaktionen (z. B. die Zahl der beim Filtern einer Suchergebnisliste zurückgegebenen Einträge) oder den Erfolg oder Misserfolg von Transaktionen geben. Diese Meldungen sind ebenso wichtig für nicht-visuelle Nutzende und sollten für assistive Technologien verfügbar sein, damit die Nutzer auf sie aufmerksam werden, ohne ihren aktuellen Fokus oder Standpunkt ändern zu müssen.

Wie wird geprüft?

1. Anwendbarkeit des Prüfschritts

Der Prüfschritt ist anwendbar, wenn die Webinhalte Statusmeldungen generieren, die nicht den Fokus erhalten. Er ist nicht anwendbar, wenn Meldungen im Zusammenhang mit Kontextänderungen erscheinen, zum Beispiel, wenn nach dem Abschicken eines Formulars die Seite neu lädt und dann vor dem Formular eine Fehlermeldung erscheint.

2. Prüfung

  1. Statusmeldungen identifizieren. Dafür Eingaben vornehmen, die zur Generierung von Statusmeldungen führen.

  2. Wenn Meldungen nach Abschicken eines Formulars generiert werden, prüfen, ob durch das Abschicken die Seite neu lädt oder Statusmeldungen auf der bestehenden Seite eingefügt werden. Wird die Seite neu geladen, ist der Prüfschritt nicht anwendbar.

    1. Dazu im Firefox-Browser in den Developer Tools den Reiter "Netzwerkanalyse" aufrufen und das Protokoll nach Aktivierung des Elements, dass die Meldung auslöst, prüfen. Wurde die Seite neu geladen (dann gibt es einen Eintrag vom Typ "html"?) Gff. das Protokoll nach Typ "html" filtern.

    2. Alternativ im Chrome-Browser in den Developer Tools den Reiter "Netzwerk" auswählen und ebenso Protokoll nach Aktivierung prüfen. GGf. das Protokoll nach Typ "Doc" filtern.

  3. Wenn die Seite nicht neu geladen wurde: Über eine Quellcode-Analyse prüfen, ob der Container mit der Statusmeldung als ARIA-Live-Region ausgezeichnet ist. Sind entsprechende ARIA-Live-Attribute vorhanden?

  4. Die Ausgabe der Statusmeldung zusätzlich mit dem Screenreader prüfen:

    • Eingaben vornehmen, die zur Generierung von Statusmeldungen führen. Sofern das Angebot von sich aus Statusmeldungen generiert, etwa bei aktualisierten Inhalten, diese Meldungen abwarten.

    • Prüfen, ob Statusmeldungen beim Erscheinen vom Screenreader ausgegeben werden, ohne dass der Fokus auf die Meldung versetzt wird.

3. Hinweise

Nicht als Statusmeldung gelten:

  • Fehlermeldung über Dialog (Kontextänderung durch Fokusumsetzung)

  • Die Hinzufügung von Bedienelementen, wie z. B. zusätzliche Formularelemente

Ob die Statusmeldung tatsächlich vom Screenreader ausgegeben wird, kann abhängig von genutztem Browser und Screenreader unterschiedlich ausfallen. Der Erfolg kann davon abhängen, ob die Statusmeldung in ein bereits bestehendes Element eingefügt wird oder ob eine kurze Zeitverzögerung vor der Generierung der Meldung definiert worden ist. Für eine möglichst gute Unterstützung in unterschiedlichen Umgebungen:

  • Beim Laden der Seite sollte ein (leerer) Container im DOM vorhanden und als Live-Region ausgezeichnet sein.

  • Erst wenn die Aktualisierung ausgelöst wird, sollte die Textänderung in den vorhandenen Container eingefügt oder aktualisiert werden.

Hinweis zur Verwendung von role="status":

4. Bewertung

Erfüllt

  • Alle Statusmeldungen sind richtig ausgezeichnet und damit programmatisch verfügbar.

Einordnung des Prüfschritts

Einordnung des Prüfschritts nach WCAG 2.1

Guideline

Success criterion

Techniques

Situation A: If a status message advises on the success or results of an action, or the state of an application:

Situation B: If a status message conveys a suggestion, or a warning on the existence of an error:

Situation C: If a status message conveys information on the progress of a process:

Failures

Quellen