Logowanie nie może wymagać rozwiązywania zagadek ani przepisywania kodów z pamięci. Kryterium WCAG 2.2 3.3.8 (Accessible Authentication – Minimum) na poziomie AA mówi wprost: każdy krok uwierzytelnienia musi mieć ścieżkę bez testu funkcji poznawczych albo mechanizm, który taki test ułatwia. Sprawdzamy, co to oznacza dla sklepów, banków i aplikacji – oraz jak szybko sprawdzić własne formularze logowania.

Co dokładnie wymaga 3.3.8

Kryterium pochodzi z WCAG 2.2 i dotyczy uwierzytelniania istniejącego konta, a nie zakładania nowego. W3C w dokumencie Understanding SC 3.3.8 definiuje test funkcji poznawczych jako zadanie, które wymaga zapamiętania, manipulowania albo przepisania informacji. Przykłady: zapamiętanie hasła, przepisanie zniekształconego tekstu z CAPTCHA, ręczne wpisanie kodu jednorazowego, rozwiązanie łamigłówki albo działania matematycznego.

Takiego testu nie wolno wymagać na żadnym kroku logowania, chyba że spełniony jest co najmniej jeden z wyjątków:

  1. Metoda alternatywna – inna ścieżka logowania bez testu poznawczego (np. link w e-mailu, passkey/WebAuthn, logowanie przez zewnętrznego dostawcę OAuth).
  2. Mechanizm wspomagający – narzędzie, które pomaga przejść test (np. menedżer haseł wypełniający pola albo możliwość wklejenia kodu).
  3. Rozpoznawanie obiektów – np. CAPTCHA typu „zaznacz wszystkie zdjęcia z samochodem” (wyjątek tylko na poziomie AA).
  4. Treść osobista – rozpoznanie treści, którą użytkownik wcześniej sam dodał (np. wybór własnego zdjęcia).

W3C podkreśla, że wyjątki 3 i 4 nadal wykluczają część osób z niepełnosprawnościami poznawczymi, więc lepiej ich unikać i celować w 3.3.9 Accessible Authentication (Enhanced) na poziomie AAA, gdzie tych dwóch wyjątków już nie ma.

Jeśli logowanie ma kilka kroków (hasło + MFA), każdy krok musi spełniać kryterium. Musi istnieć kompletna ścieżka przez cały proces bez testu poznawczego albo z działającym mechanizmem wspomagającym. To samo dotyczy odzyskiwania konta.

Co przechodzi, a co odpada w praktyce

Formularz e-mail + hasło

Zwykły login z polem nazwy użytkownika (lub e-maila) i hasła spełnia 3.3.8, o ile:

  • pola mają poprawną etykietę dostępną (WCAG 4.1.2),
  • cel pól da się programowo określić (WCAG 1.3.5), np. autocomplete="username" i autocomplete="current-password",
  • przeglądarka i menedżer haseł mogą je wypełnić,
  • nie blokujesz wklejania (paste).

Wystarczy skrypt, który wyłącza paste albo ustawia autocomplete="off" na polu hasła, żeby kryterium runąć – chyba że oferujesz inną metodę logowania. W3C jako wystarczającą technikę wymienia też G218: Email link authentication: użytkownik podaje adres e-mail i klika link z wiadomości, bez wpisywania hasła.

Kody jednorazowe (OTP / TOTP / SMS)

Wymaganie ręcznego przepisania kodu z telefonu na laptop bez możliwości wklejenia nie przechodzi. Bezpieczne podejścia:

  • jedno pole na cały kod z autocomplete="one-time-code" i otwartym paste,
  • push na urządzenie („to Ty się logujesz?”),
  • klucz sprzętowy / passkey,
  • wybór kilku metod drugiego składnika.

Typowa porażka to sześć osobnych pól na cyfry, w które wklejenie całego kodu wypełnia tylko pierwsze. To klasyczny przykład opisywany przez W3C i powiązany z failure F109 (blokowanie ponownego wprowadzenia hasła lub kodu w tym samym formacie). Inny fail: „wpisz 1., 3. i 5. znak hasła” – zmusza do przepisywania z pamięci.

CAPTCHA przy logowaniu

  • Zniekształcony tekst do przepisania (nawet z wersją audio do przepisania) – to test poznawczy; potrzebujesz metody bez takiego testu.
  • „Zaznacz wszystkie obrazy z…” – na AA wyjątek „object recognition” to dopuszcza; na AAA już nie.
  • Zagadki, równania, obracanie obiektów 3D – bez wyjątku; musi być alternatywa.

Kryterium dotyczy też CAPTCHA, które pojawia się tylko czasem (np. po kilku nieudanych próbach albo przy włączonym adblockerze).

Dlaczego to ważne akurat teraz w Polsce

Usługi handlu elektronicznego są objęte Polskim Aktem o Dostępności od 28 czerwca 2025 r. Logowanie, koszyk i płatność to miejsca, w których bariera najczęściej urywa zakup. Nadzór nad e-handlem sprawuje Minister Cyfryzacji.

Sama norma EN 301 549 w wersji v4.1.1 przenosi punkt odniesienia dla stron i oprogramowania na WCAG 2.2 AA – pisaliśmy o tym w artykule Nowa norma EN 301 549 V4.1.1 i WCAG 2.2. Do formalnego cytowania nowej wersji w Dzienniku Urzędowym UE warto już teraz domykać luki z WCAG 2.2, w tym 3.3.8. Hasło i CAPTCHA przy logowaniu to też częsty temat w audytach e-sklepów – obok kontrastu i nazw przycisków, o których pisaliśmy przy badaniu EAA Watch.

Lista kontrolna: sprawdź logowanie w 15 minut

  • [ ] Otwórz formularz logowania i upewnij się, że menedżer haseł wypełnia pola (albo że da się wkleić login i hasło).
  • [ ] Sprawdź autocomplete na polach: username / email oraz current-password.
  • [ ] Potwierdź, że żaden skrypt nie blokuje zdarzenia paste.
  • [ ] Przy MFA: kod jednorazowy da się wkleić w jedno pole (nie w sześć osobnych).
  • [ ] Unikaj „wpisz wybrane znaki hasła” – to wymusza przepisywanie.
  • [ ] Jeśli jest CAPTCHA tekstowa lub zagadka, daj metodę logowania bez niej (link e-mail, passkey, OAuth, push).
  • [ ] Przetestuj też odzyskiwanie hasła i zmianę danych konta tą samą logiką.
  • [ ] Dodaj opcjonalne „pokaż hasło” przy tworzeniu lub zmianie hasła – obniża obciążenie poznawcze przy wpisywaniu.
  • [ ] Przejdź całą ścieżkę logowania klawiaturą i czytnikiem ekranu (np. NVDA).
  • [ ] Udokumentuj w checklistach audytu kryterium 3.3.8 obok 2.2 AA; nie polegaj wyłącznie na skanerze automatycznym – to kryterium wymaga testu ręcznego.

Co wdrożyć w pierwszej kolejności

  1. Odblokuj paste i autofill – często zero linii nowego UI, a od razu spełniasz mechanizm wspomagający.
  2. Jedno pole na OTP z możliwością wklejenia całego kodu.
  3. Druga metoda logowania bez hasła: magic link (G218), passkey albo logowanie przez zaufanego dostawcę.
  4. Wybór drugiego składnika zamiast wyłącznie SMS do przepisania.
  5. Zamień tekstową CAPTCHA na ochronę niewidoczną dla użytkownika albo na ścieżkę bez zagadki.

Bezpieczeństwo i dostępność nie stoją tu w sprzeczności: menedżery haseł, passkeys i push MFA to jednocześnie lepsza ochrona i mniejszy test pamięci.

Źródła