Aloha ;)
Screenreader lesen aber Checkboxen vor.
Auch solche mit
display=none
?Checkboxen mit
display: none
sind nicht in der Tab-Folge, also nicht bedienbar.
Ja, okay. Dann vergessen wir das mit display:none
wieder. Dann bestenfalls also doch nur visually hidden.
Das ändert nichts daran, dass eine Checkbox mit einem entsprechenden label trotzdem verständlich ist und, dass es durchaus mehrere Fälle gibt, wo das Anwählen einer Checkbox direkte Auswirkungen auf den Zustand der Seite hat.
Und ein
label
-Element mitrole="Button"
undaria-pressed
ist nicht verständlich?Das widerspricht der ersten Regel der Verwendung von ARIA.
Ach ja? Label-Elemente sind doch Schaltflächen zum draufklicken. Der Klick auf das Label-Element bewirkt doch das Umschalten des entsprechenden Checkbox-Zustands.
Was zeichnet eine Kombination von Umschalt-Button mit einer Checkbox gegenüber der Kombination eines Labels mit einer Checkbox aus? - Nichts.
role="Button"
betont die Interaktivität der label-Elemente, das ist alles. Ich habe keinen Zweifel daran, das Screenreader das damit verstehen können.
Abgesehen davon komme ich da nicht umhin festzustellen, dass aus dem „Deine Seite ist so nicht zugänglich!!1!“ ein mehr zerknirschtes „So ist ARIA eigentlich nicht gedacht.“ geworden ist...
Es ist auch möglich, ein div so weit aufzurüsten, dass es wie ein Button funktioniert. Aber sinnvoll ist das nicht.
Ein div ist auch kein label für Checkboxen, die wiederum den Zustand meiner Navigation wiederspiegeln und ein div hat auch im Normalzustand beim draufklicken keine Veränderung der Seite zur Folge - ein label mit einer Checkbox schon, beispielsweise in einem Formular oder in einem Einstellungs-Fenster. Der Vergleich hinkt.
Bei einer Navigationsleiste die visuell im vollständig ausgeklappten Zustand bspw. über dem Inhalt der Seite liegt oder sich gegenseitig überdeckt?
Das ist ein Layout-Problem.
Ach ja? 😉 Vielleicht ist es nur dann ein Layout-Problem, wenn man für sich ausschließt das so zu lösen, dass es bei keinem User zu einem Layout-Problem kommt, auch nicht bei solchen ohne JavaScript.
Grüße,
RIDER