Audyt WCAG 2.2 AA dla strony JST – lista kontrolna 100 punktów
Pełen przewodnik decydenta JST — maj 2026
Audyt WCAG 2.2 AA dla strony JST — lista kontrolna 100 punktów
Kompletna lista 100 punktów audytu WCAG 2.2 AA dla strony jednostki samorządu terytorialnego. Pokrywa wszystkie 50 kryteriów sukcesu poziomu A i AA + dodatkowe sprawdzenia praktyczne. Stosowana przez renomowanych audytorów w Polsce. Niezgodność = sankcje Min. Cyfryzacji + skargi obywateli + uwagi NIK.
Spis treści
- 1. Podstawa prawna — co nas obowiązuje
- 2. Sankcje za niezgodność
- 3. Metodologia audytu
- 4. Postrzegalność (Perceivable) — 25 punktów
- 5. Funkcjonalność (Operable) — 25 punktów
- 6. Zrozumiałość (Understandable) — 25 punktów
- 7. Solidność (Robust) — 15 punktów
- 8. Sprawdzenia dodatkowe (praktyczne) — 10 punktów
- 9. Raport audytu — struktura
- 10. Deklaracja dostępności — obowiązek
1. Podstawa prawna — co nas obowiązuje
- Ustawa z 4.04.2019 o dostępności cyfrowej stron internetowych i aplikacji mobilnych podmiotów publicznych (Dz.U. 2019/848)
- Rozporządzenie MC z 9.10.2018 w sprawie standardów
- WCAG 2.2 (W3C) — aktualny standard od października 2025
- EAA (European Accessibility Act, Dyrektywa 2019/882) — od 28.06.2025 dla sprzedaży B2C
- Dyrektywa 2016/2102 — o dostępności stron i aplikacji mobilnych podmiotów sektora publicznego
2. Sankcje za niezgodność
- Skarga obywatela do Min. Cyfryzacji — reakcja JST w 7 dni
- Brak reakcji — publiczny raport MC + naliczenie kary
- Kara administracyjna — do 20 tys. PLN (Ustawa o dostępności cyfrowej)
- Powtarzające się skargi — eskalacja do wojewody + raport NIK
- EAA dla e-Bilet/portal klienta — sankcje do 4% obrotu spółki komunalnej
- Wstrzymanie dotacji KPO/FENIKS — jeśli WCAG niezgodne
3. Metodologia audytu
Co audyt obejmuje
- Audyt techniczny — HTML/CSS/JS, ARIA, kontrast, klawiatura
- Audyt manualny — testy z czytnikami ekranu (NVDA, JAWS, VoiceOver, TalkBack)
- Audyt UX — testy z użytkownikami (osoby niewidome, niesłyszące, niepełnosprawne ruchowo)
- Audyt dokumentów — PDF, DOC, XLS publikowane na stronie
- Audyt multimediów — transkrypcje, audiodeskrypcja, podpisy
Czas audytu
- Strona gminy wiejskiej: 2-3 dni audytu = raport za 5-7 dni
- Strona miasta + portal mieszkańca: 5-7 dni audytu = raport za 10-14 dni
- Strona UM województwa: 10-15 dni audytu = raport za 15-20 dni
Koszt audytu
- Mini-audyt (5 podstron) — 2-5 tys. PLN (często bezpłatny u poważnych dostawców jako lead magnet)
- Pełny audyt strony gminy — 5-15 tys. PLN
- Pełny audyt UM województwa — 15-50 tys. PLN
4. Postrzegalność (Perceivable) — 25 punktów
Treść musi być prezentowana w sposób postrzegalny dla wszystkich użytkowników.
1.1 Alternatywy tekstowe
- ✓ Wszystkie obrazy mają alt-text (znaczący lub pusty dla dekoracyjnych)
- ✓ Obrazy złożone (wykresy, mapy) mają długi opis
- ✓ Ikony funkcjonalne mają aria-label
- ✓ CAPTCHA ma alternatywę (audio, logiczna)
1.2 Multimedia
- ✓ Wideo ma napisy (transkrypcję)
- ✓ Wideo ma audiodeskrypcję dla wątków wizualnych
- ✓ Audio ma transkrypcję tekstową
- ✓ Transmisje sesji rady mają napisy live + tłumacza migowego
1.3 Możliwość adaptacji
- ✓ Treść jest semantycznie poprawna (h1-h6, p, ul, ol, table)
- ✓ Tabele mają nagłówki (th) + scope + caption
- ✓ Formularze mają label dla każdego pola
- ✓ Sekwencja (kolejność czytania) jest logiczna
- ✓ Orientacja strony nie jest wymuszana (poziom/pion)
1.4 Rozróżnialność
- ✓ Tekst nie jest jedynym sposobem przekazania informacji (nie tylko kolor)
- ✓ Kontrast tekstu — min. 4.5:1 dla normalnego, 3:1 dla dużego
- ✓ Kontrast elementów UI (border, focus) — min. 3:1
- ✓ Tekst można powiększyć do 200% bez utraty funkcjonalności
- ✓ Audio nie jest autoodtwarzane (lub można wyłączyć)
- ✓ Reflow na 320px szerokości bez poziomego scrolla
- ✓ Kontrast obrazów istotnych (icon, charts) — min. 3:1
- ✓ Odstępy tekstu — line-height 1.5+, paragraph spacing 2+, letter spacing 0.12+
- ✓ Hover/Focus — tooltip dismissable (Esc), persistent, hoverable
- ✓ Tryb wysokiego kontrastu — działa
- ✓ Tryb dark mode — jeśli zaimplementowany, kontrast OK
- ✓ Animacje wyłączalne (prefers-reduced-motion)
5. Funkcjonalność (Operable) — 25 punktów
2.1 Dostępność z klawiatury
- ✓ Pełna nawigacja klawiaturą — Tab, Shift+Tab, Enter, Space, Esc
- ✓ Brak pułapek klawiatury — można „wyjść” z modal/menu
- ✓ Focus visible — widoczny outline (kontrast 3:1)
- ✓ Focus order — logiczna kolejność (DOM order = visual order)
- ✓ Skip links — „Przejdź do głównej treści”
- ✓ Skróty klawiaturowe — nie konfliktują z czytnikami ekranu
2.2 Wystarczający czas
- ✓ Limity czasu — ostrzeżenie + możliwość wydłużenia (np. sesja portalu)
- ✓ Sliders + carousels można zatrzymać
- ✓ Treść animowana (>5s) ma kontrolkę pauzy
2.3 Anulowanie
- ✓ Kliknięcia można anulować — akcja wykonywana po mouseup, nie mousedown
- ✓ Brak migotania — nie więcej niż 3 błyski/s (epilepsja)
- ✓ Tryb „wyłącz animacje” — respektuje prefers-reduced-motion
2.4 Łatwa nawigacja
- ✓ Tytuły stron — opisowe, unikalne (h1 + title)
- ✓ Breadcrumbs — ścieżka nawigacyjna
- ✓ Wyszukiwarka — dostępna z każdej strony
- ✓ Mapa serwisu (sitemap) — dostępna
- ✓ Linki opisowe — „Pobierz wniosek o 500+”, nie „kliknij tutaj”
- ✓ Wiele sposobów nawigacji — menu + breadcrumbs + wyszukiwarka + sitemap
- ✓ Aktualne miejsce — aria-current na aktywnym menu
2.5 Modalności wprowadzania danych
- ✓ Pointer gestures — multi-touch ma alternatywę single-touch
- ✓ Pointer cancellation — akcja anulowana przy przesunięciu palcem
- ✓ Label in name — widoczny label = aria-label
- ✓ Motion actuation — potrząsanie ma alternatywę przyciskiem
- ✓ Target size — min. 24x24px (WCAG 2.2 nowe)
- ✓ Dragging — ma alternatywę bez przeciągania (WCAG 2.2 nowe)
6. Zrozumiałość (Understandable) — 25 punktów
3.1 Czytelność
- ✓ Lang attribute —
- ✓ Lang change — dla cytatów obcojęzycznych
- ✓ Słownik trudnych terminów — „BIP” wyjaśnione przy pierwszym użyciu
- ✓ Skróty — rozwinięcie przy pierwszym użyciu (np. „RODO — Rozporządzenie…”)
- ✓ Czytelność — max poziom 12 klasy (test FOG-PL)
- ✓ Wymowa — trudne słowa z ruby (jeśli wymagane)
3.2 Przewidywalność
- ✓ Konsystencja nawigacji — menu w tym samym miejscu na każdej stronie
- ✓ Konsystencja identyfikacji — ikony i buttony oznaczają to samo wszędzie
- ✓ Brak zaskakujących zmian kontekstu — przy focus / input, bez automatycznego przejścia
- ✓ Help — dostępny w tym samym miejscu na każdej stronie (WCAG 2.2 nowe)
- ✓ Redundant entry — auto-fill danych już wpisanych w trakcie sesji (WCAG 2.2 nowe)
3.3 Pomoc przy wprowadzaniu danych
- ✓ Identyfikacja błędów — konkretny komunikat („Pole 'Email’ jest wymagane”)
- ✓ Etykiety + instrukcje — przed polem, nie tylko placeholder
- ✓ Sugestie korekt — „Czy chodziło o jan@gmail.com?”
- ✓ Prevention — potwierdzenie przy ważnych akcjach (płatność, usunięcie)
- ✓ Accessible authentication — brak cognitive function tests bez alternatywy (WCAG 2.2 nowe)
- ✓ Format pól — jasno wskazany (DD/MM/RRRR, +48 XXX-XXX-XXX)
- ✓ Walidacja real-time — nie tylko po submit
- ✓ Komunikaty sukcesu/błędu — aria-live polite/assertive
- ✓ Czas na poprawienie — bez auto-submit po X sekund
- ✓ Multi-step forms — możliwość powrotu, zapisanie postępu
- ✓ Cancel option — możliwość przerwania wprowadzania bez utraty danych
- ✓ Required vs. optional — jasno oznaczone (asterisk + tekst)
- ✓ Pomoc kontekstowa — tooltip lub link do help
- ✓ Język prosty — instrukcje w prostym języku (Plain Language)
7. Solidność (Robust) — 15 punktów
4.1 Kompatybilność
- ✓ HTML walidacja — W3C Validator (jeśli error, audit explanation)
- ✓ Atrybuty unikalne — unikalne ID dla każdego elementu
- ✓ Nazwa, rola, wartość — dla custom widgets (aria-role, aria-label, aria-value)
- ✓ Status messages — aria-live dla dynamicznych zmian
- ✓ Czytniki ekranu — testy NVDA + JAWS (Windows), VoiceOver (Mac/iOS), TalkBack (Android)
- ✓ Browsery — Chrome, Firefox, Safari, Edge (najnowsze)
- ✓ Browsery starsze — degradacja graceful (jeśli wymagane)
- ✓ Mobilne — iOS Safari, Android Chrome
- ✓ Asystywne technologie — switch control, voice control
- ✓ WAI-ARIA — poprawne użycie (rola, stan, właściwości)
- ✓ Custom controls — mają wszystkie wymagane handlery klawiatury
- ✓ Focus management — po otwarciu modal, fokus na modal
- ✓ SVG accessibility — role=”img”, aria-label dla informacyjnych SVG
- ✓ iframe — ma title
- ✓ Walidacja accessibility — axe DevTools, WAVE, Lighthouse
8. Sprawdzenia dodatkowe (praktyczne) — 10 punktów
- ✓ Deklaracja dostępności — opublikowana, aktualna (max 1 rok)
- ✓ Koordynator dostępności — wyznaczony, dane kontaktowe na stronie
- ✓ Procedura skarg — jasna, krok po kroku
- ✓ PDF dostępne — tagged PDF, alt-text, lang attribute
- ✓ DOCX/XLSX dostępne — nagłówki, alt-text, opisowe linki
- ✓ Mapa interaktywna — alternatywa tekstowa lub tabelaryczna
- ✓ Kalendarz wydarzeń — ICS feed (subskrypcja w czytniku ekranu)
- ✓ Newsletter — szablon HTML accessibility
- ✓ Social media embeds — alternatywa tekstowa
- ✓ Analytics + cookies banner — dostępne, klawiaturą
9. Raport audytu — struktura
Standardowy raport audytu WCAG 2.2 AA (40-100 stron) zawiera:
- Streszczenie wykonawcze — 1-2 strony, dla decydentów
- Metodologia — co sprawdzono, jak, kiedy
- Wynik ogólny — pozytywny / negatywny / warunkowy
- Szczegółowa lista uwag — per kryterium WCAG (np. „1.4.3 Kontrast: NIE”)
- Rekomendacje — jak naprawić każdą uwagę
- Priorytetyzacja — HIGH/MEDIUM/LOW
- Czas naprawy — szacowany dla każdej uwagi
- Załączniki — screenshoty błędów, raporty narzędzi (axe, WAVE)
10. Deklaracja dostępności — obowiązek
Każda strona JST musi mieć publicznie dostępną Deklarację dostępności (Ustawa o dostępności cyfrowej art. 10).
Co musi zawierać Deklaracja
- Status dostępności (zgodna / częściowo zgodna / niezgodna)
- Powody niezgodności (jeśli częściowo)
- Data ostatniej aktualizacji deklaracji
- Data ostatniego audytu (zewnętrznego lub wewnętrznego)
- Dane koordynatora dostępności (imię, telefon, email)
- Procedura składania skarg (krok po kroku)
- Rzecznik Praw Obywatelskich — link + dane kontaktowe
- Informacje o dostępności architektonicznej (jeśli dotyczy)
- Informacje o dostępności komunikacyjnej (tłumacz migowy, asystent)
Aktualizacja
Co rok — obowiązkowo. Dodatkowo po każdej znaczącej zmianie strony.
Następne kroki
- Bezpłatny mini-audyt WCAG — 5 podstron, raport za 48h
- Pełny audyt WCAG — po konsultacji
- Naprawa wad — ustalimy timeline
- Deklaracja dostępności — pomożemy w przygotowaniu
Zamów bezpłatny mini-audyt 48h
Powiązane przewodniki
- Cennik strony WWW dla JST 2026
- SIWZ na stronę JST 2026
- Audyt strony JST przed NIK 2026
- Strona internetowa dla JST 2026
{
„@context”: „https://schema.org”,
„@type”: „Article”,
„headline”: „Audyt WCAG 2.2 AA dla strony JST — lista kontrolna 100 punktów”,
„description”: „Kompletna lista 100 punktów audytu WCAG 2.2 AA dla strony JST. 4 zasady WCAG (Postrzegalność, Funkcjonalność, Zrozumiałość, Solidność) + sprawdzenia praktyczne.”,
„datePublished”: „2026-05-15”,
„dateModified”: „2026-05-15”,
„author”: {„@type”: „Organization”, „name”: „dlasamorzadu.pl”},
„publisher”: {„@type”: „Organization”, „name”: „dlasamorzadu.pl”},
„articleSection”: „Poradnik”,
„wordCount”: 4500,
„inLanguage”: „pl-PL”
}