Když jsem ve svém posledním příspěvku odkazoval Colour Contrast Analyzer na webu JuicyStudio, poukázal jsem na jeho výhodu, která spočívá v tom, že dokáže parsovat barvy přímo z CSS stylesheetu a pro ty spočítat kontrast. Odpadá tak složité přepisování barev do formulářů a jejich odesílání pro každou kombinaci.
Musel jsem však zmínit i ve velkou nevýhodu tohoto nástroje, která spočívá v tom, že ho zajímá jen stylesheet, a nikoliv struktura dokumentu. Vyplývá z toho to, že v připadě dědění některých barevných vlastností (tradičně hodnota color u body aplikovaná na většinu textů na celém webu), nebere tento fakt vůbec v potaz. Vzhledem k tomu, že dědičnost se v CSS stylesheetech používá velmi často, je účinnost tohoto nástroje velmi snížená.
Přemýšlel jsem, jak bych si představoval ideální nástroj a co by měl umět. Napadlo mě jedno řešení, které by splňovalo mé představy a přitom by nemuselo být zas tolik náročné.
Jak by to fungovalo
- Uživatel by vložil do formuláře URL svého stylesheetu nebo celý kód svého CSS a formulář by odeslal.
- Skript projde CSS kód a vyparsuje všechny definice barev. Musí vzít v potaz slovní ("black"), hexadecimální ("FFCC99") i zkrácené ("FC9") vyjádření barev.
- Pakliže skript v barvách nenašel bílou nebo černou, doplní je.
- Pro všechny kombinace barev, které nalezl spočítá kontrast podle metodiky W3C.
- Uživateli nabídne stránku, ve které zobrazí jednotlivé barevné kombinace (vizuálně). U každé z nich rovněž informaci o kontrastu.
Výhody
- Jednoduchost ovládání - stačí jen zadat link na CSS.
- Menší chybovost - uživatel nemůže při přepisu barvy do formuláře udělat chybu.
Nevýhody
- Metodika spoléhá na CSS - nástroj spoléhá, že všechny definice barev pocházejí z CSS, což v konkrétních případech nemusí platit.
- Při větším počtu barev delší výpočet - otázkou je, kolik průměrně barev se v jednom stylesheetu používá. Já jich obvykle používám určitě maximálně do deseti.
- Při větším počtu barev menší přehlednost výsledků - tato nevýhoda by se ale dala odstranit tím, že by uživatel měl na výsledné stránce k dispozici přehled všech barev spolu s checkboxy. Odškrtnutím několika z nich a odesláním formuláře by se mohl výpočet zopakovat jen s vybranými barvami.
Je jasné, že i tento systém má nevýhody, ale přesto mi připadá velmi zajímavý a funkčnější, než cokoliv, co jsem našel na Internetu. Přiznám se ale, že bych ho naprogramovat nedokázal. Třeba se ale někdo najde, kdo by to zkusil.
Budu rád, za jakýkoliv feedback k tomuto nápadu. Třeba se dobereme nějakého závěru a třeba se té realizace někdo i chopí. Uvidíme.

