it-swarm.com.de

Wie hilft role = form bei der Barrierefreiheit?

Ich habe gelesen, dass das role -Attribut Bootstrap für die Barrierefreiheit hinzugefügt wurde, und ich möchte wissen, wie <form role="form"> hilft Zugänglichkeit. Ein Beispiel für diese spezielle Verwendung finden Sie unter http://getbootstrap.com/css/#forms-example .

I Bootstraps Repo nach "Rolle" durchsucht ohne Erfolg.

Mein Problem ist, dass die Informationen überflüssig erscheinen. Die Vorstellung, dass das Element eine Form ist, wird bereits durch das HTML-Tag selbst ausgedrückt (<form>), was hilft es also, wenn wir hinzufügen, dass das Element role von form wiedergibt? Es wäre sinnvoll, role="..." wenn role anders sein würde als form (ich weiß nicht was - aber lasst uns so tun); So wie es aussieht (insbesondere ohne konkrete Argumentation/Anwendungsbeispiele), ist es bestenfalls rätselhaft.

68
user664833

Wenn Sie einem Formular einen role="form" Hinzufügen, wird es von einem Bildschirmleser als Bereich auf einer Webseite angezeigt. Dies bedeutet, dass ein Benutzer mit den Schnellnavigationstasten seiner Region leicht zum Formular springen kann (in JAWS 15 verwenden Sie beispielsweise R ). Außerdem kann der Benutzer leicht feststellen, wo das Formular beginnt und endet, da Screenreader den Anfang und das Ende von Regionen markieren.

81

Ich möchte darauf hinweisen, dass der in einem Kommentar erwähnte Artikel @ user664833 besagt, dass role="form" sollte nicht weitergehen <form> Elemente , sondern auf einem <div> oder ein anderes Element, das semantisch nicht angibt, dass es Formularelemente enthält.

Das <form> Element wird wahrscheinlich bereits von modernen Screenreadern richtig behandelt.

Zitat (link):

Empfehlen Sie die Verwendung von [role="form"] auf einem semantisch neutralen Element wie einem <div> nicht auf <form> Element, da das Element bereits über eine Standardrollensemantik verfügt .

6
Nelu

Tatsächlich besagt die Empfehlung von ARIA 1.1 W3C, dass die Semantik der Host-Sprache in Abschnitt 1.4 nicht geändert werden sollte ( source ):

"Es ist nicht angebracht, Objekte mit Stil und Skript zu erstellen, wenn die Host-Sprache ein semantisches Element für diesen Objekttyp bereitstellt. WAI-ARIA kann zwar die Zugänglichkeit dieser Objekte verbessern, die Zugänglichkeit wird jedoch am besten dadurch gewährleistet, dass der Benutzeragent die Objekte bearbeiten kann Objekt nativ. "

Also, schreibe <form role='form'> ist nicht nur überflüssig, sondern widerspricht der Empfehlung.

4
Jaccoud

Semantisch gesehen ist ein Formular standardmäßig ein Formular. Es sind jedoch nicht alle Eingabehilfenanwendungen (Bildschirmleseprogramme usw.) gleich konzipiert, und einige können Elemente (auch das Formularelement) mit dem Attribut role=form Unterschiedlich verwenden, auch wenn sie verstehen, dass das übergeordnete Formularelement dasselbe hat semantische Bedeutung mit oder ohne das Attribut role=form.

3
salmanxk