Pravděpodobně tímhle článkem přidám benzín do ohně všem těm vášnivým diskuzím na webu o tom, jestli 100% html validita ano nebo ne ...
Na webu jsem našel jen články, které buď odsuzují validnost webu jako zbytečnou buzeraci a nebo jejich úplný opak, články popisující validitu webu skoro jako boží přikázání. Zkušený programátor ale ví, že obě strany jsou extrémy, které se musí dodržovat jen v závislosti na tom, kdo jsem a co píšu.
100% HTML validita?
Pokud jste teenager nebo prostě jen začínající programátor (což si myslím bude s největší pravděpodobností nějaký teenager :D) a HTML se teprv učíte, držte se tohoto extrému nějakou dobu. Jako začátečník už víte, že HTML dokument musí obsahovat jakýsi DOCTYPE ... začněte
HTML STRICTem. Začátečníci si myslí, že je lepší používat
transitional, neboť ten je jaksi "hodnější", co se dodržování pravidel týká, jenže to je to samé, jako kdyby jste byli kuchařským učněm ve fungl nové kuchyni a před uvařením nějakého jídla byste nanosili dřevo ...a založili pod digestořem ohniště, regulérní táborák

Transitional je sada pravidel použitá
pro překlenutí původních verzí HTML (3, 2...) a pro
aktivaci quirks módu v současných prohlížečích - v tomto módu jsou schopné zobrazit web jako kdyby jej zobrazovaly staré a starší prohlížeče. A vzhledem ke stáří tohoto doctypu, starými prohlížeči jsou myšleny IE 5, Netscape 6 (1998
!!!), to všechno si můžete přečíst zde:
http://htmlhelp.com/tools/validator/doctype.html
Co napadne časem každého webového programátora je otázka renderování v quirk módu a ve "standardním" módu. Co to vlastně je? Nebo spíš, co to není? Odpověď hledejte v análech Googlu a zjistíte, že to tak nějak neví nikdo. Quirks mód je údajně mód, kterým se vygeneruje stránka, pokud zjistí, že tato stránka byla
nejspíš naprogramována velmi dávno a je velmi stará. Kromě toho zjistíte, že existuje i termín "almost-standards-mode", což je tak nějak něco jako "skoro-standardní mód" renderování, co to ale znamená? Co je skoro standard, co je nestandard? Zná vůbec někdo odpověď?

Zná - je to malý, hnusný, zatuchlý, skřet sedící kdesi v útrobách Khazad-dûmu a mne si ruce, jak mu ten plán hezky vychází zatímco na velkoplošné obrazovce sleduje nelegálně získané záběry všech těch zmatených a frustrovaných webových programátorů. Programování webů je vůbec velká legrace jakmile zjistíte, že některé věci se programují stylem tohle by skoro někdy mělo fungovat ale možná taky ne... kdo někdy studoval kapitolu "Sémantika webů", rozhodně ví, o čem mluvím.
Zpět k HTML - začít psát web v HTML Transitional je nesmysl, je to jako kdybyste psali web před 12ti lety. HTML 4 STRICT je verze HTML, která nebude validní s velmi starými jazykovými vlastnostmi a která se nebude správně vykreslovat v megastarých prohlížečích, které už dneska hnijí na discích zapomenutých archivů ... x)
Jakmile začnete tuto verzi HTML 4 ovládat, pomalu přejděte na XHTML 1.0 nebo na XHTML 1.1, sejde na tom, na co se cítíte x) XHTML 1.0 totiž definuje jako u HTML dva doctypy, strict a transitional (pro přechod webu a prohlížečů z HTML 4 na XHTML), XHTML 1.1 se na žádné další doctypy nedělí a už samo o sobě se chová jako STRICT verze. Skutečný rozdíl mezi XHTML 1.0 Strict a XHTML 1.1 je jen asi v definici dvou nebo tří tagů a atributů a v tom, že XHTML 1.1
musí obsahovat XML hlavičku, některé prohlížeče totiž bez XML hlavičky pro XHTML 1.1 vstoupí do quirks módu...což ve skutečnosti znamená jen to, že nevstoupily do "standard" módu ale třeba vstoupí i do "almost-standard-módu"

Bohužel, tyhle módy nemají žádná pravidla natož definice, na Googlu se dají najít nějaké výzkumy a diskuze, kde se toto řeší, ucelený pohled na věc jsem ale nenašel (pokud vy ano, budu vděčný za komentář x)).
Zde už se ale při svých studiích HTML pozastavíte, protože zjistíte, že IE 6, ač už hrozně zastaralý, se pořád poněkud neúnavně drží v žebříčku popularity...chtěl jsem dát odkaz na nějaké statistiky ale zjistil jsem, že se různé webové statistiky dost rozchází ačkoliv tvrdí, že jsou považovány za "reprezentativní globální vzorek"...nicméně všechny se shodují, že IE 6 pořád, bohužel, žije.
Sejde na tom, jak moc profi chcete být. Dělat web i pro těch cca 10% světové populace, která používá IE 6. Znamená to náročnější práci, testování ve všech prohlížečích nebo s úžasnou pluginovou podporou Firefoxu. Pro vás to nemá smysl, že? Jistě že ne, šance, že píšete celosvětový web jako začátečník je minimální...spíš chcete svým webem zaujmout české internetové diváctvo, že? V tom případě vám můžu dát aspoň vzorek těchto mých stránek, jehož výsledkem je, že mi za dobu 10ti měsíců co sleduji aktivity nepřišel žádný návštěvník s IE 6 (průměrná unikátní návštěvnost bez všech různých botů a snah o hack je cca 30 návštěv denně)...a dle mého je to docela logické, v České Republice totiž drtivě vyhrává Microsoft a kdykoliv vyjde nová verze Internet Exploreru, jeho snahy o upozornění uživatelů na upgrade byly vždy v ČR docela agresivní...tím chci říct, že je to logickou součástí strategie Microsoftu upozornit všechny, že je tu nová věc zadarmo takže nepoužívejte tu starou a už vůbec nám nevolejte, že se vám v ní něco zobrazuje blbě.
Pokud se naučíte psát validní weby už od začátku, hrozně vám to pomůže. Nikoliv v tom psát weby tak, aby se zobrazovaly správně, ale v tom až začnete svému šéfovi vysvětlovat, proč ten web validní není.
Koncept internetu
Internet je ohromný ...skoro se mi chce napsat
vohromný aby to zdůraznilo, jak hrozně moc vohromný je

...Není nekonečný, ale je brutálně velký. A kdybych si vzpomněl na přesné pokračování toho odstavce ze Stopařova průvodce galaxií, hned bych ho sem napsal

Vtip je v tom, že tvůrci webových prohlížečů nejsou žádní blbci. Blbci jsou uživatelé a lidé, kteří ty weby píší. Weboví programátoři jsou blbci protože si myslí, že webové technologie by se měly co nejrychleji, nejlépe rázem, změnit do podoby velmi striktního a smysluplného programování, takového, aby vše mělo svůj smysl, komplexnost a aby nebylo možné napsat "nevalidní stránku" neboť taková stránka by se prostě nezobrazila...
Probuďte se probůh. Vážně si myslíte, že by najednou Microsoft, Mozilla, Google, Opera najednou ze dne na den řekli "tak a celý internet není validní, to se nám nelíbí takže od teď co nebude validní tak se ani v našich nejnovější verzích nezobrazí."...na druhou stranu, i to je teorie a hrozně by mě zajímalo, co by se pak stalo :D Asi by spousta lidí zešílelo a spousta lidí by se smálo, protože by jednoduše nic neupgradovali...
Takhle internet pochopitelně nefunguje. "Koncept internetu" nebo smysl jakékoliv otevřené sítě, dá-li se to tak nazvat, je založený na možnosti předat nějaké informace ostatním lidem, kteří se k síti mohou odkudkoliv připojit. Tohle je první koncept už od samotného začátku, kdy se armáda USA rozhodla předat svůj ARPANET akademické sféře kdysi hrozně dávno, když existovaly velké ohromné hlučné přístroje s velikostí lednice kterým se říkalo počítače.
A tohoto konceptu se drží dodnes všechny současné internetové prohlížeče a dokonce i internetové vyhledávače. Je tedy naprostý omyl tvrzení, že psaní HTML striktně pro W3C je za každou cenu povinné a nutné. To přeci nedává smysl. Úplné základy HTML jako takové jsou velmi jednoduché, máme nějaký <b> nebo <strong> tag a to je tučné písmo, pak nějaký <i> to je kurzíva, <u> to je podtržené, tohle ukončíš tím samým ale s lomítkem před názvem </strong> (hustý co? navíc b, i, u...to je jako ve wordu!), pomocí <h1> uděláš velký nadpis a hotovo, to ti stačí. Napiš si za pomocí těchto značek web, nebo blog, nebo cokoliv a máš zaručeno, že ti to bude fungovat a nemusíš se vůbec učit nějaké složité HTML, nemusíš být žádný programátor!
Ano, z hlediska programování je to katastrofa, dokument nemá definovaný doctype, chybí základní povinné tagy <html> , <body> , <head> ...., <b> , <u> , <i> jsou považovány za zastaralé a propadlé značky...jaký ale máte argument na to, že tohle zrovna psal student z nějaké opravdu chudé rozvojové země na základě 10 let staré učebnice? Nebo že někdo potřeboval zveřejnit nutně něco životně důležitého a nad správným zápisem zrovna nemyslel a k dispozici měl jen možnost zveřejnit jen jeden jediný html soubor? Přemýšlejte, internet není jen ten váš 24 palcový LCD monitor! Na internetu jsou miliardy lidí, každý ten člověk má nějaký příběh a drtivá většina z těch příběhů není příběhem o nadějném programátorovi webů (a už vůbec ne takových jako vy, kteří chtějí změnit budoucnost internetu, že?

)
Možnost zveřejnit se na webu nemá být těžká. Kdo se ve webových technologiích a v nesmyslu nazvaném "SEO" pohybuje nějakou dobu tak ví, že tohle nejspíš musí být i koncept ze kterého vychází algoritmy vyhledávače Google. Ten ve svých doporučeních pro webmastery píše, že je dobré, pokud se držíte W3C zásad ale je naprosto evidentní, že validita nemá žádný skutečný dopad na pořadí zobrazeném ve vyhledávači. Můžete být megavalidní jak chcete, stejně budete až na n-té straně (n > 10) ve výsledcích vyhledávání a na prvním místě bude nějaký mnohem relativnější, obyčejný texťák....
Co je to SEO?
Bohužel, když už si někdo zabedněně myslí, jak hrozně moc je důležité aby byl web validní tak už je jedno, jestli tam máte jen 1 warning nebo jen jeden error...tihle lidé by se dali přirovnat ke stereotypu "
100% or gtfo"

Jako programátor víte, že to vždycky jde na 100%. Teoreticky. Jenže kdo by vás za takovou práci platil, že? Šéfovi se rozhodně nebude líbit, když mu pošlete pracovní výkaz s položkou "30 hodin hodin přepisování open-source projektů které náš web používá pro podporu xhtml 1.1 validace".
Ano, peníze. Čas jsou peníze a jako programátor si nemůžete dovolit přepracovávat každý wysiwyg, každý JS kalendář, každý hotový a funkční template pro HTML 4 strict. Tohle je ten hlavní argument - jde o čas a o prachy. "Běžný" uživatel ani vlastně neví, co je to validita a bohužel, každý běžný uživatel naletí na toho, kdo si říká "SEO odborník", což je většinou podvodník neboť si stojí za tím, že 100% validita úplně všude je základ úspěšného SEO managementu. Bohužel, v praxi jde o prachy a pokud jde vydělat na základě toho, že většina lidí žádnou validitu nezná, proč bychom si na tu vizitku toho "SEO odborníka" nedali, že, když je to tak populární?
SEO je podvod. Ohromný, úžasný podvod. Dalo by se říct, SEO IS A LIE!
Pravda je taková, že u nás v ČR se SEO před zákazníky reprezentuje jako "programování stránek s podporou pro dobré umisťování ve vyhledávačích" a pak tito "odborníci" nakecávají, jakou úlohu v tom má validita, rozvržení webu, design (! fakt !), kvalita informací a meta tagy.
Pravda, v těch posledních dvou věcech mají většinou pravdu. Reprezentativně psané informace s výskytem možných hledaných klíčových slov a výskyt description/keywords meta tagů na každé stránce na relativnosti přidává...pokud budete psát nesmyslně s chybama, nikdo vás přes google nenajde, protože málokdo hledá na googlu nesmysly s chybama.
Description/keywords meta tagy jsou nejstarší tagy určené pro vyhledávače a ty vyhledávače je používají dodnes a nevypadá to, že by měly v úmyslu s nimi přestat...
Co se rozvržení webu týká, je to trochu sporné...."SEO odborníci" tvrdí, že v obsahu HTML dokumentu by první měl být vždy obsah s nadpisem, potom až navigační prvky jako menu jenže co když tohle google vyhodnotí jako podvod za účelem zvýšení relevance? Pokud vám to nějaký "SEO odborník" řekne se 100% jistotou, tak se 100% jistotou lže. Že má být první nadpis a obsah dává smysl a četl jsem na to lecjaká doporučení založená na smysluplných argumentech (že Google čte stránku v textovém lynx režimu, tudíž by první měl být obsah)...jenže ani to nemůže google považovat za prvek ovlivňující relevanci, co když je obsahem dokumentu seznam, nebo jiná navigace nebo podnavigace? Nesmíme zapomenout, že strukturu webu mohou stránky určovat i pomocí <link> tagů.
Algoritmus Googlu je něco jako noc v posteli s vysněnou pornoherečkou (dámy programátorky si snad domyslí svojí alternativu, nechtěl bych je urazit, dámy programátorky jsou vzácné

). Je to tabu, které každého zajímá, s finanční hodnotou stonásobku rozpočtu všech národů, možná ani to ne.
SEO je ale ve skutečnosti úplně něco jiného. SEO je něco, co musí buď ovlivnit obchodník sám, nebo co se ovlivní samo a to je
relevance tj. význam, důležitost. Vyhledávače to zjišťují podle toho, kolik informací o daném webu je všude jinde na internetu. Správný SEO přístup je říct obchodníkovi, ať zaregistruje svojí firmu na různé jiné katalogové servery, inzertní servery, reklamní servery, všude tam, kam se může zaregistrovat a popsat svojí stránku nebo eshop jak nejlépe umí. Klidně může napsat i do nějakého diskuzního fóra, které se týká obsahu jeho stránky a doporučit jí zde. TYTO věci přidávají na relevanci, na důležitosti stránky - informace jinde na webu. Když zemřel Michael Jackson, co okamžitě vyskočilo na první příčku při zadání
Michael Jackson? Určitě ne článek o něm na Wikipedii ale odkaz na článek novin, který se po jeho úmrtí velkou rychlostí rozkopíroval po diskuzních fórech na celém světě. A co je první teď? Článek na wikipedii, články o jeho smrti získaly nízkou relevanci protože Google přeci jen přistupuje ke zpravodajským serverům trochu jinak a není tak blbý, aby měsíce po jeho úmrtí stále na prvním místě zobrazoval "MICHAEL JACKSON DEAD"...upřímně, mě samotného by zajímalo, jak ten algoritmus funguje...

A co teda ta validita?
Jak jsem psal, profi programátoři pracující na velkých projektech vědí, jak weby psát tak, aby se zobrazovaly správně a nepotřebují k tomu W3C...nicméně i oni na W3C začínali a nedovolí si psát proti němu. Píšou s ním ale nenechají se od něj buzerovat, protože na to prostě nemají čas, jejich projekt je velmi komplexní a robustní, třeba už ani na HTML nesahají neboť mají rozdělené role v týmu, někdo pracuje na kódu, někdo na šablonách...tuhle se použije nějaký starší ale dobře funkční open-source, tuhle novější, blbě napsaný ale taky funkční a hlavně zákazníkem zadaný, protože jej někde viděl a hrozně se mu líbil...
Striktní držení se W3C při full-throtle zatížení skutečného profi programátora zdržuje a to zbytečně, zvlášť pokud se jedná o práci v týmu. Kdo tvrdí, že ne tak nikdy opravdu na žádném velkém projektu nepracoval, natož v týmu a nemá živou zkušenost s tím co to znamená, když mu krátce před deadlinem kvůli snahám o validitu něco přestane fungovat (ať už nějaký přidaný open-source nebo cokoliv jiného).
Verdikt?
Začínáte s HTML a s weby? Validujte podle W3C validátoru pořád. Kdy to přestane být důležité? To zjistíte sami x)