Dostępność

Jak projektować palety przyjazne osobom z daltonizmem

Zespół colorPaletteFinder7 min czytania

Po raz pierwszy naprawdę zrozumiałem daltonizm nie z dokumentacji — lecz z przeglądu kodu. Zbudowałem dashboard statusów, gdzie zielone kropki oznaczały „sprawny”, a czerwone „niedostępny”, i pewien inżynier backendu z zespołu wspomniał, niemal przepraszająco, że nie potrafi rozpoznać, które serwery płoną. Należy do mniej więcej jednego na dwunastu mężczyzn z czerwono-zielonym zaburzeniem widzenia barw. Mój piękny system świateł drogowych był dla niego siatką identycznych brązowoszarych kółek. W kodzie nic nie było zepsute. W projekcie zepsute było wszystko.

Na tym właśnie polega projektowanie palety przyjaznej daltonistom: awarie są niewidoczne dla osoby, która je wypuściła. Nie poczujesz tego błędu. Trzeba więc wyrobić w sobie nawyk projektowania tak, jakby kolor był informacją, którą w każdej chwili możesz utracić — bo dla istotnej części twoich użytkowników już ją utraciłeś.

Jak częste to jest i co właściwie idzie nie tak

Zaburzenie widzenia barw (CVD) dotyka około 8% mężczyzn i 0,5% kobiet pochodzenia północnoeuropejskiego — mniej więcej 1 na 12 mężczyzn i 1 na 200 kobiet. W produkcie z jakąkolwiek realną publicznością to nie przypadek brzegowy. To kolumna w twojej analityce.

Zaburzenie to nie „widzenie w czerni i bieli” — prawdziwa monochromacja jest niezwykle rzadka. Dzieje się tak, że jeden typ czopka w oku jest przesunięty lub go brak, co zlewa pewne kolory ku sobie. Główne typy, według częstości występowania:

Praktyczna konkluzja: około 99% CVD to przypadki czerwono-zielone. Jeśli twoja paleta przetrwa symulację czerwono-zieloną, masz pokrytą przytłaczającą większość dotkniętych użytkowników. To tam najpierw warto skupić uwagę.

To inny problem niż kontrast

Oto rozróżnienie, które myli nawet staranne zespoły. Kontrast luminancji (ten z WCAG) dotyczy jasnego kontra ciemnego — czy da się przeczytać tekst. Zaburzenie widzenia barw dotyczy mylenia odcieni — czy potrafisz odróżnić dwa kolory, gdy akurat mają podobną jasność. To problemy niezależne i możesz oblać jeden, celująco zdając drugi.

Klasyczny przykład: czysta czerwień #FF0000 na czystej zieleni #008000 ma kontrast luminancji rzędu 1.3:1, co poważnie oblewa WCAG — ale nawet gdybyś „naprawił” kontrast, deuteranop nadal miałby trudność, bo same te dwa odcienie zlewają się razem. I odwrotnie: dwa kolory mogą mieć cudowny kontrast i wciąż być pułapką dla CVD, jeśli ich odcieniem, i tylko odcieniem, niesiesz znaczenie.

Tak więc paleta przyjazna daltonistom i paleta zgodna z WCAG to nakładające się okręgi, a nie ten sam okrąg. Potrzebujesz obu. Jeśli jeszcze tego nie zrobiłeś, warto przy okazji przeczytać Współczynniki kontrastu WCAG wyjaśnione — kontrast luminancji jest fundamentem, a projektowanie bezpieczne dla CVD warstwą na wierzchu.

Jedna reguła, która naprawia większość: nigdy nie polegaj tylko na kolorze

Jeśli z tego artykułu masz wziąć jedną zasadę, weź tę: nie polegaj wyłącznie na kolorze, by przekazać informację. W3C czyni to wprost wymaganiem — Kryterium sukcesu WCAG 1.4.1, Użycie koloru — i to najwyżej dźwigniowy nawyk, jaki możesz zbudować.

Lekarstwem niemal zawsze jest redundancja. Ilekroć kolor niesie znaczenie, zestaw go z drugim, niekolorowym sygnałem:

Szybki test, który przeprowadzam na każdym ekranie: wyobraź sobie, że wydrukowano go na czarno-białej drukarce laserowej. Jeśli wciąż rozumiesz, co widzisz, nie polegasz wyłącznie na kolorze. Jeśli dwa stany stają się identyczne, znalazłeś swój błąd.

Dobór odcieni, które przetrwają CVD

Redundancja zajmuje się znaczeniem. Ale wciąż chcesz, by same kolory pozostały rozróżnialne wszędzie tam, gdzie to możliwe — zwłaszcza w wizualizacji danych, gdzie nie nałożysz etykiety tekstowej na każdy z 200 punktów.

Kilka praktycznych zasad z okopów:

Zamiast wymyślać to na nowo, stań na ramionach ludzi, którzy rozwiązali to rygorystycznie. Paleta Okabe-Ito (zwana też paletą Wonga, od artykułu Banga Wonga z 2011 roku w Nature Methods) to ośmiokolorowy zestaw zaprojektowany tak, by pozostawał rozróżnialny we wszystkich powszechnych typach CVD. Kody hex warto sobie zapisać: pomarańczowy #E69F00, błękitny #56B4E9, niebieskozielony #009E73, żółty #F0E442, niebieski #0072B2, cynobrowy #D55E00, czerwonofioletowy #CC79A7 i czarny #000000. Używałem jej jako palety kategorialnej w większej liczbie dashboardów, niż umiem zliczyć, i nigdy nie oblała symulacji.

Gdy budujesz paletę marki lub UI, a nie wykres, zwykle nie potrzebujesz ośmiu kolorów rozróżnialnych w CVD — potrzebujesz paru akcentów, które się nie zlewają. I tu generator palety kolorów zarabia na swoje miejsce: zbuduj swoją harmonię (schemat rozszczepiony dopełniający lub triadyczny), odczytaj wartości HSL, a następnie celowo rozsuń dwa najważniejsze znaczeniowo kolory także pod względem jasności, nie tylko odcienia. Odczyt HSL to ułatwia — obniż jasność jednego, podnieś drugiego, i kupiłeś sobie separację, która przetrwa CVD. Jeśli chcesz zrozumieć, dlaczego pewne relacje na kole gryzą się bardziej niż inne, Palety rozszczepione dopełniające vs triadyczne wchodzą w geometrię.

Testuj — nie ufaj własnym oczom

Nie zmierzysz tego na oko, bo (statystycznie) zapewne masz prawidłowe widzenie barw, a cała rzecz polega na tym, że awaria jest dla ciebie niewidoczna. Symulujesz.

Mój faktyczny proces: projektuję normalnie, a potem przepuszczam kluczowe ekrany — dashboardy, wykresy, błędy formularzy, wszystko, gdzie kolor coś znaczy — najpierw przez deuteranopię (najczęstsza), potem protanopię, potem szybki przebieg tritanopii. Dziewięćdziesiąt procent problemów, które znajduję, jest w tym pierwszym widoku deuteranopii. Napraw je, a pomogłeś największej liczbie osób najmniejszym wysiłkiem.

Błędy, które wciąż widuję

Nic z tego nie każe ci projektować brzydkich interfejsów ani rezygnować z koloru. Kolor jest wspaniały i powinieneś używać go swobodnie. Dyscyplina sprowadza się tylko do tego: niech kolor będzie warstwą zachwycającą, nigdy warstwą jedyną. Zestawiaj każdy znaczący odcień z etykietą, ikoną lub kształtem; dobieraj pary, które przetrwają zlanie czerwono-zielone; opieraj się na jasności tak samo jak na odcieniu; i uruchom symulator, zanim uznasz pracę za skończoną. Zrób tak, a następny inżynier, który nie widzi twoich zielonych kropek, wciąż dokładnie będzie wiedział, które serwery płoną.

Najczęściej zadawane pytania

Czym różni się paleta przyjazna daltonistom od palety zgodnej z WCAG?

Rozwiązują różne problemy. Kontrast WCAG dotyczy luminancji — jasnego kontra ciemnego — tak by tekst i elementy UI były czytelne. Projektowanie przyjazne daltonistom dotyczy mylenia odcieni — dbania o to, by kolory niosące znaczenie pozostały rozróżnialne dla osób, u których czopki zlewają pewne odcienie razem. Paleta może wszędzie spełniać kontrast WCAG i wciąż zawodzić w deuteranopii, bo dwa kolory o świetnym kontraście mogą nadal opierać się na rozróżnieniu czerwono-zielonym, które znika. Trzeba projektować pod kątem obu i testować obie niezależnie.

Jaka jest najbezpieczniejsza para kolorów przy daltonizmie?

Niebieski i pomarańczowy to najbardziej niezawodna przeciwstawna para — pozostaje wyraźnie rozróżnialna w deuteranopii, protanopii i tritanopii, trzech głównych typach zaburzeń widzenia barw. Niebieski i czerwony to mocny drugi wybór. Para, której należy unikać jako jedynego kontrastu, to czerwony i zielony, który zlewa się dla mniej więcej 99% przypadków CVD, czyli zaburzeń czerwono-zielonych. Gdy potrzebujesz więcej niż dwóch wyraźnych kolorów, użyj zbadanego zestawu, takiego jak paleta Okabe-Ito (Wonga), zamiast dobierać na oko.

Dlaczego nie powinienem polegać tylko na kolorze, by przekazać informację?

Bo mniej więcej 1 na 12 mężczyzn i 1 na 200 kobiet ma jakąś formę zaburzenia widzenia barw, a dla nich status pokazany wyłącznie kolorem (czerwona kropka = błąd, zielona kropka = sukces) może być zupełnie nierozróżnialny. Kryterium sukcesu WCAG 1.4.1 (Użycie koloru) wymaga, by kolor nigdy nie był jedynym środkiem przekazu informacji. Lekarstwem jest redundancja: zestaw każdy znaczący kolor z etykietą, ikoną, kształtem, wzorem lub pozycją, aby informacja przetrwała nawet wtedy, gdy odcień jej nie przetrwa.

Jak sprawdzić, czy moja paleta jest przyjazna daltonistom?

Użyj symulatora, bo jeśli masz prawidłowe widzenie barw, te awarie są dla ciebie niewidoczne. Coblis (Color Blindness Simulator) pozwala wgrać zrzut ekranu i obejrzeć go przez osiem typów zaburzeń. Chrome DevTools ma opcję „Emulate vision deficiencies” w panelu Rendering, która nakłada protanopię, deuteranopię lub tritanopię na żywą stronę. Wtyczki do Figmy, takie jak Stark, robią to samo dla projektów. Sprawdzaj najpierw deuteranopię, bo jest najczęstsza, potem protanopię i tritanopię.

Czym jest paleta Okabe-Ito i dlaczego jest zalecana?

Paleta Okabe-Ito (zwana też paletą Wonga, od artykułu Banga Wonga z 2011 roku w Nature Methods) to ośmiokolorowy zestaw zaprojektowany tak, by kolory pozostawały rozróżnialne we wszystkich powszechnych typach zaburzeń widzenia barw. To de facto standard dla dostępnej wizualizacji danych. Kody hex to #E69F00 (pomarańczowy), #56B4E9 (błękitny), #009E73 (niebieskozielony), #F0E442 (żółty), #0072B2 (niebieski), #D55E00 (cynobrowy), #CC79A7 (czerwonofioletowy) i #000000 (czarny). Sięgaj po nią, ilekroć potrzebujesz kilku kolorów kategorialnych, które nie zlewają się dla widzów z CVD.

Chcesz poeksperymentować z kolorami?

Wypróbuj nasz darmowy generator palet kolorów, aby znaleźć idealną harmonię — z wbudowanym sprawdzaniem kontrastu WCAG.

Otwórz generator