« 1 2 »
Autor Zpráva
Chamurappi
Profil
Včera jsem nahodil vylepšenou verzi českého validátoru, ale její hlavní novinka je zatím skryta očím širé veřejnosti. Rád bych ji měl důkladně prověřenou, než zavalím validující maniaky novými hláškami. Žádám vás o betatest.

Aktualizace 10. ledna 2008: betatest skončil, už to jede všem. —

Nová kontrola atributů se nyní provádí (lépe řečeno prováděla) pouze tehdy, obsahují-li validovaný kód či URL slovo „etemenanki“. Co všechno se ověřuje:
1) Typy atributů.
2) Jedinečnost kotev.
3) Shoda atributů „name“ a „id“ na stejném elementu.
4) Výchozí MIME typ stylovacích a skriptovacích atributů.
Vycházím vždy z W3C doporučení HTML 4.01, nehledě na odvolávanou DTD (v DTD stejně tyto požadavky vyjádřené nejsou). Kontrola atributů funguje pouze při MIME typu „text/html“.

Ukázky: první, druhá, třetí, čtvrtá.

Uvítám jakékoliv připomínky.
los
Profil *
V popise pripomienky "není určen výchozí skriptovací jazyk ovladačů událostí." je odporučené vložiť
<meta http-equiv="Content-Style-Type" content="text/javascript">
namiesto
<meta http-equiv="Content-Script-Type" content="text/javascript">
Dero
Profil
Chamurappi: Důslednost na všech frontách, konečně mi přijde, že začínáš narovnávat tu samoúčelnost, se kterou jsi nástroj prve sestrojoval. Postupného cíle jsi koneckonců dosáhl.

A teď konstruktivně, asi tě napadne, že stále čekám na nápravu tohoto nepřípustného jevu:

<p>Já jsem odstavec a <ins>trajdám si to <div>světem</div></ins></p>


Jinak krok správným směrem.
Str4wberry
Profil
Odpovídám Chamurappimu:
„Včera jsem nahodil vylepšenou verzi českého validátoru.“
Dobrá práce.

A teď připomínka:
„hodnota atributu "LANG" elementu "HTML" je chybná; "cz" není kód jazyku“
Proč <html lang="cz"> vypisuje varování a <html lang="Chamurappi"> ne? Možné hodnoty atributu lang jsou uvedeny tady, ne?
Bubák
Profil
Co tak u IMG upozorňovat na alt="" a alt=" " (mezera)?
habendorf
Profil
Co tak u IMG upozorňovat na alt="" a alt=" " (mezera)?

Validátor musí validovat vůči specifikaci, nikoli vůči dobrým mravům.
Petr Tichý
Profil
"Validátor musí validovat vůči specifikaci, nikoli vůči dobrým mravům."
A co třeba jen varování či poznámky?

Kdyby se zařadil prázdný alt, chybějící tiskový styl, favicona, žádné <hr> tagy apod. stal by se z validátoru užitečný pomocník :o)

Už mlčím...
Chamurappi
Profil
Reaguji na losa:
Dobrý postřeh, opraveno.


Reaguji na Str4berryho:
Proč <html lang="cz"> vypisuje varování a <html lang="Chamurappi"> ne?
Opraveno. Měl jsem špatně poskládaný regulární výraz. Ze stejného důvodu doposud procházel bez povšimnutí target="šišinka" ve výše odkázané první ukázce.

Možné hodnoty atributu lang jsou uvedeny tady, ne?
Ještě je možné užívat různá nářečí atd. — hodnoty mohou být poskládané z více částí. Kompletní seznam všech zkratek spravuje IANA a poměrně často se mění. Já testuji zejména tu první část jazykového kódu — hlavně proto, abych upozornil na oblíbený lang="cz".


Reaguji na Bubáka:
Na prázdný řetězec jsem již upozorňoval, nyní upozorňuji i na řetězec složený pouze z bílých znaků.


Reaguji na habendorfa:
Specifikace u některých atributů říká, že jejich hodnota je textový řetězec srozumitelný pro člověka. S ohledem na dobré mravy usuzuji, že prázdný řetězec tohle nesplňuje a zahlásím při nevyplněném altu varování (nikoliv chybu).
Podle stejného pravidla neprojde bez varování ani title="", což se mi tedy moc nelíbí, ale je to konzistentní.


Reaguji na Petra Tichého:
chybějící tiskový styl
CSS zatím validovat neumím. Někdy ani není tiskový stylopis potřeba.

favicona
Není tak důležitá a nesouvisí se specifikacemi.

žádné <hr> tagy apod.
Element <hr> je OK. Mohl bych napsat vlastní DTD zakazující <font>y apod.

stal by se z validátoru užitečný pomocník :o)
Nosím v hlavě několik užitečných nápadů, ale nechci jimi navyšovat užitnou hodnotu validátoru.


Reaguji na Dera:
konečně mi přijde, že začínáš narovnávat tu samoúčelnost
Sám si volíš úhel pohledu a tomu odpovídá verdikt. Proč nevidíš typovou kontrolu atributů jako chladnokrevný kalkul s cílem získat více uživatelů a publicity pro to mé podlé samoúčelné počínání? Tohle tu ale nechci řešit.

stále čekám na nápravu tohoto nepřípustného jevu
1) Není moc dobře definovaný. Kombinace několika zanořených <del>ů, <object>ů a tabulek nepůjde posoudit jednoznačně.
2) Závisí na DTD.
3) Musel bych jen kvůli němu zkoumat stromovou strukturu — napsat si parser plně kompatibilní s OpenSP včetně zotavovacích mechanismů.
4) Nikdo ho nepoužívá.

Zkoušel jsem dva týdny najít řešení s upraveným vstupním dokumentem a upravenou DTD, aby mě na jev upozorňoval už sám OpenSP, ale nic spolehlivého z toho nevzešlo.
Z podobných důvodů neupozorňuji ani na klikací mapu v <button>u.
Chamurappi
Profil
Nechtěl by někdo sepsat návod, jak se v HTML zbavit atributů obsluhujících události? Hláška „není určen výchozí skriptovací jazyk ovladačů událostí“ bude podle mého průzkumu patřit k nejzobrazovanějším. Mnozí validující maniakové by asi uvítali možnost veškeré skripty odsunout do externího souboru. Na dobrý návod bych odkázal z popisu hlášky.

Stejně tak by asi bodnul bližší popis obou nových hlášek o Content-Style-Type a Content-Script-Type — abych nemusel odkazovat na anglickou specifikaci. Našel by se dobrovolník?
Bubák
Profil
Z podobných důvodů neupozorňuji ani na klikací mapu v <button>u.
Schovávat se toho dá více, nedávno jsem viděl v odkaze strčený za <map> tagy <fieldset>, <legend>, <h3>, <p> a ještě pár takových, které v odkaze mohou být, <img> a <span>.
Timy
Profil
Chamurappi
Hele, tak jsem si sedl, že ti ty hlášky připíšu do toho mého článku, napíšu jedenáctou hlášku o Content-Style-Type, uložím a ona se mi smaže celá databáze mého blogísku. Hehe. Takže jsem prozatím nahodil alespoň ten původní článek z Google archivu, ať neodkazuješ na 404 a postupem času třeba i vyřeším tu smázlou databázi.
Timy
Profil
Chamurappi
Mimochodem on to ten validátor stejně nějak nehlídá http://validator.webylon.info/check?uri=save%3a12F2C45C9FD67F6D5E62CC29690AD7 79&ss=1
tiso
Profil
Chamurappi Nechtěl by někdo sepsat návod, jak se v HTML zbavit atributů obsluhujících události?
Myslíš toto? http://interval.cz/clanky/prirazeni-skriptu-stylem-behavior-a-htc/
Str4wberry
Profil
Timy,
nechybí Ti tam „etemenanki“?
quinux
Profil
Chamurappi
Ještě by to chtělo něco udělat s dostupností, protože ten web dost často nejede. ;)
Chamurappi
Profil
Reaguji na Bubáka:
Definice typu dokumentu od konsorcia jsou občas nedomyšlené.

Tou klikací mapou ve svém příspěvku jsem spíš myslel tento jev:
<button><img src="..." usemap="..."></button>
Doporučení HTML 4.01 o něm jasně prohlašuje, že je zakázaný. Můj validátor to neprověří.


Reaguji na Timyho:
napíšu jedenáctou hlášku o Content-Style-Type, uložím a ona se mi smaže celá databáze mého blogísku
Kdo by to byl tušil, že tak bezvýznamný prohřešek proti HTML specifikaci zapříčiní takovou škodu.

Takže jsem prozatím nahodil alespoň ten původní článek z Google archivu, ať neodkazuješ na 404
Díky. Přeji hodně štěstí při zotavování.

on to ten validátor stejně nějak nehlídá
Zapomněls zmínit kouzelné slovíčko.


Reaguji na tisa:
Nemyslím. Navíc není podpora behaviorů v prohlížečích dostačující.
Jde o to, že všechny události lze nastavit i pomocí „element.onudálost = function(){ ... };“ — z elementu <script> (či externího skriptu), bez použití atributů „onudálost“.


Reaguji na quinuxe:
Teď jsem také zaznamenal pár výpadků, za které pravděpodobně může můj takřka dokonalý poskytovatel hostingu. Zatím jsem si nevšiml, že by to nejelo „dost často“.
tiso
Profil
Chamurappi - tak o tom som nevedel, JS nesledujem a nepoužívam... Vyzerá to na užitočnú vec...
quinux
Profil
Chamurappi
Teď jsem také zaznamenal pár výpadků, za které pravděpodobně může můj takřka dokonalý poskytovatel hostingu. Zatím jsem si nevšiml, že by to nejelo „dost často“.
To já si jich všiml mnohem více, ale hlavně já se asi trochu špatně vyjádřil. Spíš jde o nějaký extra bug v aplikaci, protože když dáme zvalidovat třeba nějakou stráku z "php" webu (aktualne.cz), tak je vše v pořádku, ale když to samé uděláme z webu bežícím na .NETu, tak dostanem pusto a prázdno
Chamurappi
Profil
Reaguji na quinuxe:
To byl ale krásně nečekaný problém. Díky moc za upozornění. Teď už pusto vždy nebude.
Timy
Profil
Chamurappi
Opraveno a připsáno – Nedefinovaný stylovací jazyk a Nedefinovaný skriptovací jazyk.
Manq
Profil
Teď už pusto nikdy nebude.
Nikdy neříkej nikdy.
Chamurappi
Profil
Reaguji na sebe:
Nechtěl by někdo sepsat návod, jak se v HTML zbavit atributů obsluhujících události?
Když nikdo nechce, našel jsem si na toto téma článeček na Intervalu.

Reaguji na Timyho:
Doplněno.

Reaguji na Manqa:
Opraveno :-)
Timy
Profil
Chamurappi
Kdy už to poběží v ostré verzi? Třeba bych pak o tom něco sepsal na blog ;-).

(samozřejmě za nějakou protihodnotu… Třeba… nohu)
Chamurappi
Profil
Reaguji na Timyho:
Kdy už to poběží v ostré verzi?
Teď.

Třeba bych pak o tom něco sepsal na blog ;-).
To bys byl hodný.

(samozřejmě za nějakou protihodnotu… Třeba… nohu)
No teda. Takhle veřejně si říkáš o úplatek? Ale je to dobrá cena. Přijímám.
Mimochodem, už je to 790 dní, cos tu nohu neuváženě prohrál v sázce. Doufám, že ti moc nechyběla. Jednou ji v nestřeženém okamžiku kousek pod kolonem trochu nahlodal můj virtuální jednorožec, ale to snad moc nevadí… když mu chutnala.

Nechceš se ještě o něco vsadit?
Měsíček
Profil
<ot>Na validátoru máš Chamurappi zajímavou možnost validovat z šablony, ale všechny jsou v quirk režimu hlavně HTML 3.2 - 4 nemohl by jsi přidělat + ještě přímo šablony pro standartní režim?</ot>
Chamurappi
Profil
Reaguji na Měsíčka:
Ty šablony jsou určené hlavně pro hrátky s validátorem. Když někoho zajímá, jestli je validní kousek kódu, nahodí si šablonu, vloží jen ten kousek a nemusí se patlat s hlavičkou.
Problematice vykreslovacích režimů se na validátoru záměrně vyhýbám, protože se mi nelíbí, když je dávána do souvislosti s validitou.

Pomocí <!doctype> deklarace HTML 3.2 nejde nikdy vyvolat standardní režim, pokud vím. Deklaraci HTML 4.01 Transitional včetně URL (vyvolávající standardní režim) užívá sám validátor, takže jestli si ji chceš odněkud rychle vykopírovat, stačí si zobrazit zdroj.

Příště prosím směřuj obecné dotazy k validátoru sem.
Měsíček
Profil
Ty šablony jsou určené hlavně pro hrátky s validátorem. Když někoho zajímá, jestli je validní kousek kódu, nahodí si šablonu, vloží jen ten kousek a nemusí se patlat s hlavičkou.

Já to používám, když se chci ujistit, jestli je něco správně a potřebuji k tomu i hlavičku .. obvykle si někdy rychle i celý výsledek strčím do souboru ..

Problematice vykreslovacích režimů se na validátoru záměrně vyhýbám, protože se mi nelíbí, když je dávána do souvislosti s validitou.

Právě proto bych tam dal oba dva například:

HTML 4.01 (Quirk)
HTML 4.01 (Standart)

Jsou i tací, kteří dokáží vyloudit, že jediný správný vykreslovací režim je quirk.

Příště prosím směřuj obecné dotazy k validátoru

Dobře.
Chamurappi
Profil
Reaguji na Měsíčka:
jsou i takové případy, které dokáží vyloudit, že jediné správné je quirk
Pro validátor není prohlížečový režim quirk/standard vůbec rozhodující. Vyhodnocení validity HTML 4.01 se neliší v závislosti na uvedení adresy. Ani se lišit nesmí.
Měsíček
Profil
Pro validátor není prohlížečový režim quirk/standard vůbec rozhodující. Vyhodnocení validity HTML 4.01 se neliší v závislosti na uvedení adresy. Ani se lišit nesmí.

Promiň, vyjádřil jsem se špatně tohle ("jsou i takové případy, které dokáží vyloudit ..
")jsem neměl na mysli .. (změnil jsem příspěvek).
Chamurappi
Profil
Reaguji na Měsíčka:
Dám-li tam dělení na quirk/standard, vzbudí to dojem, že se vyhodnocení může lišit, což uškodí uživatelům víc než zarytí zastánci quirku.

Jsou i tací, kteří dokáží vyloudit, že jediný správný vykreslovací režim je quirk
S takovýmto vyluzováním se častěji setkávám u standardního režimu.

Dál to tu neřeš, prosím.
« 1 2 »

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0