4 leden 2006, 15:15
rubrika XHTML-semantika
V návrzích XHTML 2.0 jsem objevil věc, která se mi opravdu zalíbila. Šlo o mnohem přístupnější a pohodlnější vkládání obrázků než v předešlých verzích HTML či XHTML.
<img>
, nebo obrázek vložit přes pozadí nějakého prvku
v kaskádových stylech nebo (patrně nejméně známý způsob) pomocí
elementu <object>
(nefunguje v MSIE – tady bude
zakopaný pes, proč se to nepoužívá :-)). Za čtvrtou možnost by se
ještě dala považovat značka <embed>
, ale ta jednak není
ve specifikaci, ale hlavně zase nefunguje v MSIE.
<img>
je použít povinný atribut
alt
, do kterého zapíšeme alternativní text, který se
zobrazí, když obrázek není k dispozici. Značka
<object>
nabízí lepší možnosti, ale vzhledem
k jeho nepoužitelnosti se o něm nyní bavit nechci.
<img>
bude nyní „párová“ a obsah elementu bude sloužit právě jako
alternativní text (prakticky stejně to funguje u značky
<object>
). Zápis nějakého obrázku by v XHTML
2.0 mohl vypadat takto:
<img src="hora.jpg">Sněžka v zimě</img>
Pokud tedy obrázek není k dispozici, zobrazí se text „Sněžka
v zimě“. Zatím tedy žádné změny. Přesto tento zápis má
jednu obrovskou výhodu – text v elementu <img>
totiž můžete pohodlně formátovat a značkovat, jako jakýkoliv jiný obsah
dokumentu. Můžete tedy snadno vyznačit jednotlivé části alternativního
obsahu a nemusíte tak používat nepohodlný atribut longdesc
,
který stejně byl prakticky nepoužitelný. Tudíž tento zápis by byl
naprosto v pořádku:
<img src="sleva.jpg">Na obuv <strong>sleva 30%</strong></img>
Jistě chápete, že tento způsob zápisu nabízí mnohem lepší sémantiku a také větší možnosti následného formátování. Pokud nyní chcete stylovat alternativní text, můžete ho nastylovat pouze celý najednou, nikoliv jen jeho část. Příklad:
<img src="neexistuju.jpg" alt="červený alternativní text" style="color:red">
Stejně tak teoreticky můžete jako alternativní obsah zvolit opět obrázek. Například pokud používáte formát obrázků png a některý prohlížeč tento formát nepodporuje, můžete do alternativní obsahu dát stejný obrázek ve formátu jpg (a jeho alternativní obsah již bude prostý text). Pokud ted obrázek png nebude k dispozici, sáhne prohlížeč po obrázku v jpg. Zápis by mohl vypadat takto:
<img src="obrazek.png">
<img src="obrazek.jpg">
alternativní obsah
</img>
</img>
Ovšem XHTML 2.0 se s tímto nespokojilo a vymyslelo ještě
rafinovanější způsob na vkládání obrázků. Atribut src
,
který v sobě nese adresu obrázku, může totiž obsahovat
každý element. To znamená, že třeba můžete tento atribut
vložit do nadpisu, v prohlížeči se zobrazí obrázek (text nadpisu
nikoliv) a když nebude obrázek k dispozici, zobrazí se právě text
nadpisu. Zápis by tedy vypadal nějak takto:
<h1 src="nazev.jpg">Seznam, najdu tam co neznám</h1>
Jedná se v podstatě o tento zkrácený zápis:
<h1><img src="nazev.jpg">Seznam, najdu tam co neznám</img></h1>
Tento styl zápisu se mi opravdu zamlouvá a bude zajímavé, kdy ho budeme mocit použít. Upřímně doufám, že se toho ještě dožiji.
Že tento tag neznáte? Nedivím se vám, neznal ho prakticky nikdo, dokud ho
Radek Hrabůvka neobjevil a
nezmínil se o ní v diskusi. Omrzelo už vás vkládání obrázku
přes značku <img>
? Pak tedy můžete zkusit použít tuto
značku. Tento zápis normálně vloží do stránky obrázek, prohlížeče
(MSIE, FF, O, jiné jsem nezkoušel) obrázek opravdu zobrazí:
<image src="obrazek.jpg">
Nevěříte-li, můžete si to
vyzkoušet. Podívejte se do zdrojáku, logo tohoto weblogu je vloženo
přes značku <image>
. A kde se vlastně tato značka
vzala? No, moc informací jsem o ní nesehnal, docela špatně se hledá
googlem ;-). Ale něco přece.
Tento tag byl součástí „specifikace“ HTML plus, za kterou stál kdo jiný než Tim Berners-Lee. Nejzajímavější na ní ovšem je ta syntax. Pokud se dobře podíváte, uvidíte tam následující příklad:
<image align=top src="http://spoof.cern.ch/people/tbl.gif">A photo of Tim Berners-Lee</image>
Tento zápis se poměrně dost podobá nově vzniklé syntaxi vkládání
obrázků v XHTML 2.0 (obsah elementu je opět chápán jako alternativní
text). Bohužel, žádný z dnešních prohlížečů již tuto
rozšířenou syntaxi nepodporuje, takže předchozí zápis budou
prohlížeče vykreslovat špatně, vykreslí jak obrázek, tak text. Škoda,
že se tehdy nakonec prosadila myšlenka atributu alt
,
z jakého důvodu opravdu netuším, ale elementu
<image>
je podle mě docela škoda.
3 leden 2006, 15:38
rubrika internet
Jenom taková rychlopoznámka – nové návrhy na w3.org patrně všichni bedlivě sledují, ale možná vám uteklo, že Chamurappi dnes na svém webylonu zveřejnil čtyři nové články týkající se kritiky w3c. Sice už trochu zabíhá do SGML, které jde mimo mě, takže některým textům nepříliš rozumím, ale smutný článek Síla víry rozhodně stojí za přečtení. Jsou to vlastně takové krásné vzpomínky na dobu, kdy jsem v této víře také žil…
2 leden 2006, 00:00
rubrika no-future
Dnes v noci jsem trošku poupravil rubriky na tomto weblogu, protože poslední dobou zabíhám úplně do jiných témat, než byla má původní vize.
Chtěl jsem psát o různých blbostech, jako jsem psával kdysi, občas jsem si chtěl hodit nějaké to moudro, ale ať koukám jak koukám, nic z toho tady nevidím. Místo toho tady visí testy HTML a XHTML a za posledních pár dní jsem také stihl napsat něco o sémantice. Místy se i troškou a nenápadně obouvám do konsorcia a tak si říkám, že bych měl asi trochu ubrat a zklidnit se nebo mi to přeroste přes hlavu a já bych mohl špatně skončit.
Asi v brzké době vyprodukuji nějaký další test, ještě ale nevím jaký. Možná sémantika, docela rád bych zjistil, jak jsou na tom ostatní se znalostmi sémantiky. Ještě mě napadá nějaký jednodušší test HTML aby si na své přišli nejen odborníci na slovo vzatí nebo naopak další extrémně těžký test – historie HTML, starší specifikace a podobně. Ale to už by asi potom byla úplná sportka ;-). Kdybych uměl kaskádové styly, tak bych zkusil udělat test CSS, ale do tajů kaskádových stylů jsem plně neproniknul, takže vás mohu jedině odkázat k Ronniemu.
Takže abych to shrnul – k původním třem rubrikám jsem vytvořil další dvě – testy a XHTML a sémantika, do kterých jsem přesunul i některé ze starších článků, patrně na vás vybafly z RSS čteček. A budoucnost tohoto weblogu vidím mlhavě, tedy alespoň v tom smyslu, že si nejsem jistý jaký druh článků bude převládat :-). Nechme se všichni překvapit.
31 prosinec 2005, 13:47
rubrika XHTML-semantika
Konsorcium nám vesele zavrhuje jednu značku za druhou, ale já se ptám proč? Proč radši nepřijdou na to, jak je správně využít a třeba jen trochu nepozmění jejich význam. Vyhazovat z DTD jednu značku za druhou umí každý Franta z Horní Dolní.
Jako příklad použiji zdánlivě a na první pohled odstrašující značku
<u>
. Hádám, že většina z vás by se bála na tuto
značku jenom pohlédnout. Proč? Pokud bude použita vhodně a rozumně,
nevidím jediný důvod k tomu, aby se ji někdo musel štítit. Stačí
tedy jen vymyslet ten rozumný způsob použití.
Kdy se obvykle používá podtrhnutý text? Ano, odkazy, ale ty jsou podtrhnuté už tak nějak od přírody, takže tady asi tento element moc nevyužijeme. Bude to chtít jiný příklad. Napadá mě vyznačování accesskey. Pokud už na webu někdo používá navigaci pomocí těchto klávesových zkratek, obvykle se sluší nějak vyznačit, které ty písmenka vlastně jako accesskey slouží. Většinou se to tedy dělá nějak takto:
<a href="index.html" accesskey="h"><span style="text-decoration:underline">H</span>omepage</a>
Pochopitelně odkazy v menu musí mít jinak podtržení zrušené. Z jakého důvodu se ale nemůže používat tento zápis?
<a href="index.html" accesskey="h"><u>H</u>omepage</a>
Přijde mi to jednodušší, praktičtější, pohodlnější, je to
koneckonců validní (element <u>
je pouze zavrhnutý, ale
stále je součástí specifikace) a sémantika nijak neutrpí, dokonce je
zápis pomocí <u>
sémantičtější, protože zápis se
spanem nám neříká vůbec nic, i když by měl,
jelikož nejde ani tak o vzhled, ale o určení
významu toho písmenka. Samozřejmě element <u>
není za stávajících podmínek stoprocentně sémantický, ale přesto se
jedná o sémantičtější zápis než pomocí bezvýznamného spanu.
Jen škoda, že se třeba s vypnutými styly se nezobrazí písmenko se silnějším podtržením, aby to písmenko bylo poznat i s vypnutými styly. Hned by byl pádnější důvod k používání tohoto způsobu ;-).
28 prosinec 2005, 15:50
rubrika se-spetkou-ironie
Při brouzdání po nekonečných pláních internetu jsem narazil na web Radka Hrabůvky, kde má Radek umístěné HTML a CSS perličky. Některé z nich jsou opravdu skvostné… Doporučuji navštívit a pročíst.
Za všechny bych si tady dovolil citovat jeden zdroják, který se mi opravdu líbil:
<p>Optimazizováno pro MS Internet Explorer, 1024 x 768</p>
<hr>
<BLINK>Chce ODYSSUES chatu? NAPIŠTE MI!</BLINK>
<hr>
26 prosinec 2005, 23:36
rubrika XHTML-semantika
Zkuste se alespoň jednou obejít bez třech hromad divů a bez sedmi tuctů spanů. Jde to.
Tento článek byl napsán jako částečná reakce na Filův článek Divy a spany.
Dnes a denně vídám weby, na kterých jsou v elementu
<body>
výhradně značky <div>
,
<span>
, <img>
a <a>
,
občas se objeví nějaký ten nadpis a případně značka
<strong>
(aneb autor zaslechl něco o SEO).
Nechápu ten smysl, co vede někoho použít místo krásné a jednoduché
značky <h1>
nějakou oplzlost jako <div
id="nadpis">
? Jestli je to teď moderní, tak jsem asi něco
zaspal.
Většina jednoduchých webů by se dala řešit zcela bez divů, stačí si jen pohrát se stylováním. Když jsem to dokázal já – jakožto kaskádová lama – tak to musí zvládnout prakticky každý zkušenější webdesigner. Problém nastává až u komplikovanějších designů, kde jsou například na pozadí kopy obrázků, různě poskládaných, aby dohromady tvořily nějaký obrazec nebo třeba kulaté rohy a speciální obrázkový border bloku. Tady už sémantice nepomůže ani pánbůh.
Vsadil bych se, že většina z vás začíná nějakým takovýmto zápisem:
<body>
<div id="cela-stranka">
<div id="hlavicka">
Nějaká ta hlavička, nadpis, logo apod.
</div>
<div id="menu">
Prostě menu, doufám, že bude alespoň v <ul>
</div>
<div id="obsah">
Tady bude obsah stránky
</div>
<div id="paticka">
A o web se stará...
</div>
</div>
</body>
Céesesko si snad už každý domyslí. A teď by mě zajímalo, kdo z vás to zkusil bez těch divů? Zkuste si prostě nejdříve napsat HTML strukturu, kde budou pouze sémantické značky (tj. bez divů a bez spanů) a až poté zkuste web nastylovat. A až ve chvíli, kdy to prostě už dál nepůjde, použijte div nebo span. Při tomto postupu byste teoreticky měli dosáhnout maximálně sémantické stránky v rámci daných možností. Přesně takto jsem vytvářel stránky o sémantice.
Největším problémem při budování sémantického webu je fakt, že podmínky nejsou zrovna ideální, páč HTML prostě nezná některé značky, které by znát mělo a těch pár sémantických značek a atributů, které už má, nám w3c vesele zavrhuje, což je věčná škoda. Přesně proto některé věci bez divu (či spanu) prostě udělat nejde. Jako příklad mě zrovna napadá náhrada textu obrázkem, kde se bez toho jednoho spanu jen těžko obejdeme.
Právě proto tvrdím, že sémantický web by měl obsahovat minimální počet divů či spanů, ale je třeba si uvědomit, že pojem minimální se nerovná nule (respektive může se rovnat, ale také nemusí). Druhá otázka pak je, zda-li toužíte po sémantickém webu ;-). Moderní web by ale sémantický být měl. Přece jenom webové stránky si neprošly sémantickými zrůdnostmi jako je tabulkový layout jenom proto, aby nakonec skončily v hromadě bezvýznamných divů…
23 prosinec 2005, 21:36
rubrika XHTML-semantika
Tak a je to tady, vlastní doména byla pořízena, takže teď už můžu s radostí odkázat na svůj nový web o sémantice – semantika.name.
Už prošla kritikou na Diskusi, možná ji zkusím protlačit ještě někam jinam, uvidíme, jak se to vyvine. Pokud si stránku přečtete, budu rád, pokud na ni odkážete, budu šťastný, pokud vám stránka něco dá a vy začnete psát sémantické weby, budu úplně nejšťastnější.
Tak veselé Vánoce a šťastný nový (i Nový) rok!
16 prosinec 2005, 20:05
rubrika XHTML-semantika
Nedávno jsem se chvílemi trochu nudil a tak jsem zabrousil na diskusi na webzdarma. Otevřu sekci HTML a co to mé oči nevidí? Téma s názvem XHTML a HTML. Nemohl jsem odolat a téma jsem poctil svou návštěvou. A nestačil jsem se divit.
Řešila se zde poměrně klasická otázka. Autor píše v HTML a rád by přešel na XHTML, ale ještě předtím by rád znal výhody nového jazyka. Většina příspěvků byla v rámci mezí, až na jeden, klasicky demagogický. Jedná se o příspěvek od Donnyho (první delší, nejde na něj odkázat). V tu chvíli jsem si uvědomil, jak moc zažrané musí být předsudky vůči XHTML. Autor příspěvku alespoň z poloviny lže a ostatní jen přikyvují, nikdo se neozve. Jak smutné, že se k propagaci XHTML musí používat přetvářka (nebo neznalost) a stejně tak je smutné, že největší propagátoři XHTML patrně mnohdy ani nečetli specifikaci…
Donny zmiňuje zcela klasické výmysly, že XHTML zrušilo značky jako
<center>
nebo <i>
, což samozřejmě
není pravda (kdo prošel mými testy, ten to již musí vědět). Pověra, že
XHTML ruší nějaké značky je hodně zažraná (podle mě nejvíce ze všech
pověr, které ohledně xhtml kolují), ale přitom to není pravda. Až XHTML
1.1 ruší první atribut name
. Zajímalo by mě, kdo to kdy
jako první vyslovil, že XHTML zrušilo některé formátovací prvky (jako
<i>
nebo <b>
). Stejně tak tento zápis
je proti pravidlům jak XHTML, tak i HTML:
<b><i>text</b></i>
. Mimojiné je
zajímavé, že Donny uvádí v příkladu na křížení tagů značky,
které jsou podle něj v rozporu se specifikací. Je ale zajímavé
sledovat reakce, když se propagátoři XHTML doví, že i zde se může
používat značka <font>
nebo
<center>
.
Druhá věc, která je v souvislosti s tímto tématem často
předhazována, je, že XHTML dokument musí mít bezpodmínečně oddělený
obsah od formy. To znamená styly v externím souboru, přímý zápis
nebo zápis mezi <style>
podle nich není možný. Setkal
jsem se s tím nedávno i na interforu.
Jestli někdo ví, kde je ve specifikaci XHTML psáno, že dokument
musí mít nutně obsah oddělený od formy, že je zakázán
přímý zápis stylů apod., nechť to prosím najde a hodí do komentářů
odkaz. Podle mého skromného názoru může stránka psaná v XHTML
používat klidně tabulkový layout a bude validní a podle specifikace.
Takže vzhledem k tomu, že test XHTML nedopadl zrovna pěkně (předchozí test dopadl o mnoho lépe, ale zase musím přiznat, že test byl opravdu hodně těžký), rozhodl jsem se udělat takovou stručnou rekapitulaci a pokusím se vyvrátit některé mýty, které v tomto oboru panují.
<i>
nebo <b>
jsou plně validní a nejsou ani zavržené, na to pozor (takže je můžete
použít i ve striktní verzi).<a href="#">jsem<span> <a
href="#">validní</a></span> stránka</a>
.<html>
,
<head>
a <body>
nepovinné. V XHTML
jsou povinné všechny a <html>
musí být kořenovým
elementem (to znamená, že musí obalovat celou stránku).<li>
) je hyenismus
největšího kalibru. Ovšem když se nad tím člověk zamyslí, dojde
k takřka šokujícímu zjištění. Pokud se totiž na konci odrážky
nevyskytuje ukončovací tag </li>
, ale další odrážka
<li>
, jak bude uvažovat prohlížeč? Aha, tohle bude
asi začátek další odrážky, tak to bych měl tu předešlou ukončit
a domyslí si ukončovací značku </li>
. Takže ať tam tu
značku člověk napíše nebo ne, v konečném důsledku tam vždy
bude.lang
, tak atribut xml:lang
, přičemž ten druhý má
přednost. Aby nedošlo k omylu – přednost má vždycky
xml:lang
, ne ten, který je druhý v pořadí :-)Já používám HTML, na XHTML přejdu, až to bude pro mě výhodné. Zatím to pro mě nemá jedinou praktickou výhodu. Věřím, že třeba takový Pacholliny ví, proč používá právě XHTML a ví, jaké to pro něj má výhody. Já to nevím. Netuším, čemu nebo komu bych pomohl, kdybych třeba tento svůj web přepsal do XHTML. I podle slov w3c, pokud nepoužíváte žádné další značkovací jazyky, prakticky žádný rozdíl nerozpoznáme. To znamená, že na většinu jednoduchých či středně složitých webů je zbytečné používat XHTML. Na ty složitější to již nejsem schopný posoudit.
Strašně mě totiž fascinují ti zarytí příznivci XHTML, kterých když se zeptáte, proč píší právě v XHTML tak vám řeknou buď jeden z mýtusů, které jsem nahoře vyjmenoval, nebo řeknou, že je to moderní a že je to budoucnost internetu. XHTML moderní možná je (i když už je také na světě nějaký ten pátek), ale to není přece jednoznačný a určující důvod k tomu, aby bylo tak hojně používáno a že je budoucností internetu? O tom se mi polemizovat nechce, nejsem věštec. Co vy víte, třeba za půl roku vznikne CHTML (Cool HyperText markup language), který XHTML úplně převálcuje ;-).
14 prosinec 2005, 20:40
rubrika Testy
Tak je tady slibovaný testík XHTML!
Bylo to těžší, než jsem si myslel, protože změny v XHTML jsou buď notoricky známé nebo takové, že by se docela snadno daly zpochybnit (klasické However…), ale tak nakonec jsem něco splácal. Všechny otázky se tedy týkají výhradně xhtml 1.0, xhtml 1.1 jen když bude vyloženě řečeno. Ještě jedno drobné upozornění, pokud je nějaká značka součástí specifikace xhtml 1.0, ale není součástí xhtml 1.1, správná odpověď je, že není součástí xhtml 1.1 (pokud je tam taková možnost), i když odpověď, že je součástí specifikace xhtml 1.0 je také správná. Sice věřím, že jsem dané otázky položil natolik jasně, abyste na toto přišli sami, ale pro jistotu ;-).
No, to by snad na úvod stačilo, test je (a není) určen pro ty samé lidi, jako u minulého testu (samozřejmě vyjma bodu o moderních webdesignerech ;-)). Už nemám moc času, takže přeji hodně štěstí a hurá do boje!
11 prosinec 2005, 12:59
rubrika no-future
Včera jsem se s chutí podíval na Českého slavíka očekávaje kvalitní zábavu, dobrou muziku a hromadu překvapení.
Nakonec se všechno splnilo, snad až na poslední bod. Co se týče Ondry Brzobohatého, ten mě opravdu mile překvapil. Vůbec nic si nedělal z toho, že před ním moderoval velký Leoš Mareš a jestli Leoš nasadil opravdu vysokou laťku, tak Ondra ji s velkou rezervou přeskočil. Svlékací scéna s Janem Saudkem nebo návštěva amerického prezidenta byly prostě dokonalé scény (obzvláště označení Helenky za Cher :-)). Bavil jsem se a to je dobře. Televize konečně pochopili, jak by měl vypadat moderátor pořadu jako je Slavík.
Teď se konečně dostanu k nadpisu článku. Nova je známá tím, že interpreti vystupující v jejich pořadech musí zpívat na živo. I když poslední dobou už toto nevyžaduje tak striktně a občas je vidět i nějaká výjimka. Vždycky to vedení vysvětlovalo slovy, že když se pustí píseň na playback, umělec nemůže nic zkazit, nestane se nic nečekaného (jako že by najednou začal do mikrofonu křičet nějaká svá „hesla“ a podobně). Pravda je ale jiná. Po včerejším vystoupení Anety se to provalilo – Nova totiž nemá zvukaře, který by se staral o to, aby zpěvaččin hlas byl slyšet dále než v první řadě, ale mají najmutého jenom jednoho dýdžeje, který v hifině pouze přehazuje cédéčka.
Co se týče pořadí, tak jsem také vcelku spokojený. Alespoň s prvními místy třech hlavních soutěží. Karel Gott je prostě Karel, na něj nikdo nemá, jenom loni jsem to přál Landovi. Ale letos jedině Kája. Že vyhraje Aneta muselo být také všem jasné, vždyť letos ani Bílá ani Vondráčková neudělaly vůbec nic, tak ať se nediví. Helena chodí po soudech, Bílá (kterou mám jinak rád) se zase jenom chlubí Bártou – to je ten její skinheadsky vypadající přítel, co si taky říká NOID, a co se při zpěvu snaží napadobit zpěváka Limp Bizkit (alespoň co se týče pohybů a cool gest). Ještě štěstí, že z nominace vyletěla Iveta. Osoba, kterou někdo zmlátí a ona to jde jako první oznámit Blesku bych opravdu neposlal hlas ani kdyby mě mučili. No a konečně skupiny – tady jsem byl nejvíce potěšen, Chinaski jsou asi jediná skupina, která se snaží, která maká, která je oblíbená a která ještě nedostala slavíka. Druhá taková je ještě z nominovaných třeba Divokej Bill, ale těm by zase neuškodilo, kdyby vydali nějakou novou desku.
Na slavíkovi mě všeobecně nejvíce štve, že tam hlasují i lidé, kteří jsou hudebně totálně neznalí, respektive poslouchají dvě skupiny a tím to pro ně hasne. Víc neznají, nikdo jiný podle nich neexistuje a pak to takhle dopadá. Já sám jsem letos do Slavíka nehlasoval, ač jsem chtěl, ale vím, že jsem letos naši hudební scénu vůbec nesledoval, takže bych nemohl být objektivní. Kupříkladu o skupině Voči (Votchi?) jsem slyšel poprvé až tady na předávání. Loni i předloni jsem znal prakticky všechny interprety, kteří měli reálnou šanci na nějaký úspěch, ale letos vůbec. Kdyby se takhle nad sebou zamyslel každý, kdo chce do Slavíka hlasovat, byly by výsledky mnohem objektivnější.
A ještě pár rychlopoznámek na konec – objevem roku měla být Iva Frühlingová a druhé vystoupení Bílé bylo dokonalé.
Ereses