Deklaracja dostępności
Serwis projektowany jest zgodnie ze standardem WCAG 2.2 na poziomie AA — w trybie jasnym i ciemnym.
Zakres deklaracji
Deklaracja dotyczy wszystkich stron serwisu Kraków Wybiera. Docelowym standardem jest WCAG 2.2 na poziomie AA.
Co zapewniamy
- Semantyczny HTML. Nagłówki tworzą logiczną hierarchię, listy są listami, tabela porównania ma nagłówki wierszy i kolumn, a formularze mają etykiety.
- Pełna obsługa klawiaturą. Każdy element interaktywny jest osiągalny klawiszem Tab w logicznej kolejności. Zakładki obsługują strzałki, Home i End, a okno dialogowe zamyka klawisz Escape.
- Widoczny fokus. Wskaźnik fokusu ma grubość 3 px i własny kolor o wysokim kontraście, osobno dobrany dla trybu jasnego i ciemnego.
- Skip link. Pierwszy element w kolejności fokusu pozwala pominąć nawigację i przejść do treści głównej.
- Kontrast. Wszystkie pary kolorów tekstu i tła spełniają wymóg 4,5:1, a elementy nietekstowe (obramowania pól, wskaźnik fokusu) — 3:1. Sprawdza to automatyczny test uruchamiany przy każdej zmianie.
- Informacja nie zależy od koloru. Status kandydatury, etap wyborów i typ komunikatu są zawsze zapisane słowem. Ikony są wyłącznie wzmocnieniem.
- Teksty alternatywne. Każde zdjęcie ma opis wymagany przez schemat danych — brak opisu przerywa publikację.
- Powiększanie tekstu. Układ korzysta z jednostek względnych i pozostaje czytelny przy powiększeniu do 200%.
- Cele dotykowe. Elementy interaktywne mają co najmniej 44 × 44 px.
- Ograniczony ruch. Przy ustawieniu
prefers-reduced-motion: reduceanimacje i płynne przewijanie są wyłączane. - Komunikaty dynamiczne. Liczba wyników filtrowania i informacja o braku wyników
są ogłaszane przez czytniki ekranu (
aria-live).
Tryb ciemny
Tryb ciemny jest pełnoprawnym motywem, a nie odwróceniem kolorów. Domyślnie serwis respektuje
ustawienie systemu użytkownika (prefers-color-scheme) i działa bez JavaScriptu.
Dostępny jest też ręczny przełącznik z opcjami
System, Jasny i Ciemny; powrót do opcji System
przywraca ustawienie systemowe.
Tryb ciemny nie obniża poziomu dostępności. Testy kontrastu i automatyczne testy dostępności uruchamiane są osobno dla obu motywów.
Działanie bez JavaScriptu
Cała treść — profile, porównanie, kalendarz wyborczy — jest generowana statycznie i widoczna bez JavaScriptu. Skrypty odpowiadają wyłącznie za wygodę: filtrowanie listy, zwijanie menu na wąskich ekranach, zakładki, okno dialogowe i przełącznik motywu. Przy wyłączonym JavaScripcie te elementy przechodzą w stan, w którym cała treść pozostaje widoczna.
Bez JavaScriptu nie pojawia się też baner zgody na pomiar ruchu — i nie jest potrzebny, ponieważ bez JavaScriptu pomiar w ogóle się nie uruchamia.
Jak to sprawdzamy
- Automatyczne testy axe-core dla strony głównej, listy, profilu i porównywarki.
- Testy uruchamiane osobno w trybie jasnym i ciemnym.
- Testy nawigacji klawiaturą w scenariuszach end-to-end.
- Test kontrastu wszystkich tokenów kolorystycznych obu motywów.
Testy automatyczne wykrywają część problemów, ale nie zastępują sprawdzenia przez człowieka. Zgłoszenia od użytkowników traktujemy jako najważniejsze źródło informacji o barierach.
Znane ograniczenia
- Wyszukiwanie i filtrowanie listy kandydatów wymaga JavaScriptu. Bez niego widoczna jest pełna, kompletna lista — informuje o tym komunikat na stronie.
- Tabela porównania na wąskich ekranach wymaga przewijania w poziomie. Obszar tabeli jest osiągalny klawiaturą i można go przewijać strzałkami.
Zgłaszanie problemów
Jeżeli natrafisz na barierę w dostępności, napisz na adres kontakt@krakow-wybiera.pl. W zgłoszeniu pomocne będą: adres strony, opis problemu oraz informacja o używanym urządzeniu i technologii wspomagającej.