Barrierefreie clientseitige Formularvalidierung mit HTML5, WAI-ARIA und dem jQuery-Validierungs-Plugin

Paul J. Adam

Von Paul J. Adam

25. Mai 2012

Veraltete Browser? Veraltete assistive Technologien? JavaScript schafft Abhilfe! Im letzten Teil unserer Reihe über barrierefreie Formularvalidierung und Verbesserungen der Benutzerfreundlichkeit fügen wir das jQuery-Validation-Plugin hinzu, um sicherzustellen, dass unser Formular auf allen Geräten, die JavaScript unterstützen – einschließlich des gefürchteten IE6 –, universell barrierefrei ist.

Demo-Formular mit HTML5, WAI-ARIA und jQuery -Validierung (Standardeinstellungen)

Demo-Formular mit HTML5, WAI-ARIA und jQuery -Validierung (angepasste Einstellungen)

HTML5 und ARIA haben Einschränkungen – JavaScript hingegen nicht!

Sicher, JavaScript hat einige Einschränkungen, aber eigentlich gibt es keine, wenn man es unter Berücksichtigung der Barrierefreiheit programmiert. Es funktioniert auf so gut wie allen Browsern und Mobilgeräten. Niemand deaktiviert JavaScript wirklich, es sei denn, man ist ein Sicherheitsfreak. Wenn man für den Fall gewappnet sein möchte, dass JavaScript deaktiviert ist, und die Datenbank vor SQL-Injection-Angriffen schützen will, muss man die Formulareingaben auch serverseitig validieren . Die serverseitige Validierung kann als die unterste Ebene der barrierefreien Formularvalidierung betrachtet werden und funktioniert in jedem Browser, einschließlich Feature-Phones.

Das jQuery-Validierungs-Plugin hinzufügen

jQuery ist das führende JavaScript-Framework im Web und kann als Sieger des „JS-Framework-Kriegs“ der letzten Jahre bezeichnet werden. Das Motto von jQuery lautet: „Weniger schreiben, mehr erreichen“. Minimalismus und Barrierefreiheit lassen sich sehr gut miteinander vereinbaren!

It’s very simple to add jQuery Validation to any HTML form. Link to jQuery, we’re using a content delivery network here so we don’t have to download the JavaScript file. Then link to the validation plugin. Then tell jQuery to run the validation plugin on your form with the id attribute you want to validate. This will happen after the document is finished loading. Add this code to the <head>.

Das Plugin erkennt unsere Eingaben anhand des HTML5-Attributs „required“ und führt standardmäßig stattdessen eine eigene JavaScript-Validierung durch, anstatt HTML5 zu verwenden. Das ist ein Problem. Wir möchten die HTML5-Validierung in Browsern durchführen, die diese unterstützen, und nur in Browsern, die HTML5 nicht unterstützen, die JavaScript-Validierung ausführen.

Standard-Einstellungen für die jQuery-Validierung

There are some issues with the default settings. It stops the native HTML5 validation. The other big accessibility issue is that by default the error messages are placed in a second <label>. So there are two labels pointing to one input. This is a problem for some screen readers. VoiceOver will not announce the second label when the user tabs through the form. Steve Faulkner (@stevefaulkner) wrote a recent blog post titled, Notes on applying multiple labels for a control using the label element, and created a test case, multiple labels for a control using the label element, where you can see where multiple labels fail in certain AT. aria-labelled by is a better solution than using multiple labels.

Bisher haben wir also zwei Probleme mit den Standardeinstellungen. Die HTML5-Validierung ist deaktiviert, und zwei Beschriftungen verweisen auf ein Eingabefeld. Das dritte Problem besteht darin, dass die Fehlermeldung unterhalb des Eingabefelds angezeigt wird. Wir müssen sie also in die ursprüngliche Beschriftung verschieben und mithilfe von CSS an der gewünschten Stelle positionieren.

Anpassung der jQuery-Validierung

Optionen für die Methode „validate()“

Es gibt zahlreiche Möglichkeiten, die Standardeinstellungen des Validierungs-Plugins zu ändern. Wir möchten die Parameter „errorPlacement“ und „errorElement“ anpassen. Außerdem möchten wir das Attribut „novalidate“ entfernen, das standardmäßig auf unser Formular angewendet wird.

Change the code in the <head> to this:

To change the errorPlacement I found some code on Stack Overflow to select the associated label element of an input field and append the error message to that. Then I changed the errorElement to be an <em> rather than another <label>. And then used jQuery to select the form on the page and remove the novalidate attribute.

Genau dieses Verhalten wollen wir erreichen. Moderne Browser wie Chrome und Firefox führen zunächst eine HTML5-Validierung durch, während andere Browser mit geringerer HTML5-Unterstützung wie Safari auf Mac und iOS die jQuery-Validierung nutzen.

Es funktioniert sogar im IE6! Schauen Sie sich die beiden Demo-Links in verschiedenen Browsern an, um die Unterschiede zu sehen.

IE6: Das Kryptonit der Webentwickler – ein Webentwickler ist Superman, doch sobald er IE6, das Kryptonit, einsetzt, verwandelt er sich nach der Kompatibilitätsarbeit mit IE6 in einen richtig trottelig aussehenden Typen mit Brille und einem unechten Smokinghemd.

Demo-Formular mit HTML5, WAI-ARIA und jQuery -Validierung (Standardeinstellungen)

Demo-Formular mit HTML5, WAI-ARIA und jQuery -Validierung (angepasste Einstellungen)

Formulare können mühsam und schwer zugänglich sein!

Wütender Typ mit erhobenen Händen, der weint – Blog zum Thema Barrierefreiheit

Lasst uns dieses Problem bei der Dateneingabe im Internet lösen!

Diese drei Beiträge basieren auf einem Vortrag, den ich auf der CSUN 2012 gehalten habe. Ich hoffe, euch hat die Serie gefallen!

Links zu allen drei Beiträgen dieser Reihe:

  1. Barrierefreie clientseitige Formularvalidierung mit HTML5
  2. Barrierefreie clientseitige Formularvalidierung mit HTML5 und WAI-ARIA
  3. Barrierefreie clientseitige Formularvalidierung mit HTML5, WAI-ARIA und dem jQuery-Validierungs-Plugin

Anmerkungen? Fragen?

Was haltet ihr also von diesen drei Ebenen der Barrierefreiheit, die wir unserem Formular hinzugefügt haben? Bei meinem Vortrag auf der AccessU 2012 erhielt ich einen Kommentar, dass die Erstellung eines barrierefreien Formulars offenbar mit viel zusätzlichem Aufwand verbunden sei. Ich bin der Meinung, dass es sich absolut lohnt, ein sehr benutzerfreundliches Formular zu erstellen, das auf allen Geräten, die Barrierefreiheit unterstützen, universell zugänglich ist.

Bitte lass mich wissen, wenn du Verbesserungsvorschläge hast oder Fehler findest.

Paul J. Adam

Paul J. Adam

Paul J. Adam ist ehemaliger „Accessibility Evangelist“ bei Deque Systems. Seine Schwerpunkte liegen auf Barrierefreiheit im mobilen Bereich und moderner Web-Barrierefreiheit. Zu seinen Fachgebieten zählen das mobile Web, native iOS- und Android-Anwendungen, Hybrid-Apps, responsives Webdesign, HTML5, JavaScript, WAI-ARIA, WCAG 2.0 sowie moderne Webentwicklungstechniken. Paul ist seit 2011 als Apple-Entwickler registriert und verbringt seine Freizeit damit, iOS-Apps zu entwickeln und sich mit moderner JavaScript-Entwicklung auseinanderzusetzen.

Erhalten Sie Blog-Beiträge direkt in Ihren Posteingang

Kein Geschwafel, sondern echte Erkenntnisse zum Thema Barrierefreiheit von qualifizierten Experten.

Sie erklären sich damit einverstanden, dass Deque Informationen gemäß den Bestimmungen in DequeDatenschutzerklärungbeschrieben, Informationen von Deque entgegennimmt, nutzt und weitergibt. Sie können Ihre Einwilligung jederzeit widerrufen, indem Sie uns kontaktieren.

Mehr zu diesem Thema

Damit Ihr Unternehmen im Zeitalter der agentenbasierten KI erfolgreich sein kann, sollten Sie Barrierefreiheit als grundlegenden Bestandteil Ihrer KI-Strategie betrachten.

Preety Kumar 100 x 150
29. Juli 2026 Von Preety Kumar

Barrierefreiheit muss bereits von der ersten Eingabe an in die Art und Weise integriert werden, wie KI Code schreibt – sie darf nicht erst im Nachhinein behoben werden. Und da die Behindertengemeinschaft seit Jahrzehnten die Mensch-Computer-Interaktion für verschiedene Eingabe- und Ausgabemodalitäten perfektioniert, ist ihr Fachwissen nicht nur moralisch wichtig, sondern auch technisch unverzichtbar für die Entwicklung einer robusten, zuverlässigen KI, die tatsächlich funktioniert.

Artikel lesen
Abbildung im Stil eines Flussdiagramms, die den Barrierefreiheitsbaum und dessen Einfluss auf die menschenzentrierte und die KI-Agenten-zentrierte Barrierefreiheit veranschaulicht.

Warum digitale Barrierefreiheit für HSBC eine strategische Priorität ist

Logo von Deque
28. Juli 2026 Von Deque Systems

Mali Fernando, Leiterin des Bereichs „Digital Experience and Accessibility“ bei HSBC, erläutert die Rolle der digitalen Barrierefreiheit bei der Schaffung besserer Bankerlebnisse, der Stärkung der Kundenbeziehungen und der Förderung des langfristigen Geschäftserfolgs.

Artikel lesen
HSBC-Logo