4.1.3; 2.4.3 Tlačidlo na kopírovanie odkazu stratí zameranie a potvrdenie sa neoznámi
URL: agp.dev.slovensko.digital/bundles/4f808dd3-1070-4a99-9646-7df02adef1bd
Popis problému:
Pri adresátovi balíka je tlačidlo „Kopírovať odkaz na podpisovanie“. Po jeho aktivovaní ovládač clipboard_controller.js prepíše text tlačidla na „Odkaz skopírovaný do schránky“ a tlačidlo na 2 sekundy zakáže (button.disabled = true). Zakázaný prvok stratí zameranie — test klávesnicou ukázal document.activeElement = <body> už 300 ms po stlačení Enter a zameranie sa nevráti ani po obnovení tlačidla. Potvrdenie nie je v živej oblasti.
Overené čítačom obrazovky NVDA 2026.2 vo Firefoxe 158 a v Chrome 154 (3. 10. 2026): po stlačení Enter NVDA vo Firefoxe nepovie nič, v Chrome iba „unavailable“ (oznámenie, že zameraný prvok je zakázaný). Text „Odkaz skopírovaný do schránky“ neoznámi ani v jednom prehliadači. Príkaz NVDA+Tab aj po obnovení tlačidla hlási „Balík dokumentov 4f808dd3, document“ — zameranie je na dokumente. Ďalšie stlačenie tabulátora pokračuje na nasledujúce pole (prehliadač si pamätá miesto tlačidla).
Rovnaký mechanizmus sa použije aj pri chybe („Nepodarilo sa skopírovať odkaz“). Pri viacerých adresátoch majú všetky tlačidlá rovnaký názov bez mena adresáta.
Dopad:
Používateľ čítača obrazovky nepočuje, či sa odkaz skopíroval; v Chrome počuje iba „unavailable“, čo pôsobí ako chyba. Zameranie zmizne, takže používateľ klávesnice nevidí, kde sa na stránke nachádza, a pri kopírovaní odkazu pre ďalšieho adresáta musí tlačidlo znova hľadať. Pri viacerých adresátoch nie je jasné, ktorého odkaz sa kopíruje. Postihnutí sú nevidiaci a ťažko slabozrakí používatelia a používatelia, ktorí ovládajú stránku iba klávesnicou.
Závažnosť: vysoká — výsledok akcie je pre čítač obrazovky nezistiteľný a zameranie sa stratí.
Efektívne riešenie:
Pre splnenie kritérií úspešnosti je potrebné tlačidlo nezakazovať (namiesto disabled použiť aria-disabled="true" alebo ho nechať aktívne) a potvrdenie oznámiť cez živú oblasť role="status", ktorá je v dokumente vopred. Tlačidlu je vhodné doplniť meno adresáta, napríklad aria-label="Kopírovať odkaz na podpisovanie pre jan.novak@example.com".
<button type="button" data-action="clipboard#copyToClipboard">Kopírovať odkaz na podpisovanie</button> <span role="status" class="sr-only" data-clipboard-target="status"></span>