Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Element: ariaNotify() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell:Dies ist eineexperimentelle Technologie
Überprüfen Sie dieBrowser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.
DieariaNotify() Methode desElement Interface spezifiziert, dass eine gegebene Textzeichenfolge von einemScreenreader angekündigt werden soll, falls dieser verfügbar und aktiv ist.
In diesem Artikel
Syntax
ariaNotify(announcement)ariaNotify(announcement, options)Parameter
announcementEine Zeichenkette, die den anzukündigenden Text spezifiziert.
optionsOptionalEin Optionsobjekt, das die folgenden Eigenschaften enthält:
priorityEin enumerierter Wert, der die Priorität der Ankündigung angibt. Mögliche Werte sind:
Rückgabewert
Keiner (undefined).
Beschreibung
DieariaNotify() Methode kann verwendet werden, um programmgesteuert eine Screenreader-Ankündigung auszulösen. Diese Methode bietet ähnliche Funktionalität wieARIA-Live-Regionen mit einigen Vorteilen:
- Live-Regionen können nur nach Änderungen des DOM Ankündigungen machen, während eine
ariaNotify()-Ankündigung jederzeit gemacht werden kann. - Live-Region-Ankündigungen beinhalten das Vorlesen des aktualisierten Inhalts des geänderten DOM-Knotens, während
ariaNotify()-Ankündigungsinhalt unabhängig vom DOM-Inhalt definiert werden kann.
Entwickler umgehen oft die Einschränkungen von Live-Regionen, indem sie versteckte DOM-Knoten mit darauf gesetzten Live-Regionen verwenden, die mit dem anzukündigenden Inhalt aktualisiert werden. Dies ist ineffizient und fehleranfällig, undariaNotify() bietet eine Möglichkeit, solche Probleme zu vermeiden.
Einige Screenreader lesen mehrereariaNotify()-Ankündigungen in Reihenfolge vor, aber dies kann nicht für alle Screenreader und Plattformen garantiert werden. Normalerweise wird nur die jüngste Ankündigung gesprochen. Es ist zuverlässiger, mehrere Ankündigungen in einer zu kombinieren.
Zum Beispiel, die folgenden Anrufe:
elemRef.ariaNotify("Hello there.");elemRef.ariaNotify("The time is now 8 o'clock.");würden besser kombiniert werden:
elemRef.ariaNotify("Hello there. The time is now 8 o'clock.");EinariaNotify()-Aufruf kann auf jedem Element im DOM ausgelöst werden, außer auf solchen, die der Browser nicht als "interessant" für Barrierefreiheit betrachtet und die beim Aufbau des Accessibility-Baums ignoriert werden. Welche Elemente genau ignoriert werden, variiert je nach Browser, aber die Liste umfasst in der Regel Container-Elemente mit wenig bis keinem semantischen Wert, wie die Elemente<html> und<body>.
ariaNotify()-Ankündigungen erfordern keinetransiente Aktivierung; Sie sollten darauf achten, Screenreader-Benutzer nicht mit zu vielen Benachrichtigungen zu überhäufen, da dies eine schlechte Benutzererfahrung schaffen könnte.
Ankündigungsprioritäten
EineariaNotify()-Ankündigung mitpriority: high wird vor einerariaNotify()-Ankündigung mitpriority: normal angekündigt.
ariaNotify()-Ankündigungen entsprechen grob den ARIA-Live-Region-Ankündigungen wie folgt:
ariaNotify()priority: high:aria-live="assertive".ariaNotify()priority: normal:aria-live="polite".
Jedoch habenaria-live-Ankündigungen Vorrang vorariaNotify()-Ankündigungen.
Sprachauswahl
Screenreader wählen eine geeignete Stimme aus, umariaNotify()-Ankündigungen vorzulesen (hinsichtlich Akzent, Aussprache usw.), basierend auf der im Element spezifizierten Sprache imlang Attribut oder, wenn das Element kein spezifizierteslang Attribut hat, demlang Attribut, das am nächsten Vorfahren gesetzt ist. Wenn keinlang Attribut im HTML spezifiziert ist, wird die Standardsprache des Benutzeragenten verwendet.
Integration in die Berechtigungspolitik
Die Nutzung vonariaNotify() in einem Dokument oder<iframe> kann durch einearia-notifyBerechtigungspolitik kontrolliert werden.
Insbesondere dort, wo eine definierte Politik die Nutzung blockiert, schlagen alle mitariaNotify() erstellten Ankündigungen fehl (sie werden nicht gesendet).
Beispiele
Für ein umfangreicheres Beispiel sehen Sie sich dasbarrierefreie Einkaufslisten-Beispiel auf derDocument.ariaNotify() Seite an. Das Beispiel würde genauso funktionieren, wenn SieariaNotify() auf einem Elementreferenz statt auf demDocument Objekt aufrufen.
GrundlegendeariaNotify()-Verwendung
Diese Beispiel enthält einen<button>, der eine Screenreader-Ankündigung auf sich selbst auslöst, wenn er geklickt wird.
<button>Press</button>html,body { height: 100%;}body { display: flex; justify-content: center; align-items: center;}document.querySelector("button").addEventListener("click", () => { document.querySelector("button").ariaNotify("You ain't seen me, right?");});Ergebnis
Die Ausgabe ist wie folgt:
Versuchen Sie, einen Screenreader zu aktivieren und dann die Taste zu drücken. Sie sollten "You ain't seen me, right?" vom Screenreader gesprochen hören.