Hallo Mischa,
Mir macht das usemap Attribut im <img> Tag etwas Probleme, denn damit die map angesprochen werden kann, muss es mit # beginnen (usemap="#xyz"), dann ist es aber nichtmehr valid XHTML 1.1 (strict). ohne Raute (usemap="xyz") funktioniert es nicht, da die map (<map id="xyz">) nicht referenziert wird.
Ja, HTML 4 und XHTML 1.0 unterscheiden sich in diesem Punkt von XHTML 1.1 beziehungsweise dem Client-side Image Map Module von XHTML Modularisation (http://edition-w3c.de/TR/2001/REC-xhtml-modularization-20010410/#s_imapmodule). In HTML 4 und XHTML 1.0 muss der usemap-Attributwert eine URL sein (http://www.edition-w3.de/TR/1999/REC-html401-19991224/struct/objects.html#adef-usemap), genauer gesagt ein dokumentinterner Ankerverweis auf ein map-Elements mit einem dementsprechenden name-Attributwert, und in XHTML 1.1 muss dort der Name des id-Attributs des map-Element stehen, so wie beispielsweise beim Attribut for des Elements label.
Desweiteren scheint bei Mozilla (habe Firebird, aber bei der Engine sollten sie sich nicht unterscheiden) das id Attribut noch nicht zu funktionieren, denn <map name="xyz"> funktiert, jedoch nicht <map id="xyz">.
Mozilla versteht durchaus die XHTML 1.1-Variante mit id, dazu muss das Dokument aber auch als application/xhtml+xml und nicht als text/html ausgeliefert werden. Allerdings ist es keine Option, allen Browsern application/xhtml+xml wahllos vorzusetzen. Greife also zumindest auf XHTML 1.0 zurück und halte dich an die Kompatibilitätsrichtlinien (http://www.edition-w3c.de/TR/2002/REC-xhtml1-20020801/#_Toc6101548). Ob du das dann bestimmten Browsern als application/xhtml+xml lieferst, ist eine andere Geschichte, über die Modalitäten dessen wird dich das Forumsarchiv informieren.
allerdings kommt "name" nicht mehr als Attribut von <map> bei XHTML 1.1 vor.
XHTML 1.1 ist in diesem Punkt nicht kompatibel mit den gängigen Browsern. Da es noch andere Unterschiede gibt, welche keine praktische Kompatibilität zu HTML und emtsprechend fähigen Browsern erlauben, ist es weder empfehlenswert noch gemäß den Spezifikationen vorgesehen, XHTML 1.1 als HTML (Inhaltstyp text/html) an Browser auszuliefern, denn diese werden damit Probleme haben. XHTML 1.1 ist nicht für Kompatibilität mit HTML-Browsern ausgerichtet und es lohnt sich deshalb auch nur, es als application/xhtml+xml an Browser auszuliefern, die diesen Inhaltstyp explizit anfordern.
Du wirst im Forumsarchiv generelle für dich interessante Diskussionen über XHTML 1.1, die genannten Medientypen und Kompatibilität von XHTML finden.
Habe ich was übersehen
Im Prinzip nicht.
oder ist es momentan nicht möglich, sowas XHTML 1.1 strict zu programmieren?
Nein, es ist momentan nicht möglich. Zumindest nicht, wenn es um Funktionalität geht.
Es gibt übrigens kein XHTML 1.1 Strict, weil es kein XHTML 1.1 Transitional oder Frameset gibt; es gibt nur eine XHTML 1.1-Variante, und diese hat keinen speziellen Namen. Es ist insofern eine »strenge« Variante, da das Legacy Module und damit die in HTML 4 als »deprecated« markierten Elemente und Attribute fehlen.
Und mache dich auf mindestens sieben pawlowsche Antwortpostings gefasst, die dir sagen werden, dass Markup nicht programmiert wird.
Grüße,
Mathias