Screenreader zum Lesen neuer Inhalte, die mit JavaScript hinzugefügt wurden
Wenn eine web-Seite wird geladen, Bildschirm-Lesegeräte (wie die eine, die kommt mit OS X, oder JAWS unter Windows) Lesen Sie den Inhalt der gesamten Seite. Aber sagen, deine Seite ist dynamisch, und wie Benutzer die Durchführung einer Aktion, neuer Inhalt Hinzugefügt wird, zu der Seite. Der Einfachheit halber, sagen Sie, dass Sie eine Meldung angezeigt, die irgendwo in einem <span>
. Wie kann man die screen-reader zu Lesen, dass die neue Nachricht?
InformationsquelleAutor der Frage avernet | 2010-09-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den WAI-ARIA - Spezifikation definiert mehrere Möglichkeiten, um die Bildschirm-Leser können die "Uhr" ein DOM-element. Die besten unterstützte Methode ist die
aria-live -
Attribut. Es hat Modioff
polite
,assertive
undrude
. Je höher der Grad der Durchsetzungsfähigkeit, desto wahrscheinlicher ist es, zu unterbrechen, was derzeit gesprochen wird, durch die screen-reader.Im folgenden wurde getestet mit NVDA unter Firefox 3 und Firefox 4.0b9:
Das gleiche kann man erreicht mit WAI-ARIA Rollen
role="status"
undrole="alert"
. Ich habe Berichte von Inkompatibilität, aber nicht in der Lage gewesen, um Sie zu reproduzieren.InformationsquelleAutor der Antwort Courtney Christensen
Hier ist eine angepasste real-world-Beispiel -- das up-level-markup bereits umgesetzt, die aus einer ungeordneten Liste mit links in einem select-Menü per JS. Der code ist viel komplexer und offensichtlich nicht berücksichtigt werden konnte, in seiner Gesamtheit, so erinnern diese müssen überdacht werden, die für die Produktion verwenden. Für das select-Menü vorgenommen werden, die Tastatur möglich, registrierten wir das keypress - & onchange-Ereignisse und feuerte den AJAX-Aufruf, wenn der Benutzer mit Registerkarten aus der Liste (Vorsicht vor browser-Unterschiede im timing der onchange-Ereignis). Das war ein schwerer PITA zugänglich zu machen, aber es IST möglich.
InformationsquelleAutor der Antwort Marcy Sutton