Dostępność
prfct jest projektowany pod WCAG 2.2 AA od podstaw — w palecie, prymitywach i ustawieniach domyślnych — a automatyczne testy sprawdzają to na każdej stronie.
Dostępność w prfct to nie lista kontrolna odhaczana na końcu. Jest wbudowana w warstwy, na których opiera się cała reszta: paletę, której kontrast wyliczany jest matematycznie, prymitywy Base UI implementujące wzorce WAI-ARIA i domyślne ustawienia komponentów, dzięki którym dostępny wybór jest zarazem najprostszy.
Co dostajesz w standardzie
Fokus
Kliknij tutaj, a potem naciskaj Tab — fokus przejdzie przez kolejne kontrolki.
prfct używa dwóch stylów fokusu:
- Przyciski i kontrolki wyboru — pola wyboru, przełączniki, zakładki — pokazują pierścień o grubości 2 px, odsunięty o 2 px od krawędzi.
- Pola tekstowe pokazują obramowanie w kolorze marki i poświatę o szerokości 3 px, bo pierścień wokół pola z obramowaniem wyglądałby jak drugie obramowanie.
Oba style opierają się na :focus-visible: kontrolki pokazują pierścień tylko wtedy, gdy fokus przychodzi z klawiatury, więc osoby korzystające z myszy nie widzą pierścieni po kliknięciu. Pola tekstowe pokazują poświatę zawsze, gdy mają fokus — niezależnie od tego, skąd przyszedł — bo to w nich trafia wpisywany tekst i powinny to sygnalizować.
Po twojej stronie
Komponenty nie wiedzą wszystkiego o twojej treści. To należy do ciebie:
- Opisz wszystko etykietami. Każde pole potrzebuje widocznej etykiety
<Label>lubFieldLabel; przyciski z samą ikoną —aria-label. - Pisz teksty, które mają sens. Etykiety linków i przycisków muszą być zrozumiałe bez kontekstu: Pobierz fakturę, a nie Kliknij tutaj.
- Opisuj błędy słowami. Łącz
aria-invalidzFieldError, który mówi, co poszło nie tak i jak to naprawić. - Zachowaj hierarchię nagłówków. Jeden
h1na stronę i żadnych pominiętych poziomów. - Zapewnij obrazom tekst alternatywny. Obrazy niosące treść potrzebują
alt; dekoracyjne —alt="". - Nie polegaj na samym kolorze. Status potrzebuje też ikony lub tekstu.
- Informuj o wynikach asynchronicznych. Wyniki, które pojawiają się bez zmiany strony, przekazuj przez powiadomienie albo region na żywo.
Testowanie
Testuj swój produkt tak, jak testowana jest strona prfct:
- Testy automatyczne — skanuj każdą stronę narzędziem axe-core w obu trybach. Zestaw testów prfct robi to dla każdej strony tej witryny, w trybie jasnym i ciemnym (
pnpm test:a11y), a najbardziej interaktywne strony przechodzi klawiszem Tab, sprawdzając, czy każdy element, na który trafia fokus, pokazuje jego wskaźnik. - Klawiatura — przejdź każdą ścieżkę wyłącznie z klawiatury: kolejność fokusu, widoczny fokus, brak pułapek klawiaturowych, Esc zamyka nakładki.
- Czytniki ekranu — sprawdź kluczowe ścieżki w VoiceOver (macOS, iOS) oraz w NVDA lub JAWS (Windows).
- Powiększenie i preferencje — powiększenie 200% i 400%, ograniczony ruch, zwiększony kontrast i wymuszone kolory.