Semantika: Kotvím, kotvíš, kotvíme
Při odkazování nemusíte specifikovat jen stránku, na kterou odkazujete, ale i tvz. kotvu (anchor, záložku). Kotvu zapíšete ve tvaru <a name=“#jmeno“></a>, což způsobí, že prohlížeč při kliku na odkaz tvaru <a href=“#jmeno“>odkaz</a> neskočí na začátek stránky, ale až na zadanou kotvu. Problém: tento zápis je semanticky špatný. O lepším řešení jsem se dočetl v knize Dana Cederholma: Webdesign […]
Při odkazování nemusíte specifikovat jen stránku, na kterou odkazujete, ale i tvz. kotvu (anchor, záložku). Kotvu zapíšete ve tvaru <a name="#jmeno"></a>
, což způsobí, že prohlížeč při kliku na odkaz tvaru <a href="#jmeno">odkaz</a>
neskočí na začátek stránky, ale až na zadanou kotvu. Problém: tento zápis je semanticky špatný.
O lepším řešení jsem se dočetl v knize Dana Cederholma: Webdesign s webovými standardy. Buď můžeme jako kotvu použít odkaz, který bude obsahovat text (tj. v kódu nebude tag a navíc), nebo nahradíme atribut name modernějším id. Díky id můžeme ve většině prohlížečů skákat třeba na nadpis <h2 id="jmeno">nadpis</h2>
, nebo na kterýkoliv jiný tag.
Komentáře
Ad 1. Hmmm, na tom něco je. Já tedy v podslední době starou metodu pomocí A elementu nikdy nepoužil, ale standardně jsem přiřazoval ID k nadpisům. To z toho důvodu, aby uživatel viděl i nadpis (který by se měl podle mě shodovat s textem odkazu, ze nějž se skáče) – přecejen skočit do středu stránky, kde je jen text, je hodně nepřehledné. Ale uzavírat celou informaci do DIVu mě nenapadlo. Bude to spíš pomůcka pro vyhledávače a jiné roboty, otázkou je, jestli s tím počítají a nebo budou v budoucnu počítat :).
Píšeš
„můžeme ve většině prohlížečů skákat“
Můžeš prosím upřesnit, co znamená ta většina? Jinak řečeno — znáš prosím nějaký aktuální používaný prohlížeč, ve kterém to nefunguje?
Yuhů – hmm.. NN4? :-)
Dobrá – přesnější formulace by byla ve VŠECH (bez ohledu na thecounter.com, kde uvádí docela vysoké procento IE 1.x)..
Skok na ID nefunguje na mobilních zařízeních. PDA, na kterým je něco jako IE3 nebo IE4, prostě na kotvu definovanou pomocí id nějakého elementu neskočí. Pokud to tedy má být funkční i na mobilním zařízení (obligátní „Přeskočit navigaci“), nejspíš je třeba se držet starého <a name=“skok“></a>
link na „id“ nefunguje v IE5 a mozna i 5.5 (mozna kecam) proto je lepsi pouzit starsi doctype – kdyz uz budem viset na validite – a „name“ a zachovat tak web zpetne kompatiliblni…
Ano, odkazování na IDčko je ve specifikacích XHTML upřednostňované proti starým kotvám. Ve všech dnešních prohlížečích to funguje spolehlivě, takže u nově stavěných webů není problém toto doporučení dodržovat. Podle XHTML 2 snad už ani na kotvu odkazovat nelze, ale možná se mýlím.
Rád bych ještě podotknul, že když se odkazujete na IDčko, tak by zpravidla nemělo být přiřazeno nadpisu, ale nějakému prvku, který celou odkazovanou informaci obaluje. Např. při odkazování do weblogu by měl být celý spot v prvku div id=“jmeno-spotu“. JavaScriptem pak dokonce lze zajistit barevné (nebo jiné) zvýraznění příslušné části na stránce. Do budoucna to budou jistě umět i prohlížeče. A kdo ví, s blokovou analýzou třeba i vyhledávače.