3.2.2 Po zadaní rodného čísla sa skontroluje celý formulár a zameranie preskočí na iné pole
URL: priznanie.digital/partner
Popis problému:
Polia „Rodné číslo“ v kroku Manžel / manželka (časť „Vybrané údaje o manželke / manželovi“) a v kroku Deti spustia po zadaní poslednej číslice kontrolu celého formulára (setFieldValue(…, shouldValidate)). Funkcia FormWrapper v src/components/FormComponents.tsx pri každej kontrole, nielen pri odoslaní, presunie zameranie na prvé pole s chybou.
- V kroku Manžel / manželka s vyplneným menom: po desiatej číslici rodného čísla sa zobrazí súhrn chýb „Vyskytol sa problém“ s textom „Zadajte počet mesiacov, kedy manžel/manželka spĺňal/spĺňala podmienky na uplatnenie daňového bonusu.“ a zameranie preskočí do poľa „Počet mesiacov, v ktorých manželka / manžel spĺňal/a podmienky?“. Ďalšie stlačené klávesy sa zapíšu do tohto poľa. Ak meno vyplnené nie je, zameranie preskočí späť na „Meno a priezvisko manželky / manžela“.
- V kroku Deti sa po desiatej číslici zobrazí súhrn chýb (napríklad „Zadajte meno a priezvisko dieťaťa“), zameranie zostane v poli.
Overené čítačom obrazovky NVDA 2026.2 v Chrome 154 (3. 10. 2026): počas písania rodného čísla dieťaťa NVDA vyruší používateľa hlásením „Vyskytol sa problém, alert“ a „Zadajte meno a priezvisko dieťaťa, link, same page“.
Dopad:
Zameranie sa presunie bez žiadosti používateľa uprostred zadávania údajov. Používateľ, ktorý píše bez pohľadu na obrazovku alebo s čítačom obrazovky, pokračuje v písaní do iného poľa, než si myslí, a chybové hlásenia sa mu zobrazujú skôr, než formulár odoslal. Používateľ so zväčšením obrazovky stratí pole, ktoré mal vo výreze. Postihnutí sú nevidiaci a ťažko slabozrakí používatelia čítačov obrazovky, používatelia zväčšenia obrazovky, používatelia s kognitívnym znevýhodnením a používatelia s motorickým znevýhodnením, ktorí píšu pomaly.
Závažnosť: vysoká — nečakaná zmena kontextu pri zadávaní rodného čísla, ktoré je v kroku povinné.
Efektívne riešenie:
Pre splnenie kritéria úspešnosti je potrebné, aby zadanie hodnoty nemenilo zameranie. Presun zamerania na prvé chybné pole patrí iba do spracovania odoslania formulára (napríklad v onSubmit / pri neúspešnej kontrole po stlačení „Pokračovať“), nie do funkcie validate, ktorá beží aj pri zmene poľa. Kontrolu pri dopísaní rodného čísla je vhodné obmedziť na samotné pole a jej výsledok zobraziť pri poli, bez súhrnu chýb celého formulára.