Tim Tepaße: Notation von Textankern

Beitrag lesen

Hallo Georg,

Macht es einen Unterschied, ob ich Anker so notiere:
<a name="ankername">Text</a>
Oder so:
<a name="ankername"></a>Text

Die DTD von XHTML 1.0 äußert sich nicht dazu, auch der Standard nicht.
Es ist also erlaubt, aber im Sinne einer Auszeichnungssprache unschön.

Beide Arten funktionieren ja ... aber gibt es vielleicht Bedenken in Bezug
auf W3C-Konformität?

Gibt es. Aber aus einer ganz anderen Richtung, als Du denkst.

Für das Anspringen bestimmter Teile eines Dokumentes mit »#beispiel« ist
im Zuge der XMLisierung von HTML nicht mehr das Attribut »name« im Element
»a« sondern das Attribut »id«, das in praktisch jedem Element verfügbar
ist, vorgesehen.

Im XHTML 1.0 Standard heißt es ganz genau:
  »In order to ensure that XHTML 1.0 documents are well-structured XML
  documents, XHTML 1.0 documents MUST use the id attribute when defining
  fragment identifiers on the elements listed above.«
  (http://www.w3.org/TR/xhtml1/#h-4.10)

Und in der Modularisierung von XHTML bzw. XHTML 1.1 gibt es das Attribut
»name« nicht mehr. D.h. Du solltest in XHTML immer id einsetzen. Einen
Vorteil hast Du dadurch: Du kannst dieses Attribut in praktisch jedem
Element, von h1 über p bis div einsetzen und diese direkt anspringen,
mußt also nicht mehr mit dem a-Element rumhantieren.

Bei älteren Browsern geht das eventuell nicht, die wollen dann name.
Dann kannst Du beide Attribute im a-Element einsetzen, wie es auch
die HTML Kompabilitätsrichtlinien des XHTML 1.0 Standard empfehlen.

http://www.w3.org/TR/xhtml1/#C_8

(Vorsicht: Nur in XHTML 1.0, nicht mehr in XHTML 1.1! Ich habe mit diesem
Thema mal eine Stunde meines Lebenszeit verschwendet.)

Tim