Urzędy i instytucje publiczne powierzające wykonanie lub modyfikację serwisu internetowego podmiotowi zewnętrznemu powinny zadbać, aby wykonawca dostarczył produkt spełniający wymogi dostępności, dostosowany do potrzeb osób zagrożonych wykluczeniem cyfrowym.

Przedstawiamy przykładowy zapis klauzul i wymagań, jakie mogą się znaleźć w dokumentach, na podstawie których firma webmasterska realizuje zamówienie (np. w umowie, w specyfikacji istotnych warunków zamówienia).

Klauzule ogólne

  1. Wykonawca oświadcza, że posiada  wiedzę, kwalifikacje i umiejętności zapewniające wykonanie przedmiotu umowy na najwyższym poziomie, według standardów i norm stosowanych w tym zakresie tak, aby umowa została zrealizowana zgodnie z celem, dla którego została zawarta.
  2. Wykonawca oświadcza, że wykona pracę w sposób staranny, sumienny i prawidłowy, zgodnie ze specyfiką dzieła oraz informacjami i wytycznymi ze strony Zamawiającego.
  3. Wykonawca zapewni działanie serwisu umożliwiające spełnianie wszystkich kryteriów dostępności co najmniej na poziomie A i AA, określonych w dokumencie WCAG 2.0, wyszczególnionych w załączniku nr 4 do Rozporządzenia Rady Ministrów z dnia 12 kwietnia 2012 w sprawie Krajowych Ram Interoperacyjności, minimalnych wymagań dla rejestrów publicznych i wymiany informacji w postaci elektronicznej oraz minimalnych wymagań dla systemów teleinformatycznych (Dz.U. z 16 maja 2012 poz. 526).
  4. Jeżeli wytyczne WCAG 2.0 dopuszczają wyjątki (odstępstwa) od wskazanych w charakterystykach kryteriów sukcesu,  wykonawca zapewnia spełnienie kryterium w wymaganym zakresie (z uwzględnieniem odstępstw).
  5. Wykonawca zobowiązuje się dołączyć do dokumentacji technicznej przedmiotu zamówienia raport z przeprowadzenia wewnętrznego audytu dostępności, potwierdzającego wykonanie serwisu zgodnie z zasadami i wytycznymi WCAG 2.0 oraz określonymi poniżej szczegółowymi wymaganiami technicznymi i funkcjonalnymi.

Szczegółowe wymagania techniczne i funkcjonalne

  1. Kod HTML i CSS serwisu generowany przez szablon oraz edytor wizualny powinien być zgodny ze standardami HTML5 i CSS3.
  2. Wszystkie istotne obszary strony serwisu muszą być opisane w kodzie HTML atrybutami role zgodnie ze specyfikacją WAI-ARIA.
  3. Kolejność nawigacji oraz czytania, określona kolejnością źródłową (zdefiniowaną w kodzie  HTML) musi być logiczna i intuicyjna.
  4. Elementy treści generowanych automatycznie (np. spisy treści, wykazy odnośników) muszą prezentować powiązane informacje w zrozumiałej logicznej kolejności.
  5. Na każdej stronie musi być zapewniony mechanizm  (ukryte menu widoczne dla czytników ekranu) umożliwiający pomijanie bloków treści powtarzanych na wielu stronach i przeskok bez przeładowania strony do głównego menu nawigacyjnego, do treści głównej, do treści pobocznej oraz do wyszukiwarki.
  6. Oprócz menu i wyszukiwarki muszą istnieć dodatkowe elementy nawigacyjne umożliwiające zlokalizowanie poszukiwanej treści, na przykład: mapa witryny, dodatkowe menu lokalne, chmury tagów, zestawy łączy do tematów pokrewnych.
  7. Na wszystkich stronach serwisu należy umieścić ścieżkę powrotu (bread crumb).
  8. W menu należy zastosować wyróżnienie stanu kolorem i dodatkowo znakiem graficznym, np. strzałką, podkreśleniem.
  9. Wszystkie menu w witrynie i inne elementy nawigacyjne muszą występować zawsze w tym samym porządku i w tym samym miejscu.
  10. Wszystkie generowane automatycznie elementy identyfikacyjne stron (nagłówki, etykiety) muszą zachować taki styl, aby elementy o takiej samej funkcjonalności były identyfikowane w taki sam sposób.
  11. Przemieszczanie się między pozycjami menu za pomocą klawiszy tabulatora bądź strzałek oraz przemieszczanie się między polami formularzy musi następować w logicznej kolejności.
  12. Kod elementów nawigacyjnych (np. menu, modułów z zestawami odnośników) generowanych automatycznie musi być oparty na znacznikach list nieuporządkowanych.
  13. System musi umożliwiać nadawanie stronom unikalnych tytułów osadzanych w znaczniku title, wskazujących ich główną treść. Opcje konfiguracyjne muszą umożliwiać automatyczne dołączanie do tytułów stron tytułu (nazwy) witryny i ustawianie kolejności ich wyświetlania.
  14. Tytuły (nagłówki) generowane automatycznie, takie jak tytuły stron, tytuły kategorii, tytuły podstawowych elementów treści (artykuł, pozycja katalogowa), tytuły pobocznych treści muszą być oznakowane nagłówkami sygnalizującymi ich położenie w hierarchii treści witryny (tytuły stron – H1, tytuły kategorii i podstawowych elementów treści – H2, tytuły pobocznych elementów treści – H3).
  15. Nie mogą być stosowane mechanizmy, które powodują automatyczną zmianę kontekstu przy zmianie ustawień jakiegokolwiek komponentu interfejsu użytkownika.
  16. Żaden komponent strony nie może powodować zmiany kontekstu po zaznaczeniu tego komponentu fokusem.
  17. Dynamiczne zmiany treści jak np. komunikaty w okienkach dialogowych, ostrzeżenia, itp., odbywające się bez przeładowania strony muszą być opatrzone odpowiednimi atrybutami ARIA.
  18. Wszystkie funkcjonalności i treść witryny muszą być dostępne z interfejsu klawiatury bez wymogu określonego czasu użycia poszczególnych klawiszy.
  19. Podczas nawigacji po witrynie za pomocą klawiatury musi być widoczny fokus.
  20. Kod nie może generować „pułapek na klawiaturę” – jeśli fokus klawiatury można przenieść do jakiegoś komponentu strony, to musi również istnieć możliwość opuszczenia tego elementu za pomocą klawiatury.
  21. Oprogramowanie musi zapewniać możliwość opisywania grafik i multimediów tekstem alternatywnym bez konieczności używania trybu HTML i znajomości znaczników HTML.
  22. Wszystkie elementy graficzne użyte w celach dekoracyjnych winny być osadzone za pomocą instrukcji CSS lub posiadać pusty atrybut alt (alt="") .
  23. Obrazy wykorzystywane jako punktory w listach w miejscu opisu alternatywnego powinny zawierać jakiś znak interpunkcyjny, np. minus oddający rolę pełnioną przez element graficzny.
  24. Serwis musi być wyposażony w odtwarzacz treści audio i wideo dostępny dla osób niepełnosprawnych, w tym dla osób korzystających wyłącznie z klawiatury oraz niewidomych użytkowników czytników ekranu.
  25. Użytkownik musi mieć możliwość  kontroli głośności dźwięku we wszystkich przypadkach użycia, w tym także w przypadku muzyki w tle.
  26. Jeśli w serwisie zostaną osadzone nagrania dźwiękowe lub filmy, muszą zawierać transkrypcje lub napisy albo alternatywę przedstawiającą tę samą treść.
  27. Żadne treści nie mogą być przedstawione tylko za pomocą grafiki, jeżeli ta sama treść może być zaprezentowana przy użyciu tekstu. Wyjątkiem jest tekst, który jest częścią logo lub nazwy własnej produktu.
  28. Cele odnośników muszą wynikać z treści odnośników lub atrybutu title. Oprogramowanie musi umożliwiać dodanie do odnośników tytułu (atrybutu title) bez konieczności używania trybu HTML i znajomości języka HTML.
  29. Odnośniki będące częścią nawigacji jak np. rozwinięcia artykułów („więcej”, „czytaj więcej”) muszą być automatycznie uzupełniane tak, aby były zrozumiałe i jednoznacznie informowały użytkownika, dokąd go zaprowadzą lub jaka akcja zostanie wykonana.
  30. Odnośniki umieszczone w artykułach i innych treściach muszą się odróżniać od pozostałego tekstu nie tylko kolorem, ale dodatkowo np. podkreśleniem, specjalną ikoną.
  31. Odnośniki otwierające strony w nowym oknie muszą być oznaczone w sposób widoczny dla czytników ekranu, np. specjalną ikoną z atrybutem title.
  32. Na wszystkich stronach (we wszystkich wersjach stylistycznych) musi być zachowany kontrast między pierwszym a drugim planem (tłem) na poziomie minimalnym 4,5:1.
  33. Stronę należy wyposażyć w trzy wysokokontrastowe wersje szablonu dla osób z wadami wzroku (czarno-białą/biało czarną, czarno-żółtą i niebiesko-żółtą).
  34. Strona musi być wyposażona w przełącznik umożliwiający użytkownikom dostosowanie  rozmiaru czcionki w sposób niepowodujący utraty zawartości lub funkcjonalności serwisu.
  35. Przełączniki zmiany rozmiaru czcionki muszą być dostępne z poziomu klawiatury.
  36. Wszystkie moduły automatycznie przesuwające, przewijające treści lub migocące muszą posiadać mechanizm, który pozwoli na ich zatrzymanie lub ukrycie.
  37. Nie mogą być prezentowane treści zwiększające ryzyko napadu padaczki, czyli takie, które migają więcej niż 3 razy na sekundę.
  38. Jeżeli istnieją działania uzależnione od limitu czasu, to musi istnieć możliwość dostosowania czasu do potrzeb odwiedzającego, np. w przypadku funkcji transakcyjnych, w których ważny jest upływający czas sesji, należy zainstalować dodatek sygnalizujący upływ czasu sesji i ostrzegający przed zamknięciem sesji.
  39. System musi zapewniać możliwość tworzenia dostępnych formularzy przez osoby nieznające HTML.
  40. Wszystkie pola formularza do wprowadzenia treści muszą być oznaczane zrozumiałymi etykietami lub instrukcjami.
  41. Informacja o polach wymaganych w formularzach oraz wykrytych błędach nie może być przekazana tylko kolorem, musi być sygnalizowana także w inny sposób, np. dodatkowym opisem.
  42. Jeżeli w  formularzach zostanie wykryty automatycznie błąd, system musi wskazywać błędnie wypełniony element, a użytkownik otrzymać komunikat opisujący błąd, a jeśli to możliwe także sugestie dotyczące sposobu jego poprawy.
  43. Jeżeli zaimplementowano formularze zachowujące się tak, że po wprowadzeniu danych następuje automatyczna zmiana kontekstu (np. w ankietach, testach), użytkownicy muszą być uprzedzeni stosownym komunikatem o takim zachowaniu.
  44. W formularzach służących do przeprowadzenia operacji o znaczeniu prawnym lub finansowym należy wdrożyć wszystkie możliwe środki zapobiegające błędom w wypełnieniu, w szczególności „krok środkowy”, umożliwiający sprawdzenie poprawności danych przed ich wysłaniem.
  45. W celu ochrony formularzy przed spamem musi być zastosowane rozwiązanie dostępne także dla osób niepełnosprawnych. W przypadku zastosowania CAPTCHA, nie może to być rozwiązanie oparte wyłącznie na wzroku lub słuchu.
  46. Język naturalny musi być oznaczony automatycznie w kodzie HTML każdej strony na podstawie ustawienia w konfiguracji witryny. Na stronach innojęzycznych również musi następować automatyczne przełączenie oznaczenia języka.
  47. Oprogramowanie musi umożliwiać oznaczanie atrybutem lang elementów innojęzycznych umieszczonych wewnątrz artykułów i innych treści.
  48. W strukturze treści należy przewidzieć miejsce na stronę ze słownikiem wyrazów trudnych i skrótów.
  49. Wszystkie treści i usługi serwisu muszą być dostępne także przy wyłączonej obsłudze JavaScript.
  50. Filmy wideo w języku migowym dodane do wskazanych treści muszą być wykonane w Polskim Języku Migowym przez osoby posiadające certyfikat biegłej znajomości języka migowego i doświadczenie w tłumaczeniach audiowizualnych.