Jak v IE nastylovat tag ABBR bez použití JavaScriptu?
Zajímavé řešení jsem nalezl na stránkách Deana Edwardse
. Přišel (už před třemi lety!) s řešením, na které jsem, bůhvíproč, zatím na českých webech nenarazil - je bez JS, bez náhrady tagem „acronym“ a bez obalových SPANů. Podívejte se sami - zde je ukázka
.
Vysvětlení je ve zdrojovém kódu ukázky
. Celý trik spočívá v explicitním určení jmenného prostoru „html“ pro značku „abbr“, takto:
This is an <html:abbr title=“abbreviation“>abbr</html:abbr>
Tím donutí Explorer, aby si značky „všiml“ a vytvořil pro ni odpovídající DOM Node. Pak s ní lze pracovat jako s jakýmkoli jiným DOM uzlem.
Dokument začíná určením namespace: <html xmlns:html=“http://www.w3.org/1999/xhtml“> a ABBR je ostylován následujícím zápisem:
html\:abbr, abbr {
background: yellow;
border: none;
cursor: help;
}
Nejsem (X)HTML odborník, tak prosím ty, kteří jimi jsou: Je v něčem problém?
Problém se objevil u Opery 9.1, která nehodlá zobrazit obsah atributu TITLE (styl je jinak OK). Škoda.

zpetna kompatibilita
Dean je genius 8-) Pro XHTML prohlizece by to nemel byt problem. Problem by mohl nastat u ciste HTML-prohlizecu neznajicich XHTML (a tedy ani jmenne prostory). Takovy prohlizec by povazoval /html:abbr/ za neznamou znacku, jeji textovy obsah sice zobrazil, ale nenastyloval a nepouzil title.
Je to v podstane poruseni dnesniho konsensu „pisme XHML tak, aby to bylo zaroven XML a zaroven HTML“. Ale chapu, ze v tom nekdo nemusi videt problem.