Pięć zasad używania ARIA
- Pierwsza zasada ARIA: nie używaj ARIA, jeśli istnieje natywny element HTML (button, nav, details).
- Nie zmieniaj natywnej semantyki bez potrzeby (np. <button role="heading">).
- Każdy interaktywny element z rolą ARIA musi być obsługiwalny klawiaturą.
- Nie ukrywaj fokusowalnych elementów przez role="presentation" ani aria-hidden="true".
- Każdy element interaktywny musi mieć dostępną nazwę (accessible name).
Najczęstsze błędy
Typowe błędy to aria-expanded niezgodne z widocznością panelu, nazwa dostępna niezgodna z widoczną etykietą oraz aria-hidden na fokusowalnym elemencie. Sprawdzaj drzewo dostępności i zachowanie komponentu, nie samą obecność atrybutów.
Przykład
Przykład kompletnego przełączania panelu: natywny button obsługuje Enter i Spację, a skrypt utrzymuje zgodność hidden i aria-expanded. W drzewie dostępności sprawdź nazwę przycisku, stan rozwinięcia i relację controls.
<button id="faq-toggle" type="button" aria-expanded="false" aria-controls="faq-panel">
Pokaż odpowiedź
</button>
<div id="faq-panel" hidden>Treść odpowiedzi.</div>
<script>
const toggle = document.querySelector('#faq-toggle');
const panel = document.querySelector('#faq-panel');
toggle.addEventListener('click', () => {
const expanded = toggle.getAttribute('aria-expanded') === 'true';
toggle.setAttribute('aria-expanded', String(!expanded));
panel.hidden = expanded;
});
</script>ARIA (Accessible Rich Internet Applications), formalnie WAI-ARIA, to standard W3C i zestaw atrybutów aria-* opisujących role, nazwy i stany elementów interfejsu dla technologii asystujących. ARIA uzupełnia semantyczny HTML, ale nie zastępuje natywnych elementów ani testów klawiaturą i czytnikiem ekranu.
Może pomóc, gdy natywny HTML nie wystarcza, na przykład przy niestandardowym comboboxie lub panelu live. Błędne role, stany i nazwy ARIA mogą jednak pogorszyć dostępność, dlatego najpierw warto użyć elementu natywnego i sprawdzić komponent automatycznie oraz ręcznie.
Nie. Natywne elementy HTML zwykle zapewniają semantykę, fokus i podstawową obsługę klawiatury. ARIA uzupełnia je przy komponentach niestandardowych, ale nie dodaje automatycznie zachowania ani nie zastępuje testów dostępności.
ARIA to techniczny standard opisujący semantykę komponentów dla technologii asystujących. WCAG to szersze wytyczne dostępności z kryteriami sukcesu, obejmującymi także klawiaturę, kontrast, strukturę treści i multimedia.
Źródła i dalsza lektura
- W3C: WAI-ARIA 1.2 (Rekomendacja) standard
- MDN: ARIA dokumentacja
- W3C: ARIA Authoring Practices Guide (APG) dokumentacja
- WebAIM Million: The 2025 report publikacja