Validita není hračka
06.05.2005
Všichni se dnes jak maniaci ženou za standardy a validitou stránek, ale je vůbec možné udržovat validní stránky? Já si myslím, že aktuálně ne, technické možnosti a aktuální software prostě s validním webem nepočítá.
Jak to obvykle funguje?
Většinou vám kvalitní webdesignér dodá validní design a vy jej implementuje v PHP, ASP či něčem podobném. Pravděpodobně po pár týdnech provozu rychle zjistíte, že to co bývalo validní již dnes validní není ani omylem, a kód obsahuje spoustu chyb.
Chyby do kódu se dostávají relativně snadno, od hloupých reakcí manažerů typu "tahle ikonka tam musí dneska být" po chabé pokusy programátorů vylepšit design.
Jak udělat validní web?
Pokud uvažujeme o 100% validním webu, jedinou možností je přejít na XML a kompletně upravit styl psaní aplikací. Od modelu plácání HTML kódu přes sebe je třeba programově tvořit stromovou strukturu, kterou pomocí CSS bude spravovat webdesignér. Nápad je to hezký, ale v dnešní době bohužel prakticky nerealizovatelný. Krom velmi chabé podpory XML v programovacích jazycích se totiž dočkáváme i slabé podpory XML v databázích, takže praktická využitelnost je někde blízko bodu mrazu.
Problém snad ani není tolik v technologii (úpravy programovacích jazyků i databází existují), ale v celé setrvačnosti odvětví, kdy administrátoři čekají, až se odladí nové verze produktů (PHP5 atd.), poté programátoři počkají na tlak, až budou muset změnit svůj styl psaní a přibližně v roce 2010 můžeme očekávat, že většina kódů bude alespoň XML validní.
Proč to musí být validní?
Někteří si možná z vás kladou otázku, proč všichni jdou za validitou? Odpověď je vcelku jednoduchá, kvůli byznysu a marketingu. Validní weby se lépe indexují ve vyhledávačích a lépe se upravují pro mobilní zařízení apod. Když vezmete v úvahu, že rozumné barevné mobilní telefony nejsou na trhu ještě ani rok. Že honba po SEO probíhá teprve pár let, musí vám být jasné, že validita brzo bude doslova nutností a bude vyžadována. Neříkám, že se to stane za rok, že to bude otázka dvou let, bavím se o tom, že se změní kompletní programovací techniky a validita nebude nadstandard, bude samozřejmost, protože se prostě bude programovat sémanticky a nikoli špagetově.
Aktuální stav
Aktuálně se validní kód velmi špatně udržuje, vyžaduje pravidelné kontroly, korekce a mnohdy i zdatné uživatele. Já například na tomto blogu provádím validaci pomocí PHP skriptu 1x denně, abych si byl jist, že žádná změna nepovede k jeho nefunkčnosti, kód si můžete prohlédnout níže.
blogvalidator.php
<?php
set_time_limit(90);
// VALID all pages
$error = '';
$w3 = file_get_contents('http://validator.w3.org/check?uri=http%3A%2F%2Fblog.air4web.com%2F&charset=%28detect+automatically%29&doctype=%28detect+automatically%29&ss=1');
$error .= !strpos($w3,'This Page Is Valid') ? 'W3,' : '';
$rss09 = file_get_contents('http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fblog.air4web.com%2Frss.php');
$error .= !strpos($rss09,'Congratulations!') ? 'rss09,' : '';
$rss1 = file_get_contents('http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fblog.air4web.com%2Frss.php?ver=1');
$error .= !strpos($rss09,'Congratulations!') ? 'rss1,' : '';
$rss2 = file_get_contents('http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fblog.air4web.com%2Frss.php?ver=2');
$error .= !strpos($rss09,'Congratulations!') ? 'rss2,' : '';
$atom = file_get_contents('http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fblog.air4web.com%2Frss.php?ver=atom03');
$error .= !strpos($rss09,'Congratulations!') ? 'atom,' : '';
if(!empty($error)){
mail('muj-mail@gmail.com', 'Blog validator', "Ahoj, nalezl jsem tyto chyby:\n\n".$error);
} else {
mail('muj-mail@gmail.com', 'Blog validator', 'Vse je validni, zadne chyby nenalezeny');
}
?>
Mimo mísu od kexik_white
06.05.2005 #Pokud vycházíte z předpokladu používání notně zastaralého PHP, pak máte nejspíš pravdu.
Kdo však používá moderní současné nástroje v JSP, ASP.NET, které mají mocné nástroje jak pro XML, tak pro snadné oddělení aplikační logiky od designu, ten nemůže o "plácání HTML přes sebe" vůbec hovořit. Nevím, kde jste byl na vašich zhola nesmyslných závěrech - myslím si, že již dnes spousta vývojářů pracuje jak píšete sémanticky a žádné "chabé pokusy vylepšit design" neaplikují. Pasoval jste se na posledního spravedlivého, který jedním šmahem typicky po česku ohodnotí od svého stolu s ukoptěným PHP, jak to vlastně dělají ostatní?
Zkuste si nejprve sám napsat něco jako je v ASP.NET User Control a potom teprve hodnoťte. Váš článek je bezbřehé plácání o ničem, nic nového nepřináší a ani není objektivní. Snad tedy jedině vidina jisté flamewar vás asi motivovala k napsání čehosi pro zvýšení návštěvnosti.
Content Managment System od Mortalis
06.05.2005 #Hezký den,
většina dnešních webů používá nějaký CMS. U blogů je to třeba populární Wordpress či B2evolution, u složitějších webů Blog:CMS, atd. Všechny tyto systémy produkují bezchybný XHTML Strict kód a správce/admin/uživatel nemusí vůbec znát (X)HTML!
Prostě chci říct, že je jednou ze správných cest je používaní spravného CMS a pak validní kód je naprostou samozřejmostí aniž bych jej musel každý den kontrolovat.
blogvalidator.php opravdu validni? od bjeta
06.05.2005 #line 153 column 199 - Warning: nested emphasis
line 157 column 69 - Warning: discarding unexpected
line 157 column 81 - Warning: inserting implicit
line 209 column 19 - Warning: anchor "comment517" already defined
line 219 column 19 - Warning: anchor "comment518" already defined
line 105 column 4 - Warning: trimming empty
line 157 column 81 - Warning: trimming empty
0 error / 7 warnings
souhlas! od waclaw
06.05.2005 #Mimo mísu od kexik_white: tak to jste mne nadzved, evidentně nevíte o čem autor píše
věřte, že je rozdíl "sám napsat něco jako je v ASP.NET User Control" a proti tomu zpravovat web z čtyřletou historií a o velmi, ale opravdu velmi velikém rozsahu
)
od Llaik
06.05.2005 #2waclaw: pokud je validni sablona, tak jedine, co muze validitu rozhodit, je:
ale ty tu nikdo nezminil 
1] obsah
2] externi veci
obsah jde procistit treba pomoci htmltidy a i do budoucna ho udrzovat cisty (tj. hlidat praci redaktoru - vkladatelu a editoru obsahu)
externi veci se vyresi o dost hur, kolikrat to ani nejde
rozhodne nechapu, jak by mohl programator nejak zkazit html kod? Nebo editor vlozenim spatneho clanku? Pak je chyba nekde jinde...
udrzovanie... od rony
06.05.2005 #Vcelku kvalitne sa mi dari uz hodne viac ako rok udrzovat XHTML kod nad strankou http://rhapsody.bloguje.cz/ a to napriek existencii hostovaneho CMS nad ktorym nemam ziadnu moznost ovladania a obsluhy, ktora validitu chape ako ikonku tam dole. Prax niekedy popre teoriu.
od markon
06.05.2005 #2Mortalis: Tak to vetsina CMS ohlidane vubec nema, a to vase genialni BLOG:CMS hulan.cz/blog ma jednu chybu ve validatorovi.
Pokud se to neresi systemove, tak ty chyby se tam dostanou, driv nebo pozdeji, je videt ze o webu moc nevis
Re: Validita není hračka od markon
06.05.2005 #2Llaik: Mam tu pocit, ze tady dost lidi nikdy nepracovalo ve firme jako programator, na projektech atd. 2,3 lidi to ohlidaj, ale co kdyz na projektu dela 10 lidi? Pak poznete jak to da validite zabrat.
Re: Validita není hračka od markon
06.05.2005 #2kexik_white: Zadny flamewar vyvolavat nechci, ja mam pravdu a to bez diskuze
od Llaik
06.05.2005 #2markon: mam to chapat, ze cim vice je programatoru/koderu, tim vice kaslou na svou praci?
tipl bych, ze v sefovi toho projektu 
Preci pokud pisi validne, tak budu psat validne i kdyz vedle me sedi 9 lidi, ne?
Jak souvisi validita s poctem vyvojaru? Ze si meze sebe pusti lempla a nechaji ho do commitit nevalidni blbosti?
Pak je ale chyba nekde jinde
Re: Validita není hračka od Robert Němec
07.05.2005 #Ne, validita opravdu není žádná hračka, protože:
1. mít validní web představuje neuvěřitelnou piplačku a stále dávat pozor na spoustu věcí. Programátor/kóder si to ohlídá. Ale co běžný uživatel?
2. pokud váš CMS používají lidé, kteří o tom neví vůbec nic nebo na to kašlou, máte po validitě hned.
Opravdu, BFU si napíše text ve Wordu, zkopíruje jej do CMS, udělá nějaké další hrůzostrašné úpravy - ha a kde jste?
A to nemluvím o typografických, stylistických, gramatických a jiných chybách, které uživatelé dělají.
My jsme zkoušeli, že když uživatel udělal nějakou věc, která by nebyla validní, CMS zařval. Víte, jak pak řvali uživatelé? Ještě více než ten CMS. :_(
Re: Validita není hračka od Jan Brašna
09.05.2005 #[2kexik] Pavle, ono jakoukoliv technologií se dají dělat technicky jak dobré, tak špatné weby. Mě třeba osobně děsí takové Interforum nebo různé výstupy OraclePortalu, které jsou postaveny na oněch robustních technologiích. Mezi námi hodně usercontrolů co jsem viděl mělo na výstupu docela děsběs.
[2robert] Přesně tak, ono záleží, jak hluboko má možnost klient zasahovat do výstupu, takový Texy! mu nedovolí nic moc podělat, ale pokud je potřeba publikovat "as-is" třeba právě z wordu, tak je to problém i přes nějakou snahu o sanitizaci či filtrování přes Tidy.
Validita podle W3C nebo stylistický validita? od brozkeff
30.05.2005 #Jsem také W3C (Welmi-Walidní-Weby-Creator)
Ale píšu texty takhle :" Úvozovky neúvozovky,čárky nečárky",tabulková úprava přes PRE a mezerníky...
zkrátka jde to mít validní web jako takový, ale JAK je udělán, je k pláči. všechno jde když se chce. třeba tenhle blog je validní tak i tak. a to se mi líbí...