Przejdź do głównej zawartości

Accessibility (WCAG) – podstawy

Accessibility (WCAG) – podstawy

Dostępność (accessibility, a11y) to projektowanie stron i aplikacji tak, aby mogły z nich korzystać wszystkie osoby, w tym osoby z niepełnosprawnościami – niewidome, niedowidzące, niesłyszące, z ograniczeniami motorycznymi czy poznawczymi. WCAG (Web Content Accessibility Guidelines) to międzynarodowy standard definiujący zasady dostępności. W Polsce i UE dostępność stron publicznych jest wymagana prawnie.

  • Wymogi prawne – unijna dyrektywa EAA wymaga dostępności stron publicznych i komercyjnych
  • Większa grupa odbiorców – ok. 15% populacji ma jakąś formę niepełnosprawności
  • Lepsze SEO – wiele praktyk a11y pokrywa się z dobrymi praktykami SEO
  • Lepsze UX dla wszystkich – dostępna strona jest wygodniejsza dla każdego
  • Egzaminy zawodowe – temat pojawia się na egzaminach INF.03/INF.04
  1. Zrozumieć czym jest dostępność i dlaczego jest ważna
  2. Poznać standard WCAG i jego cztery zasady (POUR)
  3. Opanować podstawowe techniki: alt, kontrast, fokus, ARIA
  4. Umieć wyjaśnić jak osoby z niepełnosprawnościami korzystają z sieci
  5. Przeanalizować przykład niedostępnej i dostępnej strony
  1. Czym jest dostępność

    • Definicja a11y (accessibility)
    • Typy niepełnosprawności: wzrokowe, słuchowe, motoryczne, poznawcze
    • Technologie asystujące: czytniki ekranu, lupy, sterowanie głosem
  2. Standard WCAG

    • Poziomy zgodności: A, AA, AAA
    • Cztery zasady POUR:
      • Perceivable (Postrzegalność) – treść dostępna zmysłowo
      • Operable (Funkcjonalność) – interfejs można obsługiwać
      • Understandable (Zrozumiałość) – treść i obsługa są zrozumiałe
      • Robust (Solidność) – kompatybilność z technologiami asystującymi
  3. Podstawowe techniki

    • Atrybut alt w obrazach
    • Kontrast kolorów (minimum 4.5:1)
    • Nawigacja klawiaturą (focus, tab order)
    • Semantyczny HTML (nagłówki, listy, formularze)
  4. ARIA (Accessible Rich Internet Applications)

    • aria-label – etykieta dla elementów bez tekstu
    • aria-hidden – ukrywanie przed czytnikami
    • aria-describedby – powiązanie opisu z elementem
    • Role ARIA – kiedy i jak używać

Przykład 1

Niedostępny HTML – typowe błędy dostępności

Przykład 2

Dostępny HTML – poprawiona wersja z ARIA

Przykład 3

Formularze dostępne – label, fieldset, aria-describedby

Przykład 4

Nawigacja klawiaturą – focus, skip links

<!-- ❌ NIEDOSTĘPNY HTML - typowe błędy -->
<!DOCTYPE html>
<html> <!-- Brak atrybutu lang -->
<head>
<title>Strona</title>
</head>
<body>
<!-- ❌ Brak struktury nagłówków -->
<div class="logo">
<!-- ❌ Obrazek bez alt -->
<img src="logo.png">
</div>
<!-- ❌ Menu bez semantyki, klikalne divy -->
<div class="menu">
<div onclick="goTo('/')">Start</div>
<div onclick="goTo('/produkty')">Produkty</div>
</div>
<!-- ❌ Brak nagłówka H1 -->
<div class="title" style="font-size: 24px; font-weight: bold;">
Witamy na stronie
</div>
<!-- ❌ Niewystarczający kontrast -->
<p style="color: #999; background: #fff;">
Ten tekst ma za mały kontrast.
</p>
<!-- ❌ Formularz bez label -->
<form>
<input type="text" placeholder="Twoje imię">
<input type="email" placeholder="Email">
<!-- ❌ Przycisk bez opisu -->
<button><img src="send.png"></button>
</form>
<!-- ❌ Linki bez sensu poza kontekstem -->
<a href="/artykuł-1">Czytaj więcej</a>
<a href="/artykuł-2">Czytaj więcej</a>
<a href="/artykuł-3">Kliknij tutaj</a>
<!-- ❌ Automatyczne odtwarzanie video -->
<video autoplay>
<source src="video.mp4">
</video>
</body>
</html>
  • Testowanie dostępności – narzędzia (axe, WAVE, Lighthouse)
  • Poziomy WCAG – różnice między A, AA, AAA
  • Nawigacja z czytnikiem ekranu – demonstracja działania
  • Responsive a11y – dostępność na urządzeniach mobilnych
  • JavaScript a a11y – dynamiczne treści, focus management
  • Regulacje prawne – dyrektywa EAA, ADA, Section 508
  1. Wstęp (0.5 strony) – znaczenie dostępności, statystyki
  2. Typy niepełnosprawności (1 strona) – wzrokowe, słuchowe, motoryczne
  3. Standard WCAG (1 strona) – POUR, poziomy A/AA/AAA
  4. Podstawowe techniki (1.5 strony) – alt, kontrast, fokus, semantyka
  5. ARIA (1 strona) – aria-label, role, kiedy używać
  6. Analiza przykładu (1 strona) – niedostępna vs dostępna strona
  7. Podsumowanie (0.5 strony) – checklista dostępności
  8. Bibliografia
  1. Czym jest WCAG i jakie ma poziomy zgodności?
  2. Co oznacza skrót POUR w kontekście dostępności?
  3. Jaki minimalny kontrast wymaga WCAG dla tekstu?
  4. Dlaczego nie można usunąć outline:none bez alternatywy?
  5. Kiedy używać aria-label, a kiedy alt?
  6. Jak działają czytniki ekranu?
  7. Co to jest skip link i dlaczego jest ważny?
  8. Dlaczego semantyczny HTML jest podstawą dostępności?

To więcej niż praca zaliczeniowa

Dostępność to obowiązek etyczny i prawny. Tworząc dostępne strony, dbasz o wszystkich użytkowników. To umiejętność, która będzie coraz bardziej ceniona w branży.

Wykorzystaj lekcje – konsultuj wątpliwości, pokazuj postępy! Pracuj iteracyjnie – outline -> draft -> kod -> redakcja