Przejdź do treści

Audyt WCAG 2.2 AA dla strony JST – lista kontrolna 100 punktów

⏱ Szacowany czas czytania: 9 min (1 851 słó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.

Aktualizacja: maj 2026 · Czas czytania: 20 min · Dla decydentów: Koordynator dostępności, Dyrektor IT, Sekretarz

Spis treści

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 administracyjnado 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

  1. ✓ Wszystkie obrazy mają alt-text (znaczący lub pusty dla dekoracyjnych)
  2. ✓ Obrazy złożone (wykresy, mapy) mają długi opis
  3. ✓ Ikony funkcjonalne mają aria-label
  4. ✓ CAPTCHA ma alternatywę (audio, logiczna)

1.2 Multimedia

  1. ✓ Wideo ma napisy (transkrypcję)
  2. ✓ Wideo ma audiodeskrypcję dla wątków wizualnych
  3. ✓ Audio ma transkrypcję tekstową
  4. ✓ Transmisje sesji rady mają napisy live + tłumacza migowego

1.3 Możliwość adaptacji

  1. ✓ Treść jest semantycznie poprawna (h1-h6, p, ul, ol, table)
  2. ✓ Tabele mają nagłówki (th) + scope + caption
  3. ✓ Formularze mają label dla każdego pola
  4. ✓ Sekwencja (kolejność czytania) jest logiczna
  5. ✓ Orientacja strony nie jest wymuszana (poziom/pion)

1.4 Rozróżnialność

  1. ✓ Tekst nie jest jedynym sposobem przekazania informacji (nie tylko kolor)
  2. Kontrast tekstu — min. 4.5:1 dla normalnego, 3:1 dla dużego
  3. Kontrast elementów UI (border, focus) — min. 3:1
  4. ✓ Tekst można powiększyć do 200% bez utraty funkcjonalności
  5. ✓ Audio nie jest autoodtwarzane (lub można wyłączyć)
  6. Reflow na 320px szerokości bez poziomego scrolla
  7. ✓ Kontrast obrazów istotnych (icon, charts) — min. 3:1
  8. ✓ Odstępy tekstu — line-height 1.5+, paragraph spacing 2+, letter spacing 0.12+
  9. ✓ Hover/Focus — tooltip dismissable (Esc), persistent, hoverable
  10. ✓ Tryb wysokiego kontrastu — działa
  11. ✓ Tryb dark mode — jeśli zaimplementowany, kontrast OK
  12. Animacje wyłączalne (prefers-reduced-motion)

5. Funkcjonalność (Operable) — 25 punktów

2.1 Dostępność z klawiatury

  1. Pełna nawigacja klawiaturą — Tab, Shift+Tab, Enter, Space, Esc
  2. Brak pułapek klawiatury — można „wyjść” z modal/menu
  3. Focus visible — widoczny outline (kontrast 3:1)
  4. Focus order — logiczna kolejność (DOM order = visual order)
  5. Skip links — „Przejdź do głównej treści”
  6. Skróty klawiaturowe — nie konfliktują z czytnikami ekranu

2.2 Wystarczający czas

  1. Limity czasu — ostrzeżenie + możliwość wydłużenia (np. sesja portalu)
  2. ✓ Sliders + carousels można zatrzymać
  3. ✓ Treść animowana (>5s) ma kontrolkę pauzy

2.3 Anulowanie

  1. Kliknięcia można anulować — akcja wykonywana po mouseup, nie mousedown
  2. Brak migotania — nie więcej niż 3 błyski/s (epilepsja)
  3. Tryb „wyłącz animacje” — respektuje prefers-reduced-motion

2.4 Łatwa nawigacja

  1. Tytuły stron — opisowe, unikalne (h1 + title)
  2. Breadcrumbs — ścieżka nawigacyjna
  3. Wyszukiwarka — dostępna z każdej strony
  4. Mapa serwisu (sitemap) — dostępna
  5. Linki opisowe — „Pobierz wniosek o 500+”, nie „kliknij tutaj”
  6. Wiele sposobów nawigacji — menu + breadcrumbs + wyszukiwarka + sitemap
  7. Aktualne miejsce — aria-current na aktywnym menu

2.5 Modalności wprowadzania danych

  1. Pointer gestures — multi-touch ma alternatywę single-touch
  2. Pointer cancellation — akcja anulowana przy przesunięciu palcem
  3. Label in name — widoczny label = aria-label
  4. Motion actuation — potrząsanie ma alternatywę przyciskiem
  5. Target size — min. 24x24px (WCAG 2.2 nowe)
  6. Dragging — ma alternatywę bez przeciągania (WCAG 2.2 nowe)

6. Zrozumiałość (Understandable) — 25 punktów

3.1 Czytelność

  1. Lang attribute
  2. Lang change dla cytatów obcojęzycznych
  3. Słownik trudnych terminów — „BIP” wyjaśnione przy pierwszym użyciu
  4. Skróty — rozwinięcie przy pierwszym użyciu (np. „RODO — Rozporządzenie…”)
  5. Czytelność — max poziom 12 klasy (test FOG-PL)
  6. Wymowa — trudne słowa z ruby (jeśli wymagane)

3.2 Przewidywalność

  1. Konsystencja nawigacji — menu w tym samym miejscu na każdej stronie
  2. Konsystencja identyfikacji — ikony i buttony oznaczają to samo wszędzie
  3. Brak zaskakujących zmian kontekstu — przy focus / input, bez automatycznego przejścia
  4. Help — dostępny w tym samym miejscu na każdej stronie (WCAG 2.2 nowe)
  5. Redundant entry — auto-fill danych już wpisanych w trakcie sesji (WCAG 2.2 nowe)

3.3 Pomoc przy wprowadzaniu danych

  1. Identyfikacja błędów — konkretny komunikat („Pole 'Email’ jest wymagane”)
  2. Etykiety + instrukcje — przed polem, nie tylko placeholder
  3. Sugestie korekt — „Czy chodziło o jan@gmail.com?”
  4. Prevention — potwierdzenie przy ważnych akcjach (płatność, usunięcie)
  5. Accessible authentication — brak cognitive function tests bez alternatywy (WCAG 2.2 nowe)
  6. Format pól — jasno wskazany (DD/MM/RRRR, +48 XXX-XXX-XXX)
  7. Walidacja real-time — nie tylko po submit
  8. Komunikaty sukcesu/błędu — aria-live polite/assertive
  9. Czas na poprawienie — bez auto-submit po X sekund
  10. Multi-step forms — możliwość powrotu, zapisanie postępu
  11. Cancel option — możliwość przerwania wprowadzania bez utraty danych
  12. Required vs. optional — jasno oznaczone (asterisk + tekst)
  13. Pomoc kontekstowa — tooltip lub link do help
  14. Język prosty — instrukcje w prostym języku (Plain Language)

7. Solidność (Robust) — 15 punktów

4.1 Kompatybilność

  1. HTML walidacja — W3C Validator (jeśli error, audit explanation)
  2. Atrybuty unikalne — unikalne ID dla każdego elementu
  3. Nazwa, rola, wartość — dla custom widgets (aria-role, aria-label, aria-value)
  4. Status messages — aria-live dla dynamicznych zmian
  5. Czytniki ekranu — testy NVDA + JAWS (Windows), VoiceOver (Mac/iOS), TalkBack (Android)
  6. Browsery — Chrome, Firefox, Safari, Edge (najnowsze)
  7. Browsery starsze — degradacja graceful (jeśli wymagane)
  8. Mobilne — iOS Safari, Android Chrome
  9. Asystywne technologie — switch control, voice control
  10. WAI-ARIA — poprawne użycie (rola, stan, właściwości)
  11. Custom controls — mają wszystkie wymagane handlery klawiatury
  12. Focus management — po otwarciu modal, fokus na modal
  13. SVG accessibility — role=”img”, aria-label dla informacyjnych SVG
  14. iframe — ma title
  15. Walidacja accessibility — axe DevTools, WAVE, Lighthouse

8. Sprawdzenia dodatkowe (praktyczne) — 10 punktów

  1. Deklaracja dostępności — opublikowana, aktualna (max 1 rok)
  2. Koordynator dostępności — wyznaczony, dane kontaktowe na stronie
  3. Procedura skarg — jasna, krok po kroku
  4. PDF dostępne — tagged PDF, alt-text, lang attribute
  5. DOCX/XLSX dostępne — nagłówki, alt-text, opisowe linki
  6. Mapa interaktywna — alternatywa tekstowa lub tabelaryczna
  7. Kalendarz wydarzeń — ICS feed (subskrypcja w czytniku ekranu)
  8. Newsletter — szablon HTML accessibility
  9. Social media embeds — alternatywa tekstowa
  10. 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

  1. Bezpłatny mini-audyt WCAG — 5 podstron, raport za 48h
  2. Pełny audyt WCAG — po konsultacji
  3. Naprawa wad — ustalimy timeline
  4. Deklaracja dostępności — pomożemy w przygotowaniu

Zamów bezpłatny mini-audyt 48h

Powiązane przewodniki

{
„@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”
}

Kontakt

Bezpłatna wycena dla Państwa jednostki

Wypełnienie zajmuje minutę. Odpowiedź eksperta otrzymują Państwo w ciągu 24 godzin roboczych.

Bezpłatnie Bez zobowiązań Odpowiedź w 24h RODO

Dane chronione zgodnie z RODO. Odpowiedź w ciągu 24 godzin roboczych.

Odpowiedź w 24hDni robocze 8:00-16:00
Dane chronionePełna zgodność z RODO
Bez zobowiązańWycena nie wiąże stron