NaviPanel Studio Logo NaviPanel Studio Kontaktujte Nás
Navigace
Kontaktujte Nás
10 min čtení Pokročilé Březen 2026

Klávesnicová Dostupnost: Tab a Aria

Nevidomí a motoricky postižení uživatelé musí moci navigovat pomocí klávesnice. Náš návod vám ukáže, jak správně implementovat ARIA atributy a správné fokusové stavy v mega menu.

Ruky na klávesnici s viditelným fokusem na navigační prvky

Proč je klávesnicová přístupnost kritická

Když mluvíme o mega menu a rozbalovacích panelech, často zapomínáme na lidi, kteří klávesnici potřebují. Nejde jen o slabozraké či nevidomé — i motoricky postižení nebo tělesně hendikepovaní uživatelé nemohou vždy myš ovládat. A je tu víc lidí, než si myslíte.

Realita? Kolem 15 % populace má nějaký typ postižení. Část z nich nemůže bez klávesnice vůbec pracovat. To není okrajová skupinka — to je obchodní příležitost a hlavně etická odpovědnost.

Tab klávesa jako základní navigace

Tab klávesa je nejdůležitější. Uživatel ji stiskne a focus se přesune na další interaktivní prvek. Shift+Tab jde zpět. Jednoduché, ale musí to fungovat.

V mega menu se to často pokazí. Když uživatel vstoupí do rozbalovacího panelu, musí se focus pohybovat POUZE mezi viditelným prvky. Skrytý obsah se ignoruje. To je podstatné — špatná order fokusových prvků vede k frustraci.

  • Focus musí být viditelný (ne neviditelný nebo skrytý)
  • Order musí být logický — zleva doprava, shora dolů
  • Skrytý obsah se nevstupuje (display: none, visibility: hidden)
  • Fallback pro klávesnici musí existovat — bez myši
Schéma fokusového řetězce v navigaci s čísly pořadí

Praktická realita

Jsme testovali mega menu jedné velké e-commerce firmy. Tab pořadí bylo chaotické. Uživatel se tlačítkem Tab dostal do submenu, pak skokem na footer, pak zpět. Bez myši by tam seděl 5 minut. S naší opravou — 10 sekund. To je rozdíl mezi použitelností a frustací.

Screenreader zobrazující ARIA markup v kódu

ARIA atributy: Řeč pro screenreadery

ARIA znamená Accessible Rich Internet Applications. Je to standard, kterým říkáte screenreaderem, co prvek dělá. Bez toho si screenreader myslí, že je to jen div.

Mega menu potřebuje aria-label, aria-expanded, aria-controls. Každý atribut má účel. aria-label říká, co to je. aria-expanded říká, je-li otevřeno. aria-controls propojuje tlačítko s panelem, který řídí.

<button aria-label="Produkty menu" aria-expanded="false" aria-controls="produkty-panel"> Produkty </button>

Implementace: Krok za krokem

1

Správný HTML markup

Používejte semantické prvky. Button pro tlačítko (ne div). Nav pro navigaci. Aria atributy jsou doplněk, ne náhrada.

2

Viditelný focus state

Nikdy neodstraňujte outline. Barva focusu musí kontrastovat s pozadím — minimálně 3:1. Měla by být rozlišitelná a konzistentní.

3

Focus trap v panelu

Když je mega menu otevřeno, focus se nesmí dostat ven z panelu. Poslední prvek Tab první prvek. To je focus trap a je to správně.

4

Escape pro zavření

Stisknutí Escape zavře menu a focus se vrátí na tlačítko. Bez toho se uživatel cítí uvězněný. To je základní UX.

CSS a focus states

CSS je tu klíčový. Focus outline nesmí být jen něco, co odstraníte. Musí být viditelný, barevný a jasný.

Moderní přístup je :focus-visible — funguje na klávesnici, ale ne na myši. To je lepší UX. Klávesnicový uživatel vidí focus, myší uživatel ne.

Vizuální příklad focus outlinů na navigačních prvcích

Důležité upozornění

Tento průvodce je informativní a edukační. Není to právní poradenství. Zákony o přístupnosti se liší podle země. V EU platí EN 301 549 a Web Content Accessibility Guidelines (WCAG) 2.1 Level AA. Consulťte právníka pro váš specifický případ.

Testování s screenreaderem

Teorie je krásná, ale test s NVDA nebo JAWS to prozradí. Nevidomý uživatel používá screenreader — program, který čte obsah nahlas.

Mega menu by mělo být slyšet jasně. Screenreader by měl říci: “Produkty tlačítko, rozbalené, submenu obsahuje 8 položek”. Pokud jen řekne “Produkty tlačítko”, něco chybí.

Testování je snadné — stáhněte si NVDA (zdarma), zavřete oči a navigujte. Překvapí vás, co zjistíte. Zkušenost bez obrazovky změní váš pohled na design.

Osoba používající NVDA screenreader se sluchátky

Běžné chyby a jak je opravit

Vidíme stejné chyby stále znovu. Aria bez sémantiky — aria-role=”button” na divu. To nefunguje. Button na buttonu — redundantní a matoucí.

Další problém? Skip linky. Uživatel přijde na stránku, chce přeskočit navigaci. Skip link musí být viditelný při focusu. Skrytý skip link je k ničemu.

A focus order. Když je submenu skryté, prvky v něm se nesmí focusovat. CSS visibility: hidden nebo display: none to zabrání. Aria-hidden=”true” taky pomůže screenreaderu.

“Přístupnost není luxus. Je to základní právo na informace a na participaci na internetu. Když váš web není přístupný, vylučujete lidi.”

— Tim Berners-Lee, tvůrce WWW

Závěr: Přístupnost se vyplácí

Klávesnicová přístupnost není jen pro zdravotně postižené. Všichni ji někdy potřebují. Power user preferuje klávesnici. Uživatel s rozbitou myší ji potřebuje. Dítě na tabletu bez myši ji ocení.

Správná implementace Tab pořadí, viditelných focus stavů a ARIA atributů stojí málo času. Přidáme 10-15 % času vývoje. Výsledek? Weby, které fungují pro všechny. To není ideál — to je standard, kterého bychom měli dosáhnout dnes.

Tomáš Novotný, Senior UX Designer

Tomáš Novotný

Senior UX Designer a Lead Expert pro Navigační Systémy

Senior UX designer se 14 lety zkušeností v návrhu mega navigačních panelů a obsáhlých dropdown menu pro velké weby.