Internet jest jednym z głównych źródeł informacji, narzędzi pracy i rozrywki. Web accessibility, czyli dostępność stron internetowych, odnosi się do praktyk i technologii, które umożliwiają osobom z różnymi niepełnosprawnościami pełne korzystanie z zasobów internetowych. Jest to istotny aspekt, który ma wpływ na osoby z niepełnosprawnościami, osoby starsze, z ograniczonymi umiejętnościami technicznymi oraz użytkowników urządzeń mobilnych.

W niniejszym artykule przyjrzymy się, czym dokładnie jest web accessibility, jakie są jej najważniejsze zasady i wytyczne, oraz dlaczego jest tak ważna. Poprzez zwiększenie świadomości na temat Web Accessibility, możemy wspólnie dążyć do stworzenia bardziej inkluzywnego Internetu, dostępnego dla wszystkich użytkowników, niezależnie od ich możliwości i ograniczeń.

Jak podaje WHO, do 2030 roku jedna na sześć osób na świecie będzie miała 60 lat lub więcej. Populacja osób w wieku 60 lat i starszych wzrośnie z 1 miliarda w 2020 roku do 1,4 miliarda w 2030 roku, a do 2050 roku liczba osób w wieku 80 lat i starszych potroi się, osiągając 426 milionów.

Wzrost liczby ludności starszej podkreśla znaczenie zapewnienia dostępności stron internetowych, aby umożliwić starszym osobom łatwiejszy dostęp do informacji i usług online, wspierając tym samym ich aktywne uczestnictwo w cyfrowym życiu społecznym i gospodarczym.

Klucz do Web Accessibility
Projektowanie i tworzenie stron internetowych

Web accessibility odnosi się do projektowania i tworzenia stron internetowych w taki sposób, aby były one dostępne i użyteczne dla wszystkich osób. Obejmuje to dostępność dla użytkowników z różnymi rodzajami niepełnosprawności, takimi jak:

  • Osoby niewidome lub niedowidzące: korzystają one z czytników ekranowych i innych technologii wspomagających, które przetwarzają tekst na mowę lub alfabet Braille’a.
  • Osoby niesłyszące lub niedosłyszące: mogą wymagać napisów do materiałów wideo oraz treści audio w formie tekstowej.
  • Osoby z ograniczoną mobilnością: mogą mieć trudności z korzystaniem z myszki i preferować nawigację za pomocą klawiatury lub urządzeń alternatywnych.
  • Osoby z zaburzeniami poznawczymi: mogą potrzebować prostszego języka, bardziej przewidywalnej nawigacji i dodatkowych wskazówek wizualnych.
WCAG - Web Content Accessibility Guidelines

Podstawowe zasady Web Accessibility są zawarte w wytycznych WCAG, które zostały opracowane przez W3C (World Wide Web Consortium). Wytyczne te składają się z czterech głównych zasad:

  1. Postrzegalność (Perceivable): informacje i komponenty interfejsu użytkownika muszą być przedstawiane w sposób, który umożliwia ich postrzeganie przez wszystkich użytkowników.
    Przykład: zapewnienie tekstu alternatywnego dla obrazów.
  2. Funkcjonalność (Operable): komponenty interfejsu użytkownika i nawigacja muszą być dostępne za pomocą różnych metod.
    Przykład: umożliwienie nawigacji po stronie za pomocą klawiatury.
  3. Zrozumiałość (Understandable): informacje i operacje interfejsu użytkownika muszą być zrozumiałe dla użytkowników.
    Przykład: używanie prostego i jasnego języka.
  4. Solidność (Robust): treści muszą być wystarczająco solidne, aby mogły być prawidłowo interpretowane przez różne urządzenia, w tym technologie wspomagające.
    Przykład: używanie standardowych znaczników HTML.

 

WCAG (Web Content Accessibility Guidelines)

WCAG - poziomy zgodności

WCAG jest podzielone na trzy poziomy zgodności: A, AA i AAA, które określają stopień, w jakim strona internetowa jest dostępna dla osób z niepełnosprawnościami. Każdy poziom wymaga spełnienia określonych kryteriów sukcesu, które są bardziej szczegółowe i rygorystyczne na wyższych poziomach.

 

Poziom A (Minimalna dostępność)

Poziom A jest podstawowym poziomem zgodności, który obejmuje najważniejsze kryteria dostępności. Te wymagania muszą być spełnione, aby strona była dostępna na minimalnym poziomie.

Poziom AA (Średnia dostępność)

Poziom AA obejmuje wszystkie kryteria z poziomu A oraz dodatkowe wymagania, które zwiększają dostępność strony dla szerszego grona użytkowników.

Poziom AAA (wysoka dostępność)

Poziom AAA jest najbardziej rygorystycznym poziomem zgodności i obejmuje wszystkie kryteria z poziomu A i AA, a także dodatkowe wymagania, które zapewniają maksymalną dostępność.

Wykorzystanie ARIA (Accessible Rich Internet Applications)

ARIA (Accessible Rich Internet Applications) to specyfikacja opracowana przez W3C, której celem jest poprawa dostępności dynamicznych treści i interfejsów użytkownika na stronach internetowych. Atrybuty ARIA pozwalają na lepszą integrację z technologiami wspomagającymi, takimi jak czytniki ekranowe, poprzez dostarczanie dodatkowych informacji o strukturze i funkcjonalności elementów interfejsu. Wyróżniamy kilka rodzajów ARIA:

 ARIA (Accessible Rich Internet Applications)

 

1. Atrybuty roli
Atrybuty roli definiują, jakie funkcje pełnią elementy w interfejsie użytkownika. Pomagają one czytnikom ekranowym i innym technologiom wspomagającym w interpretacji i komunikowaniu użytkownikom funkcji poszczególnych elementów. Przykłady ról ARIA obejmują:

  • role=”button”: Informuje, że element działa jak przycisk.
  • role=”checkbox”: Informuje, że element działa jak pole wyboru.
  • role=”navigation”: Informuje, że element reprezentuje sekcję nawigacyjną.
  • role=”alert”: Informuje, że element wyświetla ważne, dynamiczne komunikaty.

2. Atrybuty stanu
Atrybuty stanu opisują dynamiczne aspekty elementów interfejsu, które mogą się zmieniać w czasie rzeczywistym. Informują technologie wspomagające o bieżącym stanie elementu. Przykłady stanów ARIA obejmują:

  • aria-checked: Stosowane z rolą checkbox, informuje, czy pole wyboru jest zaznaczone (true), niezaznaczone (false) czy jest w stanie pośrednim (mixed).
  • aria-expanded: Informuje, czy sekcja (np. rozwijane menu) jest rozwinięta (true) czy zwinięta (false).
  • aria-pressed: Stosowane z rolą button, informuje, czy przycisk jest wciśnięty (true), czy nie (false).
  • aria-hidden: Informuje, czy element jest widoczny (false), czy ukryty (true) dla technologii wspomagających.

3. Atrybuty wartości
Atrybuty wartości dostarczają dodatkowych informacji o elementach interfejsu użytkownika, które niekoniecznie się zmieniają, ale są istotne dla zrozumienia i interakcji z elementem. Przykłady właściwości ARIA obejmują:

  • aria-labelledby: Określa jednoznacznie, który element (lub elementy) dostarcza etykiety dla danego elementu.
  • aria-describedby: Określa jednoznacznie, który element (lub elementy) dostarcza dodatkowego opisu dla danego elementu.
  • aria-live: Określa, jak treści dynamiczne są obsługiwane przez technologie wspomagające, np. polite dla spokojnych aktualizacji i assertive dla natychmiastowych aktualizacji.
  • aria-valuemin, aria-valuemax, aria-valuenow: Stosowane z elementem slider lub progressbar, określają minimalną, maksymalną i bieżącą wartość elementu.
Przykłady wykorzystania Web Accessibility w kodzie

1. Tekst alternatywny dla obrazów
Obrazy na stronie powinny mieć atrybut alt, który opisuje jego zawartość. Jest to niezbędne dla osób korzystających z czytników ekranowych. Dodatkowo, atrybuty alt są wykorzystywane przez roboty indeksujące do uzyskania informacji na temat treści obrazu, co ma duże znaczenie z perspektywy optymalizacji SEO. Obrazki, które są jedynie dekoracyjne i nie dodają żadnej wartości merytorycznej do treści strony, powinny mieć pusty atrybut alt. W ten sposób czytniki ekranowe je pomijają, a w przypadku, gdy obrazek się nie wczyta, użytkownicy zobaczą opis zamiast pustego pola.

Web Accessibility w kodzie ALT Tekst alternatywny dla obrazów

2. Właściwa struktura nagłówków
Nagłówki powinny być używane hierarchicznie (h1, h2, h3 itd.), aby czytniki ekranowe mogły poprawnie interpretować strukturę strony. Hierarchiczna organizacja nie tylko ułatwia nawigację dla użytkowników z niepełnosprawnościami, ale także korzystnie wpływa na SEO, poprawiając indeksację stron przez wyszukiwarki. Ważne jest również, aby treść nagłówków była klarowna i zrozumiała, co wspiera użytkowników w szybszym zrozumieniu zawartości strony.

Web Accessibility w kodzie nagłówki

3. Opisy formularzy
Każdy element formularza powinien mieć opis, który informuje użytkownika o jego przeznaczeniu. Można to zrobić za pomocą elementu label, który łączy opis z odpowiednim polem formularza, ułatwiając użytkownikom z czytnikami ekranowymi zrozumienie, do czego służy dane pole.

Web-Accessibility

4. Kontrast kolorów
Tekst i tło powinny mieć wystarczający kontrast kolorów, aby były czytelne dla osób z zaburzeniami widzenia. Zapewnienie odpowiedniego kontrastu jest kluczowe, aby informacje na stronie były łatwe do odczytania, co zwiększa komfort i dostępność dla wszystkich użytkowników.

Web-Accessibility-w-kodzie-kolory

5. Napisy do video
Dodanie napisów do materiałów wideo jest kluczowe dla osób niesłyszących lub niedosłyszących oraz dla osób, dla których język użyty w wideo nie jest językiem ojczystym. Napisy umożliwiają tym osobom pełne zrozumienie treści audio lub dialogów, co zwiększa ich dostępność do informacji oraz pozwala na lepsze uczestnictwo w treściach wideo. Można to osiągnąć za pomocą elementu track, który umożliwia dodanie napisów bezpośrednio do pliku wideo, co jest preferowane przez technologie wspomagające i ułatwia integrację z różnymi platformami i urządzeniami.

Web Accessibility w kodzie video napisy

6. Wskaźniki fokus
Używanie wskaźników fokus jest ważne, aby użytkownicy klawiatury mogli zobaczyć, który element jest aktualnie aktywny. Dzięki temu osoby, które nie mogą korzystać z myszy, mogą łatwo nawigować po stronie i dokładnie wiedzieć, na którym elemencie interfejsu się znajdują.

Web Accessibility w kodzie focus

7. Role ARIA
Wykorzystanie atrybutów ARIA (Accessible Rich Internet Applications) pomaga poprawić dostępność dynamicznych elementów na stronie. Atrybuty te dostarczają dodatkowych informacji dla technologii wspomagających, co umożliwia lepsze zrozumienie i interakcję z interfejsem użytkownika przez osoby korzystające z czytników ekranowych i innych narzędzi asystujących.

Web Accessibility w kodzie role Aria

8. Formularze z błędami
Informowanie użytkowników o błędach w formularzach jest kluczowe. Można to zrobić za pomocą atrybutów ARIA, które przekazują czytnikom ekranowym informacje o wystąpieniu i rodzaju błędów, co pozwala użytkownikom łatwiej zidentyfikować i poprawić problematyczne pola.

Web Accessibility w kodzie formularze z bledami

9. Responsywne projektowanie
Zapewnienie, że strona jest responsywna i działa poprawnie na różnych urządzeniach, jest kluczowe dla dostępności. Dzięki temu wszyscy użytkownicy, niezależnie od tego, czy korzystają z komputerów, tabletów czy smartfonów, mogą mieć pełny i wygodny dostęp do treści oraz funkcjonalności strony.

Web Accessibility w kodzie responsywne projektowanie

10. Wykorzystanie JavaScript do poprawy dostępności
JavaScript może być używany do dynamicznej zmiany atrybutów ARIA, aby poprawić dostępność. Dzięki temu można dostosowywać interfejs użytkownika w czasie rzeczywistym, zapewniając, że technologie wspomagające zawsze mają aktualne informacje o stanie i funkcji dynamicznych elementów na stronie.

Web Accessibility Wykorzystanie JavaScript do poprawy dostępności

11. Dynamiczne treści
Upewnij się, że dynamiczne treści są dostępne dla czytników ekranowych. Można to osiągnąć poprzez odpowiednie oznaczenie nowych lub zmienionych treści atrybutami ARIA, co zapewni, że użytkownicy korzystający z technologii wspomagających będą natychmiast informowani o wszelkich aktualizacjach.

Web Accessibility w kodzie dynamiczne tresci

12. Sprawdzanie dostępności
Wykorzystaj narzędzia do sprawdzania dostępności, takie jak WAVE, Axe, czy Lighthouse, aby ocenić i poprawić dostępność swojej strony. Narzędzia te pomagają zidentyfikować problemy z dostępnością i sugerują rozwiązania, dzięki czemu możesz systematycznie poprawiać doświadczenia użytkowników z różnymi potrzebami.

Podsumowanie

Web Accessibility przynosi korzyści nie tylko osobom z różnymi ograniczeniami, ale także wszystkim użytkownikom. Strony dostępne są bardziej intuicyjne, łatwiejsze w nawigacji, lepiej widoczne w wyszukiwarkach i zgodne z przepisami prawnymi. Poprzez wdrażanie zasad dostępności, poprawiamy ogólną jakość i użyteczność naszych stron internetowych.

Aby kontynuować poprawę dostępności swoich stron internetowych, warto:

  • Edukować się: regularnie aktualizować swoją wiedzę na temat wytycznych WCAG i technologii wspomagających.
  • Testować dostępność: używać narzędzi do automatycznego testowania dostępności oraz testować strony z udziałem użytkowników z niepełnosprawnościami.
  • Iterować i ulepszać: ciągle monitorować i poprawiać dostępność swoich stron na podstawie uzyskanych wyników testów i feedbacku użytkowników.

Wdrażanie zasad web accessibility wymaga zaangażowania i ciągłego doskonalenia, ale wysiłek ten jest nieoceniony w tworzeniu bardziej inkluzywnego Internetu.

Autor
  • Kacper Barabasz
  • Frontend Developer | Software & Data Development
Opracowanie redakcyjne:
Marta Górna