Testowanie dostępności: color-contrast i focus
Sprawdzaj współczynniki kontrastu kolorów i weryfikuj, czy wskaźniki fokusu spełniają standardy dostępności WCAG.
Testowanie dostępności: color-contrast i focus to bezpłatna lekcja CSS Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej CSS Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs CSS Academy zawiera 4 lekcji w sumie.
Dlaczego CSS wpływa na dostępność
CSS kontroluje kontrast kolorów, widoczność wskaźnika fokusu, widoczność elementów (display:none usuwa element z drzewa dostępności) oraz kolejność odczytywania (wizualna zmiana kolejności przez flexbox order w porównaniu z kolejnością w DOM). Wybory dotyczące CSS bezpośrednio wpływają na to, czy osoby z niepełnosprawnościami mogą korzystać z interfejsu.
Wymagania WCAG dotyczące kontrastu kolorów
WCAG 2.1 AA wymaga współczynnika kontrastu 4.5:1 dla zwykłego tekstu i 3:1 dla dużego tekstu (pogrubienie od 18 px lub zwykły tekst od 24 px). Poziom AAA wymaga odpowiednio 7:1 i 4.5:1. Współczynniki te porównują luminancję koloru tekstu na pierwszym planie z luminancją koloru tła.
Sprawdzanie kontrastu w DevTools
Należy kliknąć dowolny element tekstowy w DevTools → panelu Styles. Próbnik koloru wyświetla plakietkę ze współczynnikiem kontrastu. Znacznik wyboru oznacza spełnienie wymagań, a X — ich niespełnienie. Selektor koloru pokazuje linie progów AA/AAA na gradiencie kolorów.
Automatyczne testowanie kontrastu
axe-core, Lighthouse i Pa11y automatycznie sprawdzają współczynniki kontrastu wszystkich elementów tekstowych. Należy uruchomić axe-core z @axe-core/react w środowisku programistycznym, aby otrzymywać ostrzeżenia o kontraście w czasie rzeczywistym w konsoli przeglądarki.
Wskaźniki fokusu
CSS outline: none lub outline: 0 na :focus usuwa domyślną obwódkę fokusu przeglądarki, przez co nawigacja klawiaturą staje się niewidoczna. Jest to poważne naruszenie zasad dostępności. Zamiast całkowicie usuwać wskaźniki fokusu, należy zastąpić je własnym, widocznym stylem fokusu.
<button autofocus>Keyboard-focused button</button>
:focus-visible a :focus
:focus dotyczy wszystkich zdarzeń związanych z fokusem, w tym kliknięć myszą (co powoduje wyświetlenie widocznej obwódki po kliknięciu, czego projektanci nie lubią). :focus-visible działa tylko wtedy, gdy przeglądarka uzna, że używana jest nawigacja klawiaturą — dzięki temu użytkownicy klawiatury widzą obwódkę fokusu, ale nie pojawia się ona po kliknięciu myszą.
Wymagania WCAG dotyczące wskaźników fokusu
WCAG 2.2 wprowadza kryterium sukcesu 2.4.11 (wygląd fokusu, poziom AA): wskaźniki fokusu muszą mieć kontrast co najmniej 3:1 względem sąsiadujących kolorów i obejmować obwód komponentu. Własne style fokusu muszą spełniać te wymagania, a nie tylko istnieć.
Tryb wymuszonych kolorów
Tryb wysokiego kontrastu systemu Windows zastępuje kolory CSS zdefiniowanymi przez użytkownika kolorami systemowymi. Należy użyć @media (forced-colors: active), aby dostarczyć alternatywne style działające w trybie wysokiego kontrastu. Testy należy przeprowadzać w Ustawieniach systemu Windows → Ułatwienia dostępu → Wysoki kontrast.
Kolor jako jedyny wskaźnik
WCAG 1.4.1 zabrania używania koloru jako jedynego sposobu przekazywania informacji. Stan błędu oznaczony wyłącznie kolorem czerwonym nie spełnia tego kryterium. Należy łączyć kolor z ikonami, etykietami tekstowymi, wzorami lub podkreśleniami, aby informacja niezależna od koloru była zawsze dostępna.
Zmiana rozmiaru i odstępów tekstu
WCAG 1.4.4 wymaga, aby rozmiar tekstu można było zwiększyć do 200% bez utraty treści. WCAG 1.4.12 wymaga, aby zmiany odstępów w tekście (zwiększonej wartości letter-spacing i line-height) nie powodowały uszkodzenia układu. Należy używać względnych jednostek (rem, em) dla typografii, aby spełnić oba wymagania.
Zestaw narzędzi do testowania
Kompleksowe testowanie dostępności CSS obejmuje rozszerzenie przeglądarki axe DevTools do pracy programistycznej, Lighthouse CI do automatycznych kontroli w potoku, Pa11y do audytów stron z wiersza poleceń oraz ręczne testowanie nawigacji klawiaturą za pomocą Tab/Shift+Tab w celu sprawdzenia widoczności i kolejności wskaźników fokusu.
Sprawdzenie wiedzy
Dlaczego outline: none nie powinno nigdy być końcową regułą CSS dla stanu :focus elementu?
Podsumowanie
Testowanie dostępności CSS obejmuje współczynniki kontrastu kolorów (minimum 4.5:1 dla AA), widoczne wskaźniki fokusu zgodne z WCAG 2.2 z użyciem :focus-visible, unikanie koloru jako jedynego nośnika informacji, obsługę trybu forced-colors oraz względne jednostki typografii zapewniające zgodność ze zmianą rozmiaru. Narzędzia automatyczne w połączeniu z ręcznym testowaniem klawiaturą zapewniają kompleksowe pokrycie.
Często zadawane pytania
Czy lekcja „Testowanie dostępności: color-contrast i focus” jest bezpłatna?
Tak — pełny tekst „Testowanie dostępności: color-contrast i focus” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu CSS Academy, przejdź na CoddyKit PRO. Kurs CSS Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Testowanie dostępności: color-contrast i focus”?
Sprawdzaj współczynniki kontrastu kolorów i weryfikuj, czy wskaźniki fokusu spełniają standardy dostępności WCAG. Ćwiczysz CSS Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć CSS Academy?
Nie wymagamy żadnego doświadczenia. CSS Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Testowanie dostępności: color-contrast i focus”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji CSS Academy?
Tak. Każda lekcja CSS Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy testów regresji wizualnej
- Percy i Chromatic dla Storybook
- Testowanie jednostkowe CSS za pomocą Jest
- Testowanie dostępności: color-contrast i focus