Ukázka

Stačí jedno prohlášení o přístupnosti za celou organizaci?

Ne. Prohlášení se vztahuje ke konkrétnímu webu nebo mobilní aplikaci, proto jich bývá více.

Proč nepoužíváte jen automatické nástroje?

Automaty odhalí zhruba 20 až 30 % problémů. Zbytek vyžaduje člověka: smysluplnost alternativních textů, pořadí zaměření, srozumitelnost chyb.

Jak dlouho trvá hodnocení přístupnosti?

Podle rozsahu: orientační posouzení několik dní, hloubkové hodnocení webu s desítkami stránek dva až čtyři týdny.

Proč je to přístupné

Nejlepší ARIA je žádná ARIA. Harmonika je složená z nativních prvků details a summary, kterým prohlížeč sám dává roli, název i stav „rozbaleno / sbaleno“. Nic z toho nelze pokazit skriptem, který se nenačte.

Vylepšení přidává tři věci: režim „najednou jen jedna otevřená“ (opět nativně, přes atribut name, takže ostatní položky zavírá prohlížeč), pohyb šipkami mezi položkami a plynulé otevírání, které je čistě v CSS a respektuje nastavení omezeného pohybu.

Vyzkoušejte si sami

Klávesnice

  • Tab na záhlaví položky, Enter nebo mezerník ji otevře.
  • a přesouvají zaměření mezi záhlavími, Home a End na první a poslední.
  • Otevřete druhou položku: první se sama zavře.

Odečítač obrazovky

  • Záhlaví se oznámí jako „sbaleno“ nebo „rozbaleno“ a po aktivaci se stav změní bez dalšího oznámení.

Zvětšení a přizpůsobení obsahu

  • Záhlaví mají výšku alespoň 44 px, takže jsou pohodlným cílem i na dotykové obrazovce.
  • Obsah nemá pevnou výšku; při zvětšení se jednoduše prodlouží.

Bez JavaScriptu

Vše funguje: položky se otevírají a zavírají nativně. Chybí jen režim „najednou jen jedna“ a pohyb šipkami.

Kód

<ad-accordion exclusive data-expand-all="Rozbalit vše" data-collapse-all="Sbalit vše">
  <details>
    <summary>Stačí jedno prohlášení o přístupnosti za celou organizaci?</summary>
    <div><p>…</p></div>
  </details>
  <details>…</details>
</ad-accordion>
<link rel="stylesheet" href="/assets/js/components/ad-accordion/ad-accordion.css">
<script type="module" src="/assets/js/components/ad-accordion/ad-accordion.js"></script>