Co je false-positive?
Falešně pozitivní (false-positive) výsledek nastává, když testovací nástroj označí něco jako chybu přístupnosti, ale ve skutečnosti o chybu nejde. Element sice nesplňuje určité pravidlo, ale nepředstavuje žádnou reálnou bariéru pro uživatele.
Proč k false-positives dochází?
Automatické nástroje testují přístupnost podle pevně daných pravidel. Kontrolují například, zda má každý:
- obrázek alternativní text?
- formulářový prvek popisek?
- iframe atribut title?
Tyto kontroly jsou užitečné, ale nástroje nerozumí kontextu. Nevědí, že:
- skrytý element (display: none) uživatel nikdy neuvidí.
- element označený aria-hidden="true" je záměrně skrytý pro odečítače obrazovky.
- technický prvek ve formuláři jako <input type="hidden"> slouží pouze pro přenos dat.
Typické příklady false-positives
<iframe style="display: none;" src="https://chatbot.example.com"></iframe>
Co hlásí nástroj: Iframe nemá atribut title, uživatel odečítače obrazovky neví, co obsahuje.
Proč to není problém: Iframe je zcela skrytý (display: none), uživatel se k němu nikdy nedostane. Chatbot se zobrazí až po kliknutí na tlačítko, kdy se změní styl na display: block a přidá se title.
<input type="hidden" name="form_build_id" value="abc123">
Co hlásí nástroj: Formulářové pole nemá správný atribut autocomplete.
Proč to není problém: Skrytá pole jsou technické prvky pro správu formulářů. Uživatel je nevidí, nemůže do nich psát, autocomplete zde nedává smysl.
<textarea id="g-recaptcha-response" style="display: none;" ></textarea>
Co hlásí nástroj: Textarea nemá přístupný popisek (label).
Proč to není problém: Toto pole vyplňuje JavaScript automaticky po ověření CAPTCHA. Je skryté, uživatel s ním neinteraguje.
Jak false-positives identifikujeme?
Analyzujeme HTML kód nahlášených problémů a hledáme vzory, které indikují kompletně skrytý element:
- display: none – element není vykreslen
- visibility: hidden – element není viditelný
- type="hidden" – skrytý formulářový prvek
Poznámka: aria-hidden="true" záměrně NENÍ v seznamu. Tento atribut skrývá element pouze pro odečítače obrazovky, ale element zůstává viditelný pro ostatní uživatele. Chyby jako aria-hidden-focus (focusovatelný element je skrytý pro screen reader) jsou skutečné problémy přístupnosti.
Proč tyto chyby nezapočítáváme do skóre?
- Zkreslování výsledků – Web s chatbotem by měl automaticky horší skóre než web bez chatbotu, i když oba jsou stejně přístupné.
- Demotivace správců – Správci webů by viděli chyby, které nemohou nebo nemají smysl opravovat.
- Falešný pocit bezpečí – Oprava false-positives by zlepšila skóre bez reálného zlepšení přístupnosti.
- Přesnost hodnocení – Chceme, aby skóre odráželo skutečnou přístupnost, ne technické artefakty.
Co s false-positives děláme?
- Nezapočítáváme je do skóre – Tyto chyby se nezapočítávají do výsledného hodnocení.
- Zobrazujeme je v detailech – Pro transparentnost je zobrazujeme v detailní zprávě, abyste je měli možnost ručně zkontrolovat.
- Označíme je – Jasně uvádíme, že jde o false-positive.
- Pravidelně aktualizujeme seznam – S novými verzemi nástrojů a webových technologií přibývají nové vzory.