Stránka 1 z 2

HTML validator vypisuje chyby - jak se jich zbavím?

Napsal: 07 úno 2011 14:40
od mistr moskva
Dobrý den, byl by někdo ochoten mi ve zkratce vysvětlit, jak odstraním násleující chyby?

http://validator.w3.org/check?uri=http% ... ne&group=0

Předem děkuji za odpověď.

// Změna názvu tématu. Původní název "validace" svou nulovou informační hodnotou porušoval pravidla fóra.
// mike007

Re: validace

Napsal: 07 úno 2011 16:11
od Myloš

Re: validace

Napsal: 07 úno 2011 16:21
od faraon
Vždyť to tam dole máš napsané ;-)

Validation Output: 2 Errors

1. Error Line 3, Column 6: document type does not allow element "head" here; assuming missing "html" start-tag

2. Error Line 3, Column 1: Missing xmlns attribute for element html. The value should be: http://www.w3.org/1999/xhtml
Many Document Types based on XML need a mandatory xmlns attribute on the root element. For example, the root element for XHTML might look like:
<html xmlns="http://www.w3.org/1999/xhtml">

Takže za prvé, struktura stránky je:

Kód: Vybrat vše

<!DOCTYPE...>
<html>
  <head>
    ...
  </head>
  <body>
    ...
  </body>
</html>


A právě to první <html> tam nemáš, tak ho tam dej a zkus znova co to udělá.

A za druhé, když to má být XHTML, tak by ten chybějící tag měl podle validátoru mít tvar který ti napovídá:
<html xmlns="http://www.w3.org/1999/xhtml">

To zkus jako druhou věc, až otestuješ samotné <html>, ať vidíš jakou chybu ti to napíše jen s ním.

A za třetí, ani to že bude stránka validní nezaručí že se zobrazí správně, natož ve všech prohlížečích jakž takž stejně... To už sice není tvoje chyba, jenže i s takovými musíš počítat a opravovat je :-(

Re: validace

Napsal: 07 úno 2011 16:45
od Myloš
faraon:
Když to má být v XHTML? Legrační je, že kromě oficiálního validátoru zřejmě neexistuje cílové zařízení, které by daný web považovalo za XHTML. Všechny existující současné prohlížeče, pokud vím, takovou stránku považují za chybné HTML a tak se k ní i chovají.
Důležité ale je, že je jim to natolik jedno, že stránku zobrazí. Kdyby ji totiž považovaly za XHTML (neboli kdyby byla poslaná s mime-typem application/xhtml+xml), nezobrazily by ji vůbec. Firefox nebo Opera proto, že je stránka chybná, Explorer proto, že je to XHTML.

Re: validace

Napsal: 07 úno 2011 17:35
od faraon
Myloš: Přesně tak, však jsem to zmínil jen kvůli tomu jeho "xhtml1-strict.dtd", jinak bych tedy XHTML radši považoval za mrtvolu, a spíš bych se věnoval HTML5.

Re: validace

Napsal: 07 úno 2011 17:48
od CZechBoY
buď XHTML a musíš psát bez chyb nebo přejdi na normální HTML 4.01 nebo HTML5(který ti nezobrazí starší prohlížeče)
MIME-TYP pošleš přes PHP funkci Header

Re: validace

Napsal: 07 úno 2011 18:52
od Myloš
CZechBoY
Omyl, HTML5 zobrazí i starší prohlížeče. S čím budou mít problém, je akceptace nových tagů, ke kterým se mohou chovat jako k tagům neexistujícím, ale stránku zobrazí (na rozdíl od XHTML se správným mime-typem v případě IE a vadného XHTML se správným mime-typem v případě ostatních prohlížečů, které takový dokument v souladu se specifikací odmítnou zobrazit).
Konečně pokud nadeklaruješ HTML5 (<!DOCTYPE HTML>) a budeš používat jen „staré známé“ tagy, není se zobrazením a správným vykreslením žádný problém.

Re: validace

Napsal: 07 úno 2011 19:06
od CZechBoY
no tak třeba tag <video> se zobrazí jako text jako třeba <span> to jsem zapoměl napsat ;-)

Re: validace

Napsal: 08 úno 2011 05:26
od Myloš
Přesněji řečeno se zobrazí jako <nesmysl>, neboli jako tag, který prohlížeč nezná a pokud prohlížeč nějaký tag nezná, správně by ho měl ignorovat.
<span> sám o sobě nedělá nic, protože je to inline prvek bez jakéhokoli sémantického významu a jeho jediný smysl je ten, že ho lze stylovat, což neexistující tagy nelze (ve Firefoxu tuším lze).

Re: validace

Napsal: 08 úno 2011 13:05
od mistr moskva
:)

Děkuji za Vám za podnětnou filosoficky laděnou debatu, ale akurát jste mi více popletli hlavu :)

Tedy abych Vás více vtáhnul do děje :) Ty stránky jsou stáhnutá šablonka, upravena mnou k obrazu mému - tedy jisté základy html zvládám, ale následné podrobné členění na html5, html 4.01 Strict a pod. nikoli.

Takže v prvé řadě jsem udělal kroky, které mi popsal Faraon a validátor W3C označil za stránky validní - což bylo vcelku potěšující.

Ale pak jsem dal na radu Myloše a odzkoušel jsem validátor český - který se na danou problematiku zatvářil zcela odlišně a vyblil na mě 4 chyby - a kupu varování... Díky popiskům k jednotlivých problémům a notné dávce štěstíčka, se mi podařilo počet neshod odstarnit na jednu chybu a na jedno (4x se opakující varování) a jedno varování týkající se reklamní lišty serveru poskytující free hosting - tuším, že do tohodle asi nebudu moci zasáhnout...

U té chyby je popsáno příliš mnoho odborné teorie, kterou bohužel nepobírám, byl by mi někdo ochoten polopatě vysvětlit jak věc napravit?

Předem děkuji za Vaší odezvu :)

Re: HTML validator vypisuje chyby - jak se jich zbavím?

Napsal: 08 úno 2011 14:46
od Tomina
Používání českého validátoru nevidím, jako nejšťastnější řešení..varování u validace neřeš, vážné chyby máš vždy pojmenované a lokalizované (řádek, znak) a vždy je tam napsané, jak je ostranit..
Pokud půjdeme do detailů, toto smaž:

<html xmlns="http://www.w3.org/1999/xhtml">

nech tam jen čistou deklaraci -> <!doctype html public "-//W3C//DTD HTML 4.01//EN">

Re: HTML validator vypisuje chyby - jak se jich zbavím?

Napsal: 08 úno 2011 14:52
od Myloš
mistr moskva:
A proč to chceš mít validní za každou cenu? Něco nefunguje?
Podívej se na naše fórum – není validní. To samé Google nebo Seznam – taky nejsou validní. Většina světového webu není validní. Když se podíváš na výsledky vyhledávání nějakého výrazu, nejlépe umístěné stránky většinou také nebudou validní (to umístění samozřejmě není kvůli jejich nevaliditě, ale proto, že se „na validitu nehraje“).
To, že stránky nejsou validní, vadí obvykle buď hloupým šťouralům, kteří toho ještě moc nevědí (byl jsem taky takový ještě před nějakými 5 lety), nebo učitelům informatiky (pevně doufám, že ne všem).

Něco jiného je naučit se nepsat jako čuně – validátor pomůže odhalit pitomosti, které do kódu nepatřím protože mohou dělat problémy a jsou proti zdravému rozumu – především křížení tagů – to přirovnávám k „rovnici“ jako je tato:
5 × [(15 ÷ 9][3 + 7)] =
Tady záleží na prohlížeči, jak bude celou věc interpretovat; a to rozhodně není dobře.
Další nevalidní konstrukcí, která může dělat problémy, vkládání bloků (<p>, <div>, <h1> a podobně) do inline tagů (<b>, <span>…) – taky zde jsem se setkal s problémem (nikterak vážným, ale přesto otravným).
Oproti tomu například zápis něčeho, co nedovoluje strict, ale dovoluje transitional, v dokumentu s odkazem na strict DTD, nepovažuji za hodno pozornosti – prohlížeč nezjišťuje (a ani nesmí zjišťovat) „verzi“ HTML, a je jeho povinností zobrazit vše, co je HTML, tedy například target (u odkazů) nebo start (u seznamů) „ve strictu“, přestože se to v něm „nesmí“.

Validátor je užitečný hlavně v tom, že pomůže odhalit ty chyby prvního typu, kdy člověk přehlédne něco, co přehlédnout nechtěl.
Daleko důležitější je především kvalitní obsah, dále pak sémantika, přístupnost, přehlednost a použitelnost, zkrátka aby se na tvém webu návštěvník cítil dobře a aby snadno našel to, co potřebuje a co by se mu mohlo k něčemu užitečnému hodit.



Tomina:
Co konkrétně máš proti českému validátoru?