alt
, použiju jako alternativní text "o úroveň výš". Jako doplňkovou informaci dám do atributu title
název cílového dokumentu.Zobrazení v MSIE je ještě o něco horší, než jsem čekal. Dokonce ještě při deklarovaných rozměrech 72x32 zobrazí pouze písmeno o a čárku a háček (ze slova úroveň). Při rozměrech 32x32 (které jsou celkem běžné) se nezobrazí z alternativního textu vůbec nic. Při najetí myší se pak zobrazí onen nadpis cílového dokumentu. Takže výsledek je takový, že se alternativní text nezobrazí vůbec, nepočítáme-li možnost nechat si zobrazit zdroják stránky. Nemohu tedy v žádném případě souhlasit s tím, že MSIE na takové stránce zobrazí alternativní text a že jeho zobrazení je korektní.
dovolim si tvrdit, ze vyvojar, ktery bude pouzivat maximum features bez zohledneni realneho stavu veci a pozde zjisti, ac mel v requirements ze MSIE musi podporovat, si nezaslouzi svuj plat. Pochopte, me je uplne jedno kolik je verzi CSS, kdo je poklada za standard, jestli je to banda samozvancu nebo ne, doufam, ze sam uznate, ze v prostredi MSIE bezi tolik advanced prezentaci a aplikaci weboveho charakteru, ze ciste po teto linii je vas argument void.
Kdyby šlo jen o to, co MSIE nepodporuje, nebyla by to taková tragédie, to by opravdu stačilo obejít se bez těch nepodporovaných prvků jazyka (i když by to bylo nesmírně omezující). Ale bohužel je mnoho prvků, kde MSIE místo aby je jednoduše podporoval nebo nepodporoval, vymýšlí si vlastní zvrácenou implementaci. Modelovým příkladem je fixed positioning: kdyby ho MSIE prostě nepodporoval, tak musí deklaraci 'position: fixed
' ignorovat (specifikace výslovně nařizuje, že nepodporuje-li prohlížeč hodnotu atributu, musí deklaraci ignorovat) a stačí použít 'position: absolute; position: fixed;
', což na podporujících prohlížečích vede na fixed
a na nepodporujících na absolute
. Jenže MSIE si zcela v rozporu se specifikací deklaraci 'position: fixed
' vyloží jako 'position: static
', takže i výše uvedená dvojice vede na nepoužitelnou hodnotu static
. A to je jen drobný příklad, podobných se najdou desítky, mnohé i u zcela standardních konstrukcí, které MSIE zdánlivě podporuje, ale tu a tam si něco udělá po svém (častěji omylem, než že by v tom byl nějaký hlubší záměr).
Proto je tolik webů, které mají stylesheet nafouknutý o polovinu právě kvůli různým matrjoškám, 3px hackům a dalším workaroundům pro MSIE (často i specifickým pro jednotlivé verze), a tolik webů, které jsou metodou pokus-omyl odladěné na chybný rendering MSIE a v korektně zobrazujících prohlížečích jsou rozhozené. Bohužel se najde dost lidí jako vy, kteří jsou přesvědčeni, že protože MSIE je nejrozšířenější, je jeho interpretace (jakkoli je mnohdy nesmyslná a nekonzistentní) a priori správná a přizpůsobit se jí musejí všichni ostatní. Nezbývá než opakovat: ještě že tento pohled nepřevládl u TCP/IP, to bychom se nestačili divit. (I tam si Microsoft zkusil své "inovace", ale naštěstí toho byl rychle nucen nechat.)
2. Tato možnost pro vývojáře by byla daleko lepší, kdyby MSIE implementoval CSS alespoň na takové úrovni jako kterýkoli z trojice Gecko, Opera, KHTML. V současné situaci je vývojář nucen strávit neúměrně velkou část práce jen tím, aby se jeho stránky jakž takž zobrazily i v MSIE.
standard je jen tak dobry, jak je majoritne implementovan ...
To možná kdysi platilo, ale jen do doby než přišel Microsoft a začal mršit standardy z pozice síly. Dnes s takovou tezí (zejména v souvislosti s webem) nemohu v žádném případě souhlasit.
Psal jsem tu (jako příklad) o navigační ikoně se šipkou nahoru, která vás posune v hierarchii o úroveň výš. Považuji za naprostou žádoucí, aby alt měla, a to podle okolností buď o úroveň výš nebo rovnou název příslušného dokumentu (ten v prvním případě může být použit jako title). Pokud vám z toho MSIE nechá tři písmena, je to poněkud k ničemu. To samé platí o jakékoli jiné součásti navigace, smysl navigační ikony s nějakým bulletem mi poněkud uniká, k čemu takové ikony v rámci navigace používáte?
Jsem opravdu zvedav s jakou silenou konstrukci prijdete..zahadny vypadek weboveho serveru zrovna kdyz handluje request na image.
Nemusí jít zdaleka jen o problém v aplikaci a ani ten nemusí být vždy řešitelný v řádu minut (hele, Johne, naklusej, teď hned, je mi jedno, že jsou dvě v noci). Uživatel může mít obrázky z jakýchkoli důvodů vypnuté nebo může používat prohlížeč, který je nepodporuje. Odpovídající webové standardy na několika místech zdůrazňují, že autorovi stránky není nic do toho, proč se uživateli obrázek nezobrazuje, a je povinen zajistit smysluplný alt (vyjma obrázků s nulovou informační hodnotou). Pokud to autor stránky udělá a prohlížeč jeho úsilí sabotuje tím, že z toho altu zobrazí jen tři písmena, považuji to jednoznačně za chybu prohlížeče, a to dost závažnou. Nemluvě o tom, že i když je pro vás možná webový prohlížeč jen platformou pro intranetové aplikace, jeho hlavní funkcí by pořád mělo zůstat prohlížení webů… a to i těch, kde nemůžete zvednout telefon a písknout na admina.
souvislost s porusovanim standardu je pak pouze takova, ze v soucasne dobe potrebuji vyraznou revizi... v anglii se take pred automobily uz nebeha s cervenym praporkem..
Jestli něco potřebuje zásadní revizi, je to MSIE. Největší problém webových standardů v současné době je naopak v tom, že (bohužel) nejpoužívanější prohlížeč za nimi tak dalece zaostává. Např. CSS Level 2 za necelé dva měsíce oslaví sedm let své existence, přesto autoři MSIE dodnes nezvládli implementovat ani některé jeho základní části. Takže je to přesně obráceně, Současné webové standardy (XHTML 1.0, CSS Level 2) nabízejí velmi zajímavé možnosti pro vývoj webů a webových i intranetových aplikací, ale kvůli obrovské technické zaostalosti MSIE je málokdo může využívat. A to nemluvím o těch standardech, které se připravují (XHTML 2.0, CSS Level 3).
To vůbec není teoretický příklad, to je naprosto běžná praxe. Podobné navigační ikony se vyskytují na webech velmi často. Proto považuji tento příklad za poměrně zásadní.
kdyz navic renderovaci engine IE toto resi tak, ze uzivatel je schopen dostat celou informaci..
Vám připadá jako vhodně řešená navigace taková, kde musíte nad tlačítkem podržet myš, abyste se dozvěděl, k čemu vlastně slouží? Mně tedy ne a pokud operujete intranetovými aplikacemi, pak této vaší velkorysosti nerozumím už vůbec. Já bych takovou aplikaci rozhodně používat nechtěl.
take bych vas rad pozadal, aby jste zkusil poodhlednout od standardni webove prezentace napr. k intranetovym aplikacim a budouciho vyvoje opet se kloniciho k terminalovemu zpusobu prace a zkusil tuto pro vas jiste nove nabytou predstavu aplikovat pri psani zde na lupu.. mozna vam pak dojde, ze integrace weboveho rendereru do OS je vysoce pragmaticky tah
Této vaší žádosti rovněž nevyhovím. Jedním ze základních principů webu je právě jeho univerzalita, a to zejména multiplatformnost. Právě intranetové a extranetové aplikace se používají zejména kvůli své přenositelnosti a tuto jejich hlavní výhodu snaha o integraci se specialitami toho či onoho operačního systému zabíjí. Pokud chcete psát aplikaci jen pro jeden jediný OS, nemá smysl se ji snažit cpát do webového prohlížeče, protože nativní aplikace bude vždy efektivnější a uživatelsky příjemnější.
Terminálový způsob práce, věřte nebo ne, mi vůbec není cizí, pracuji tak poměrně často, dalo by se říci, že téměř denně. Používám ho jako textově, tak graficky, ale nějak mi uniká souvislost s vaší představou o nutnosti porušovat webové standardy.
P.S. Když už jsme u těch žádostí: rád bych vás požádal, abyste přestal psát "aby jste"
To už jsem udělal dávno, četl jsem specifikace HTML, XHTML i CSS několikrát; podle toho co píšete, troufl bych si dokonce říci, že na rozdíl od vás. Dokonce jsem tu i část specifikace CSS Level 2, podporující můj výklad, citoval, račte si to najít.
navic se obavam, ze mnozstvi webu specifikujicich title u img je jeste mensi nez alt - osobne je navic pokladam za duplicitni
Že title
používá málokdo, není v tomto kontextu relevantní. Že je považujete za ekvivalentní, svědčí pouze o míře vaší neznalosti HTML. Atribut alt
obsahuje alternativní textovou reprezentaci pro případ, že se obrázek (nebo jiný element) nezobrazí, atribut title
doplňkovou informaci k němu (i v případě, že se zobrazí). Nemluvě o tom, že element title
lze použit prakticky u všeho, na rozdíl od alt
.
predpokladam take, ze jste dodnes nepochopil moznosti integrace MSIE s OS jako jednoho ze standardnich kanalu jako muze OS, event. jeho apliukace, komunikovat s uzivatelem, jest tak?
Bavíme-li se o webu (a to se bavíme), jsou tyto možnosti zcela mimo diskusi. Konkrétně s mým OS není MSIE integrován vůbec, a to ani do té míry, že by byl pro něj portován. Pokud je vaší představou, že nejsem hoden používat web, pak si asi nemáme co říci.
jinak se osobne domnivam na zaklade HTML specifikace na w3c.org ze MS je konformni vuci ni neb formulace typu User agents must render alternate text when they cannot support images jsou splneny.
Nejsou. Jednak ho v mnoha případech nerenderuje (jeden jsem uvedl, to že se místo o úroveň výš zobrazí "o ú", nemohu při nejlepší vůli považovat za zobrazení alternativního textu. Jiný argument (citaci z CSS Level 2) jsem tu dnes už jednou uvedl, najděte si ho.
title
(jak bylo zmíněno v článku). A rozdíl ve vnímání bude už v tom, že to nepovažuji za problematiku GUI…Tak či onak, váš příspěvek nijak nesouvisí s tím, na co odepisujete. Reagoval jsem na vaše tvrzení, citují, že caption to jistí. Protože caption
je element, sloužící pouze jako nadpis tabulek, ptám se znovu: co podle vás jistí caption?
Ad 2) - prijimam. Jenze to jsme pomerne vzdaleni puvodni debate o HTML (kde nic takoveho IMHO neni), ba co vice, v HTML to bylo (alt u IMG) davno drive nez nejake CSS vubec prislo na svetlo sveta (po HTML 3.2, kde se ukazalo, ze lidi jsou ale poradna prasata a normalizatori jim k tomu dali opravdu "dobre" podminky)
2. Právě proto se doporučuje jako hint uvádět rozměry obrázku, aby je prohlížeč znal předem. Z hlediska zkušenosti ovšem považuji za nešťastný ten nápad, že když skutečné rozměry obrázku nesouhlasí s těmi uvedenými, obrázek se přeškáluje na uvedenou velikost. Bohužel to tak ale ve specifikaci je a mnoho autorů to využívá (nebo spíše zneužívá).
Mimochodem, právě jsem objevil ve specifikaci CSS 2 místo, které IMHO potvrzuje mou interpretaci atributu alt
: je to definice termínu rendered content:
The content of an element after the rendering that applies to it according to the relevant style sheets has been applied. The rendered content of a replaced element comes from outside the source document. Rendered content may also be alternate text for an element (e.g., the value of the HTML "alt" attribute), and may include items inserted implicitly or explicitly by the style sheet, such as bullets, numbering, etc.
(pokud dáváte přednost CSS 2.1, tam je to stejně). Pokud specifikace výslovně uvádí, že součástí renderovaného obsahu může být generovaný obsah, pak by bylo přinejmenším podivné, pokud by renderovaný obsah v tomto případě ignoroval všechny ostatní formátovací náležitosti definované stylem.
K 2. odstavci mohu rici jen toliko, ze o tomto zpusobu pouziti se muzeme bavit v okamziku, kdy se HTML vrati do pozice formatovaciho (= popisneho) jazyka (tedy na uroven SGML, nebo prijatelnejsiho - TeX) a nebude si delat ambice byt take jazykem pro lamani textu (ve smyslu DTP). Ze bohuzel tato situace jiz nikdy nenastane je bohuzel realna...
K te vlastnosti (hintu) - ja bych Vam, jeden pridal - opravdu nesnasim a "miluji", kdyz mi cteny text neustale odlivata jen z duvodu toho, ze klient postupne nacita obrazky a ty jsou dopravovany a prohlizec prerenderovava celou stranku porad dokolecka po dotazeni kazdeho obrazku... - fakt super vec.
Takže když mám ikonu šipky nahoru s alternativním textem "o úroveň výš", je podle vás správné, že se při nezobrazení té šipky zobrazí miniaturní obdélníček s textem "o ú" (možná ani to ne) a bylo by chybou ten alternativní text napsat celý? Tak v tom případě je asi vše marné, to se neshodneme opravdu nikdy. Podle mne takový přístup totálně popírá smysl atributu alt
.
Nemyslím si, že by specifikace HTML (nebo cokoli jiného) udělalo z čuňat vzorné designéry, to určitě ne. Jen jsem podotkl, že atributy width
a height
by měly být používány spíše v duchu posledního odstavce sekce 13.7.1 (tedy jako hint) a že nápad, že budou sloužit k přeškálování obrázku na straně prohlížeče, byl hrubou chybou. Nevím o žádném skutečně užitečném použití této vlastnosti, zato vím o mnoha problémech, které přináší (kromě zmíněných pseudonáhledů např. deformace obrázků při chybně zadaných rozměrech).
Ano to misto obrazku, pokud ma widtgh a height je presne to misto kam se to i pri pouziti clippingu musi vejit obsah Alt. Neni-li tento udaj k dispozici, ma narok se chovat dle libosti, ale v jinem pripade nikoli...
A zrovna od Vas bych necekal, ze budete od normy (pardon, doporuceni) ocekavat, ze bude delat z prasat vzorne designery... - to chcete do noze taky zabudovat pojistku, ze nesmi projit lidskou tkani?
width
a height
je pouze doporučením accessibility guidelines, specifikace HTML to neřeší).Ale opět záměrně přehlížíte to podstatné: specifikace říká, že alternativní text se zobrazí místo obrázku, není tedy naprosto žádný důvod, proč ho vázat na rozměry, které byly specifikovány pro ten obrázek (jako hint pro prohlížeč). Jsem také názoru, že přeškálování obrázku na rozměry udané atributy width
a height
(pokud nesouhlasí s obrázkem) je jedním z nejnešťastnějších vynálezů HTML. Už jsem totiž viděl dost galerií, kde byly "náhledy" realizovány tak, že element img
ukazoval na čtvrtmegový obrázek v plné velikosti a pomocí atributů width
a height
byl "zmenšen" do velikosti náhledu.
Rozlisil bych predevsim dva pripady - browser, ktery jako vystupni device pouziva cokoli znakoveho a browser, ktery jako vystupni device ma graficky display.
Prvni pripad ocekavam treba v podobe prostredi lynx/links a zde ocekavam plne zneni Alt.
Druhy pripad ocekavam treba v libovolnem "modernim" grafickem prohlizeci pri vypnute grafice, nejakych typu obrazku (treba nemam rad *.gif z duvodu animace apod... - pouze modelovy priklad) apod. - proste v situaci, kdy nejaky graficky element nejsem sto zobrazit dle puvodniho zadani - tady ocekavam, ze se Alt text zobrazi v ramci velikostnich moznosti na puvodni velikosti elementu... - je naprosto normalni, ze i kdyz nemame vypnute obrazky, ze nejaky typ dat nepodporujeme... - je s podivem, kolik serveru posila na klienta obrazky ve formatu PNG, ackoli klient jasne deklaruje, ze chce (=umi) pouze GIF nebo JPEG. I v tomto pripade ocekavam, ze zobrazi alternativni text uz jen z toho duvodu, ze dotycny multimedialni obsah neumi zpracovat.
Verim a doufam, ze nyni je muj pohled na funkcionalitu a semantiku zastupneho text a tedy atributu Alt jasnejsi.
alt
je alternativní text, který se má zobrazit místo toho obrázku (pokud se nezobrazuje obrázek). To je tam jasně a zřetelně napsáno. Naopak, vy jste mi dosud neodpověděl, na základě jaké myšlenkové úvahy jste dospěl k tomu, že by se ten alternativní text měl zobrazovat do nějakého podivného obdélníku a jiným stylem, než má text v aktuálním kontextu. A už vůbec jste mi neodpověděl, proč vám připadá samozřejmé, že se toho alternativního textu má zobrazit jen kousek. Opakuji: ve specifikaci je jasně napsáno, že se místo obrázku zobrazí text (tedy přesně to, co jsem uvedl), ne že se přes obdélník o velikosti, kterou by měl ten obrázek (kdyby tam byl), případně přes obdélník nějakých z nebe spadlých rozměrů (pokud rozměry obrázku nemáme, protože jsme místo něj dostali status 404) napíše z nebe spadlým fontem a barvou kousek toho alternativního textu.
Považuji rovněž za naprosto přirozené a pochopitelné, že alternativní text se zobrazí stylem, jakým by se v daném kontextu zobrazil jakýkoli jiný text. Pokud vám taková představa připadá absurdní, zkuste se zamyslet nad tím, jaké zobrazení byste tedy vlastně považoval za správné. Defaultní písmo prohlížeče? Co když je černé a stránka má černé pozadí? Stylem textu, který je přiřazen elementu body
? A proč zrovna body
, proč ne nějakého jiného nadřazeného elementu (a nebo rovnou stylem daného kontextu)? Co když element body žádný styl textu přiřazen nemá? Co když má přiřazen styl, který je na místním pozadí neviditelný?
Ono totiž zdaleka nejde jen o element h1
, to byl jen názorný příklad. Může jít o styl jakéhokoli jiného kontextu, ve kterém je obrázek alternativním textem nahrazován.
A ještě na jednu okolnost bych upozornil. V budoucím XHTML 2.0 se předpokládá, že element img
zmizí úplně a bude nahrazen univerzálním elementem object
. Tam už pak dokonce nebude náhradní text, ale náhradní obsah, takže při nezobrazitelnosti/nezobrazení objektu se vyrenderuje obsah přesně stejně, jako by místo elementu object
byl jen jeho obsah. Je pak celkem logické, že <img … alt="nadpis">
by mělo být nahrazeno ekvivalentním <object …>nadpis</object>
a také by se mělo stejně chovat.
Presne! A pokud ma element IMG take atributy jako height a width, tak ocekavam, ze to misto zustane pokud mozno zachovano (treba i ve znakove interpretaci, ale tam Vase poznamka o h1 jaxi nema vyznam) a v ramci tohoto mista (pokud nestaci, aplikuje se clipping) bude vysazen ten ALT text, nic vic nic min, nejaky h1 pred a za nim mne naprosto nezajima...
Navic mam jeste jeden technicky aspekt, stejne jako neocekavate, ze kdyz napisu (hranate zavorky si doplnte sam, nechce se mi je psat s omezenosti Lupe vlastni) FONT size=200% IMG SRC... tak ten obrazek zvetsim o 100%, tak prominte ale take neocekavam, ze by se mel nejak transponovat ZASTUPNY SYMBOL (v tomto pripade text) obrazku, pokud prohlizec obrazky nepodporuje - presne k tomu je atribut ALT jako alternative...
alt
: náhradní text pro případ, že se obrázek z nějakého důvodu nezobrazí. Takže pokud se obrázek nezobrazí, měla by se stránka renderovat tak, jako by místo elementu img
byl obsah elementu elementu
. Tak to dělá Gecko, Konqueror a až na nepatrnou drobnost i Opera. Kdyby se tak choval i MSIE, odpadly by sáhodlouhé diskuse o tom, která krkolomná konstrukce, zajišťující obrázkový nadpis s rozumným zobrazením bez obrázků, je nejvhodnější.
Naštěstí už mám určité zkušenosti s podobně natvrdlými autory HTML, takže si umím poradit. Přes view page info si lze zobrazit seznam odkazů na stránce (a taky seznam obrázků na stránce, pokud takhle někdo zkouší blokovat save obrázku). jen mne nenapadlo, že tyhle triky budu muset uplatňovat na Lupě…
P.S. ke komentářům k tomuto článku se šlo dostat i tak, že si člověk nejdřív zobrazil článek a pak šel na komentáře z něj… :-)
Konfigurace: SuSE Linux 9.2 pro AMD64, Firefox 1.0.1 (přeložen jako 64-bitový), bez Flash pluginu (64-bitový plugin neexistuje). JavaScript povolen, ale lehce přibržděn v rozletu (nejsou povoleny některé otravnosti).
alt
místo title
, to bych ještě přežil. Spíš bych ocenil, kdyby konečně zobrazovali alt
skutečně jako alt
. Tedy kdyby se konstrukce <h1><img … alt="nadpis"></h1>
při nezobrazení obrázku zobrazila stejně jako <h1>nadpis</h1>
. Ale tak bujnou fantazii opravdu nemám…