ARIA: option Rolle

Die option-Rolle wird für auswählbare Elemente in einer listbox verwendet.

Beschreibung

Die option-Rolle wird verwendet, um Auswahlmöglichkeiten zu identifizieren, die ein Benutzer in einer listbox treffen kann. Diese Optionen ähneln den <option>-Elementen in einem <select>-Element, können jedoch Bilder enthalten.

Alle auswählbaren Optionen sollten aria-selected entsprechend ihrem Zustand haben, true, wenn ausgewählt, und false, wenn nicht. Wenn eine Option nicht auswählbar ist, kann aria-selected weggelassen werden. Eine deaktivierte Option kann aria-disabled="true" und aria-selected="false" haben, um dem Benutzer mitzuteilen, dass die Option vorhanden, allerdings deaktiviert ist.

Die option-Rolle dient zur Identifikation von auswählbaren Optionen einer listbox. Optionen müssen einen zugänglichen Namen haben. Im Allgemeinen sollte der zugängliche Name für eine Option aus dem Inhalt der Nachfahren des Elements stammen.

Autoren können auch explizit einen zugänglichen Namen angeben, indem sie aria-label oder aria-labelledby für das Element mit der option-Rolle spezifizieren. Wenn aria-label oder aria-labelledby verwendet wird und die Option auch eine sichtbare Textbezeichnung anzeigt, müssen Autoren sicherstellen, dass sie dem WCAG-Erfolgskriterium 2.5.3 Label in Name entsprechen.

Es wird dringend empfohlen, nach Möglichkeit ein <select>-Element oder ein <input>-Element mit dem Typ checkbox oder radio zu verwenden. Diese nativen HTML-Elemente bieten Tastaturinteraktivität, um den Fokus für alle Nachfahren automatisch zu verwalten.

Alle Nachfahren sind präsentativ

Es gibt einige Arten von Benutzeroberflächenkomponenten, die, wenn sie in einer Plattform-Aktivierungs-API dargestellt werden, nur Text enthalten können. Accessibility-APIs verfügen nicht über eine Möglichkeit, semantische Elemente darzustellen, die in einer option enthalten sind. Um mit dieser Einschränkung umzugehen, wenden Browser automatisch die Rolle presentation auf alle Nachfahren von option-Elementen an, da es sich um eine Rolle handelt, die keine semantischen Kinder unterstützt.

Beispielsweise betrachten Sie folgendes option-Element, das eine Überschrift enthält.

html
<div role="option"><h3>Title of my option</h3></div>

Da Nachfahren von option präsentativ sind, ist der folgende Code äquivalent:

html
<div role="option"><h3 role="presentation">Title of my option</h3></div>

Aus der Perspektive des Nutzers von Hilfstechnologien existiert die Überschrift nicht, da die vorherigen Codeausschnitte im Zugänglichkeitsbaum dem folgenden entsprechen:

html
<div role="option">Title of my option</div>

Zugehörige ARIA-Rollen, Zustände und Eigenschaften

Zugehörige Rollen

listbox

Eine option muss in einem listbox enthalten sein oder von einem listbox besessen sein.

Zustände und Eigenschaften

aria-selected

Wird verwendet, um den Auswahlzustand der Option zu beschreiben. Erforderlich.

aria-checked

Wird verwendet, um den markierten Zustand zu beschreiben, wenn Optionen in mehrfacher Auswahl verwendet werden. Unterstützt true, false und mixed. Optional.

aria-posinset

Wird verwendet, um die Position in der Menge der Optionen zu beschreiben, wenn sie nicht mit dem DOM übereinstimmt, wie z.B. beim virtuellen Scrollen, bei dem nur einige Optionen gleichzeitig vorhanden sind. Optional.

aria-setsize

Wird in Verbindung mit aria-posinset verwendet, um die Gesamtanzahl der Optionen anzugeben. Optional.

aria-disabled

Wird verwendet, um anzuzeigen, dass die Option vorhanden, aber nicht bearbeitbar ist. Optional.

aria-hidden

Wird verwendet, um die Option vor Zugänglichkeitstools zu verbergen. Es sollte nur verwendet werden, um nicht sichtbare Inhalte oder sichtbare Inhalte zu verbergen, wenn dies die Erfahrung der assistiven Technologie verbessert, wie z.B. redundante Inhalte. Optional.

aria-invalid

Wird verwendet, um anzuzeigen, dass der Wert der Option von der Anwendung als ungültig angesehen wird. Optional.

aria-busy

Wird verwendet, um anzuzeigen, dass ein Element gerade geändert wird, z.B. während es geladen wird. Optional.

aria-labelledby

Wird verwendet, um anzugeben, welches Element die Option bezeichnet. Der Inhalt der Option sollte stattdessen verwendet werden, wo dies angemessen ist. Optional.

aria-label

Wird verwendet, um die Option zu benennen. Wenn das Label im DOM vorhanden ist, sollte aria-labelledby stattdessen verwendet werden. Optional.

Spezifikationen

Specification
Accessible Rich Internet Applications (WAI-ARIA)
# option
Unknown specification

Siehe auch