Blog (7)
Komentarze (37)
Recenzje (0)

Dostępność... zacznijmy od początku

@OrlandoDostępność... zacznijmy od początku02.10.2010 17:33

Każdy autor piszący na temat doskonale mu znany, ma tendencje do pisania w sposób skrótowy, zakładając porównywalną wiedzę czytelników. Ja także popełniłem ten błąd pisząc notatkę na temat dostępności przeglądarek internetowych i dostało mi się za to w komentarzach. Dostało mi się słusznie, bom przecież nie wyjaśnił, o co właściwie mi chodzi. Teraz postaram się naprawić ten błąd, chociaż zapewne popełnię następne. Jednak lubię się uczyć, więc i krytyka jest dla mnie użyteczna. Zacznę zatem od początku i postaram się wyjaśnić, czym jest dostępność

No to w końcu czym jest ta dostępność?

Najbardziej ogólnikowo można powiedzieć, że dostępność to możliwość używania. Kłopot polega na tym, że w języku polskim mamy jedno słowo na dwa pojęcia, które w języku angielskim mają dwa oddzielne słowa i zupełnie inne znaczenia: availability i accessibility. To o tym pierwszym znaczeniu napisał w komentarzu ktoś, że każda przeglądarka jest dostępna, bo można ją pobrać. Ja zaś pisałem w drugim znaczeniu - o możliwości używania.

Accessibility oznacza zatem dostępność wszystkich funkcji, możliwości, zawartości opisywanego obiektu, którym może być samochód, telefon komórkowy, dom lub program komputerowy. Wyobraźmy sobie bowiem osobę bardzo niską, która nie może sięgnąć do pedałów, a zatem samochód jest dla niej dostępny (kupiła go sobie),a jednocześnie nie jest dostępny, bo nie może nim jeździć. Ten brak odpowiedniego słowa jeszcze nie raz będzie sprawiał problem, ale chyba nie ma na to rady. Trzeba przyjąć, że dostępność w tekstach pisanych przeze mnie oznacza accessibility, a nie availability.

Dostępność w technologiach teleinformatycznych oznacza możliwość korzystania z tych technologii. Definicji i opisów wymyślono sporo, więc ja nie zamierzam dokładać własnych. Wygrzebałem ukutą przez starą i poważną firmę z USA i przedstawiam ją poniżej.

Można zatem przyjąć wyjaśnienie zaproponowane przez IBM na ich stronie Accessibility Q&A Accessibility means enabling IT hardware, software and services to be used by more people, either directly or in combination with assistive technology products.I od razu wyjaśnienie, czyn są te tajemniczo brzmiące technologie asystujące: Assistive technology is specialized hardware or software that is used to help increase, maintain or assist the functional capabilities of people with disabilities. It can be any device or technique that assists people in removing or reducing barriers to computing technology and information and enhances their everyday activities. An example of assistive technology is a screen reader, which uses a text-to-speech synthesizer to translate what is displayed on a screen into audible text. Zatem można przyjąć, że w tym rozumieniu dostępność oznacza możliwość korzystania z aplikacji przez osoby używające technologii asystujących.

Technologie asystujące w przypadku systemów operacyjnych i aplikacji uruchamianych pod ich kontrolą oznaczają pewien kolejny interfejs użytkownika. Ten interfejs ma za zadanie przetransformować standardowy interfejs (najczęściej GUI, czyli graficzny interfejs użytkownika) na inną formę, która będzie użyteczna w alternatywny sposób. Zatem najczęściej jej zadaniem jest zamiana obrazu interfejsu na jego dźwiękową lub dotykową reprezentację. Może też oznaczać zmianę sposobu wprowadzania danych, na przykład za pomocą wirtualnej klawiatury bądź rozpoznawania mowy.

Jak się to robi?

Do projektowania dostępnego interfejsu aplikacji można podejść na dwa sposoby: zadbać o dostępność samemu lub powierzyć to zadanie dedykowanym interfejsom programistycznym. Pierwsze podejście nie jest zbyt popularne, ponieważ wymaga od programisty włożenia dużej i - trzeba to wyraźnie powiedzieć - najczęściej niepotrzebnej pracy. W wyniku tego podejścia powstają aplikacje typu selfvoicing, czyli takie, które nie wymagają technologii asystujących. Jednak rzeczywistość jest taka, że niepełnosprawni użytkownicy komputerów najczęściej dysponują swoim własnym oprogramowaniem i niepotrzebne są im takie rozwiązania, a w skrajnych przypadkach mogą im przeszkadzać.

Dlatego preferowanym i dominującym rozwiązaniem jest stosowanie gotowych bibliotek, co daje przynajmniej częściową pewność przygotowania dostępnego interfejsu użytkownika. Firma IBM opracowała nawet IBM software accessibility checklist, gdzie każdy programista może przeczytać najbardziej skondensowane uwagi na temat tworzenia dostępnych aplikacji. Streszczając i nieco ograniczając można przyjąć trzy podstawowe zasady:

1. Każdą funkcję aplikacji można wywołać zarówno za pomocą myszy, jak i klawiatury. 2. Każdy element interfejsu powinien być interpretowalny przez technologie asystujące. 3. Każdy element graficzny powinien mieć swoją etykietę tekstową, a etykieta powinna być z nim powiązana logicznie.

W praktyce

Programowanie interfejsów w ten sposób wydaje się być ograniczające dla autora, ale to tylko pozór. Ogromna większość bibliotek graficznych zawiera w sobie odpowiednie mechanizmy, które tylko czekają na ich wykorzystanie. Bardzo często programiści po prostu nie wiedzą, do czego służą właściwości "label" lub "alt_text" kontrolek i pozostawiają je puste lub wpisują cokolwiek. Podstawowa biblioteka firmy Microsoft jest wyposażona w całą kolekcję narzędzi do uzupełniania interfejsów o brakujące informacje oraz w specjalne narzędzie inspect.exe, którego zadaniem jest testowanie dostępności interfejsu aplikacji. Podobnie jest z bibliotekami Swing i AWT w Jawie oraz we wszystkich nowoczesnych bibliotekach, a kto ciekaw, niechaj w dokumentacji wyszuka rozdział o accessibility i doczyta więcej.

Jednak zaprojektowanie interfejsu zgodnie z zasadami jeszcze wcale nie wystarcza. Trudno byłoby pisać oprogramowanie asystujące dla każdej aplikacji osobno. Dlatego powstała jeszcze jedna rodzina interfejsów pośredniczących, które służą wyłącznie tłumaczeniu zapytań technologii dostępowych skierowanych do GUI, a zwrotnie przekazujących odpowiedzi. W systemie Windows odpowiada za to MSAA (MicroSoft Active Accessibility), a w Linuksie AT-SPI. Dzięki nim programiści po prostu programują po bożemu, a resztą zajmują się programy specjalistyczne. Może się zatem zdarzyć, że programista w ogóle nie myślał o osobach niepełnosprawnych, a napisał w pełni dostępną aplikację. To się zdarza leniwym programistom, którzy korzystają z gotowych rozwiązań. Prawdziwą zmorą dla niewidomych użytkowników są ambitni i pracowici programiści, którym nie wystarczają standardowe kontrolki i tworzą własne, które - ze swej natury - z interfejsami pośredniczącymi dogadać się nie potrafią. Czasem te problemy da się jakoś ominąć, ale nie zawsze i zazwyczaj praca nie jest efektywna.

A co z treścią?

Ponieważ dyskusję wywołała moja notatka na temat dostępności przeglądarek internetowych, to trzeba jeszcze wspomnieć o dostępności treści. W wypadku wielu aplikacji dostępność samego interfejsu wystarczy, ale są takie, gdzie konieczne staje się udostępnienie zawartości, nad którą pracuje użytkownik. Przykładami mogą być edytory tekstu, arkusze kalkulacyjne, edytory dźwięku, czy wreszcie przeglądarki internetowe. Cóż bowiem użytkownikowi z tego, że może bez problemu wpisać adres strony internetowej lub pozaznaczać odpowiednie opcje w ustawieniach, gdy nie ma dostępu do treści samej strony internetowej. Otóż i na to jest sposób, który został zaproponowany przez wspominany wcześniej interfejs MSAA. Strona internetowa staje się najwyższym poziomem drzewa dokumentu, a pozostałe elementy są odpowiednio interpretowane przez oprogramowanie asystujące. W ten sposób użytkownik wie, że dany fragment tekstu jest łączem, inny grafiką, a jeszcze inny - tabelą. Nie wchodząc w szczegóły, trzeba napisać, że przez lata prac programistów i uwag użytkowników mechanizmy dostępu do strony internetowej udoskonaliły się niewiarygodnie. I wszystko byłoby dobrze, gdyby nie kolejny rodzaj dostępności, o którym już w tym tekście nie będę się rozpisywał, a mianowicie dostępności treści internetowej. Tutaj także wiele zależy od twórców stron internetowych oraz od znajomości pewnych standardów. Tak czy inaczej - ten rodzaj dostępności (treści, a nie interfejsu) musi być zaprogramowany przez autora aplikacji. Dostępność Internet Explorera, Firefoxa i rozwijana obecnie Chrome musi być zaimplementowana na etapie produkcji programu. A że nie jest to już zadanie trywialne, to w niektórych przeglądarkach odpuszczono ją całkowicie lub zrobiono częściowo.

Czy coś wyjaśniłem?

Nadal nie jestem pewien, czy moje wywody są zrozumiałe. Takie rzeczy lepiej pokazywać, niż opisywać, bo wszak jeden obraz wart jest tysiąca słów. Mam jednak nadzieję, że przynajmniej samo pojęcie dostępności będzie już znaczyło coś więcej, niż dostępność pliku instalacyjnego. Chociaż zatem język polski w tym wypadku słabo się sprawdza, to jednak mam nadzieję, że dostępność będzie miała teraz podwójne znaczenie.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.