Dostępność

Wypadałoby zacząć od definicji tego, czym właściwie jest dostępność. Pozwolę sobie zacytować Wikipedię:

[…] inclusive practice of ensuring there are no barriers that prevent interaction with, or access to, websites on the World Wide Web by people with physical disabilities, situational disabilities, and socio-economic restrictions on bandwidth and speed.

[[…] inkluzywna praktyka usuwania barier, które uniemożliwiają interakcję i dostęp do stron WWW osobom z niepełnosprawnościami oraz osobom z socjoekonomicznymi ograniczeniami transferu i szybkości połączenia.]

Dostępność to prawo człowieka, wpisane do systemów prawnych wielu państw. To także sposób na zapewnienie równości poprzez zagwarantowanie porównywalnego doświadczenia dla pełnosprawnych osob użytkowniczych i osób użytkowniczych z niepełnosprawnościami.

Słysząc taką definicję, można się zastanowić, czy faktycznie dostępność jest aż tak istotna? W końcu dotyczy “tylko” osób z niepełnosprawnościami. Zatem szybki rzut na statystyki. Według oficjalnych danych Komisji Europejskiej, 27% osób powyżej 16 roku życia w Unii ma jakąś formę niepełnosprawności. Mówiąc inaczej: jedna osoba na cztery ma niepełnosprawność. Więc tak, dostępność jest niezwykle istotna. No chyba, że nie interesuje nas jakaś 1/4 potencjalnego rynku. Dlatego też dostępność nie jest ficzerem, który można dodać, a podstawą produktów cyfrowych. Coraz częściej wymaganą już na poziomie prawa.

A mimo to najnowsze badania pokazują, że przytłaczająca większość Sieci nie jest dostępna. A przynajmniej – nie dla wszystkich. I tak po prawdzie jest to wina nas jako społeczności webdeveloperskiej. Bo nie przykładamy wystarczającej wagi do tematu dostępności, odmawiając tym samym części osób możliwości korzystania z naszych stron WWW. Często wynika to z niewiedzy. Dostępność wciąż jest dość mało odkrytą niszą. Często uważa się ją za niezwykle trudną, a przez to – potencjalnie zagrażającą kolejnym deadline’om. Dlatego też jest odsuwana nieustannie na bok. A skoro jest odsuwana na bok, to nie ma potrzeby, by pogłębiać wiedzę z nią związaną. Często nam, jako osobom webdeveloperskim, po prostu nie zależy. A przecież każda strona i aplikacja internetowa powinny być dostępne!

Niewiedza bardzo często prowadzi do powstania mitów o dostępności. Swego czasu sam kilka z nich obalałem. Boimy się dostępności, myśląc, że to jakaś krwiożercza bestia. Gdy tymczasem małe zmiany często mogą poprawić doświadczenie dla wszystkich osób użytkowniczych, nie tylko tych z niepełnosprawnościami. Tak, dostępność ma służyć włączaniu osób z niepełnosprawnościami, ale bardzo często pomaga także innym osobom. Ot, choćby odblokowanie możliwości powiększania strony na urządzeniu mobilnym. Być może ktoś chciałby położyć telefon nieco dalej od siebie i żeby wciąż widzieć treść, nieco ją powiększa. To, co jest przystosowaniem dla osób z wadą wzroku, może być również pomocne dla osoby bez tej wady. I o tym się często zapomina.

Mamy potrzebne narzędzia do uczynienia Sieci bardziej dostępną. Wystarczy po nie sięgnąć i skorzystać.

Spektrum

Dostępność nie jest jakimś punktem, do którego się zmierza i który można osiągnąć. Nie jest też zerojedynkowa. Czasami w środowisku webdeveloperskim pokutuje przekonanie, że albo trzeba zrobić dostępność idealnie, albo wcale. Tylko że nie ma ono najmniejszego sensu. Idealna dostępność oznacza najczęściej zgodność ze standardem WCAG. Podczas, gdy my będziemy grzęznąć w dziesiątkach lub nawet setkach problemów, próbując dopasować wszystkie dostępnościowe puzzle tak, aby powstał z tego spójny obrazek, nasze osoby użytkownicze będą się dalej męczyć z niedostępnym rozwiązaniem. Najlepiej pogodzić się z tym, że nasze pierwsze próby zapewnienia dostępności będą żenujące złe. Ale jeśli będziemy próbowali na bieżąco poprawiać różne problemy, to za którymś razem efekty zaczną być wyraźnie widoczne. A osoby użytkownicze zdecydowanie bardziej docenią poprawioną możliwość nawigacji klawiaturą – nawet jeśli to byłoby jedyne usprawnienie –  niż super-hiper-ekstra-dostępną wersję, na którą musiały czekać trzy lata. Bo prawdopodobnie za te trzy lata tych osób użytkowniczych już nie będzie na naszej stronie.

Dlatego lepiej skupić się na dowożeniu małych zmian w miarę regularnych odstępach czasu. Często dużo rzeczy da się poprawić relatywnie niskim kosztem. A nawet i ten przerażający WCAG staje się bardziej znośny, gdy mówi się o nim prostym językiem. Wówczas okazuje się, że wymogi w nim opisane są jak najbardziej sensowne i nawet nie takie trudne do spełnienia.

No i  – jest pewna grupa osób użytkowniczych, która zdecydowanie bardziej niż inne skorzysta na poprawieniu dostępności. To osoby z niepełnosprawnością. Być może dobrym pomysłem jest otwarta komunikacja. Zapytanie wprost, co sprawia im najwięcej problemów w trakcie korzystania ze strony. Dzięki temu zbierzemy opinie, które pozwolą nam na przyszpilenie najważniejszych problemów, które trzeba rozwiązać w pierwszej kolejności. Nie należy się wstydzić tego, że ktoś nam wytknie jakiś błąd – zwłaszcza, jeśli sami o to zapytaliśmy. Jak już go wytknie, po prostu trzeba zakasać rękawy i naprawić!

Kultura dostępności

Dostępność nie jest czymś, co można zrobić raz i zapomnieć o tym na wieki. Dostępność to proces, podczas którego trzeba nieustannie monitorować, czy wprowadzane przez nas w produkcie zmiany nie powodują pogorszenia się dostępności. Dostępność w świecie cyfrowym pod tym względem jest analogiczna do dostępności w świecie fizycznym. Wyobraźmy sobie, że prowadzimy aptekę i dla osób poruszających się na wózkach inwalidzkich przygotowaliśmy rampę. Jeśli w tym momencie odhaczymy dostępność, to bardzo szybko okaże się, że osoby na wózkach nie są w stanie dotrzeć do naszej apteki. Bo właśnie nadeszła zima i nikt nie pomyślał o tym, żeby odgarnąć z rampy ten cały śnieg, który napadał przez noc. Tak samo jest ze stronami internetowymi: jeśli nie będziemy nieustannie dbać o naszą metaforyczną rampę, bardzo szybko przestanie być dostępna.

W monitorowaniu niemal każdego procesu bardzo pomaga wytworzenie organizacyjnych podstaw takiego działania. Jeśli coś zostanie zapisane w jakimś oficjalnym miejscu (dajmy na to wewnętrznej dokumentacji dla osób webdeveloperskich), jest zdecydowanie większa szansa, że będzie to przestrzegane. A skoro mamy już to zapisane, to można pokusić się o kolejny krok: wytworzenie kultury organizacyjnej wokół tematu. I choć brzmi to podniośle, w rzeczywistości jest dość proste. Chodzi o stworzenie takiego środowiska, w którym dostępność staje się naturalnym elementem całego developmentu. Środowiska, w którym nikt nie musi myśleć o tym, że trzeba jeszcze popracować nad dostępnością, bo to po prostu się dzieje.

Ale żeby takie środowisko powstało, potrzebna jest wysoka świadomość istnienia problemu. Tej z kolei nie będzie, jeśli w organizacji nie będzie wiedzy z danego zakresu. I to powinien być pierwszy krok: zadbanie o to, aby każdy w organizacji wiedział, czym jest dostępność, dlaczego jest tak istotna i w jaki sposób o nią zadbać. Można to osiągnąć przez organizację warsztatów czy szkoleń. A kiedy wiedza już będzie, można przejść do jej praktycznego wykorzystania. Dobrym początkiem może być poprawa istniejących błędów w tworzonych produktach. Potem warto zająć się działaniami prewencyjnymi, takimi jak powołanie specjalnego zespołu, który byłby odpowiedzialny za dostępność. Jego zadaniem byłoby dbanie o to, by dostępność w produktach się nie pogarszała, oraz, żeby jak najmniej nowych problemów z dostępnością się pojawiało wraz z nowymi ficzerami. Wreszcie zespół taki powinen dbać, żeby wiedza o dostępności nie zanikała, a wręcz przeciwnie – była pogłębiana na poziomie całej organizacji.

Oczywiście prace takiego zespołu warto wspomóc odpowiednimi zasadami, takimi jak wymóg review dostępności każdego nowego ficzera przed jego wypuszczeniem w świat. Brutalne, ale skuteczne. Zresztą brutalne tylko na początku, po pewnym czasie stanie się to po prostu kolejną częścią procesu. I o to właśnie chodzi: żeby sprawy związane z dostępnością były naturalne. Można to wprowadzać pomału – od poprawiania rzeczy typu niepoprawne teksty alternatywne dla obrazków, poprzez zadbanie o dostępność design systemu, na przemyceniu zwyczaju testowania z osobami użytkowniczymi kończąc.

I zanim ktokolwiek się zorientuje, dyskusja nad dostępnością jakiegoś ficzera będzie tak samo zwyczajna, jak dyskusja o tym, którego frameworka JS użyć. Bo dostępność stanie się jednym z fundamentów procesu developmentu.

Samolubna dostępność

Chyba każda osoba pamięta sytuację ze szkoły, gdy w końcu udało się dopchać do szkolnego sklepiku i kupić paczkę ulubionych chipsów. Wystarczyło ją otworzyć, by obok nas od razu pojawił się tłum osób, które chciały spróbować. Ten egzystencjalny ból, towarzyszący każdemu chipsowi znikającemu gdzieś, pozostał już ze mną na zawsze…

Czy byłem samolubny, nie chcąc się dzielić z innymi? Oczywiście że tak (chociaż w przypadku szkoły zgadzam się z osobami zajmującymi się biologią ewolucyjną, że po prostu próbowałem przetrwać w niesprzyjającym środowisku!). Niemniej okazuje się, że samolubność można wykorzystać także w o wiele bardziej konstruktywny sposób.

Pełnosprawność zwykle postrzega się jako coś stałego i pewnego. Prawda jest jednak zgoła inna: wszyscy jesteśmy pełnosprawni jedynie tymczasowo. A najlepiej ten pogląd weryfikuje wiek. W końcu dość naiwnym byłoby założenie, że w wieku 75 lat będziemy tak samo sprawni, jak w wieku 30 lat. Kurczę, sam mam 30 lat i ze zdziwieniem stwierdziłem, że bolą mnie miejsca, o których istnieniu w wieku 20 lat nawet nie miałem pojęcia! A przecież nie tylko wiek wpływa na naszą pełnosprawność. Istnieje niemal nieskończona liczba zdarzeń losowych, w wyniku których pełnosprawność może zostać komuś odebrana – choćby tymczasowo. Nieszczęśliwy upadek na lekcji wf-u w trakcie gry w piłkę nożną może zakończyć się połamaniem ręki lub nogi. Zapalenie spojówek może skutecznie utrudnić widzenie. W końcu – slapstickowa skórka od banana tuż przed schodami do piwnicy może nam zrobić kawał, który śmieszny jest tylko w kreskówkach…

Pełnosprawność to przywilej, który bardzo łatwo stracić. I tutaj na scenę wkracza samolubna dostępność. Nie jest to nowy pomysł, po raz pierwszy przeczytałem o nim u Adriana Roselliego w 2017 roku. Założenie jest proste: wykorzystajmy samolubność jako motywację do tworzenia dostępnych rozwiązań! Na pierwszy rzut oka brzmi to dość absurdalnie – w końcu czy dostępność nie ma pomagać innym, nie zaś mnie? Ale haczyk, jak zawsze, tkwi w szczegółach. W końcu nikt z nas nie wie, kiedy trafi na tę nieszczęsną skórkę od banana. Zresztą nie potrzeba aż tak drastycznych środków. Wystarczy spróbować skorzystać z internetu, będąc na zewnątrz w słoneczny dzień. Albo wykonać przelew przez bankowość elektroniczną, jedząc równocześnie kanapkę z dżemem malinowym, która skutecznie absorbuje jedną z naszych rąk. Albo, w końcu: wyobrazić sobie siebie jako osobę w podeszłym wieku, która próbuje korzystać z internetu w sposób komfortowy.

W każdej z tych sytuacji skorzystalibyśmy na stronach i aplikacjach, które są tworzone w sposób dostępny. Ot, choćby ten słoneczny dzień. Zdecydowanie łatwiej byłoby nam odczytać cokolwiek na ekranie, gdyby był zachowany odpowiednio wysoki kontrast. Albo ta kanapka z dżemem malinowym, absorbująca jedną rękę, nie byłaby problemem, gdyby stronę dało się obsługiwać wyłącznie klawiaturą. Z kolei jako osoba w podeszłym wieku zapewne skorzystalibyśmy na odpowiednio dużym rozmiarze tekstu. Ale żebyśmy mogli w tych wszystkich sytuacjach skorzystać z tych dobrodziejstw, najpierw ktoś musi o nie zadbać na tych stronach i w tych aplikacjach. A jako osoby webdeveloperskie to my jesteśmy tym kimś.

Zatem: bądźmy samolubni w dostępności, bo nigdy nie wiadomo, kiedy będziemy jej potrzebować!

Dostępność a estetyka

Jest jeszcze małe słoniątko w skladzie porcelany: przekonanie, że dostępność nie bardzo lubi się z estetyką. Prawdopodobnie wiem, skąd takie twierdzenie się wzięło – ze złego doboru kolorów spełniających wymogi WCAG dotyczące odpowiednio wysokiego współczynnika kontrastów. I tak, można znaleźć przykłady, które – dosłownie – bolą w oczy. Jaskrawy żółty kolor na czarnym tle ma absurdalnie wysoki współczynnik kontrastu i jest dostępny według standardu. Ale nie jest zbyt ładny, przyznaję.

Tylko że to ekstremalny przypadek. Można dobrać kolory tak, żeby były zarówno dostępne, jak i przyjemne wizualnie. Narzędzie Randoma11y pokazuje losowe zestawienia kolorów, które spełniają wymogi dotyczące współczynnika kontrastu, a równocześnie: nie bolą w oczy. Co więcej, stosowanie się do ogólnie uznanej normy dostępności sprawia często, że informacje prezentowane są w zdecydowanie czytelniejszy sposób. Tym samym też – estetyczniejszy. Alex Chen pokazuje kilka dobrych tego przykładów. A Duncan Stephen idzie jeszcze dalej, stwierdzając:

If you can’t make your poster both readable and good looking, you might not be a good designer.

[Jeśli nie jesteś w stanie sprawić, aby twój plakat był równocześnie czytelny i ładny wizualnie, to być może nie jesteś dobrą osobą designerską.]

Źródła

Dodatkowe materiały