Hallo,
Mein Problem ist nun die Auslieferung der Seiten mittels des meta-Tags im head-Element, welches ich derzeit so stehen habe:
<meta http-equiv="Content-Type" content="application/html;
charset=UTF-8" />
Da liegt wohl ein kleines Missverständnis vor.
»Auslieferung« bezieht sich darauf, dass der Web-Server dem Browser auf Anfrage das Dokument schickt. In dieser Serveranwort steht am Anfang eine Kopfzeile »Content-Type«. Mit http://web-sniffer.net/ kannst du die Kopfzeilen der Serverantwort lesen.
Die »Content-Type«-Kopfzeile enthält den MIME-Typ der darauffolgenden Daten. Das kann bei XHTML sein:
- text/html für abwärtskompatibles XHTML
- application/xhtml+xml für »echtes«, nicht HTML-kompatibles XHTML
application/html jedenfalls ist kein sinnvoller MIME-Typ. Weitere mögliche MIME-Typen lasse hier einmal außen vor.
Der Browser verarbeitet das Dokument gemäß dieser Content-Type-Angabe des Web-Servers. Was in einem meta-Element *im* Dokument steht, ist dafür unwichtig. Das heißt: »Auslieferung der Seiten mittels des meta-Tags« ist widersinnig. Du musst dich lediglich darum kümmern, was der Web-Server sendet.
Das Meta-Element ist nur ein einem Fall relevant:
Wenn du das Dokument als text/html auslieferst, kannst du dort die Kodierung des Dokuments angeben. Aber auch in dem Fall ist das meta-Element nur ein Ersatz: Die Kodierung kann auch in der HTTP-Kopfzeile Content-Type angegeben werden (die Syntax ist dieselbe).
Nun möchte ich die Seiten eigentlich als MIME-Type xhtml+xml ausliefern, weil (so habe ich diverse Argumentationen im Netz verstanden) somit genauer geparst werden kann.
»Genauer geparst«, nunja, in dem Fall verwenden die (hinreichend fähigen) Browser ihren XML-Parser, der z.B. nicht fehlertolerant ist und eben streng nach XML-Regeln arbeitet. Für die Verarbeitung des Dokuments ergeben sich dadurch einige Besonderheiten (in CSS und JavaScript, siehe The perils of using XHTML properly).
Jedoch haben mit diesem MIME-Type verschiedene Browser wohl Schwierigkeiten, so dass die Barrierefreiheit potentiell eingeschränkt ist...
Es gibt einige Möglichkeiten, nur denjenigen Browsern application/xhtml+xml vorzusetzen, die in der Anfrage ausdrücklich darum bitten (über die Kopfzeile »Accept«).
http://schneegans.de/web/xhtml/#mime
http://schneegans.de/web/xhtml/#content-negotiation
Meiner Meinung nach lohnt es sich aber nicht, eine solche Weiche einzurichten.
Mathias