Marc Nilius: Valide Imagemaps in XHTML 1.1

Nabend!

Ich verstehs einfach nicht. :-) Der Validator meckert bei meiner Imagemap, ich duerfte im map-Tag kein name-Attribut verwenden und im img-Tag das usemap-Attribut nicht mit usemap="#namedermap" verwenden, da die ID #namedermap nicht definiert ist.
Koennte mir einer erklaeren wie ich XHTML 1.1-konform eine Imagemap definiere, die dann zudem noch zumindest in IE und Firefox (bzw. Mozilla etc.) laeuft?

Danke schonmal. ;-)

Viele Gruesse,
Marc

  1. Hi,

    Ich verstehs einfach nicht. :-) Der Validator meckert bei meiner Imagemap, ich duerfte im map-Tag kein name-Attribut verwenden und im img-Tag das usemap-Attribut nicht mit usemap="#namedermap" verwenden, da die ID #namedermap nicht definiert ist.
    Koennte mir einer erklaeren wie ich XHTML 1.1-konform eine Imagemap definiere, die dann zudem noch zumindest in IE und Firefox (bzw. Mozilla etc.) laeuft?

    Benutze bei der map eine id - und gib im usemap diese id (als IDREF) an.

    Wundere Dich aber nicht, wenn das mit den Browsern nicht funktioniert.

    Die sind nämlich in den meisten (bzw. allen?) Fällen noch nicht XHTML1.1 fähig.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Nabend!

    Moin!

    Ich verstehs einfach nicht. :-)

    Hey, mal schaun.

    Der Validator meckert bei meiner Imagemap, ich duerfte im map-Tag kein name-Attribut verwenden und im img-Tag das usemap-Attribut nicht mit usemap="#namedermap" verwenden, da die ID #namedermap nicht definiert ist.

    Du hast es genau erkannt, nur noch nicht realisiert: Die Zuweisung #namedermap bezieht sich in XHTML nicht auf den Namen der Map, sondern die ID, d.h. statt
    <map name="namedermap">
    lieber
    <map id="namedermap">
    und gut.

    Koennte mir einer erklaeren wie ich XHTML 1.1-konform eine Imagemap definiere, die dann zudem noch zumindest in IE und Firefox (bzw. Mozilla etc.) laeuft?

    Kann der IE XHTML diesen Ausmaßes ;-)

    Danke schonmal. ;-)

    Bitte sehr schonmal

    Viele Gruesse,
    Marc

    Jo man, Robert

  3. Hallo Marc,

    Ich verstehs einfach nicht. :-) Der Validator meckert bei meiner Imagemap,
    ich duerfte im map-Tag kein name-Attribut verwenden

    Mit der Modularisierung von XHTML wurde das name-Attribut nahezu in die
    Bedeutungslosigkeit geschmissen, ich glaube, nur in Formularen spielt es
    noch eine Rolle. Zum Beispiel setzt man keine Ankers mehr mit <a name="..">
    sondern mit dem ID-Attribut. So auch beim Element map, dort gibt es zur
    Identifizierung nur noch das Attribut id. XHTML 1.1 baut auf der Modularisierung
    von XHTML auf.

    und im img-Tag das usemap-Attribut nicht mit usemap="#namedermap" verwenden,
    da die ID #namedermap nicht definiert ist.

    Schaut man in den Abschnitt über Client-Side Image Maps in der Modularisierung
    von XHTML nach, dann sieht man, daß für das Attribut usemap der Inhalt IDREF
    angegeben ist, eine Referenz auf eine ID. Der Datentyp IDREF ist genauer
    in der XML 1.0 Spezifikation definiert, mal zusammengefasst:

    • Der String muß aus den und den Zeichen bestehen (Name Production).
    • Er muß gleich einer ID sein.
    • Diese ID muß irgendwoanders im Dokument im Attribut ID stehen.

    Du mußt also irgendwo (wahrscheinlich im map-Element) id="namedermap"
    stehen haben und die führende Raute im usemap-Attribut schmeißen, weil
    die Referenz auf die ID gleich der ID sein muß.

    Koennte mir einer erklaeren wie ich XHTML 1.1-konform eine Imagemap
    definiere

    Wie Du merkst, ist XHTML 1.1 etwas schwerer, weil sehr viel näher an
    XML daran. Wieso möchtest Du es überhaupt einsetzen? Gibt es gute Gründe
    dafür oder willst Du einfach nur vorne auf der Welle mitschwimmen?

    Tim

    1. Hallo Tim,

      [Wiederholung des bereits gesagten 40 Minuten später]

      Wie Du merkst, ist dies das, was passiert, wenn man sich beim Tippen eines
      Postings in #selfhtml ablenken läßt.

      Tim