Statusmeldungen sind Hinweise, die ohne Seitenwechsel erscheinen: die Zahl der Treffer nach dem Filtern, die Bestätigung nach dem Speichern, der Hinweis auf einen Fehler im Formular. Sie müssen auch angesagt werden, ohne dass der Fokus dorthin springt. Meldungen über einen Zustand gibt es auch anderswo, etwa im Logfile einer Anwendung; dieser Eintrag meint die Hinweise in der Oberfläche einer Website.
- Statusmeldungen
Hinweise, die ohne Seitenwechsel erscheinen und auch angesagt werden müssen.
Beispiel: „Die Statusmeldung ‚12 Treffer‘ wird angesagt, ohne dass der Fokus das Suchfeld verlässt.“Auch: Status Messages, Live-Region. Das Wort Meldung führt leicht in die Irre, denn gemeint ist jede Änderung, die etwas über den Stand eines Vorgangs sagt, auch eine bloße Zahl.
Abgrenzung zum Toast: Der Toast ist eine Darstellungsform, die Statusmeldung eine Anforderung. Ein Toast erfüllt sie nur, wenn er auch ausgezeichnet ist.
Was die WCAG verlangt
Erfolgskriterium 4.1.3 „Status Messages“ steht auf Stufe AA und verlangt, dass sich Statusmeldungen in Auszeichnungssprachen über Rolle oder Eigenschaften programmatisch bestimmen lassen, sodass Hilfsmittel sie ausgeben können, ohne dass sie den Fokus erhalten.
Der letzte Halbsatz ist der entscheidende. Eine Meldung, die den Fokus an sich zieht, unterbricht die Arbeit; eine, die ihn nicht bekommt, bleibt ohne Auszeichnung unbemerkt. Genau dafür gibt es die Live-Region.
Wie sie ausgezeichnet wird
Über eine Rolle oder über eine Eigenschaft. Für Hinweise, die warten können, genügt ein Bereich mit der Rolle status, für dringende gibt es alert. Entscheidend ist, dass dieser Bereich schon im Dokument steht, bevor die Meldung hineingeschrieben wird.
<!-- leer ausgeliefert, erst spaeter gefuellt -->
<p id="treffer" role="status"></p>
<!-- nach dem Filtern steht hier: -->
<p id="treffer" role="status">12 Treffer</p>Woran es in der Praxis scheitert
Meist daran, dass der Bereich erst zusammen mit der Meldung entsteht. Hilfsmittel beobachten eine Live-Region auf Änderungen; wird der ganze Bereich neu eingefügt, gibt es nichts zu beobachten, und die Ansage bleibt aus.
Aus unserer Arbeit an über 2.500 Website-Projekten sind es drei Stellen, an denen das auffällt: die Trefferzahl in Filterlisten, die Rückmeldung nach dem Absenden eines Formulars und der Warenkorb. Überall dort ändert sich etwas, ohne dass die Seite neu lädt.