W3C, jdi mi s XHTML 2.0 k šípku…
Můj vztah ke konsorciu je ambivalentní. Jsem rád, když mohu studovat všechny ty dokumenty a mailing listy, které na svém webu schraňuje. Rád si počtu ve specifikacích, občas uznale pokývu hlavou nad zajímavým nápadem, informací či řešením problému. Rád si počtu o technologiích, o kterých jsem do té doby neměl nejmenší tušení.
Na druhou stranu se občas rozlítím nad těžkopádností, krátkozrakostí a zjevnou arogancí pánů standardizátorů, zejména z oblasti (X)HTML a přilehlých krajin. Neutralita se tedy nekoná. Pohybuji se na dvou březích poměrně klidné řeky. Každou nohou jsem na jednom. Většinou.
XHTML tápe a napadá na obě nohy
Dnes jsem pevně stanul na břehu opozice proti této organizaci. Měl jsem volnou chvilku a tak jsem poměrně se zájmem procházel pracovní návrh specifikace XHTML 2.0. Zastávám názor, že konsorcium W3 si s XHTML neví rady a popravdě, tento dokument mě v tom pouze utvrzuje. Chvíli co chvíli jsem jen bezradně vrtěl hlavou a šklíbil se. Pitvořil jsem se přesně v těch místech, které Chamurappi zmiňuje v tomto článku na Webylonu. Nemusíte se bát, tento text vás nekousne, je totiž do puntíku pravdivý.
Faktem je, že konsorcium by moc chtělo. Spousta opravdu chytrých lidí tam má opravdu dobré nápady. Jenže výrobci prohlížeců pracují svým tempem a hlavně: mají svá přesvědčení. Zatímco konsorcium čeká na vydání nové verze prohlížeče A, která by mohla podporovat jejich návrh B, je tento návrh přetvořen do formy návrhu Ň, který je poté zavrhnut čí lépe – vrácen k přepracování. Nato vyjde prohlížeč A. Bez podpory návrhu B či Ň. Nemusím připomínat, že návrh Ň dokonale zabijí drobné ústupky velmi chytrých lidí jiným opravdu chytrým lidem. To vše v rámci konsorcia.
Jak jsem zcepeněl
Maličko jsem odbočil. Pročítám tedy nejnovější pracovní návrh specifikace XHTML 2.0 a kroutím nevěřícně hlavou. A v té chvíli se to stalo, můj zrak padl na text, kterému jsem odmítal uvěřit. Cituji ze specifikace (sekce 10. – XHTML Hypertext Module):„The Hypertext Module provides an element (<a>, pozn. Dero) that traditionally has been used in HTML to define hypertext links to other resources. Although all elements may now play the role of a hyperlink (using the href attribute) or hyperlink anchor (using the id attribute), this element remains for explicit markup of links, though is otherwise identical in semantics to the span element.“
Pro neangličtináře přibližný překlad: No jo, jasněže v (X)HTML vždycky byl tag <a>, ale my jsme vymysleli prima novinku. Jakýkoliv tag teď může mít atribut href, takže bude krásně plnit funkci odkazu. <a> už vlastně není potřeba, protože sémanticky je to to samé co span, ale ve specifikaci ho tedy necháme, kdyby snad někdo potřeboval explicitně vyjádřit hypertextový odkaz.
Možná je v původním textu méně sarkasmu. Nicméně! Pro mě je to srdeční záležitost. Anchor, to je základ webu. Byl ve všech dosavadních specifikacích (X)HTML a snad nikdo nepochyboval, že jeho místo je naprosto neotřesitelné. Odkaz je prostě odkaz. Položka menu není odkaz. Span není odkaz. Možná si řeknete, že jsem staromilec a zpátečník, a já vám to odkejvu, jsem.
Protože co byl původně web? Stránky plné čistého, jen minimálně formátovaného textu, mezi nimiž se dalo procházet. K tomuto procházení sloužil jeden prvek, jehož syntaxe se velmi brzy (první použití anchoru se datuje do roku 1990) ustálila na nám známém anchoru, tedy tagu <a>. Ano, je to už šestnáct let.
Anchor za tu dobu přežil opravdu velké množství hokus pokusů a zvláštních specifikací, jmenujme například nikdy nedokončenou specifikaci HTML+, z níž se potichoučku vyklubalo velmi zajímavé HTML 3.0, které však bylo zavrženo ve prospěch podstatně nudnějšího HTML 3.2. Ve všech těchto specifikacích anchor figuruje, o HTML 2.0 či dokonce původním HTML vůbec nemluvě.
Co víc, vzpomeňte si, jaké HTML tagy jste se naučili jako první. Že mezi prvními pěti figuruje anchor? Rozumějte, web bez této značky si nedovedu dost dobře představit a nechápu tedy, proč pánové standardizátoři jsou v této věci tak jednotní. Správně, nezáleží na tom. Anchor v XHTML2 prozatím přežil, zdánlivě také proto, že konsorciu došlo, že zrušit ho je nelogické. Přesto je jasné, že jeho místo zdaleka není tak neotřesitelně pevné, jak se mohlo zdát.
A pokud si myslíte, že konsorcium dělá správnou věc, tedy že šikovně ničí nepotřebné tagy, vysvětlete mi toto.
Co by to přineslo?
Představte si na chvíli, že tag <a> je opravdu pryč. Co uděláte? Za sebe odpovídám, že bych dál spokojeně psal v HTML, ale co kdyby bylo třeba použít novou specifikaci? Objektivně řečeno, mnoho by se nezměnilo, jen místoa { color: blue; }
a:hover { color: red; }
by se psalo
span[href] { color: blue; }
span[href]:hover { color: red; }
či obecněji
*[href] { color: blue; }
*[href]:hover { color: red; }
Ani jedna alternativní varianta se mi nelíbí. Jsem opravdu staromilec a (X)HTML bez tagu pro hypertextový odkaz si neumím a nechci představovat.
Zajímavost na závěr
Neexistuje mnoho tagů, které se vyskytují doposud v každé (X)HTML specifikaci a které by byly zároveň starší, než je právě <a>. Jsou však. Asi vás nepřekvapí, že k takovým stařečkům se řadí například tagy <ol>, <ul>, <li> či <h1>-<h6> (tyto mají původ ve specifikaci GML z roku 1980!), ale možná by vás mohlo zaskočit, že takovým vousatým a stále žijícím tagem je třeba <address> (1988) či <dl> (1980!). Pro pořádek musím dodat, že GML mělo nepatrně jinou syntaxi (:LI, :H1 atp.)K tagu <a> mne váže jisté citové pouto, nijak to neskrývám. Myslím si, že vyřadit ze specifikace tento tag by byla tak trochu rána do zátylku samotnému webu. Nemyslím si, že hypertextový odkaz bude v nejbližších mnoha letech nepotřebný. A co vy? Velmi mě zajímá vás názor.
Mimochodem, nadpisy (Hx) mají taky namále. Mohly by být vytlačeny kombinací tagů <h> a <section> (viz specifikace). Ještěže není toto nóvum dostatečně praktické…

href na ostatních značkách je nutnost, už si představuji, jak dělám logo pomocí [h1 href="/" title="Homepage" id="logo"]Název[/h1]. Paráda!
Jinak značka A je skutečně nesmyslná, není důvod ji udržovat, opravdu je zde jen z nostalgie. Atribut href by měl být všude, skoro jsem uvažoval, že bych si jej doplnil v XHTML 1.1
No to se asi jen tak neujme…co na to SEO? Anchoru dávají vyhledávače solidní body, tohle se mi nelíbi:(
Body jsou za href, nikoliv za [A]
Se zavedením HREF nelze než souhlasit, takže [a] se opravdu stává zbytečné.
Nicméně nějaký význam přece jen má. Čím jiným bych označil odkaz v textu prostě jen na nějakém slovním spojení? [Span]em? Proč? Ono to, že je něco odkaz, je samo o sobě význam, jen nebude tak zřetelný.
no href vsude mi taky prijde dost dobrej napad, dalo by se delat spousta zajimavejch veci….
No bude z toho pekná motanice :). Na konec to bude vypadat jako tvorba documentu .doc či .xls, jejichž zamotaným principům nerozumí už ani sám Microsoft
Například si nedovedu představit, jak v při vypnutých stylech prohlížeč ostyluje anchory tvořené tímto spůsobem
Vidím to dost podobně jako Aleš Janda. Href na všechny prvky? Ano, za to se budu klidně bít. Ale stejně tak se budu bít za zachování [A], podle mě má sémantický význam.
To v tom bude pěkný zmatek. Teď kouknu do zdrojáku a jasně vím, co je odkaz. Když opravdu zruší A, tak se bude muset složitě hledat a najednou bude odkazem kdejaký tag. Třeba H1 href. Možná to někomu usnadní život, ale já si myslím, že to bude méně přehledné.
Plně tedy souhlasím s autorem tohoto blogpostu.
4: body jsou nejen za href, ale i za popisek odkazu, vizte http://news.bbc.co.uk/…/3298443.stm
Zaujímavé. Ale to je pokrok. Ide o to, že my sme zvyknutí na nejaký štandard. Ani mne sa moc nepáči, že by sa vyhodila značka <a>, ale bolo by krásne použiť niečo ako <div href="URL">Obrázok na pozadí</div>. Nemusia sa robiť zbytočné komplikované konštrukcie v CSS. Na druhej strane to podľa mňa prinesie mnoho zaujímavých nových vecí.
Href na ostatní elementy je jistě dobrý nápad, ale rušit anchor? Proč? Zrovna argument, že sémanticky je na stejné úrovni jako span, mi přijde lichý. Co takhle nahradit paragraph divem s atributem type=paragraph?
Anchor mi zcela jasně říká, že primární funkcí textu v elementu je někam odkazovat. Co mi říká span s atributem href? Že je to text s odkazem jaksi navíc.
Jak říkám href na všechno je krásná věc, ale lehce doplňková. Element bude plnit svou funkci a navíc bude odkazovat. Čili rušení anchoru jednoznačné NE!
Mimoto je a jednoznačně kratší než span, a tedy se rychleji píše.
>
[h1 href="/" title="Homepage" id="logo"]Název[/h1To mi přijde jako zjednodušení
[h1 id="logo"][a href="/" title="Homepage"]Název[/a][/h1], jako takové je určitě přínosem – ulehčení práce. Ale rušit tag[a]je IMHO naprostá kravina.Nelze prostě jen tak nějakému elementu, který nemá žádný význam a slouží pouze na navázání vzhledu (myšleno
[span]), přiřadit „důležitost“ odkazu.Stejně tak
[li href="někam"]není odkaz, to je prostě položka seznamu a nikdo mě nepřesvědčí o opaku.Takže shrnutí: atribut
hrefpro jakýkoli element je IMHO zajímavá myšlenka, která může pomoci vytvořit ALERNATIVU pro celý zápis (např.[li][a href="někam]...") , ale rozhodně je IMHO blbost ji zařazovat jako jediné řešení.Takže s tebou, Dero, souhlasím. To můj názor…
gizmo, Ty si ten puntík vážně zasloužíš. :o) Tak nějak to taky vnímám, ale na druhou stranu chápu argumenty zastánců.
U mě má [a] prostě význam, dost podstatně vypovídá o tom, že jeho obsahem je primárně hypertextový odkaz někam. Když chci vyjádřit odkaz, použiji [a].
Ale zase je opravdu velmi lákavé použít atribut href právě na Radkem zmiňované nadpisy. Přidat atribut href je dobrý nápad, zrušit anchor podle mě nápad špatný.
Omlouvám se, ten anonym jsem byl já, zapomněl jsem se podepsat…
Dero, staromilectví nemá při návrhu specifikací místo. Důležité je především (ale nejen) to, jak dobře se bude specifikace autorům/implementátorům používat.
V případě smazání tagu <a> vidím dvě výhody:
Na druhou stranu vidím i jednu nevýhodu, a to, že odkazy nepůjde vizuálně tak snadno odlišit.
Ať už je můj názor na smysl XHTML 2.0 jakýkoliv, nahrazení tagu <a> možností použít všude href dává smysl a podle mě jeho výhody převažují nad nevýhodami.
BTW proč se ti nezdá náhrada <hX> za <h>+<section> praktická? Už jsem byl mnohokrát v situaci, kdy by mi tato konstrukce ušetřila dost práce.
K href a a toho bylo řečeno dost. Každopádně u toho "pre" a "blockcode" je to stejný případ jako u "b" a "strong". B znamená tučně (vzhled), zatímco strong znamená důrazně. Taktéž pre znamená preformated, tedy předformátovaný – nevím co je předformátovaného. Kdežto u blockcode vím, že jde o blok kódu. To je myslím logické.
Ještě mě napadl takový myšlenkový experiment: Co kdyby šly dějiny naopak – href by v klasickém HTML šel psát všude a v nové specifikaci by se na odkazy zaváděl explicitní tag <a>. Zdálo by se vám to pak jako zlepšení? Pokud ne a přesto dnes argumentujete proti hrefu, není vaše argumentace logicky konzistentní. (Aspoň odhlédneme-li od argumentů typu "komptibilita s dnešním webem", "náklady na změny" apod.)
19: Nu, víš, že na takové spekulativní otázky je těžké odpovědět. Atribut href přiřazuje určitou funkci, neříká sám o sobě, že prvek, který jej má přiřazen, je hypertextovým odkazem (viz [link]). Asi bych pochopil, že se zavádí prvek, který přesně tohle o svém obsahu říká.
Ale vážně těžko soudit.
Explicitní [a] se mi hodí do delšího textu, jako propojovací nástroj. V odstavci si prostě jinak, než pomocí [a] nedokážu odkaz představit.
Pokud odbočíme, nejvyužitelnější mi přijde atribut href v menu. Abych to upřesnil, [ul] by měl být používán pro seznam, menu je seznam odkazů, tedy bych obnovil [menu], ve kterém by každá položka měla povinný atribut href.
Davide Majdo, pokud by byl href od začátku všude, musel by být zároveň vymyšlen zvláštní element, který by označoval samotný odkazující kus textu, tedy něco jako [span]. Což plně supluje [a], tedy jeho vznik byl plně a naprosto logický. Samotný atribut href byl možná na začátku podceněn, ale kdo mohl tenkrát vědět, že se web dostane do takových dimenzí, jako je dnes?
Řekl bych, že tento způsob odkazování posouvá XHTML ještě blíže ke XML.
Podle mě to není špatná myšlenka. Ale zrušit anchor? V žádném případě, jak zde někdo psal, jak potom značkovat odkazy v odstavcích?
Podobně, jako tobě, Dero, se mi zdá, že W3C začíná šlapat v bahně.
Tak chlapci, a teď se vrátíme zpátky do reality, OK? Píše se rok 2006 a majoritní IE stále nezvládne pseudotřídu :hover na kterémkoliv jiném prvku než u odkazu (A). Co chcete dál řešit? Dero má pravdu (bohužel, je to mi skutečně líto, ale prostě je to tak).
gizmo:
menu je seznam odkazů, tedy bych obnovil [menu], ve kterém by každá položka měla povinný atribut href.
V návrhu XHTML2 je pro menu vyčleněna "značka nl":http://www.w3.org/…od-list.html#…
. Jinak obdobně také v XHTML2 fungují obrázky (atribut src
můžete vrazit kamkoliv a obsah elementu bude brán jako alternativní
text).
K tématu: odkaz je odkaz, to se mi zdá neoddiskutovatelné. Chcete udělat nadpis odkazem? Použijte tuto konstrukci: [a][h1]nadpis[/h1][a]. Význam mají udávat elementy, ne atributy. Navíc zjevná nevýhoda tohoto moderního zápisu je nekompatibilita se staršími prohlížeči. Pokud už bych to někdy používal, tak jedině v místech, kde bych jinak musel nastavit a{display:block}. Což za mě ale řeší to, že samotný blokový element obalím právě tím odkazem, tudíž se tento nový zápis stává nepotřebným.
Menu by také šlo udělat podobně. Proč tam psát [li], když tam prostě rovnou mohu zapsat [a] a při dalším výskytu [a] si prohlížeč odrážku domyslí již sám. I dnes je ve značce [menu] to [li] teoreticky zbytečné.
Jinak je zajímavé, že třeba pre zůstalo, ale nenašel se žádný element, který by snižoval význam (opak strong). I značka small, jakožto jediná možná alternativa, byla zrušena. O patičce ani nemluvím.
Pavel Kout: My se nebavíme o science-fiction? :o)
Inu, odhoďme pryč všechny citové pouta k onomu elementu a a odhoďme stranou fakt, kdy by celá, výše popsaná akce, mohla být v praxi použita… Totiž, ten citovaný pán má vskutku pravdu, a je stejně sématicky bezvýznamný jako span.
Vždyť, co by byl element a bez atributu href? Pouhou hračkou k ničemu… A tedy, proč by si výsosti nejdůležitější fce webu nemohli užít i ostatní elementy? Uživatelům by to mohlo být putna, webdesignerům by to za dvacet let mohlo ušetřit práci…
Timy
Ano, takhle nějak jsem si to představoval. Teď vypadám jako ignorant, ale nějak mne předtím nenapadlo si tu specifikaci projít. :) Stejně to přijde do ostrého provozu (kdo ví jestli vůbec) tak za tři roky nejdřív, takže W3C má ještě mnoho času na změnu/y.
Je, pardon… Měl jsem stránku náko uloženou v catchi, takže jsem v myšlenkách ještě někde na hoře u Hulána ;)
meca:
Vždyť, co by byl element a bez atributu href? Pouhou hračkou k ničemu…
A k čemu ti je třeba element body? Nebo klidně i elementy var, cite, samp, kbd, address… Všechny jsou vlastně hračkou k ničemu? Značka [a] určuje význam (odkaz), atribut href funkci (klikatelnost a s ní spojená odkazovatelnost
.
Timy: No… právě ;) Ne, asi máš pravdu, no… :-/
Jak já to vidím, HTML bylo vždy určeno pro popis hypertextu. Poslední dobou ale jako kdyby W3C najednou chtělo vyvinout obecný jazyk pro popis informací. To může být užitečné, ale ať si to dělají třeba s RDF, u tvůrců hypertextu po tom není poptávka.
Co se týče tohoto, zavedl bych nové věci (třeba atribut href u všeho) a teprve když by to lidé adoptovali a a by se opravdu stal zbytečným, tak bych zrušil ty staré. Pokud by to lidé neadoptovali a dál by si používali a, tak bych naopak zrušil to nové jakožto praxí zavržené. Podobně jako když se dělají změny v nějakém API (pokud to API není Direct3D
).
Jenže Konsorcium radši jednou za dlouhou dobu vydá něco revolučního, zpětně nekompatibilního a posaďte se z toho někam.
Tyhle značkovací čachry jsou k ničemu. Proč se tváříte, jako kdyby nějak záleželo na tom, jak se značí odkaz? Delší čas zahodíme diskusí než kolik bychom mohli ztratit v případě nastolení horší varianty.
Mnohem více by mělo vadit, že se prostě vůbec nic neděje. MS nic nedělá, W3C nic nedělá, alternativní prohlížeče už půl roku usilovně předělávají jádra prohlížečů kvůli implementačním drobnostem, aby mohli zobrazit velikého smajlíka.
ono je v podsate jedno jestli se zachova [a] stejne je podstatne to href ;) odkaz muze byt klidne [strong href="cesta"]okdaz[/strong], nehlede na to, ze bude mnohem snadnejsi stylovani, prehlednejsi kod,… osobne pro zruseni [a] najdu mnohem vice vyhod nez nevyhod
Docela dobre si dovedu predstavit, ze bude atribut href u ruznych tagu, ale podle me bude muset jeste hoodne dlouho prezivat podpora samotneho <a>. Zcela vypustit ho pujde IMHO nejdriv tak za 10 let, az uz bude opravdu kazdy pouzivat prohlizece podporujici novy zpusob :) Kdyz ted obcas vidim, jak se stale drzi IE5, tak je to opravdu hudba budoucnosti… No, vlastne zpetna podpora tam bude muset stejne byt asi uz porad, ponevac si nedovedu predstavit, jak nekdo prepise celej Internet :)))
Pomiňme, že celá debata je čistě hypotetická, protože ještě se hodně vody v návrzích budoucích specifikací změní, než je majorita browserů bude respektovat.
Zda odkazovat přes
<A>nebohref– držel bych se čistě chladné technické úvahy, a ne nějakých emocí.Technicky je rozdíl v tomto: Pokud máme pro odkaz celou značku, můžeme pro něj specifikovat libovolné množství atributů, které jej ještě lépe popíší. To v případě
hrefjde jen obtížně, neboť by bylo třeba přidávat nové atributy všem značkám (nakonec společně s href="" by mělo být přidáno i třeba rel="" nebo type="", ne?).Sémantický pohled: Ve prospěch
hrefhovoří určité protisémantické rozdvojení (<a><h1>...vs.<h1><a>...– co je správně?).Léta praxe ukázala, že pro popis odkazu stačí skutečně cca dva atributy, tedy není důvod nepřejít na
href.Protože mezi
[span href=""]&[div href=""]a[a href=""]nebude (resp. zařízení by neměly dělat) rozdíl, stává se<a>zbytečnou. Její zrušení má jednu výhodu: za dvacet let budeš moci vzpomínat: "jo, to JÁ ještě pamatuju ‚a‘, to už vy vůbec neznáte."omlouvám se za ty šílené značky, ale Dero, po Texy formátování není třeba již htmlSpecialChars()
Az si nazory rusitelu [a] prectou dogmatici pristupnosti, rani je z toho mrtvice. Me taky
href povazuji za vlastnost nikoli za prvek – tedy jsem pro
ald: také nepovažuji href za prvek, ale <a href= > ano! jestli v té normě nebude anchor, tak ji nebudu používat :)
No já bych byl docela pro, ale dost mi vadí, že to nebudou podporovat prohlížeče. IE teď pět let mlčel, než se uráčil vydat novou verzi (a to zatím ještě ne stabilní). Až kotvu to zruší, jak dlouho bude trvat, než se vytvoří plná podpora u všech prohlížečů? A čím se bude dělat ‚a name=„kotva“‘ ?
A kdyby byl href u všech tagů, tak by mohl být i u divů. Jak mám udělat klikací logo, když DIV nemůže být uvnitř A? Jinak souhlasím s llookem [30].
jen v kratkosti, jsem pro zruseni [a], je to prezitek href u
vsehoje nutnosti, tedy neni duvod drzet na to tag po pravde, je mi na blbe vzdy kdyz pisu [a href=""][img][/a]ad 38. – nechapu ze nekdo muze byt tak zabrzdeny…
Nu, jak to bude s kotvama? to budem každý prvek pojmenovávat name=„xxx“? Nemluvilo se kdysi o tom, že bude atribut name zrušen a nahradí jej id? Mě by zajímalo, jak se tohle bude řešit…
<h1>tiffanychina iphonewholesale fashion</h1>
<h1>buy shoesiphone 3gs wholesale无为人生</h1>
sdzumba dvd wholesale wholesale boots wholesale nflfs
sdfwholesale MAC Mascara</br> sdf wholesale MAC Concealer</br> sdf wholesale MAC Eyeliner Gel</br> sdf
what your favourite bags handbags lady bags golf bags
W3C, jdi mi s XHTML 2.0 k šípku…
I've been to China travel, in my opinion chinese people are very freidly, and i especially like the city of beijingshenzhen, i have a friend from china, i ike her blog discount china, now she is in Jewish, just now, she send me a Jewish Directory website, i think the it is very useful.
Lapel Pin cnc lathe progressive die stamping
hollister ukladu lady
It's always nice when you can not only be informed, but also engaged! abercrombie fitch
Well said, such a person should be a good sentenceed eyebrow with this as welltiffany outletpiouoeru sdifuxn jdisuf dsnfj dsfj sdfuih
Buy Women's UGG Matala Sandal only 83USD. The UGG Matala Sandal features the season's best colors and innovative design with a combination of textured cottons and leathers. Buy Now!