Autor Zpráva
Anonymní
Profil *
Všude se dočítám, že validní kód je dobrou vizitkou kodéra, a jak nevalidní kód může způsobit spousty nepříjemností. Jaké mohou tedy být ty nepříjemnosti?
Hugo
Profil
Projdi si vlakna v tomto tematu

http://diskuse.jakpsatweb.cz/index.php?action=vtopic&forum=10

Validita je dost ozehave tema, a uz tu bylo dost flamu.
Leo
Profil
Napriklad v okamziku, kdy se to snazite ostylovat v CSS nebo k elementum pristupovat pres JavaScript, pak zjistite, ze proste struktura neni dobre definovana... Leo
Radek Hrabůvka
Profil
Další vhodné čtení: www.dgx.cz/trine/item/konec-w3c-prostrednictvim-psa-ii
Leo
Profil
Vemte si treba nasledujici HTML "kod":

<ul>
<li>první položka
<li><strong>druhá položka
<li>třetí položka
<li>čtvrtá položka
</ul>

k tomu CSS:

li strong {color: blue;}

a pak si to jeste projedte JavaScriptem, abyste zjistil vzajemny vztah uzlu.

Napriklad v IE to dopadne tak, ze druha, treti, a ctvrta polozka bude tucne, ale modre jen druha.
ctvrt
Ve FF bude tucne i modre druha, treti i ctvrta.

Co se tyka DOM, tak vypis pro IE ma tuhle strukturu:

UL
- LI
- - prvni polozka
- LI
- - STRONG
- - - druha polozka
- - - LI
- - - - treti polozka
- - - LI
- - - - ctvrta polozka
- LI
- - treti polozka
- LI
- - ctvrta polozka

Zatimco ve FF to vypada takhle:

UL
- LI
- - prvni polozka
- LI
- - STRONG
- - - druha polozka
- LI
- - STRONG
- - - treti polozka
- LI
- - STRONG
- - - treti polozka

A pokud si napriklad v IE prohlidnete kod jak ho prohlizec ulozi (Soubor / Ulozit) tak tam mate tohle

<LI>první položka
<LI><STRONG>druhá položka
<LI>třetí položka
<LI>čtvrtá položka </LI></UL></STRONG>

A pak s tim pracujte... Leo
Radek Hrabůvka
Profil
A pak s tim pracujte... Pak je nejrychlejší začít znova.
Leo
Profil
No jasne, ja jen ilustroval zmatky v okamziku, kdy si prohlizec musi html kod domyslet. Leo
Anonymní
Profil *
Děkuji. S tim JS to je zajimavy
Chamurappi
Profil
Je-li vytvořena správně struktura, problémy nehrozí. K vytvoření správné struktury není validita nutná.
Mnoho pravidel vyjádřených v DTD HTML 4 nedodržuji, a přesto jsem si celkem jist správným rozebráním. Selže-li prohlížeč na mém nevalidním kódu, je chyba spíše na jeho straně.
Timy
Profil
Leo
"No jasne, ja jen ilustroval zmatky v okamziku, kdy si prohlizec musi html kod domyslet. Leo"
Jistě, protože <strong> nemá nepovinnou ukončovací značku a proto není jisté, jak to kde dopadne. V přípapadě neukončení </li> však nenastane žádný problém a to v žádném prohlížeči, který znám. Neukončovat elementy, které nemají nepovinnou ukončovací značku je blbost, ale (ne)validita není jenom u (ne)ukončování elementů. Je velký rozdíl mezi tím, když se neukončují značky, které ukončovat nemusím a když neukončuji značky, které ukončovat musím. To se pak nikdo nedivte, že v tom je bordel :-).

Jinak obecně prohlížečům nevadí, když se neukončí třeba poslední elementy na stránce. Narazí-li na konec, poslední značky si domyslí, co jiného jim taky zbývá. Ale pochopitelně to není validní. Nicméně funkční, nesetkal jsem se s problémem, ač to mám jen na weblogu.
thingwath
Profil
Ne každý si ovšem musí být jist například u webové aplikace která automaticky generuje třeba i složité výstupy, kde pak může být validace užitečná kontrola (samozřejmě chápu, že co si správný webdesigner nenapíše a nezkontroluje ručně sám v co možná nejprimitivnějším editoru, jako by pro něj nebylo, ale co se dá dělat). Nikde není psáno, že je nutno validovat jenom podle DTD poskytnutých sdružením W3C, ale nezdá se mi, že by k nim byla nějaká alternativa.
Leo
Profil
Chamurappi

"Je-li vytvořena správně struktura, problémy nehrozí. K vytvoření správné struktury není validita nutná."

Nevim jak tyhle dve veci definujete, ale predpokladam, ze validni dokument ma automaticky spravnou strukturu / pokud ano, pak je uspesny test na validitu (za predpokladu, ze tester samotny je ok) zarukou spravne struktury.

thingwath

"kde pak může být validace užitečná kontrola"

Nejak tak. Leo
Toto téma je uzamčeno. Odpověď nelze zaslat.

0