V minulém článku o náhradě klasického submit tlačítka za obrázkové pomocí CSS jsem byl Janem Bienem upozorněn, že stylovat HTML formuláře se nemá. Je toto doporučení opodstatněné?
Jako primární důvod se většinou uvádí, že stylování formulářů je zásah do zvyklostí uživatele na daném operačním systému. Zjednodušeně řečeno prý stylování formálářů přímo snižuje použitelnost webové stránky – viz třeba Vít Dlouhý: Nestylujte formuláře!. Osobně se s tímto názorem neztotožňuji – celý koncept webové stránky je totiž zásahem do uživatelských zvyklostí na dané platformě. Uživatel nemá po ruce menu, toolbary ani stavový řádek, místo na tlačítka většinou kliká na různobarevné občas podtržené kousky textů, UI nereaguje hned, ale překresluje se celé atd. atd. Práce s webovou aplikací je prostě tak odlišná třeba od práce ve Wordu, že vážně pochybuji, že trochu upravený vzhled tlačítka či vstupního pole má na uživatelský prožitek nějaký vážnější vliv. Nehledě na to, že mnoho tlačítek ve Windows vůbec nevypadá jako obdélník s textem – viz třeba toolbary v libovolné aplikaci…
(Pozn.: Zcela paradoxní mi připadá, že „jednotné uživatelské rozhraní“ se často uvádí jedna z výhod webových aplikací. Je opravdu možné přehlédnout rozdíl mezi aplikací zvanou webový prohlížeč a skutečným obsahem webové stránky?)
V čistě teoretické rovině tedy nemůžu říct, že bych byl odpůrcem stylování formulářů. Myslím, že s citem a trochou rozumu lze sladit vzhledové požadavky s dobrou použitelností. Pak ale přichází reálný svět…
Vít Dlouhý i pixy upozorňují, že některé prohlížeče (hlavně ty na MacOS, které člověk testuje nejmíň :) CSS styly ve formulářích částečně nebo zcela ignorují. Pokud je ignorují zcela, je to ještě celkem dobré (prostě se objeví standardní tlačítko), ale neštěstím je částečná podpora některých vlastností – potom totiž není jasné, co se vlastně uživateli objeví, a to je vážný problém pro použitelnost.
Resumé: teoreticky v rozumném stylování formulářů nevidím problém, ale v praxi je kvůli rozdílné implementaci prohlížeču lepší se těmto praktikám vyhnout.
Update: Halogan dodal odkaz na skvěle zpracovanou stránku Styling form controls, která ukazuje screenshoty nastylovaných prvků v různých prohlížečích na různých platformách. Rozdíly jsou opravdu značné.
To je pávě ten problém: rozdílné implementave CSS v prohlížečích, když dva dělají totéž, neni to totéž :(