Niniejszy artykuł stanowi wstęp do modułu i jednocześnie obszerną odpowiedź na pytanie, czym właściwie jest dostępność — w tym jakie grupy ludzi powinniśmy brać pod uwagę i dlaczego, jakich narzędzi używają oni do interakcji z siecią oraz jak uczynić dostępność częścią naszej organizacji zadań.

Wymagania Podstawowe umiejętności obsługi komputera, podstawowa znajomość HTML i CSS.
Cel: Zaznajomienie z ideą dostępności, z uwzględnieniem jej definicji oraz wpływu na pracę programisty Web.

Czym więc jest dostępność?

Dostępność jest praktyką dostosowywania stron internetowych do użytku przez tak wielu ludzi, jak jest to możliwe — przyjęło się, że mamy w tym miejscu na myśli osoby niepełnosprawne, jednak w praktyce pojęcie to odwołuje się też do ludzi używających urządzeń mobilnych czy tych z wolnym połączeniem sieciowym.

Możemy myśleć o dostępności jako o zapewnieniu tych samych możliwości wszystkim ludziom, bez względu na ich ograniczenia. W taki sam sposób, w jaki nie jest w porządku wykluczenie kogoś z korzystania z budynku, ponieważ porusza się on na wózku inwalidzkim (obecnie większość budynków publicznych posiada podjazdy dla wózków inwalidzkich albo windy), nie jest w porządku wykluczenie z używania strony internetowej osoby z ograniczeniami wzroku lub używającej urządzenia z małym wyświetlaczem. Każdy z nas jest inny, ale przecież wszyscy jesteśmy ludźmi, mamy więc te same (ludzkie) prawa.

Toteż dostępność jest czymś co po prostu powinniśmy robić, bo jest właściwe. Z drugiej strony w niektórych państwach obowiązują wymogi prawne wymuszające jej stosowanie, dostępność może też pomóc w dotarciu do ważnych grup docelowych, które bez niej nie będą w stanie używać naszych usług, kupować naszych produktów itd.

Dostępność i dobre praktyki które pociąga ona za sobą mogą przynieść korzyść każdemu:

  • Semantyczny HTML (którzy usprawnia dostępność) poprawia też SEO, sprawiając, że nasza strona jest łatwiejsza do znalezienia.  
  • Dbanie o dostępność jest przejawem rozwiniętej moralności, co pozytywnie wpływa na nasz wizerunek publiczny.
  • Dobre praktyki poprawiające dostępność ułatwiają obsługę strony również ludziom z takich grup docelowych jak użytkownicy telefonów komórkowych, wolnych łączy sieciowych itp. Tak naprawdę każdy użytkownik może skorzystać z usprawnień dostępności.
  • Wspomnieliśmy już o przepisach prawnych obowiązujących w niektórych państwach?

Jakie rodzaje ograniczeń bierzemy pod uwagę?

Ludzie z niepełnosprawnościami są równie bardzo zróżnicowani jak ludzie bez nich, również pod względem swoich ograniczeń. Kluczową lekcją jest tutaj myślenie wykraczające poza schemat naszego codziennego użytkowania Internetu na naszym komputerze i zastanowienie się nad tym, jak robią to inni —użytkownicy naszych stron to nie my. Główne rodzaje niepełnosprawności które należy rozważyć są opisane poniżej, wraz ze specjalnymi narzędziami, które ułatwiają cierpiącym na nie ludziom dostęp do treści internetowej (znane jako technologie wspomagające, ang. AT - assistive technologies).

Uwaga: Według dokumentu Disability and health Światowej Organizacji Zdrowia, „ponad miliard ludzi, około 15% światowej populacji, posiada jakąś formę niepełnosprawności” i „od 110 do 190 milionów dorosłych boryka się ze znacznymi trudnościami w funkcjonowaniu”.

Osoby niepełnosprawne wzrokowo

Ta grupa obejmuje użytkowników z ślepotą, obniżoną ostrością wzroku, daltonizmem itp. Wielu z nich używa powiększalników (zarówno fizycznych urządzeń, jak i programów typu lupa ekranowa — większość współczesnych przeglądarek i systemów operacyjnych ma taką funkcjonalność), inni korzystają z czytników ekranu, czyli oprogramowania umożliwiającego odsłuchanie treści tekstowej strony. Wśród nich wyróżniamy:

Dobrym pomysłem jest zapoznanie się działaniem czytników ekranowych, na przykład poprzez skonfigurowanie takiego czytnika na swoim urządzeniu i eksperymentowanie z różnymi rodzajami odczytywanej treści. Więcej informacji o ich używaniu można znaleźć w naszych testach obsługi czytników ekranu w różnych przeglądarkach, a poniższy film prezentuje doświadczenie używania takiego programu.

Pod względem statystycznym, według Światowej Organizacji Zdrowia „szacuje się, że 285 milionów ludzi na całym świecie jest niedowidzących: 39 milionów cierpi na ślepotę, a 246 ma obniżoną ostrość wzroku.” (zob. Visual impairment and blindness). To bardzo liczna i znacząca grupa użytkowników, do których możemy nie dotrzeć z powodu nieprawidłowo wykonanej strony internetowej — niemal tak liczna jak populacja Stanów Zjednoczonych.

Osoby niepełnosprawne słuchowo

Znane także jako osoby niedosłyszące, osoby głuche. Ci użytkownicy charakteryzują się problemami ze słuchem lub całkowitym brakiem zdolności słuchowych i wprawdzie używają oni technologii wspomagających (zob. Assistive Devices for People with Hearing, Voice, Speech, or Language Disorders), nie istnieją żadne ułatwienia tego typu zadedykowane użytkowaniu komputera/Internetu.

Warto więc mieć na uwadze techniki zapewniania wizualnej alternatywy dla dźwiękowej treści strony, takie jak transkrypty nagrań czy napisy wyświetlane na filmach. Jeden z kolejnych artykułów porusza ten temat.

Osoby z zaburzeniami słuchu również stanowią znaczącą grupę odbiorców — jak podaje Światowa Organizacja Zdrowia w Deafness and hearing loss, „360 milionów ludzi na całym świecie jest niepełnosprawnych słuchowo”.

Osoby niepełnosprawne ruchowo

Ci użytkownicy odznaczają się ograniczeniami ruchowymi, które mają zarówno typowo fizyczne przyczyny (takie jak utrata kończyny czy paraliż) jak i neurologiczne/genetyczne, prowadzące do osłabienia zmniejszającego zdolności ruchowe lub niedowładu kończyn. Niektórym osobom mogą sprawiać trudność precyzyjne ruchy dłoni wymagane do operowania myszką, podczas gdy inne dotknięte są poważniejszymi upośledzeniami,  na przykład byciem sparaliżowanym w takim stopniu, że interakcja z komputerem jest niemożliwa bez używania head pointera.

Ten rodzaj utrudnień dostępu może być również następstwem podeszłego wieku lub wynikać z ograniczeń sprzętowych — niektórzy użytkownicy mogą nie posiadać myszki.

W praktyce programisty Web, odpowiedź na niepełnosprawność ruchową użytkownika oznacza najczęściej wdrożenie możliwości nawigowania po stronie za pomocą klawiatury — zajmiemy się tym zagadnieniem w dalszej części modułu, natomiast teraz polecamy mały test poruszania się po kilku stronach internetowych bez użycia myszki. Podczas niego zwracajmy uwagę na kwestie typu: czy możemy przemieszczać się między różnymi polami formularza używając klawisza tab? Więcej o nawigacji na stronach internetowych za pomocą klawiatury możesz znaleźć w naszych testach obsługi ułatwień dostępu za pomocą klawiatury w różnych przeglądarkach.

Jeśli chodzi o statystyki, znaczący odsetek ludzi posiada ograniczenia ruchowe. Zgodnie z oceną Amerykańskiego Ośrodka Kontroli Chorób w artykule Disability and Functioning (Noninstitutionalized Adults 18 Years and Over, „odsetek dorosłych z borykających się z ograniczeniami ruchu: 15,1%”.

Osoby z zaburzeniami funkcji poznawczych

Do tej ostatniej kategorii należy prawdopodobnie najszerszy zakres różnych niepełnosprawności — pojęcie zaburzeń funkcji poznawczych pokrywa szereg utrudnień w funkcjonowaniu, od chorób psychicznych, trudności w uczeniu się, trudności w rozumieniu i koncentracji takich jak ADHD (zespół nadpobudliwości z deficytem uwagi), do spektrum autystycznego, schizofrenii i wielu innych typów zaburzeń. Tego rodzaju utrudnienia mogą mieć wpływ na wiele aspektów codziennego życia związanych z pamięcią, rozwiązywaniem problemów, rozumieniem, skupieniem uwagi itp.

Osoby z takimi niepełnosprawnościami mogą mieć problemy ze zrozumieniem tego jak wykonać konkretną czynność na stronie, pamiętaniem jak zrobiły to poprzednim razem lub wzrostem rozdrażnienia spowodowanego dezorientującą dla nich organizacją pracy i niespójnymi elementami układu i interfejsu strony.

W przeciwieństwie do poprzednich zagadnień dostępności, w tym przypadku niemożliwe jest zdefiniowanie szybkich i prostych technik ułatwiającym użytkowanie strony takim osobom; zamiast tego należy zadbać o zaprojektowanie strony w sposób jak najbardziej logiczny, konsekwentny i prosty w użytku, na przykład przez upewnienie się, że:

  • układ stron jest konsekwentny — elementy nawigacji, nagłówka, stopki i głównej treści są zawsze w tych samych miejscach
  • narzędzia, z których korzystać będą użytkownicy strony, są proste w użyciu
  • wielostopniowe czynności wykonywane przez użytkowników są rozłożone na kilka logicznych kroków, z regularnie pojawiającymi się informacjami o tym, w którym miejscu jesteśmy i (jeśli okaże się to potrzebne) ile kroków pozostało do zakończenia procesu
  • organizacja pracy na stronie jest logiczna i prosta, a czynności do wykonania wymagają jak najmniej interakcji ze strony użytkownika. Na przykład, bardzo często rejestracja i logowanie okazują się być niepotrzebnie złożonymi procesami
  • poszczególne podstrony nie posiadają zbyt dużo prezentowanej za jednym razem treści
  • język użyty na stronie jest tak prosty i łatwy do zrozumienia jak tylko możliwe, bez używania zbędnego żargonu
  • ważne elementy treści są wyróżnione wizualnie
  • komunikaty o błędach spowodowanych działaniem użytkownika są dobrze wyeksponowane i zawierają informacje o sugerowanym rozwiązaniu problemu

Powyższe zasady nie są tak naprawdę „technikami zapewnienia dostępności” — są po prostu dobrymi praktykami projektowania stron. Usprawnią korzystanie z naszej strony wszystkim użytkownikom i powinny być stałym standardem naszej pracy.

Jeśli chodzi o statystyki, znów mamy do czynienia z wyraźnym odsetkiem ludzi. 2014 Disability Status Report (PDF, 511KB) przygotowany przez Uniwersytet Cornella wskazuje, że w 2014 roku 4,5% populacji USA w przedziale wiekowym 21–64 lat borykała się z jakąś formą zaburzenia funkcji poznawczych.

Note: Na stronie WebAIM's Cognitive znajduje się szersze omówienie powyższych praktyk, zdecydowanie polecamy się z nią zapoznać.

Wdrażanie dostępności

Powszechnie panującym (i przeważnie błędnym) jest przekonanie, że dostępność jest drogim „ekstra dodatkiem” do projektu. To przekonanie może być prawdziwe, jeśli:

  • Próbujemy wdrożyć ją do wykonanej już strony internetowej z istotnymi problemami z dostępnością.
  • Zaczęliśmy brać pod uwagę jej wdrożenie w późnych stadiach projektu.

Jeśli jednak rozważamy dostępność od samego początku projektu, koszt jej implementacji powinien być dosyć niski.

Już na etapie planowania naszego projektu ustalmy dostępność jako stały element rutyny testowania i to element równie ważny, co pozostałe czynniki wpływające na odbiór strony w ważnych grupach docelowych (np. użytkowników komputerów stacjonarnych czy przeglądarek mobilnych). Testujmy ją często, poczynając od wczesnych etapów projektu, najlepiej wspomagając się automatycznymi testami poszukujących zdefiniowanych wcześniej błędów (takich jak brakujący tekst alternatywny przy obrazkach czy błędna budowa linku — zob. Relacje między elementami a kontekst). Nie zapominajmy też o przeprowadzaniu testów z grupami niepełnosprawnych użytkowników w celu przekonać się, jak radzą sobie oni z bardziej złożonymi funkcjonalnościami strony. Na przykład:

  • Czy widżet wyboru daty może być używany przez ludzi korzystających z czytników ekranów?
  • Jeśli zawartość strony jest ładowana dynamicznie, czy osoby niepełnosprawne wzrokowo zauważą zmianę?
  • Czy z przycisków interfejsu użytkownika można korzystać z pomocą klawiatury i ekranów dotykowych?

Możemy i powinniśmy sporządzać listy potencjalnych problemów w projekcie, które wymagać będą wypracowania dostępności. Upewnijmy się, że zostaną starannie przetestowane i pomyślmy o rozwiązaniach/alternatywach. Zawartość tekstowa (o czym przekonamy się w następnym artykule) jest łatwa do wypracowania dostępności, ale co z multimediami czy nowatorskimi grafikami 3D? Powinniśmy wziąć pod uwagę budżet projektu i racjonalnie podejść do wyboru możliwych do zrealizowania ułatwień dostępności. Możemy np. zapłacić za transkrypcję wszystkich plików dźwiękowych, co będzie drogie, ale jak najbardziej możliwe do zrealizowania.

Poza tym, bądźmy realistyczni. „Stuprocentowa dostępność” jest nieosiągalnym celem — nie unikniemy sytuacji, w których dla wielu testujących użytkowników jakaś funkcjonalność strony ciągle będzie trudna do użytkowania — jednak powinniśmy zrobić tak dużo, jak jesteśmy w stanie. Jeśli planujemy zawrzeć na stronie trójwymiarowy wykres kołowy stworzony z użyciem WebGL, możemy np. zamieścić też tabelkę z danymi jako bardziej dostępną alternatywę. Możemy też zawrzeć samą tabelkę i pozbyć się wykresu 3D — tabelka jest łatwo dostępna dla wszystkich, szybsza w wykonaniu, zużywa mniej zasobów i łatwiejsza do późniejszej edycji.

Z drugiej strony, jeśli pracujemy nad galerią internetową zawierającą ciekawe trójwymiarowe obrazy, nieracjonalnie byłoby oczekiwać, że uda się nam wypracować dostępność każdego z dzieł sztuki dla osób z zaburzeniami wzroku, w końcu jest to czysto wizualny środek przekazu.

Możemy pokazać użytkownikom, że staramy się zapewnić im jak najwięcej ułatwień dostępu — na przykład przez dodanie komunikatu wyjaśniającego, że staramy się robić wszystko co w naszej mocy, aby ułatwić im korzystanie ze strony, oraz jakie kroki poczyniliśmy, aby to osiągnąć. Jeśli ktoś zgłasza skargę na utrudnienia na naszej stronie, bądźmy empatyczni, gotowi na otwarcie dialogu, a w razie możliwości podejmijmy właściwe kroki, aby rozwiązać ten problem.

Uwaga: W naszym artykule Najczęstsze problemy dostępności i ich rozwiązania omawiamy aspekty dostępności na które powinno się zwracać szczególną uwagę.

Podsumowując:

  • Bierzmy pod uwagę dostępność od samego początku projektu, testujmy ją od wczesnych etapów i często. Tak samo jak w przypadku każdego innego błędu, problemy dostępności będą kosztować tym więcej, im później zostały wykryte.
  • Pamiętajmy, że wiele dobrych praktyk wypracowujących dostępność zaowocuje korzyścią dla każdego, nie tylko dla użytkowników z niepełnosprawnością. Na przykład, nowoczesna semantyczna składnia HTML jest korzystna nie tylko dla czytników ekranów, jest także szybka w ładowaniu i przetwarzaniu, a więc lepsza dla każdego, zwłaszcza dla osób używających urządzeń mobilnych albo posiadających wolne łącze internetowe.
  • Umieszczajmy komunikaty o dostępności na naszych stronach i angażujmy się w dialog z osobami mającymi problemy z dostępem.

Wytyczne dostępności i przepisy prawne

Istnieje wiele list i wytycznych opisujących dostępność na stronach internetowych, co może wydawać się przytłaczające na pierwszy rzut oka. Naszą radą jest oswojenie się z konkretnymi wskazówkami, które okażą się najbardziej przydatne dla danego programisty, jak również zrozumienie ogólnej logiki stojącej za wytycznymi testów istotnych dla specyfiki projektu.

  • Na początek, W3C opublikowało rozległy i wyczerpujący dokument zawierający bardzo precyzyjne i otwarte na różne technologie wytyczne spójnej dostępności. Nazywa się Web Content Accessibility Guidelines (WCAG) i zdecydowanie nie można go nazwać szybką lekturą. Kryteria są podzielone na cztery główne kategorie, każda z nich opisująca wdrożenia o różnej specyfice wykonania (np. w celu zapewnienia ułatwień wizualnych, czy też ułatwień wykonywania interakcji ze stroną). Najlepszym sposobem na zaczęcie tej lektury jest przejście przez szybkie wprowadzenie WCAG at a Glance. Oczywiście, nie ma potrzeby znania WCAG na pamięć — miejmy świadomość rozległości tematyki tego opracowania, a także faktu, iż zostało w nim opisane wiele technik i narzędzi które nie są bezpośrednio związane z kryteriami WCAG (patrz niżej).
  • W twoim państwie mogą obowiązywać konkretne przepisy regulujące poziom dostępności treści na stronach internetowych — na przykład amerykańska ustawa dot. rehabilitacji osób niepełnosprawnych, niemiecka Barrierefreie-Informationstechnik-Verordnung, ustawa o równości w Wielkiej Brytanii, włoska Accessibilità, australijska ustawa o dyskryminacji itd.

Więc podczas gdy WCAG jest po prostu zbiorem wytycznych przydatnych w projektowaniu i wdrażaniu, w twoim państwie prawdopodobnie obowiązują przepisy regulujące dostępność w Internecie, lub dostępność publicznych usług (takich jak strony internetowe, telewizja, budynki publiczne itd.). Dobrym pomysłem jest zapoznanie się z tymi prawami. Jeśli nie poczyniłeś żadnych kroków aby stworzyć odpowiednie ułatwienia dostępu, możesz mieć problemy prawne w momencie, gdy niepełnosprawni użytkownicy złożą skargę na twoją stronę.

Brzmi to poważnie, jednak aby tego uniknąć wystarczy uznać dostępność jako główny priorytet programistycznych i projektowych praktyk, tak jak przedstawiono powyżej. Jeśli masz wątpliwości co do prawnego tła dostępności, zapytaj o radę wykwalifikowanego prawnika. Nie możemy zaoferować żadnej innej rady, ponieważ nie jesteśmy prawnikami.

API dostępności

Przeglądarki internetowe używają specjalnych API dostępności (dostarczanych przez system operacyjny, na którym działają) umożliwiających operowanie na informacjach użytecznych dla technologii wspomagających (AT). AT pracują głównie na informacjach semantycznych, ignorują więc style czy skrypty JavaScript. Informacje te tworzą drzewo informacji nazwane drzewem dostępności.

Różne systemy operacyjne posiadają różne API dostępności:

  • Windows: MSAA/IAccessible, UIAExpress, IAccessible2
  • Mac OS X: NSAccessibility
  • Linux: AT-SPI
  • Android: Accessibility framework
  • iOS: UIAccessibility

Gdy lokalne dane semantyczne dostarczane przez elementy HTML naszej aplikacji internetowej zawiodą, możemy zastąpić je funkcjami ze specyfikacji WAI-ARIA, które uzupełniają drzewo dostępności o semantyczne informacje, tym samym usprawniając dostępność. Więcej o WAI-ARIA można przeczytać w naszym artykule Podstawy WAI-ARIA.

Podsumowanie

Niniejszy artykuł powinien stanowić obszerny wstęp do kwestii dostępności, pokazać czemu jest ona tak ważna i objaśnić główne metody wdrażania jej do organizacji pracy programisty. Zakładamy, że teraz czytelnik czuje głód wiedzy odnośnie szczegółowych instrukcji implementacji dostępności na stronach internetowych. Temat ten zaczniemy omawiać w następnej sekcji, skupiając się na tym, czemu HTML jest dobrą podstawą do wypracowania dostępności.

Autorzy i etykiety dokumentu

Autorzy tej strony: rokthe888
Ostatnia aktualizacja: rokthe888,