ARIA: application Rolle
Die application
Rolle zeigt unterstützenden Technologien an, dass ein Element und all seine Kinder ähnlich wie eine Desktop-Anwendung behandelt werden sollten, und keine traditionellen HTML-Interpretationstechniken angewendet werden sollten. Diese Rolle sollte nur verwendet werden, um sehr dynamische und desktop-ähnliche Webanwendungen zu definieren. Die meisten mobilen und Desktop-Web-Apps gelten nicht als Anwendungen für diesen Zweck.
<div role="application" aria-label="…">…</div>
Durch die Spezifizierung der application
Rolle wird angezeigt, dass dieses div
Element und alle seine Nachkommen so behandelt werden sollen, als ob sie Teil einer Desktop-Anwendung sind.
Beschreibung
Die application
Rolle Dokumentenstruktur Rolle, zeigt unterstützenden Technologien an, dass dieser Teil des Webinhalts Elemente enthält, die keinem anderen bekannten HTML-Element oder WAI-ARIA-Widget entsprechen. Jede Art von spezieller Interpretation von HTML-Strukturen und -Widgets sollte ausgesetzt werden, und die Kontrolle sollte vollständig an den Browser und die Webanwendung zur Handhabung von Maus-, Tastatur- oder Touch-Interaktionen übergeben werden.
In diesem Modus ist der Webautor vollständig verantwortlich für die Handhabung jedweder Tastatureingaben, Fokusmanagement und anderer Interaktionen und kann nicht davon ausgehen, dass unterstützende Technologien eine Verarbeitung auf ihrer Seite durchführen.
Wenn die durch die application Rolle umrissene Webanwendung Teile enthält, die wie normaler Webinhalt behandelt werden sollten, sollte eine Rolle von document
oder article
verwendet werden, um solchen Inhalt zu umfassen.
Hintergrund
Aus historischen Gründen, insbesondere auf Windows, haben Bildschirmlesegeräte und einige andere unterstützende Technologien (AT) traditionell den gesamten Webinhalt auf einmal vom Browser ergriffen, nachdem dieser das Laden abgeschlossen hat. Die ATs erstellen ihre eigene Repräsentation davon, die für einen sehbehinderten Benutzer am sinnvollsten ist, um den Inhalt zu konsumieren. Dies wird oft als virtuelles Dokument, Durchsuchen-Modus oder ähnliche Begriffe bezeichnet. Das Dokument wird auf eine einspaltige Ansicht gestrafft. Ein Tastatur-Interaktionsmodell wird erstellt, das einem Textverarbeitungsprogramm sehr ähnlich ist, wo Benutzer zeilenweise, satzweise oder absatzweise lesen können. Die AT wird alle Semantiken wie Links, Überschriften, Formularelemente, Tabellen, Listen oder Bilder vorlesen.
Zusätzlich wurde im Laufe der Jahre eine Reihe von sogenannten Schnellnavigationstasten etabliert, die es sehbehinderten Benutzern ermöglichen, über einen bestimmten Elementtyp durch eine Seite zu blättern. Solche Elemente umfassen üblicherweise Überschriften, Formularfelder, Listen, Tabellen, Links, Grafiken oder Landmark-Bereiche.
Damit all dies funktioniert, fangen ATs fast alle Tastatureingaben ab und verarbeiten sie selbst, ohne sie an den Browser oder andere Benutzeragenten weiterzugeben. Um mit einer Webseite interagieren zu können, wird ein Standardsatz von Widgets erkannt, bei dem beim Drücken einer bestimmten Taste (in der Regel die Enter-Taste) dieser Modus ausgeschaltet wird. Der Bildschirmlesegerätmodus, oft als Formularmodus oder Fokusmodus bezeichnet, lässt alle Tastatureingaben wieder an den Browser durch. Escape ist der häufigste Weg, um zum Durchsuchen Modus zurückzukehren, aber innerhalb eines bestimmten application
Abschnitts können einige Bildschirmlesegeräte andere Tasten erfordern, um diesen Modus absichtlich zu verlassen. Beispielsweise NUMPAD PLUS mit JAWS.
Die application
Rolle ist dafür konzipiert, eine Möglichkeit für Widgets bereitzustellen, die nicht Teil des Standardsatzes sind, um für direkte Interaktion in ATs zugänglich zu sein, die sowohl Durchsuchen als auch Fokus Modi für die Interaktion mit Webinhalten verwenden. Die meisten gängigen Widgets haben erwartete Tastaturinteraktionsverhalten. Aufgrund dessen würde eine vom Webautor erstellte benutzerdefinierte Tastaturerfahrung eine verwirrende Erfahrung schaffen.
Zugehörige WAI-ARIA Rollen, Zustände und Eigenschaften
document
,article
-
Verwendet, um Teile der Anwendung anzuzeigen, die als normaler Webinhalt behandelt werden sollten
aria-activedescendant
-
Wird verwendet, um den Fokus innerhalb der Anwendung zu steuern.
aria-label
-
Wird verwendet, um den Namen der Anwendung oder den Zweck des Widgets bereitzustellen, das angezeigt wird.
aria-describedby
-
Wird verwendet, um den idref eines Elements anzuzeigen, das zusätzliche Anweisungen zum Navigieren oder Bedienen dieses Elements enthält.
aria-roledescription
-
Wird verwendet, um der Anwendung einen aussagekräftigeren Rollentext für Bildschirmlesegeräte zu geben. Dies sollte lokalisiert sein.
aria-disabled
-
Gibt an, dass ein Element sichtbar, aber deaktiviert ist
aria-errormessage
-
Ein Verweis auf das Element, das die Fehlermeldung für das Element bereitstellt, auf dem es gesetzt ist
aria-expanded
-
Ist es auf
true
gesetzt, ist das Gruppenelement, das zu diesem Element gehört oder von ihm gesteuert wird, erweitert, oderfalse
, wenn es minimiert ist. aria-haspopup
-
Gibt an, dass ein Popup, wie ein Menü oder Dialogfeld, vorhanden ist, das durch das Element ausgelöst werden kann.
Tastatur-Interaktionen
Die Tastaturinteraktion steht vollständig unter der Kontrolle des Webautors und kann alles sein, was mit dem spezifischen Widget verknüpft ist, das implementiert wird. In einer Präsentationsanwendung könnte beispielsweise ein Widget erstellt werden, das die Pfeiltasten verwendet, um Elemente auf der Folie zu positionieren, und verwendet Audio-Feedback über eine ARIA-Live-Region, um die Position und den Überlappungsstatus mit anderen Objekten zu kommunizieren. Der Fokus wird über aria-activedescendant verwaltet.
Die Tab, Space und Enter Tasten sowie Escape müssen von der Anwendung behandelt werden. Die einzige Ausnahme ist, wenn der Fokus auf ein Standard-Widget innerhalb der Anwendung gesetzt wird, das Tastaturnavigation vom Browser unterstützt, z.B. ein input Element.
Erforderliche JavaScript-Funktionen
- keyPress
-
Wird verwendet, um Tastatureingaben zu verarbeiten und den Fokus zu steuern
- Klick, Berührung
-
Entsprechend für Ihr Widget handhaben
- Ändern von Attributswerten
-
aria-activedescendant
wird verwendet, um den Fokus innerhalb des Anwendungscontainers zu steuern. Setzen Sie diese als Reaktion auf Tastatur- oder andere Anwendungsereignisse, die den Fokus oder den Interaktionspunkt ändern.
Hinweis:
Die application
Rolle hat kein zugehöriges HTML-Widget und ist daher vollkommen freiform. Der Autor der Anwendung muss die volle Verantwortung dafür übernehmen, die Benutzer nicht in einem Fokusfalle innerhalb von etwas festzuhalten, aus dem sie nicht herauskommen können. Alle Aspekte der Interaktion, einschließlich der Rückkehr zum normalen Webinhalt auf anderen Teilen der Seite, müssen gehandhabt werden. Verwenden Sie diese weise und vorsichtig und denken Sie daran, zu testen!
Beispiele
Einige prominente Webanwendungen, die die application Rolle richtig verwenden oder verwendet haben, sind:
- Google Docs, Sheets und Slides
- CKEditor und TinyMCE WYSIWYG-Webeditoren, wie der auf dem Mozilla Developer Network verwendete
- Einige Teile von Gmail
Barrierefreiheitsbedenken
Die unsachgemäße Verwendung der application
Rolle kann ungewollt den Zugriff auf Informationen auf einer Webseite wegnehmen, daher seien Sie sehr vorsichtig bei der Verwendung. Überlegen Sie gründlich, ob Sie diese tatsächlich benötigen und nicht einfach einen Satz anderer bekannter Widgets verwenden können, um die gleiche Aufgabe zu erfüllen.
Falls verwendet, sollte die application Rolle zu dem kleinstmöglichen gemeinsamen Container hinzugefügt werden, nicht auf das <body>
-Element, zum Beispiel. Testen Sie auch, was Sie geschrieben haben, mit unterstützender Technologie, um zu überprüfen, dass es wie beabsichtigt funktioniert.
Spezifikationen
Specification |
---|
Accessible Rich Internet Applications (WAI-ARIA) # application |
Vorrangordnung
Durch die Anwendung der application
Rolle wird bewirkt, dass dieses und alle Nachkommenelemente dieses Elements wie Anwendungsinhalte und nicht als Webinhalte behandelt werden. Jegliche Lesemechanismen unterstützender Technologien, die für Webinhalte vorhanden sein könnten, werden nicht angewendet.
Siehe auch
- Wenn Sie die WAI-ARIA Rolle
application
verwenden, tun Sie dies bitte weise - Blogbeitrag von Marco Zehe - Verwendung der ARIA
application
Rolle - von Léonie Watson