Přístupné formuláře: popisky, nápovědy a chybové hlášky
Popisky, nápovědy a chybová hlášení provázejí vyplněním formuláře. Jasné formulace a správné technické vazby jsou zvlášť důležité při opravě zadaného údaje.
Šest kritérií úspěšnosti pro formuláře
WCAG 2.2 je aktuální doporučení W3C pro přístupný webový obsah. Pro texty formuláře je nejdůležitějších šest jeho kritérií úspěšnosti:
- 1.3.1 Informace a vztahy (úroveň A): to, co ukazuje rozvržení, například který popisek patří ke kterému poli, je dostupné i v kódu nebo v textu.
- 1.3.5 Určení účelu vstupu (úroveň AA): pole, která se ptají na údaje o uživateli, například jméno nebo e-mail, uvádějí svůj účel v kódu.
- 3.3.1 Identifikace chyb (úroveň A): pokud je chyba vstupu zjištěna automaticky, pole je pojmenováno a chyba je popsána textem.
- 3.3.2 Popisky nebo instrukce (úroveň A): popisky nebo instrukce jsou k dispozici, když obsah vyžaduje vstup od uživatele.
- 3.3.3 Návrh opravy chyby (úroveň AA): pokud je chyba zjištěna a oprava je známá, navrhne se, ledaže by to ohrozilo bezpečnost nebo účel obsahu.
- 4.1.2 Název, role, hodnota (úroveň A): každý ovládací prvek má název a roli, které software dokáže přečíst.
Každé pole potřebuje viditelný popisek
Popisek říká, co do pole patří, a zůstává viditelný, i když uživatel píše. V HTML propoj element label s polem: atribut for popisku má přesně stejnou hodnotu jako id pole. Čtečky obrazovky pak čtou popisek spolu s polem a kliknutí na popisek umístí kurzor do pole. Tlačítko dostává popisek ze svého textu a „Odeslat zprávu“ řekne víc než „Odeslat“. Popisky bývají vpravo od přepínačů a zaškrtávacích políček a vlevo od ostatních polí nebo nad nimi; popisky nad poli zabírají méně místa na šířku.
Placeholder není popisek
Šedý text uvnitř prázdného pole vypadá jako popisek, ale popiskem není. W3C jmenuje problémy:
- Zmizí, jakmile někdo začne psát, takže je těžší zkontrolovat zadané údaje před odesláním.
- Prohlížeče ho často zobrazují světlou barvou s příliš malým kontrastem.
- Čtečky obrazovky ho neberou jako popisek a podpora se liší.
Placeholder používej nanejvýš pro příklad a vše důležité dej do popisku nebo nápovědy.
Nápovědy a povinná pole
- Pravidla dej do nápovědy: formát data, délku zákaznického čísla, co musí obsahovat heslo. V HTML můžeš nápovědu propojit pomocí aria-describedby, aby ji čtečky obrazovky přečetly po popisku.
- Uveď, která pole jsou povinná a která nepovinná. Pokud používáš hvězdičku, vysvětli ji jednou na začátku formuláře.
- Instrukce k celému formuláři dej před formulář, například k časovému limitu.
- Nápovědy piš krátce. Příliš mnoho instrukcí formulář ztěžuje, ne usnadňuje.
Seskup související pole
Přepínače a zaškrtávací políčka, která patří k sobě, se seskupují elementem fieldset a element legend skupinu pojmenuje, například „Jak tě máme kontaktovat?“. W3C uvádí, že skupiny přepínačů by se měly seskupovat vždy tímto způsobem. Legendu drž krátkou, protože některé čtečky obrazovky ji čtou u každého pole. Skupiny pomáhají i u polí se stejným popiskem, například ulice v doručovací a ve fakturační adrese.
autocomplete: nech prohlížeč pomoci
U polí, která se ptají na údaje o uživateli, požaduje 1.3.5, aby jejich účel bylo možné určit v kódu. WCAG 2.2 obsahuje seznam těchto účelů, založený na oddílu o automatickém vyplňování ve specifikaci HTML, například name, given-name, family-name, email, tel, street-address a postal-code. V HTML je nastavíš atributem autocomplete, například autocomplete="email". Prohlížeče pak mohou doplnit uložené hodnoty, což ušetří psaní. Pole, která se netýkají uživatele, účel nepotřebují.
Chybové hlášky, které pomáhají
Chybová hláška má tři úkoly: pojmenovat pole, říct, co je špatně, a říct, jak to opravit. 3.3.1 požaduje první dva, a to textem, takže červený rámeček nebo ikona samy nestačí. 3.3.3 požaduje opravu tam, kde je známá.
- Neplatný vstup
- Chyba
- Povinné pole
- Špatný formát
- Něco se pokazilo
- E-mailová adresa: doplň znak @, například jmeno@example.com
- PSČ: zadej 5 číslic
- Příjmení: zadej prosím své příjmení
- Datum narození: zadej den, měsíc a rok číslicemi
- Formulář se nepodařilo odeslat. Tvé údaje jsou uložené. Zkus to prosím znovu za pár minut.
- Zobraz hlášku vedle pole a propoj ji pomocí aria-describedby, aby ji čtečky obrazovky přečetly spolu s polem.
- Po odeslání zobraz nahoře, před formulářem, seznam všech chyb pod jasným nadpisem. Každá položka jmenuje pole, problém a opravu a odkazuje na pole.
- Aktualizuj i titulek stránky, například „2 chyby – Kontaktní formulář“, a přesuň fokus na první pole s chybou.
- Zachovej, co uživatel už zadal. To je naše rada, ne pravidlo WCAG: psát všechno znovu kvůli jedné chybě lidi odrazuje.
Zkontroluj svůj formulář s Do4U
Nástroj Texty formulářů kontroluje texty webového formuláře. Vložíš HTML formuláře nebo zadáš adresu stránky a můžeš přidat chybové hlášky, které tvůj formulář zobrazuje. Kód přečte každé pole: jeho popisek a odkud popisek pochází, nápovědy, placeholdery, povinná pole, hodnoty autocomplete a skupiny přepínačů nebo zaškrtávacích políček. Najde problémy, jako je pole bez popisku, placeholder jako jediný popisek, povinná pole, která text nezmiňuje, chybějící hodnoty autocomplete a vágní chybové hlášky, každý s jeho kritériem úspěšnosti. AI navrhne jasný popisek, krátkou nápovědu a chybovou hlášku, která pojmenuje pole a řekne, jak vstup opravit. Kód každý návrh zkontroluje a z tvého formuláře sestaví vylepšený koncept HTML.
Do4U najde tipy a sestaví koncept, ty kontroluješ a rozhoduješ. Nástroj kontroluje značky, ne tvé styly, skripty ani ovládání klávesnicí, a neřekne ti, zda je tvůj formulář přístupný. Vyzkoušej vylepšený formulář s klávesnicí a se čtečkou obrazovky.
Zdroje
- W3C: Web Content Accessibility Guidelines (WCAG) 2.2, doporučení W3C ze dne 12. prosince 2024 (v angličtině) (www.w3.org)
- W3C WAI, návod k formulářům: popisky ovládacích prvků (aktualizace 13. května 2024, v angličtině) (www.w3.org)
- W3C WAI, návod k formulářům: seskupování ovládacích prvků (aktualizace 27. března 2026, v angličtině) (www.w3.org)
- W3C WAI, návod k formulářům: instrukce ve formulářích (aktualizace 13. května 2024, v angličtině) (www.w3.org)
- W3C WAI, návod k formulářům: oznámení pro uživatele (aktualizace 3. června 2022, v angličtině) (www.w3.org)