Jak utrzymać dostępność cyfrową w dłuższym terminie?
Nawet najbardziej dostępnej stronie internetowej, aplikacji webowej lub mobilnej grozi “erozja dostępności”. Każda nowa podstrona, artykuł na blogu, aktualizacja treści czy struktury, a nawet aktualizacja systemu zarządzania treścią (CMS) lub wykorzystywanej przez aplikację biblioteki (np. języka JavaScript) może mieć efekt uboczny, którym jest problem z dostępnością.
Świadomość tego ryzyka to pierwszy krok. Nie da się go całkowicie uniknąć, ale można je zminimalizować. Do tego potrzebny jest plan.
Strategia zapewniania (i utrzymania!) dostępności cyfrowej to tak naprawdę odpowiedź na pytanie "Jak dbamy o dostępność naszej aplikacji?". Odpowiedź ta nie musi być długa czy skomplikowana, w wersji minimalnej powinna obejmować następujące obszary:
Świadomość tego, czym jest dostępność i dlaczego należy o nią dbać
Wiedza na temat projektowania, tworzenia i testowania dostępnych rozwiązań
Proces wytwarzania oprogramowania zawierający elementy zapewniania dostępności
Automatyzacja testów dostępności
Monitorowanie dostępności na produkcji
Regularne testy wykonywane przez użytkowników z niepełnosprawnościami
Uczenie się na własnych błędach
Oto wskazówki w jaki sposób zrealizować powyższe punkty w praktyce:
Świadomość tego, czym jest dostępność i dlaczego należy o nią dbać
Ludzie, którzy nie wiedzą nic o perspektywie osób z niepełnosprawnościami, nie będą w stanie utrzymywać dostępnej aplikacji. Trudno dbać o coś, o czym nie ma się pojęcia.
Dlatego kluczowym tematem do zaadresowania w celu utrzymania dostępności cyfrowej w dłuższym okresie jest edukacja. Podstawowe szkolenie dla zespołów czy pojedynczych pracowników nie zajmuje i nie kosztuje dużo (2-3h, kilkaset złotych), a bez niego wszystkie inne wymienione w tym artykule działania nie mają szans powodzenia.
Osoby odpowiedzialne za utrzymanie muszą mieć przynajmniej minimalny poziom empatii w stosunku do osób z niepełnosprawnościami i minimalny poziom wiedzy na temat dostępności cyfrowej. To niewielka, ale najważniejsza inwestycja jaką należy poczynić aby utrzymać dostępność w dłuższym terminie.
Wiedza na temat projektowania, tworzenia i testowania dostępnych rozwiązań
Każda nowa funkcjonalność systemu, ekran aplikacji czy podstrona serwisu internetowego powinna być zaprojektowana, zakodowana i przetestowana w zgodzie z zasadami dostępności.
Członkowie zespołu, dla których dostępność cyfrowa nie jest już nowym terminem (patrz wyżej), w drugim kroku mogą (i powinni) zdobyć praktyczne umiejętności z tego zakresu. Każda z ról w firmie ma udział w tworzeniu dostępnych rozwiązań i każda z nich napotyka specyficzne wyzwania - od Product Ownera, przez analityków, projektantów UX programistów, testerów, DevOpsów po specjalistów wspierających użytkowników końcowych. Warto więc dopasować szkolenia z dostępności do konkretnego stanowiska i konkretnych potrzeb. Każde stanowisko w firmie czy instytucji to inne problemy do rozwiązania, inne zestawy wykorzystywanych narzędzi i inne umiejętności.
Zespół trzeba przeszkolić, ale trzeba zrobić to w sposób przemyślany:
zespołowi UX doradzić jak wbudować dostępność w design system i działać w Figmie
specjalistom UI pokazać przykłady dobrych i złych rozwiązań
testerkom i testerom przekazać praktyczną wiedzę na temat sprawdzania wytycznych WCAG i narzędzi usprawniających testowanie
z DevOpsami przeprowadzić warsztaty z automatycznej walidacji dostępności i wpiąć ją w potok CI/CD
dział supportu zapoznać ze szczególnymi potrzebami użytkowników z niepełnosprawnościami i przećwiczyć formy wsparcia dla tych osób
Uzbrojony w takie umiejętności zespół uniknie najczęściej spotykanych pułapek dostępności i ma dużo większe szanse na jej utrzymanie, a nawet poprawienie w kolejnych wersjach.
WAŻNE: Zarówno szkolenia wstępne jak i te specjalistyczne trzeba powtarzać. Wiedza nie odświeżana wyparowuje. Pomyślcie również o szkoleniu z dostępności cyfrowej dla każdego nowego członka Waszego zespołu.
Proces wytwarzania oprogramowania zawierający elementy zapewniania dostępności
Skoro już wiemy co mamy robić, to teraz już "tylko" wystarczy to robić, prawda? Jak jednak sprawić, aby pewne rzeczy po prostu się działy (projektowanie, tworzenie, testowanie dostępnych rozwiązań) a pewne nie (błędy dostępności)? Odpowiedzią jest proces.
Proces ciągłego zapewniania dostępności cyfrowej może mieć różne formy i wykorzystywać wiele metod i środków. Kilka najbardziej popularnych, bez wchodzenia w szczegóły:
wytyczne zawierające dobre i złe praktyki projektowania UX i UI
listy kontrolne (checklisty)
manualne testy dostępności będące częścią DoD (Definition of Done)
zautomatyzowane testy dostępności - jednostkowe, integracyjne i systemowe - więcej na ten temat poniżej
regularne testy i konsultacje z użytkownikami ze szczególnymi potrzebami
skanery monitorujące dostępność aplikacji na produkcji
regularne audyty dostępności przeprowadzane przez osoby z organizacji lub zewnętrzne firmy
Każde z wyżej wymienionych działań to temat na osobny artykuł (tak, będziemy o tym pisać). Każde z nich jest również dobrym kandydatem na dodatkowy krok w procesie wytwarzania i utrzymania oprogramowania (SDLC) - krok dedykowany dostępności cyfrowej.
Jeśli potrzebujesz pomocy w stworzeniu takiego procesu od podstaw, zbudowaniu całościowej strategi testów (nie tylko dostępności) czy wdrożeniu praktyk CI/CD lub DevOps - w tym również możemy pomóc, mamy w tym duże doświadczenie.
Automatyzacja testów dostępności
Kolejny stopień wtajemniczenia, a przy okazji duża optymalizacja czasu i kosztów. Skoro już wiemy jak testować (bo jesteśmy przeszkoleni) i robimy to regularnie (bo mamy proces), dlaczego nie zautomatyzować sobie najprostszych i najbardziej powtarzalnych (a więc i najnudniejszych) testów? Wybór narzędzi do testowania dostępności cyfrowej jest szeroki, część z nich jest darmowa.
Wdrożenie automatyzacji nie powinno jednak zaczynać się od wyboru narzędzia. Należy przemyśleć i zdefiniować swoje potrzeby, budżet, wziąć pod uwagę specyfikę produktu, wykorzystywane w organizacji technologie oraz już wykorzystywane narzędzia. Następne kroki to POC (proof of concept), projekt pilotażowy i dopiero stopniowe wdrażanie w całej organizacji. Dobre praktyki wdrażania narzędzi są powszechnie znane i dobrze opisane, na przykład w syllabusie ISTQB Foundation, znanym większości testerów oprogramowania.
Zautomatyzowane testy dostępności nie wykryją wszystkich problemów i MUSZĄ im towarzyszyć inne rodzaje testów, przede wszystkim testy z użytkownikiem z niepełnosprawnością.
Monitorowanie dostępności na produkcji
Wspomniana na wstępie erozja dostępności to zjawisko naturalne, jak każdy rodzaj erozji. Trudno z nim walczyć, szczególnie jeśli się go nie mierzy. Regularne, automatyczne skany dostępności aplikacji dostarczą nam informacje o:
liczbie defektów dostępności w produkcyjnej wersji naszej aplikacji
typach tych problemów
trendach dostępności całego systemu jak i poszczególnych modułów
Wszystko w formie czytelnych raportów, które można konfigurować według uznania. Wykorzystując narzędzia open source można również dowolnie rozszerzać funkcjonalność takiego monitoringu, dodając np. informacje o niespełnionych wytycznych WCAG, rekomendacje poprawek czy tłumaczenia na inne języki.
Utrzymanie dostępności dużych portali internetowych i intranetowych, sklepów internetowych, serwisów instytucji publicznych, edukacyjnych czy kulturalnych, w których nowe treści i modyfikacje ukazują się niemal każdego dnia bez poprawnie wdrożonego monitoringu będzie bardzo trudne.
Regularne testy wykonywane przez użytkowników z niepełnosprawnościami
Nic, ale to naprawdę nic, nie zastąpi testów z realnym użytkownikiem z niepełnosprawnością. Nie jesteśmy w stanie zasymulować niepełnosprawności, nie korzystamy na co dzień z technologi asystujących, po prostu inaczej odbieramy otaczający świat i inaczej korzystamy z jego cyfrowych zasobów.
Dlatego regularne sprawdzanie dostępności utrzymywanej przez nas strony czy aplikacji jest koniecznością. Bez tego, nigdy tak naprawdę nie będziemy wiedzieć czy osoby ze szczególnymi potrzebami mogą i chcą korzystać z naszego produktu.
Regularne testy z użytkownikiem z niepełnosprawnością nie kosztują dużo, a mogą zmienić naprawdę wiele. Szczególnie, kiedy do testów angażujemy osoby z doświadczeniem w tego typu projektach - które wiedzą jak raportować swoje spostrzeżenia w języku zrozumiałym dla specjalistów IT.
Grupy i społeczności osób z niepełnosprawnościami pełne są poleceń dostępnych serwisów i usług, znajdziemy tam również wiele skarg i narzekań. Zadbajmy o to, aby aplikacja którą tworzymy znalazła się w tej pierwszej grupie.
Uczenie się na własnych błędach
Nawet po wdrożeniu wszystkich wymienionych powyżej mechanizmów problemy z dostępnością będą się pojawiać. Nie ma rozwiązań idealnych i ludzi nieomylnych. Stwórzmy więc możliwość łatwego raportowania problemów z dostępnością cyfrową:
w dziale obsługi klienta (supportu), za pomocą np. naprawdę dostępnego formularza
wśród osób odpowiedzialnych za rozwój systemu, np. przez wprowadzenie nowej kategorii "dostępność" w systemie obsługi defektów (Jira, Trello, Azure DevOps, itp.)
na podstronie z deklaracją dostępności, jasno i klarownie podając w jaki sposób można to zrobić i zachęcając do udzielania informacji zwrotnej
Zgłoszone tymi kanałami problemy należy oczywiście poprawić i przedyskutować. Retrospekcja, czyli spotkanie podsumowujące ostatni projekt/iterację/sprint/okres jest na to świetną okazją. Zarezerwujcie czas podczas tego spotkania na omówienie tematów związanych z dostępnością. Możecie też zaprosić osobę z niepełnosprawnością, albo zastanowić się jakich umiejętności z tego obszaru brakuje członkom zespołu i jak je zdobyć. Dla chcącego nic trudnego.
Jak widać, utrzymanie dostępności w dłuższym okresie można realizować na wiele sposobów. Nie ma potrzeby wdrażać wszystkich elementów jednocześnie, nie jest to nawet wskazane. Każdy pojedynczy krok będzie krokiem w dobrą stronę, czyli w stronę dostępności. Ważne, by nie tracić z oczu głównego celu i dobierać środki odpowiednio do kontekstu - czyli aspiracji i możliwości.
Dariusz Drezno
Współzałożyciel Accens, odpowiedzialny za obszar operacji
Konsultant z zakresu testowania oprogramowania z dwudziestoletnim stażem. Menedżer zespołów testów i QA. Budował strategie testów dla największych korporacji i startupów. Współtwórca KraQA, studiów podyplomowych i kursów testowania. Certyfikowany IAAP Certified Profesional in Accessibility Core Competencies (CPACC).
Utrzymywanie dostępności to długa droga. Chętnie będziemy Ci w niej towarzyszyć, tak jak towarzyszymy wszystkim naszym klientom i partnerom. Mamy doświadczenie w każdym z wyżej wymienionych obszarów, którym uwielbiamy się dzielić.