Cookie lišta, ktorá neškodí: poradie zamerania, zavretie a právo zmeniť názor
Cookie lišta je prvá vec, ktorú návštevník na webe stretne, a pri hodnoteniach prístupnosti býva pravidelne najhoršou časťou celého webového sídla. Nie preto, že by bol súhlas s cookies zložitý problém, ale preto, že ho takmer nikto nerieši sám: vloží sa plugin, ten vykreslí, čo vykreslí, a nikto sa už nepozrie, čo to robí s klávesnicou a čítačom obrazovky. Tento článok opisuje tri veci, na ktorých záleží najviac, a vysvetľuje, prečo ich plugin spravidla nesplní.
1. Poradie zamerania: lišta nie je modálne okno
Väčšina líšt sa správa ako modálne okno: po načítaní stránky uchmatne zameranie klávesnice, uzamkne rolovanie a prekryje obsah. Pre človeka s klávesnicou alebo čítačom obrazovky to znamená, že sa k stránke, po ktorú prišiel, dostane až po tom, čo lištu nejako vybaví. To je zlé poradie priorít: súhlas s cookies nie je dôvod, prečo prišiel.
Správna lišta je oblasť (region) s vlastným nadpisom, ktorá sa v dokumente nachádza skoro, hneď za odkazmi na preskočenie, ale zameranie na ňu nepresúva. Používateľ klávesnice ju nájde po troch stlačeniach Tab, používateľ čítača obrazovky ju vidí v zozname oblastí a navyše dostane jednu zdvorilú vetu, že lišta existuje a kde je. Stránka zostáva celá použiteľná aj bez rozhodnutia, pretože kým sa nikto nerozhodol, neukladá sa nič okrem nevyhnutného.
Modálne okno má zmysel iba vtedy, keď bez rozhodnutia naozaj nemožno pokračovať. Pri cookies to neplatí: bez súhlasu sa jednoducho nenačítajú analytické a marketingové skripty. Kto trvá na modálnom okne, priznáva, že chce súhlas vynútiť.
2. Zavrieť sa dá vždy, a odmietnuť je rovnako ľahké ako súhlasiť
Dve požiadavky, jedna technická a jedna etická. Technická: lištu musí byť možné zavrieť klávesom Escape a jej obsah nesmie byť pascou pre klávesnicu (kritérium 2.1.2). Zavretie bez rozhodnutia znamená odmietnutie nepodstatných cookies; tak to vyplýva z požiadavky na slobodný a aktívny súhlas.
Etická: tlačidlá „Prijať všetky“ a „Odmietnuť nepodstatné“ musia byť rovnako viditeľné a rovnako blízko. Sivé „Odmietnuť“ ukryté za tlačidlom „Nastavenia“ a za tromi klikmi je klamlivý vzor, ktorý európske dozorné orgány vrátane slovenského Úradu na ochranu osobných údajov opakovane označujú za neplatný súhlas. Pre používateľa so zníženou pozornosťou alebo kognitívnym znevýhodnením je to navyše bariéra, nie iba nepríjemnosť.
K zavretiu patrí aj to, že lišta nesmie zakrývať zameraný prvok (kritérium 2.4.11 vo WCAG 2.2). Lišta pripnutá k spodnému okraju okna prekryje každé tlačidlo, na ktoré človek s klávesnicou dôjde na konci stránky. Riešenie je jednoduché: kým je lišta zobrazená, zapíše svoju výšku do scroll-padding dokumentu a prehliadač zameraný prvok sám vyroluje nad ňu.
3. Právo zmeniť názor
Súhlas, ktorý sa nedá odvolať rovnako ľahko, ako sa dal, nie je súhlas. V praxi to znamená trvalý odkaz alebo tlačidlo „Zmeniť nastavenia cookies“, typicky v pätičke každej stránky, ktoré otvorí tú istú lištu s aktuálnou voľbou. Po zatvorení sa zameranie vráti na tlačidlo, z ktorého používateľ prišiel, presne ako pri každom inom rozbaľovacom prvku.
Dve drobnosti, na ktoré sa zabúda. Po prvé, na zapamätanie odmietnutia netreba žiadnu cookie; stačí lokálne úložisko prehliadača. Po druhé, uložená voľba by mala mať verziu: keď pribudne nová kategória alebo nový nástroj, zvýšite verziu a lišta sa opýta znova, namiesto toho, aby sa nový nástroj potichu schoval pod starý súhlas.
Prečo nepoužiť plugin
Nie je to dogma; je to skúsenosť z auditov. Pluginy na správu súhlasu majú pravidelne tieto problémy:
- Načítavajú skripty tretích strán ešte pred súhlasom. Samotný plugin býva skript z cudzej domény, ktorý si so sebou nesie vlastné cookies a vlastné sledovanie. Súhlas s cookies sa tak získava nástrojom, ktorý ich sám porušuje.
- Generická ARIA namiesto sémantiky. Okno bez nadpisu, tlačidlá z prvkov
div, prepínače bez menoviek,aria-hiddenna celej stránke, ktoré sa po zatvorení zabudne odstrániť. Z čítača obrazovky sa stane tichý web. - Pasca na zameranie. Zameranie sa uzamkne v lište, ale Escape nefunguje a jediná cesta von je súhlas.
- Prekrývanie obsahu a nulová podpora priblíženia. Pri 400 % priblížení lišta zaberie celú obrazovku a nedá sa odrolovať.
- Nedá sa skontrolovať ani opraviť. Kód sa mení bez vášho vedomia, hodnotenie prístupnosti platí len do najbližšej aktualizácie a chybu, ktorú nájdete, nemôžete opraviť.
- Právne riziko zostáva vaše. Povinnosť získať súhlas podľa § 109 ods. 8 zákona č. 452/2021 Z. z. o elektronických komunikáciách a podľa nariadenia GDPR nesie prevádzkovateľ webu, nie dodávateľ pluginu.
Vlastná lišta je pritom pár desiatok riadkov: oblasť s nadpisom, tri tlačidlá, jedna skupina prepínačov a uloženie voľby. Ak potrebujete správu súhlasov pre desiatky nástrojov, potrebujete predovšetkým menej nástrojov.
Ako to vyzerá v praxi
Na stránke Vzory prístupných komponentov je lišta, ktorá všetko vyššie spĺňa, aj s klávesovou mapou, oznamami pre čítač obrazovky a kódom na skopírovanie. Toto webové sídlo cookies nepoužíva vôbec, takže lišta je len ukážka; o to ľahšie sa na nej skúša.
Kontrolný zoznam
- Lišta je oblasť s nadpisom, umiestnená skoro v dokumente, bez presunu zamerania po načítaní.
- Stránka je použiteľná bez rozhodnutia; pred súhlasom sa nenačíta nič nepodstatné.
- Escape lištu zavrie a znamená odmietnutie; klávesnica z nej vždy vyjde.
- „Prijať“ a „Odmietnuť“ sú rovnocenné tlačidlá; žiadne predvolene zaškrtnuté kategórie.
- Lišta nezakrýva zameraný prvok; obsah za ňou sa dá dorolovať aj pri 400 % priblížení.
- Voľbu možno zmeniť z každej stránky; po zatvorení sa zameranie vráti na tlačidlo.
- Voľba má verziu a pri zmene kategórií sa lišta opýta znova.
- Po uložení zaznie stavová správa, ktorú čítač obrazovky prečíta bez prerušenia.