Hier findest Du Checklisten, Beispiel-Quellcode sowie eine Zusammenstellung aller wichtiger WCAG-Erfolgskriterien, die Dir bei der Entwicklung eines barrierefreien Formulars helfen können. Eine detailliertere Beschreibung findest Du auf in meiner Notiz zum Thema "barrierefreie Formulare".
WCAG-Erfolgskriterien
Bemerkung: Diese Liste wurde u. a. mit Hilfe der Webseite This is WCAG zusammengestellt. Sie ist nicht zwingend vollständig.. Derjenige, dem eine essentielle Richtlinie fehlt, kann sich sehr gern bei mir melden.
- WCAG 1.3.1 - Info and Relationships (Level A)
- WCAG 1.3.5 - Identify Input Purpose (Level AA)
- WCAG 1.4.1 - Use of Color (Level A)
- WCAG 1.4.3 - Contrast (Minimum) (Level AA)
- WCAG 1.4.6 - Contrast (Enhanced) (Level AAA)
- WCAG 1.4.11 - Non-text Contrast
- WCAG 2.1.1 - Keyboard (Level A)
- WCAG 2.4.6 - Headings and Labels (Level AA)
- WCAG 2.4.7 - Focus Visible (Level AA)
- WCAG 2.5.3 - Label in Name (Level A)
- WCAG 2.5.5 - Target Size (Level AAA)
- WCAG 2.5.8 - Target Size (Minimum)(Level AA)
- WCAG 3.2.1 - On Focus (Level A)
- WCAG 3.2.2 - On Input (Level A)
- WCAG 3.3.1 - Error Identification (Level A)
- WCAG 3.3.2 - Labels or Instructions (Level A)
- WCAG 3.3.3 - Error Suggestion (Level AA)
- WCAG 3.3.5 - Help
- WCAG 3.3.6 - Error Prevention (All)
- WCAG 3.3.7 - Redundant Entry (Level A)
- WCAG 4.1.2 - Name, Role, Value (Level A)
Beispiel-Quellcode
<div>
<h2>Formularfehler</h2>
<p>
Folgende Fehler traten beim Ausfüllen des Formular auf:
</p>
<ul aria-label="Formularfehler">
<li><a href="#input-field">"Name": Die Eingabe muss mindestens 10 Zeichen lang sein.</a></li>
</ul>
</div>
...
<form>
<div aria-hidden="true">*Pflichtfeld</div>
<label for="input-field" id="input-field-label">Name<span aria-hidden="true">*</span></label>
<input id="input-field" type="text" aria-labelledby="input-field-label input-field-error" aria-describedby="input-field-description" required/>
<div id="input-field-error">Fehler: Die Eingabe muss mindestens 10 Zeichen lang sein.</div>
<div id="input-field-description">Mind. 10 Zeichen</div>
<fieldset>
<legend>Auswahlmöglichkeiten</legend>
<label><input type="checkbox" name="options"/>Option 1</label>
<label><input type="checkbox" name="options"/>Option 2</label>
<label><input type="checkbox" name="options"/>Option 3</label>
</fieldset>
<input type="submit" value="Absenden" />
</form>