pátek 12. září 2008

Debata o atributu alt se snad chýlí ke konci. A říká...

Máme tu pokračování seriálu, jehož hlavním hrdinou je atribut alt a zápletka se náramně podobá filosofické otázce "Být či nebýt". (Můžete si připomenout předchozí díly.)

Ian Hickson pečlivě prošel všechny diskutované připomínky a nabízená řešení. Slovo "pečlivě" jsem zdůraznil, protože prostudování Ianova e-mailu vám chvíli potrvá. Obsahuje detailní rozbor problematiky a více jak 20 (!) možných řešení (ne)povinné existence altu. Nevěříte, že jich tolik existuje? Jen si to celé přečtěte, pokud máte čas. Ian ovšem také analyzuje jejich nedostatky a postupně je jedno po druhém zavrhuje.

Až na jedno!

Ian se pokusil najít kompromis a podařilo se mu získat větší příznivou odezvu než kdykoliv před tím. Než onen kompromis přednesu, zkusím vysvětlit, proč byl problém nepovinného altu vůbec otevřen. Jsou tu dva důvody, Web ani HTML už nejsou totéž co kdysi.

Důvod první

Web dnes není stejný jako v devadesátých letech, kdy se obrázky a alt zaváděly. Uživatelé na web nahrávají své fotky, přibývá počet fotogalerií. Kdo ví, možná se už dokonce fotka z víkendu nebo dovolené stala převažujícím typem obrázku na celém webu (podklady pro to nemám, ale pokud to nenastalo dnes, je asi jen otázkou času, kdy to přijde). Většina těchto fotek nemá atribut alt vyplněn a pokud ho vyplněn má, tak genericky (alt="Photo 45678").

Autor webu (fotogalerie) s tím nemůže nic dělat. Vlastními silami není schopen popisky desetitisícům fotografií doplnit. Museli by je doplňovat uživatelé. Ovšem, který z nich by chtěl po krásně prožité dovolené dopisovat popisky k desítkám nebo stovkám fotografií? Kdo ho může nutit?

To znamená, že možná již nejrozšířenější použití značky img se úvahám původních HTML specifikací trochu vymyká. Jasně, může se všude použít alt="", ovšem co když jednou budou fotogalerie čítat 90% obrázků na webu (a k tomu může dojít)? Bude i pak povinný alt správné a optimální řešení?

Přemýšlím dokonce, zda nevidomý člověk nutně potřebuje alternativní informaci u fotogalerií. Teď se vrhám na tenký led, ovšem myslím, že některé bariéry prostě překonat nedokážeme. Má pro nevidomého člověka smysl, aby při procházení fotogalerie četl: "já na mostě", "já nasedám do autobusu", "já jsem si koupila nový klobouk", "já...".

Jiný případ je, pokud vezmeme fotografii a použijeme ji jako doplnění nějakého textu. Tam jistě alternativní popis fotografie smysl má, obzvlášť, pokud text doplňuje nejen esteticky, ale i informačně, např. v textu píšu o veselé náladě na oslavě narozenin a na fotografii je vidět, že během zábavy si někteří pánové nasadili klaunské nosy, namalovali klaunskou pusu a vesele spolu tančí. Nenapsat to do popisku obrázku, pak nevidomý člověk přijde o část celého sdělení. A to byla škoda. Ovšem pokud vystavím fotogalerii všech 100 fotek z narozenin, zřejmě k nim nebudu přidávat takto podrobné popisky a asi by to ani nemělo velký smysl. Mnohem lepší bude, když o průběhu narozenin prostě něco pěkného napíšu. (Teď mě napadlo, že nejlepším alternativním obsahem fotogalerie asi nejsou popisky, ale článek. Nicméně neodbíhejme.)

Tento první důvod by sám o sobě ke zrušení povinného altu nestačil, ale je to dobrý důvod k zamyšlení. Pokud hrozí, že dnes nebo za pár let nebude mít smysl u většinového použití značky img vyplňovat alt, máme na altu stále trvat?

Hlavní protiargument zrušení povinného altu je, zda by to neohrozilo jeho používání tam, kde je nutný. Aneb alt se webdesigneři často naučí používat, protože jim vynadá validátor. Když jim nadávat přestane, kdo je to naučí?

Důvod druhý

Důvod druhý souvisí nikoliv s evolucí Webu, ale s evolucí HTML. HTML5 obsahuje nové konstrukce, které umožňují poskytnout alternativní obsah obrázku jinak, pro některé případy vhodnějším způsobem. Příkladem je značka figure, která propojí text s obrázkem:

<figure>
<img src="DSC_0399.JPG">
<legend>Tanečník u tyče s tričkem <a href="http://www.google.cz/">Googlu</a> vábí nové klienty</legend>
</figure>

Na rozdíl od altu, který je ALTERNATIVNÍM obsahem obrázku, je obsah značky legend jak alternativním obsahem obrázku, tak popisem obrázku pro všechny čtenáře. U obrázku v takové formaci nedává atribut alt smysl. Mělo by vůbec cenu značku figure zavádět, když by bylo nutné stejně alt (byť prázdný) vkládat? Neříkal by prázdný alt čtečkám, že alternativní informace neexistuje, místo aby je navedl na obsah značky legend?

Takže ten kompromis

Jak Web, tak HTML se nám vyvíjí a u atributu alt je třeba hledat řešení, které bude tento vývoj respektovat, ale zároveň neohrozí přístupnost Webu. A Ian po měsících debatování v HTML WG přišel s tímto kompromisním řešením:

Atribut alt může být vynechán pouze a jen v případě, že je alternativní obsah obrázku nabídnut jiným způsobem (např. značkami figure+legend nebo atributem title). V ostatních případech je alt povinný.

Možná vám tohle řešení připadne komplikované, ale jednodušší se už zřejmě nedá nalézt. A já mám takový pocit, že tohle řešení by už do finální specifikace mohlo projít. I když, raději si ještě počkáme.

Jo a řvaní validátoru nad absencí alternativního popisku se nezbavíme, protože jak alt, tak i ty alternativní způsoby si dokáže pěkně pohlídat.

Další čtení:

9 komentářů:

  1. Ta formulace je mi hodně povědomá... :)

    OdpovědětVymazat
  2. Už je to dlouho, co jsem četl Dogma W4 (předpokládám, že narážíš na to), tak mě na tom nic netrklo.

    Ono to vlastně není žádné nové moudro, prostě po půl roce debatování, hádání a zkoumání objevili starou jednoduchou pravdu. Něco jako když po prohledání celého bytu zjistím, že brýle, co jsem hledal, mám na nose, jen jsem o nich nevěděl.

    OdpovědětVymazat
  3. Já si vzpomněl ani ne tak na Dogma, jako spíš na první Pravidla přístupnosti pro MIČR.

    OdpovědětVymazat
  4. No jo, ale kdo se nakym validatorem zabyva? Ja teda ne, je to ztrata casu. Pisu stranky tak, aby byly co mozna nejrozumnejc napsany, ale pokud mi neco utece, ztracet cas validaci nebudu. Ostatne koho to zajima? Klienta rozhodne ne ...

    OdpovědětVymazat
  5. Botanicus: Myslím, že by ses Jakube docela divil.

    OdpovědětVymazat
  6. Martine, v cem konkretne myslis? Tech tvrzeni jsem napsal vice, tak nevim cemu se vlastne mam divit :)

    OdpovědětVymazat
  7. Ked si pisal o tom, ze vhodnou alternativou obrazku je casto clanok popisujuci danu udalost, tak mi napadlo, ze aj toto by mohlo byt zakomponovane do syntaxe HTML5. Len to by si zrejme vyzadovalo nejaky novy atribut obrazku [img src="oslava.jpg" story="http://www.oslava.sk/moja-dvadsiatka.html"]

    OdpovědětVymazat
  8. filer: Takový atribut už existuje a jmenuje se longdesc. V mém případě ten článek měl být spíš alternativou celé fotogalerie, což nedokážeme vyznačit. Ostatně my ani nedokážeme vyznačit, že několik obrázků patří k sobě a tvoří nějakou galerii.

    OdpovědětVymazat
  9. Hm, tak potom by podla mna to Ianove riesenie mohlo byt rozsirene este o pripad, ze je pouzity atribut longdesc bez alt. Predpokladam vsak, ze tato moznost bola v tom elaborate (ktory nemam cas citat) pretriasana. :-)

    OdpovědětVymazat

Poznámka: Komentáře mohou přidávat pouze členové tohoto blogu.