Barrierefreies AJAX
Um das lästige Nachladen der ganzen Seite zu vermeiden, versucht man bei AJAX, durch asynchrone Callbacks zum Server, teile der Webseite dynamisch nachzuladen oder zu aktualisieren.
Dies bringt jedoch einige Probleme mit sich. Beispielsweise merkt ein Screenreader nichts von Änderungen an bereits gelesenen Inhalten. Eine blinde Person wird somit nicht darüber informiert, wenn sich auf der Webseite etwas geändert hat.
Live-Regionen
Zur Lösung dieses Problems erweitert die WAI-ARIA die HTML-Syntax um sogenannte Live-Regionen. Dabei kann auf jedem HTML-Element das aria-live-Attribut gesetzt werden, welches den assistiven Technologien mitteilt, dass diese Region sich ändern kann.
Das aria-live-Attribut kann auf folgende Werte gesetzt werden:
offist der Standard und sagt aus, dass kein dynamisches Nachladen erfolgtpoliteinformiert den Benutzer dann, wenn der Screenreader im Idle-Mode ist. Eine laufende Sprachausgabe wird nicht unterbrochenassertivebedeutet, dass der Benutzer unmittelbar informiert werden muss. Eine laufende Sprachausgabe wird unterbrochen
<div id="news" aria-life="polite" aria-atomic="true" aria-relevant="additions">Zur Zeit keine News.</div>
aria-atomic
Durch das aria-amotic-Attribut kann festgelegt werden, ob bei einer Änderung der ganze Inhalt, oder nur die Änderung vorgelesen werden soll.
truebedeutet: bei einer Änderung alles nochmals vorlesenfalsebedeutet: nur den geänderten Text nochmals vorlesen
aria-busy
Durch das aria-busy-Attribut kann das Mitteilen der Änderung verzögert werden, wenn beispielsweise noch weitere Änderungen anstehen.
truebedeutet: Mitteilung verzögernfalsebedeutet: Änderung kann jetzt mitgeteilt werden
aria-relevant
Durch das aria-relevant-Attribut kann festgelegt werden, welche Art von Änderungen für den Benutzer interessant sind:
all: alle Änderungen sind relevantadditions: nur hinzugefügte Elemente sind relevantremovals: nur entfernte Elemente sind relevanttext: bei Änderung des Textinhaltes
