Preferencje osoby użytkowniczej
Na świecie istnieje tylko jedna osoba, która w pełni rozumie, jakie są potrzeby konkretnej osoby użytkowniczej – ta osoba użytkownicza. Jednym z filarów inkluzywnego designu jest oddawanie kontroli w ręce osoby użytkowniczej. W praktyce oznacza to możliwość wpływania na to, w jaki sposób strona działa i wygląda. Ale też – respektowanie ustawień czy to przeglądarki, czy systemu operacyjnego osoby użytkowniczej.
Często można spotkać się z przeświadczeniem, że oferowanie osobie użytkowniczej ustawień sugeruje, że coś jest nie tak z produktem. W końcu gdyby był tak perfekcyjny, osoba użytkownicza nie miałaby żadnego powodu, aby coś zmieniać. Jednak to nieprawda, osoby użytkownicze doceniają ustawienia. Ludzie są różni i nie da się stworzyć produktu, który spełniałby wszystkie potrzeby wszystkich osób użytkowniczych naraz. Ot, choćby kwestia kontrastu. Ogólnie akceptowane normy dostępności sugerują, że współczynnik kontrastu tekstu do tła powinien wynosić co najmniej 4.5:1. Dzięki temu osoby z wadami wzroku będą w stanie bezproblemowo przeczytać tekst. Ale istnieje przecież grupa osób, u których wysoki współczynnik kontrastu wywołuje objawy migreny. Nie da się stworzyć strony WWW, która równocześnie zapewnia wysoki, jak i niski współczynnik kontrastu. Ale można udostępnić np. kilka motywów, możliwych do przełączenia przy pomocy prostego menu wyboru.
Często właśnie tego typu małe wybory znacząco poprawiają dostępność i użyteczność strony. Ot, choćby przełącznik między jasnym a ciemnym motywem. Albo nawet możliwość wybrania, czy chce się podkreślenie tekstu pod linkami. Takie małe wybory często wydają się całkowicie nieistotne, ale dla konkretnej osoby użytkowniczej mogą być decydujące o tym, czy jest w stanie używać naszej strony WWW, czy też nie. Osoba, która ma problemy z rozróżnianiem barw, chętnie włączy podkreślenie tekstu w linkach, dzięki któremu łatwiej je zidentyfikuje wśród reszty tekstu. Z ciemnego motywu z kolei skorzystają m.in. osoby, dla których jasny ekran jest za jaskrawy. Zbyt dużo razy miałem zakraplane oczy atropiną, żeby nie znać tego bólu.
Zresztą takie sytuacyjne potrzeby pokazują jeszcze inną ważną funkcję spełnianą przez ustawienia. Preferencje osoby użytkowniczej mogą się zmieniać w czasie. Tuż po wyjściu od okulisty mogę chcieć, żeby odwiedzana przeze mnie strona wyświetlała się w trybie ciemnym. Ale w inny dzień mogę chcieć, żeby wyświetlała się w trybie jasnym – bo choćby łatwiej mi się wówczas czyta. Bez udostępnienia opcji zmiany wybranego motywu moja satysfakcja z używania strony zdecydowanie by spadła.
Współczesne technologie sieciowe, z CSS-em na czele, pozwalają na wykrycie ogólnych preferencji osoby użytkowniczej. To zdecydowanie dobry punkt wyjścia do ustalenia domyślnych ustawień naszej strony dla tej osoby użytkowniczej. Ale wspomniana wyżej sytuacyjność sprawia, że nawet wówczas wypada osobie użytkowniczej dać możliwość zmiany. Równocześnie – warto respektować jak najwięcej z ustawień osoby użytkowniczej. Dobrym przykładem może być domyślna wielkość fonta. W branży istnieje przekonanie, że wynosi ona 16 pikseli. Nie jest to jednak regułą. Domyślna wielkość fonta nie jest bowiem określona przez żaden standard. Dodatkowo, przeglądarki udostępniają ustawienie do zmiany tej wielkości. Podstawowym sposobem na jej respektowanie jest nienadpisywanie wielkości fonta w CSS-ie (zwłaszcza pikselami!) oraz korzystanie z jednostek zależnych od domyślnej wielkości fonta. Dobrym punktem wyjścia jest też myślenie proporcjami.
To niejedyne ustawienia osoby użytkowniczej, które warto respektować. Innym przykładem jest sposób, w jaki czytniki ekranowe czytają różne rzeczy. Nas, jako osoby webdeveloperskie, może czasami najść ochota zmienić to, co czyta czytnik. Ale to kiepski pomysł. Osoba użytkownicza jest często przyzwyczajona do tego, jak czytnik interpretuje poszczególne elementy strony, i nagłe odstępstwo od tego co najwyżej ją zirytuje. W najgorszym wypadku – może wręcz uniemożliwić jej skorzystanie z naszej strony. Innym ciekawym przykładem jest blokowanie możliwości zmiany niektórych ustawień, jak np. powiększania strony na urządzeniach mobilnych. Strasznie irytujące i osobiście takie strony omijam szerokim łukiem.
Akurat problem z blokowaniem powiększania okazał się na tyle istotny, że część przeglądarek pozwala osobie użytkowniczej wymuszać powiększanie na każdej stronie. Szkoda, że przeglądarki nie są równie chętne w dodaniu innych ustawień. Dobrym przykładem może być przełącznik między jasnym a ciemnym motywem. Nie wszystkie strony bowiem posiadają obydwa motywy. Takie wymuszenie konkretnego motywu przez przeglądarkę mogłoby zwiększyć dostępność różnych stron. Z drugiej strony: taka opcja nie musiałaby koniecznie wymuszać, ale pozwalałaby na wprowadzenie spójnego mechanizmu przełączania się między motywami na różnych stronach WWW. Obecnie każda osoba webdeveloperska przygotowuje swoje własne rozwiązanie. Przeniesienie tego na poziom przeglądarki byłoby z korzyścią zarówno dla osób tworzących strony, jak i osób z nich korzystających. Te pierwsze miałyby pewność, że mechanizm zmiany motywu jest dostępny i zrozumiały dla osoby użytkowniczej. Te drugie – nie musiałyby się “uczyć” każdej strony osobno, by znaleźć takie rozwiązanie. Niestety, przeglądarki nie lubią udostępniać za dużo ustawień jakkolwiek ingerujących w treść czy wygląd stron WWW. Swego czasu popularnym rozwiązaniem były arkusze stylów osoby użytkowniczej. Obecnie większość przeglądarek tego rozwiązania nie ma i wymaga dziwnych hacków lub instalowania rozszerzeń. A te, które je wciąż mają, ukryły je dość głęboko w menu. Skoro przeglądarki powoli usuwają ustawienia, to raczej nie ma co liczyć na wprowadzenie nowych, takich jak np. wybór poziomu dokładności odwzorowania strony. A szkoda.
Jako branża bardzo lubimy personalizację w reklamach. Czas, by polubić personalizację w ustawieniach.
Źródła
- Jeremy Keith, Seams, (data dostępu: ), w: Jeremy Keith, Adactio, (data dostępu: ).
- Adrien Griveau, Settings are not a design failure, (data dostępu: ), w: Linear, (data dostępu: ).
- Tiia Aurora, Web Apps: Why Offering A Low Contrast Mode Makes You More Accessible, Not Less, (data dostępu: ), w: Tiia Aurora, Tiia Aurora, (data dostępu: ).
- Raluca Budiu, Dark Mode vs. Light Mode: Which Is Better?, (data dostępu: ), w: Nielsen Norman Group, (data dostępu: ).
- Eric Bailey, GitHub now has a setting to underline links, (data dostępu: ), w: Eric Bailey, Eric Bailey, (data dostępu: ).
- Carie Fisher, CSS And Accessibility: Inclusion Through User Choice, (data dostępu: ), w: Smashing Magazine, (data dostępu: ).
- Nicolas Hoizey, People don't change the default 16px font size in their browser (You wish!), (data dostępu: ), w: Nicolas Hoizey, Nicolas Hoizey, (data dostępu: ).
- Heydon Pickering, Tweet Heydona Pickeringa z 17.07.2019, (data dostępu: ), w: Twitter, (data dostępu: ).
- Aleksandr Hovhannisyan, Use Rems for Font Size to Respect User Preferences, (data dostępu: ), w: Aleksandr Hovhannisyan, Aleksandr Hovhannisyan, (data dostępu: ).
- Adrian Roselli, Don’t Override Screen Reader Pronunciation, (data dostępu: ), w: Adrian Roselli, Adrian Roselli, (data dostępu: ).
- Stefan Judis, How to enforce pinch-to-zoom on Firefox/Chrome on Android, (data dostępu: ), w: Stefan Judis, Stefan Judis Web Development, (data dostępu: ).
- Jim Nielsen, Rationale for a Browser-Level Color Scheme Preference, (data dostępu: ), w: Jim Nielsen, Jim Nielsen’s Blog, (data dostępu: ).
- Jeremy Keith, Stakeholders of styling, (data dostępu: ), w: Jeremy Keith, Adactio, (data dostępu: ).
- Kashyap Kondamudi, Safari custom user agent CSS overrides using webfonts, (data dostępu: ), w: Kashyap Kondamudi, Kashyap Kondamudi, (data dostępu: ).
- Jim Nielsen, Website Fidelity, (data dostępu: ), w: Jim Nielsen, Jim Nielsen’s Blog, (data dostępu: ).
- Brad Woods, Personalization, (data dostępu: ), w: Brad Woods, Brad Woods' Digital Garden, (data dostępu: ).
Dodatkowe materiały
- Michael Scharnagl, Adapting to user preferences, (data dostępu: ), w: Michael Scharnagl, Just Markup, (data dostępu: ).
- Heydon Pickering, Tweet Heydona Pickeringa z 17.07.2019, (data dostępu: ), w: Twitter, (data dostępu: ).
- Kyle "getify" Simpson, Tweet Kyle'a "getify" Simpsona z 12.10.2019, (data dostępu: ), w: Twitter, (data dostępu: ).
- Christian Heilmann, Into the web multiverse, (data dostępu: ), w: Christian Heilmann, Christian Heilmann, (data dostępu: ).
- Adrian Roselli, Link Targets and 3.2.5, (data dostępu: ), w: Adrian Roselli, Adrian Roselli, (data dostępu: ).
- Miriam Eric Suzanne, Tweet Miriam Eric Suzanne'y z 22.06.2020, (data dostępu: ), w: Twitter, (data dostępu: ).
- Eric Eggert, Tweet Erica Eggerta z 09.08.2020, (data dostępu: ), w: Twitter, (data dostępu: ).
- Eric Bailey, thoughtbot.com, dark mode, and other user preferences, (data dostępu: ), w: Eric Bailey, Eric Bailey, (data dostępu: ).
- Paul Kinlan, The off by default web, (data dostępu: ), w: Paul Kinlan, Paul Kinlan, (data dostępu: ).
- Jim Nielsen, Website Fidelity: Browser Perspective, (data dostępu: ), w: Jim Nielsen, Jim Nielsen’s Blog, (data dostępu: ).
- Kev Quirk, Is Dark Mode Good For Your Eyes?, (data dostępu: ), w: Kev Quirk, Kev Quirk, (data dostępu: ).
- Ben Myers, The Curious Case of “iff” and Overriding Screenreader Pronunciations, (data dostępu: ), w: Ben Myers, Ben Myers, (data dostępu: ).
- H Locke, Why ‘dark mode’ causes more accessibility issues than it solves, (data dostępu: ), w: Medium, (data dostępu: ).
- Google Chrome Developers, Thinking on ways to solve ADAPTIVE TYPOGRAPHY, (data uploadu: , data dostępu: ), w: YouTube, (data dostępu: ).
- Heather Buchel, Just normal web things., (data dostępu: ), w: Heather Buchel, heather buchel, (data dostępu: ).