Dostępność cyfrowa (ang. digital accessibility) oraz European Accessibility Act (EAA) określają zasady dotyczące tworzenia stron internetowych i aplikacji, tak aby były one dostępne dla wszystkich użytkowników, w tym osób z niepełnosprawnościami. Jednym z kluczowych elementów dostępności jest odpowiednie projektowanie formularzy w HTML.
Formularze powinny być zbudowane przy użyciu odpowiednich znaczników:
<form action="submit.php" method="post"> <label for="name">Imię:</label> <input type="text" id="name" name="name" required> </form>
Unikaj divów do budowy formularzy – zamiast tego używaj <form>, <label>, <input>, <select>, <textarea>.
Każde pole powinno mieć powiązaną etykietę:
<label for="email">Adres e-mail:</label> <input type="email" id="email" name="email" required>
Tekst etykiety powinien być jednoznaczny i opisowy.
Jeśli formularz zawiera grupę pól, stosuj <fieldset> i <legend>
<fieldset> <legend>Dane kontaktowe</legend> <label for="phone">Telefon:</label> <input type="tel" id="phone" name="phone"> </fieldset>
W przypadku dodatkowych wskazówek dla użytkownika:
<label for="password">Hasło:</label> <input type="password" id="password" name="password" aria-describedby="passwordHelp"> <small id="passwordHelp">Hasło powinno mieć min. 8 znaków.</small>
Native HTML5:
<input type="email" id="email" name="email" required>
Obsługa błędów z dostępnością:
<div role="alert" id="error-message" style="color: red;"> Wprowadź poprawny adres e-mail. </div> <input type="email" id="email" name="email" aria-describedby="error-message" required>
Formularze powinny być obsługiwane klawiaturą (tab, enter).
Kolejność pól powinna być logiczna (sprawdź używając tab).
Minimalny kontrast tekstu etykiety do tła: 4.5:1.
Wyróżnij focus na elementach formularza (np. :focus).
aria-required=”true” dla obowiązkowych pól (jeśli nie można użyć required).
aria-invalid=”true” dla błędów walidacji.
<form action="#" method="post"> <fieldset> <legend>Dane osobowe</legend> <label for="name">Imię i nazwisko:</label> <input type="text" id="name" name="name" required> <label for="email">E-mail:</label> <input type="email" id="email" name="email" aria-describedby="emailHelp" required> <small id="emailHelp">Podaj poprawny adres e-mail.</small> <button type="submit">Wyślij</button> </fieldset> </form>
Dzięki tym zasadom formularze będą zgodne z EAA, WCAG i będą dostępne dla wszystkich użytkowników.
Europejski Akt o Dostępności (EAA) to dyrektywa Unii Europejskiej mająca na celu zapewnienie, że produkty i usługi, w tym strony internetowe i aplikacje mobilne, są dostępne dla wszystkich obywateli, w tym osób z niepełnosprawnościami. W Polsce przepisy te wejdą w życie 28 czerwca 2025 roku. :
WCAG 2.1 (Web Content Accessibility Guidelines) to zestaw wytycznych opracowanych przez W3C, które określają, jak tworzyć treści internetowe dostępne dla osób z różnymi niepełnosprawnościami. Wytyczne te są podzielone na trzy poziomy zgodności: A, AA i AAA, gdzie poziom AA jest często wymaganym standardem.
Dostępne formularze w HTML umożliwiają wszystkim użytkownikom, w tym osobom z niepełnosprawnościami, łatwe i intuicyjne wypełnianie oraz przesyłanie danych. Poprawa dostępności formularzy zwiększa użyteczność strony i może być wymagana przez przepisy prawne, takie jak EAA.
Aby formularze były dostępne i zgodne z WCAG 2.1, należy: - **Używać odpowiednich znaczników HTML**: Stosuj semantyczne elementy, takie jak `label` dla etykiet pól i `fieldset` oraz `legend` dla grupowania powiązanych pól. - **Zapewnić widoczne i powiązane etykiety**: Każde pole formularza powinno mieć etykietę powiązaną za pomocą atrybutu `for`, co ułatwia nawigację dla użytkowników korzystających z czytników ekranu. - **Dbać o odpowiedni kontrast kolorów**: Tekst i elementy formularza powinny mieć wystarczający kontrast w stosunku do tła, aby były czytelne dla osób słabowidzących. - **Zapewnić nawigację klawiaturą**: Formularze powinny być w pełni obsługiwane za pomocą klawiatury, z logiczną kolejnością fokusu. - **Dostarczyć informacje zwrotne**: Po przesłaniu formularza użytkownik powinien otrzymać jasne informacje o sukcesie lub błędach, z instrukcjami, jak je poprawić.
Nieprzestrzeganie wytycznych EAA i WCAG 2.1 może skutkować sankcjami finansowymi oraz utratą reputacji firmy. Ponadto, niedostępność cyfrowa ogranicza grono potencjalnych klientów, co może wpływać na wyniki biznesowe.
Aby sprawdzić zgodność formularza z WCAG 2.1, można skorzystać z narzędzi takich jak Axe, Lighthouse czy WAVE, które analizują stronę pod kątem dostępności i wskazują obszary wymagające poprawy. :