Červen 01

CSS Media Queries Level 4

napsáno pod: Developers napsal: Lukáš Janeček

Prohlížení webu je něčím, co již dávno není omezené na pouze obrazovky osobních počítačů. Paleta zařízení schopných vykreslovat web se rok od roku rozšiřuje o nové technologie, a web developeři a designeři na ně musí reagovat. Pokud jste někdy přišli do styku s webem, zřejmě jste slyšeli pojem CSS, neboli kaskádové styly. Ty jsou hlavním prostředkem, kterým je určeno, jak webová stránka či aplikace vypadá. A tak musí reagovat na nezastavující se vývoj v oblasti zobrazovacích zařízení.

Slibnou novinkou v této oblasti jsou CSS Media Queries Level 4, které se blíží svému schválení jako Candidate Recommendation W3C (World Wide Web Consortium), neboli fáze, kdy návrh je považován za technicky přijatelný a lze začíst s jeho ranými implementacemi a sběrem zkušeností „v terénu“.

Pokud jste někdy „přičichli“ k tvorbě moderních webových stránek, zřejmě si říkáte, že jste pojem media queries již někdy slyšeli, a že to přeci není žádná novinka. Částečně máte pravdu, media queries jsou něčím, co je součástí vývoje již dlouhou dobu, a jde o „jádro pudla“ při tvorbě rezponzivních prezentací. Co tedy Level 4 přináší nového?

Minoritní novinkou je nová syntax, neboli způsob zápisu kódu, který ulehčí práci vývojářům. Odpadne nutnost komplikovaně spojovat, kdy se mají jednotlivé media queries aplikovat, a to díky přidání relačních operátorů a rozsahu, neboli hezky česky řečeno, znamének větší a menší. Podobně je součástí návrhu zrušení nutnosti vnořovat podmínky a nahrazení tohoto systému prvky běžné boolovské logiky. Tato novinka povede k mnohem snadněji čitelnějšímu a snáze udržovatelnému kódu.

Hlavní novinkou Media Queries Level 4 je ovšem řešení problému se stále se rozrůstající nabídkou zobrazovacích zařízení. Současné rozdělení zařízení podporované v media queries (viz následující tabulka) totiž pochází z dob, kdy věci jako tablety ovládané prsty nebo ovladač od herní konzole byly ve spojení s webem něčím nepředstavitelným.

screen

handheld

tty

print

tv

braille

speech

projection

embossed

 

 

Schválně si pokuste na chvíli představit, pod jakou z těchto kategorii by spadala zařízení v posledním řádku. Jak zjistíte, není to tak úplně jednoduché, a řada věcí se může i překrývat, což už samo o sobě je značný prohřešek proti specifikaci, protože prohlížeč by se vždy měl hlásit jenom jako jeden typ zařízení. Ale i když budeme předpokládat, že tato specifikace bude porušena, narazíme na problém, že vlastně nevíme, podle čeho se bude web zobrazovat.

V současnosti se tento problém „řeší“ tím, že většina zařízení neměla jinou možnost, než se hlásit jako „screen“ nebo „print“ (čímž je celé rozdělení zcela zbytečné), a spoléhá se v podstatě pouze na velikost obrazovky. Ovšem i tento přístup přináší určité problémy, kdy například notebookům s malou obrazovkou je zbytečně předáno zobrazení určené pro tablet, a stále větší tablety se potýkají s tím, že prstem není snadné kliknout na přesné místo. A právě řešení tohoto nešvaru slibují přinést Media Queries Level 4 a jejich Media Features.

Media Features mají v aktuální podobě návrhu několik nových parametrů. Mezi ty hlavní, které nejvíce určují, o jaký typ média se jedná, jsou „pointer“, „hover“, „update“, „overflow-block“ a „scripting“, které odpovídají následujícím otázkám ohledně daného typu zobrazení:

  • Pointer – jak přesný je ukazatel?
  • Hover – jde pomocí ukazatele najet na prvek bez kliknutí?
  • Update – jak rychle se na aktualizuje obsah?
  • Overflow-block – jak se obsah chová pokud je delší, než výška zobrazení?
  • Scripting – podporuje zobrazení skripty?

Nyní se vrátíme k obrázku výše v článku, a podíváme se, jak některá z těchto zařízení (a některá další běžná) odpovídají těmto parametrům:

 

pointer

hover

update

overflow-block

scripting

Počítač

přesný

ano

rychlý

posuvník

ano

Telefon/Tablet

nepřesný

ne

rychlý

posuvník

ano

Wii

nepřesný

ano

rychlý

posuvník

ano

TV

žádný

ne

rychlý

posuvník

ano

Tiskárna

žádný

ne

žádný

další stránka

pouze jednou

E-čtečka

žádný

ne

pomalý

další stránka

ano

 

Z porovnání lze vidět, že Media Features přináší mnohem granulovanější a přesnější stylizaci webů podle zařízení, než je dnes používaná šířka obrazovky. Například je možné pro tablety připravit mnohem větší tlačítka, na které půjde pomocí (oproti myši nepřesnému) prstu snáze kliknout, a není zapotřebí jim definovat vzhled při najetí, protože tato situace nemůže nikdy nastat. Nebo je možné lépe rozlišit mezi tiskárnou a čtečkou, a zobrazení obsahu podle toho upravit.

Součástí návrhu pro Level 4 jsou i další parametry, z nichž nejvíce zajímavým je „light-level“, který slibuje schopnost stránky reagovat na světelné podmínky v okolí zařízení (pokud zařízení podporuje snímání světla, pochopitelně). Každý se zřejmě někdy setkal s tím, jak je čtení webu na telefonu za jasného dne komplikované. Pomocí parametru „light-level“ by tak bylo možné čtenáři předložit více kontrastní verzi stránky, nebo upravit barvy pro lepší čitelnost.

Jak vidíte, CSS Media Queries Level 4 mají potenciál přinést zásadní změnu v tom, jak probíhá tvorba webů pro stále rozšiřující se paletu zařízení. Před reálným posunutím do stavu Doporučení, které se většina hlavních prohlížečů snaží dodržovat, a jejich samotnou implementací, je však ještě dlouhá cesta.

Nahoru