Chtěl bych se zeptat, jak to pak je s validací stránky. W3C validátor mi tvrdí, že attribute "aaa:live" is not a valid attribute (což podle specifikace xhtml je zřejmě správně).
Do jaké míry je pak takový dokument stále ještě validní?
Díky.
Vlákno názorů k článku
Přístupnost dynamických webových aplikací - úvod
6. 5. 2009 10:54
Re: Validní dokument
To je pomerne kuriozni situace. Jedna se jiste validni XML dokument, kazdopadne o nevalidni XHTML1 dokument, ktere ackoliv jmenne prostory podporuje, ve specifikaci dokumenty pouzivajici jmenne prostory (resp. jinne jmenne prostory nez XHTML) nepovazuje ve striktni podobe za validni, viz http://www.w3.org/TR/xhtml1/#normative
Zkuste si zvalidovat ukazkove priklady se jmennymi prostory z vlastni XHTML1 specifikace, nepodari se vam to. Proc tomu tak je nevysvetlim, nikdy jsem myslenkove pochody tvurcu XHTML moc nechapal, ale mozna se tu zastavi Jirka Kosek a nabidne nejake vysvetleni.
Pokud je mi znamo, tak v tuhle chcili nelze vytvorit W3C validni XHTML dokument pouzivajici jmenne prostory - hledal jsem cestu a nenasel, klidne me opravte - (to se melo puvodne zmenit az v XHTML2, tj. zmeni se to az v XHTML5). Vyjimkou je XHTML1.1, ktere pomoci "finty" umoznuje validni XHTML pouzivajici MathML a SVG (mkrnete se na podporovane typy dokumentu ve validatoru, najdete je v nem).
Kazdopadne tohle se tyka opravdu jen W3C validatoru. V realu neni zadny duvod, aby prohlizec nepodporoval jmenne prostory v XHTML, pokud jej jiz zpracovava jako XML dokument (zcela jiste je v takovem pripade podporovat bude).
Pokud je nekdo na validaci z nejakych duvodu vazan, je tu stale reseni, ktere se uz pomerne bezne pouziva, tj. napsat validni dokument a teprve pomoci JavaScriptu pridat ony spravne, ale nevalidni zalezitosti (tu pujde pouzivat i zde v pripade ARIA). Jedna se o jakesi obchazeni zakonu, ale pohybujete se v takovem pripade v legalni zone (byt sede), nikoliv v cerne zone.
Zkuste si zvalidovat ukazkove priklady se jmennymi prostory z vlastni XHTML1 specifikace, nepodari se vam to. Proc tomu tak je nevysvetlim, nikdy jsem myslenkove pochody tvurcu XHTML moc nechapal, ale mozna se tu zastavi Jirka Kosek a nabidne nejake vysvetleni.
Pokud je mi znamo, tak v tuhle chcili nelze vytvorit W3C validni XHTML dokument pouzivajici jmenne prostory - hledal jsem cestu a nenasel, klidne me opravte - (to se melo puvodne zmenit az v XHTML2, tj. zmeni se to az v XHTML5). Vyjimkou je XHTML1.1, ktere pomoci "finty" umoznuje validni XHTML pouzivajici MathML a SVG (mkrnete se na podporovane typy dokumentu ve validatoru, najdete je v nem).
Kazdopadne tohle se tyka opravdu jen W3C validatoru. V realu neni zadny duvod, aby prohlizec nepodporoval jmenne prostory v XHTML, pokud jej jiz zpracovava jako XML dokument (zcela jiste je v takovem pripade podporovat bude).
Pokud je nekdo na validaci z nejakych duvodu vazan, je tu stale reseni, ktere se uz pomerne bezne pouziva, tj. napsat validni dokument a teprve pomoci JavaScriptu pridat ony spravne, ale nevalidni zalezitosti (tu pujde pouzivat i zde v pripade ARIA). Jedna se o jakesi obchazeni zakonu, ale pohybujete se v takovem pripade v legalni zone (byt sede), nikoliv v cerne zone.
Jirka Kosek (neregistrovaný)
---.bluetone.cz
6. 5. 2009 11:37
Re: Validní dokument
Specifikace XHTML 1.0 je napsaná blbě.
Nicméně řešení problému je jednoduché, nepoužívejte na začátku XHTML dokumentu DOCTYPE a tím se vám otevře cesta pro používání dalších jmenných prostorů včetně ARIA. Dokument pak sice nebude "strictly conforming", ale to nikoho nezajímá.
Pro validaci pak můžete použít třeba http://validator.nu/
Lze použít i http://relaxed.vse.cz/ (ale většinou je server přetížený a neodpovídá), který umí v XHTML ignorovat atributy z ciczích jmenných prostorů.
Nicméně řešení problému je jednoduché, nepoužívejte na začátku XHTML dokumentu DOCTYPE a tím se vám otevře cesta pro používání dalších jmenných prostorů včetně ARIA. Dokument pak sice nebude "strictly conforming", ale to nikoho nezajímá.
Pro validaci pak můžete použít třeba http://validator.nu/
Lze použít i http://relaxed.vse.cz/ (ale většinou je server přetížený a neodpovídá), který umí v XHTML ignorovat atributy z ciczích jmenných prostorů.
Venca (neregistrovaný)
---.static.adsl.vol.cz
6. 5. 2009 13:54
Re: Validní dokument
To mě taky napadlo, jenže s vynecháím DOCTYPE browsery začnou padat do quirks modu. Takže nezbývá zřejmě nic jiného, než jim o typu dokumentu lhát.
Jirka Kosek (neregistrovaný)
---.bluetone.cz
6. 5. 2009 15:15
Re: Validní dokument
Jestli nechcete, aby padaly do quirks, můžete použít něco jako
<!DOCTYPE html>
Důležité je, aby !DOCTYPE neukazovalo na DTD, které definuje pevnou sadu elementů a nejde používat další elementy/atributy z jiných jmenných prostorů.
<!DOCTYPE html>
Důležité je, aby !DOCTYPE neukazovalo na DTD, které definuje pevnou sadu elementů a nejde používat další elementy/atributy z jiných jmenných prostorů.
Jirka Kosek (neregistrovaný)
---.bluetone.cz
6. 5. 2009 15:16
Re: Validní dokument
A ještě jeden dotaz -- ony vám prohlížeče padají do quirks, když XHTML posíláte jako application/xml+xhtml nebo text/xml?
Venca (neregistrovaný)
---.static.adsl.vol.cz
6. 5. 2009 20:34
Re: Validní dokument
Máte pravdu, tohle jsem přehlídl. Opera i FF jedou ve standardním modu i bez DOCTYPE, pokud se jim pošle i správný content-type.
petr_p (neregistrovaný)
---.fi.muni.cz
6. 5. 2009 16:02
Re: Validní dokument
Tohle jsem taky nikdy nepochopil: Proč byl v XML ponechán institut DTD, když bylo od začátku jasné, že nebude slučitelný se jmennými prostory?
Jirka Kosek (neregistrovaný)
---.bluetone.cz
6. 5. 2009 16:45
Re: Validní dokument
Jmenné prostory nejsou v XML od začátku, je to nadstavba nad XML.
Navíc za jistých okolností jsou jmenné prostory a DTD slučitelné, stačí používat stejné prefixy jaké předpokládá DTD.
Navíc za jistých okolností jsou jmenné prostory a DTD slučitelné, stačí používat stejné prefixy jaké předpokládá DTD.