Dyskusja o tym Poście

Awatar użytkownika User
Awatar użytkownika Mikołaj Rotnicki

Jacek, tutaj mam poważny problem nie tylko z doborem słów, ale z samym tokiem rozumowania.

Piszesz o ekranie wprowadzania kodu PIN w iPhonie: „A ekran blokady jest jeszcze o warstwę wyżej, bo to system, nie aplikacja”. W kontekście całego tekstu nie jest to wyłącznie luźne techniczne dopowiedzenie. To rozróżnienie zostaje użyte przy zastanawianiu się, co właściwie oceniamy i czy konkretne wymagania dostępności mają zastosowanie.

I właśnie tutaj, moim zdaniem, pojawia się zasadniczy błąd.

„System” i „aplikacja” nie są przeciwstawnymi kategoriami. System operacyjny nie jest jednym monolitycznym programem, który bezpośrednio tworzy wszystkie ekrany widziane przez użytkownika. Składa się z jądra, sterowników, usług, bibliotek, procesów, aplikacji systemowych i innych komponentów. Tak jest w iOS, macOS, Windows, Linuksie i innych systemach.

Interfejsy, z którymi użytkownik rzeczywiście wchodzi w interakcję, są realizowane przez konkretne oprogramowanie. Apple samo mówi o „built-in apps” i „system apps”. Telefon jest aplikacją. Wiadomości są aplikacją. Ustawienia są aplikacją. SpringBoard, odpowiedzialny za znaczną część interfejsu iOS, również jest przez Apple określany jako aplikacja. To, że aplikacja lub komponent jest integralną częścią systemu operacyjnego, nie powoduje, że przestaje być oprogramowaniem czy aplikacją systemową.

Dlatego stwierdzenie „to system, nie aplikacja” tworzy fałszywą alternatywę.

Poprawne rozróżnienie mogłoby brzmieć: to nie jest ekran aplikacji zewnętrznej, lecz ekran interfejsu dostarczanego przez oprogramowanie systemowe iOS. To jednak zupełnie co innego.

I właśnie w kontekście dostępności ta różnica jest bardzo ważna.

EN 301 549 ma cały rozdział dotyczący oprogramowania niewebowego. Obejmuje między innymi platform software, czyli oprogramowanie platformy, oprogramowanie posiadające interfejs użytkownika oraz aplikacje mobilne. Systemy operacyjne są wprost przykładem platform software.

WCAG2ICT również wprost odnosi wymagania WCAG do oprogramowania, w tym do oprogramowania platformy i systemów operacyjnych.

Prawidłowe pytanie nie brzmi więc: „czy to system, czy aplikacja?”.

Prawidłowe pytanie brzmi: „który element oprogramowania tworzy ten interfejs, którą warstwę właśnie oceniamy i kto za nią odpowiada?”.

Jeżeli badam aplikację X, a ona uruchamia interfejs należący do iOS, mogę dojść do wniosku:

„Ten problem nie należy do aplikacji X, lecz do oprogramowania platformy iOS”.

To jest prawidłowe rozdzielenie odpowiedzialności.

Nie można jednak przejść od tego do:

„To system, a nie aplikacja, więc pojawia się pytanie, czy podlega takiej ocenie”.

Oprogramowanie systemowe również podlega wymaganiom dostępności. To, czy konkretny audyt obejmuje system operacyjny, jest zupełnie innym pytaniem dotyczącym zakresu audytu, zamówienia, produktu albo obowiązku prawnego.

„Nie znajduje się w zakresie tego audytu” nie oznacza „nie podlega wymaganiom dostępności”.

To rozróżnienie uważam za fundamentalne.

Mam też drugi problem z przykładem z PIN-em.

Nie uczestniczyłem w spotkaniu, na którym Rafał Charłampowicz przedstawił ten przypadek. Czasami uczestniczę w tych spotkaniach, ale akurat tej dyskusji nie słyszałem. Dlatego jako czytelnik artykułu chciałbym się dowiedzieć, co konkretnie Rafał uznał za problem.

Z tekstu dowiaduję się jedynie, że ekran PIN „teoretycznie łamie kilka kryteriów sukcesu” i że poprawianie go zgodnie z literalnym odczytaniem tych kryteriów mogłoby pogorszyć użyteczność.

Ale jakich kryteriów?

Co konkretnie na ekranie ma stanowić naruszenie?

Jakie zachowanie zostało zaobserwowane?

Dlaczego zastosowanie danego kryterium miałoby prowadzić do pogorszenia interfejsu?

Czy Rafał rzeczywiście twierdził, że ekran formalnie nie spełnia tych kryteriów, czy przedstawiał raczej przypadek problematycznej interpretacji?

Bez tych informacji osoba, która nie uczestniczyła w spotkaniu, nie ma możliwości zweryfikowania punktu wyjścia całego przykładu.

A przecież jest to tekst właśnie o tym, kiedy coś „przechodzi”, a kiedy „nie przechodzi”.

Dlatego taki przypadek powinien być moim zdaniem pokazany w prostym ciągu:

obserwowane zachowanie,

konkretne kryterium,

warunki zastosowania kryterium,

odpowiednia interpretacja WCAG2ICT lub EN 301 549,

wynik oceny.

Dopiero wtedy można uczciwie dyskutować o pass/fail.

Zgadzam się natomiast z ważną częścią Twojej ogólnej tezy: nie należy na siłę dobierać kryterium WCAG do każdego problemu z użytecznością. Użyteczność nie jest tym samym co zgodność z WCAG. Rekomendację wykraczającą poza normę trzeba odróżniać od formalnej niezgodności.

Ale właśnie dlatego przykład z PIN-em wymaga szczególnej precyzji.

Tym bardziej że w poprzednim tekście o nowej EN 301 549 sam słusznie zwracałeś uwagę na architekturę produktu i wymagania dotyczące oprogramowania. Tutaj natomiast cała złożoność tej architektury zostaje nagle sprowadzona do zdania „system, nie aplikacja”.

To jest bardzo daleko idące uproszczenie i, moim zdaniem, w tekście dotyczącym metodologii oceny dostępności może prowadzić do szkodliwych wniosków.

Podobnie jak przy mojej wcześniejszej uwadze dotyczącej siedmiu kryteriów wyłączonych dla aplikacji mobilnych: formalny zakres zastosowania konkretnego kryterium jest niezwykle ważny, ale nie oznacza, że potrzeba użytkownika znika, że problem przestaje być problemem dostępności albo że interfejs oprogramowania platformy znajduje się poza obszarem dostępności tylko dlatego, że jest elementem systemu operacyjnego.

Dlatego chętnie zobaczyłbym uzupełnienie tego przykładu o konkretne kryteria wskazane przez Rafała i dokładne rozumowanie prowadzące do wniosku o ich potencjalnym niespełnieniu.

Bo na razie przykład, który miał pokazać potrzebę ostrożnego stosowania kryteriów, sam opiera się na bardzo problematycznej klasyfikacji „system kontra aplikacja”. I właśnie tę część uważam za wymagającą zasadniczej korekty.

Jeszcze 1 komentarz...

Brak Postów

Gotowy na więcej?