Tri-State-Checkbox 
veröffentlicht in 2014
zuletzt bearbeitet in
Die indeterminate-Eigenschaft
Das Kontrollfeld ist das einzige HTML-Element, das drei Zustände unterstützt. Die HTML-Spezifikation gibt zwar eindeutig vor, dass ein Kontrollfeld nur zwei Zustände haben darf, aber Autoren können per JavaScript ein Kontrollfeld einen unbestimmten Zustand (indeterminate-Eigenschaft) zuweisen, der von Browsern an Assistenztechnologien als "teilweise aktiviert" übermittelt wird. Anwendungsfälle sind Funktionalitäten wie "Alle aktivieren" oder "Alle erweitern" mit entsprechenden untergeordneten Elementen, die einzeln aktiviert oder erweitert werden können.
Im folgenden Beispiel können mit dem ersten Kontrollfeld alle nachfolgenden Kontrollfelder aktiviert oder deaktiviert werden. Wenn die nachfolgenden Kontrollfelder aber teilweise aktiviert und teilweise nicht aktiviert sind, erhält das erste Kontrollfeld den unbestimmten Zustand. In Assistenztechnologien wie Screenreader wird im zweiten Fall das Kontrollfeld als "teilweise aktiviert" identifiziert.
Die indeterminate-Eigenschaft ist nicht zu verwechseln mit dem indeterminate-Attribut in HTML. Das HTML-Attribut hat keine semantische Bedeutung und verschleiert lediglich den zustand eines Kontrollfelds.
Ob die Eigenschaft richtig gesetzt ist, können Sie in den Entwicklerwerkzeugen des Browsers feststellen:

Ob der Zustand "teilweise aktiviert" für das Kontrollfeld vom Browser festgelegt wurde, können Sie im Accessibility-Tree überprüfen. Browser bieten dafür auch eine Ansicht in den Entwicklerwerkzeugen:

Alternativ zur indeterminate-Eigenschaft können Sie das aria-checked-Attribut mit dem Wert "mixed" einsetzen, das wie die indeterminate-Eigenschaft als Zustand "teilweise aktiviert" an Assistenztechnologien übermittelt wird. Diese Technik ist nur dann zu empfehlen, wenn ihre Kontrollfelder ohne das input-Element umgesetzt werden. Neben dem aria-checked-Attribut sind zusätzlich explizite Rollen wie "checkbox" oder "menuitemcheckbox" und die Tastaturbedienung autorenseitig zu berücksichtigen.
Der Beitrag Tri-State-Checkbox besteht aus folgenden einzelnen Webseiten:
- Die indeterminate-Eigenschaft
Es gibt eine indeterminate-Eigenschaft und ein indeterminate-Attribut. Mit der Eigenschaft wird eine Tri-State-Checkbox erzeugt. In HTML ist das indeterminate-Attribut rein visuell und ohne Semantik.
- Das aria-checked-Attribut
Um einen Zwischenzustand zwischen "aktiviert" und "nicht aktiviert" für Kontrollfelder semantisch auszuzeichnen, kann mit role="checkbox" und aria-checked gearbeitet werden.
Blättern zur nächsten oder vorherigen Seite
- Um einen Zwischenzustand zwischen "aktiviert" und "nicht aktiviert" für Kontrollfelder semantisch auszuzeichnen, kann mit role="checkbox" und aria-checked gearbeitet werden. Das aria-checked-Attribut
- Für Kontrollfelder, die einen Zwischenzustand zwischen "aktiviert" und "nicht aktiviert" benötigen, bieten JavaScript und ARIA barrierefreie Lösungen. Tri-State-Checkbox