Dostępność ≠ Overlay: ARIA nie naprawia magicznie źle zbudowanego HTML
Po semantycznym HTML pojawia się częste nieporozumienie: atrybuty ARIA nie czynią automatycznie źle zbudowanego komponentu dostępnym. ARIA przekazuje semantykę technologiom wspomagającym, ale nie zastępuje zachowania, klawiatury, fokusu ani poprawnego HTML.
ARIA jest ważna, ale nie jest warstwą naprawczą
WAI-ARIA przekazuje technologiom wspomagającym role, stany i właściwości, szczególnie przy dynamicznej treści i zaawansowanych kontrolkach. Uzupełnia HTML; nie jest uniwersalną łatą.
Pierwsza zasada: używaj natywnego HTML, gdy możesz
W3C zaleca maksymalne wykorzystanie natywnego semantycznego HTML. Jeśli element HTML zapewnia już potrzebną semantykę i zachowanie, zwykle jest solidniejszy niż element ogólny z ARIA.
Rola jest obietnicą
W3C ujmuje kluczową zasadę tak: „rola jest obietnicą”. <div role="button"> obiecuje zachowanie przycisku, ale sama rola nie dodaje obsługi klawiatury.
ARIA przekazuje semantykę, ale nie tworzy zachowania
ARIA może przekazać, że element jest przyciskiem, jest rozwinięty lub wybrany. Nie implementuje automatycznie Tab, Enter, Spacji, strzałek, fokusu ani logiki JavaScript. Semantyka i zachowanie muszą być zgodne.
Nazwa, rola, stan i wartość
WCAG 4.1.2 wymaga programowo określalnej nazwy i roli oraz dostępności odpowiednich stanów, właściwości i wartości. Standardowe kontrolki HTML zapewniają dużą część tych informacji przy poprawnym użyciu.
Błędna ARIA może pogorszyć doświadczenie
Błędna ARIA nie jest neutralna. W3C ostrzega: „No ARIA is better than Bad ARIA”. Niepoprawna semantyka może błędnie przedstawiać interfejs osobie korzystającej z doświadczenia niewizualnego.
ARIA wymaga prawdziwych testów
Przykłady ARIA Authoring Practices ostrzegają o różnicach wsparcia i zalecają testy przed wdrożeniem.
Co to ma wspólnego z overlayami?
Dotyczy to także overlayów. Warstwa może zmieniać atrybuty po załadowaniu strony, ale dostępność zależy od wspólnego działania semantyki, interakcji, klawiatury, fokusu i stanów. ARIA dodana z zewnątrz nie naprawia automatycznie wadliwego interfejsu.
A Blind Reader?
Blind Reader należy do pomocy użytkownikowi. Może wspierać osobę, ale nie powinien być przedstawiany jako automatyczna naprawa ARIA lub HTML ani jako dowód zgodności z WCAG. Strona nadal odpowiada za dostępność.
Najważniejsza myśl
ARIA jest potężna, gdy jest potrzebna i poprawnie wdrożona. Najpierw natywny semantyczny HTML, gdy to możliwe; potem ARIA, gdy potrzebna; zawsze poprawne zachowanie, klawiatura, fokus i testy.
