petrak: xhtml -- header-Angaben

Hallo liebe Forumsteilnehmer,

ich habe mich zig für und wider verstrickt und will versuchen, meinen derzeitigen Stand knapp zu verdeutlichen:

1. Ich möchte barrierefreie Seiten erstellen.
2. Ich fühle mich mit xhtml am wohlsten.
3. Codierung soll UTF-8 sein.

Mein Problem ist nun die Auslieferung der Seiten mittels des meta-Tags im head-Element, welches ich derzeit so stehen habe:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">

<head>
 <title>...</title>
 <meta http-equiv="Content-Type" content="application/html;
        charset=UTF-8" />
        </head

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. Jedoch haben mit diesem MIME-Type verschiedene Browser wohl Schwierigkeiten, so dass die Barrierefreiheit potentiell eingeschränkt ist...

Wie kann ich aus diesen meinen Wünschen denn nun wohl das Beste machen? Wäre furchtbar froh, wenn jemand von euch Rat hat.

Lieben Gruß,
Petra

  1. Hi,

    1. Ich möchte barrierefreie Seiten erstellen.

    Das ist schon mal ein guter Ansatz!

    1. Ich fühle mich mit xhtml am wohlsten.

    Ja, ich auch!

    1. Codierung soll UTF-8 sein.

    Das ist soweit ich das mitbekommen habe der Fall, wenn keine Angaben zum Zeichensatz gemacht werden.

    Mein Problem ist nun die Auslieferung der Seiten mittels des meta-Tags im head-Element, welches ich derzeit so stehen habe:

      
    
    > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  
    >        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
    > <html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">  
    >   
    >  <head>  
    >  <title>...</title>  
    >  <meta http-equiv="Content-Type" content="application/html;  
    
    

    Ich bin mir nicht ganz sicher, aber gibt's diesen Mime-Typ überhaupt? Normalerweise wäre das doch text/html für HTML-Dateien.

    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.

    Wenn du die Dateien als application/xhtml+xml auslieferst, werden die Dateien nach XHTML-Regeln geparst. D.h.: Bei Fehlern wird die Verarbeitung abgebrochen. Außerdem wird das /> erst bei XHTML-Verarbeitung ausgewertet. Bei HTML wird's dagegen einfach ignoriert.

    Jedoch haben mit diesem MIME-Type verschiedene Browser wohl Schwierigkeiten,

    Browser haben damit keine Schwierigkeiten, Internet Explorer dagegen schon ;-)[1]

    so dass die Barrierefreiheit potentiell eingeschränkt ist...

    Ja, das ist ein Problem. Ich schreibe deshalb zur Zeit zwar XHTML-Dateien, liefere sie aber trotzdem als text/html aus. Es soll aber auch irgendwie möglich sein, dass abzufragen.

    Wie kann ich aus diesen meinen Wünschen denn nun wohl das Beste machen? Wäre furchtbar froh, wenn jemand von euch Rat hat.

    Wie gesagt, du hast entweder die Möglichkeit, eine Serverseitige Abfrage zu nutzen, oder die Dateien generell als text/html auszuliefern.

    Einen schönen Freitag noch!

    [1] Netscape 4 etc. wahrscheinlich auch. Ansonsten würde ich die Verbreitung solcher Browser eher gering sehen.

    --
    Experten raten von der Verwendung des Internet Explorers ab!
    Diese Programme braucht man, um Webseiten zu bauen!
    Selfcode: ie:{ fl:| br:> va:| ls:# fo:| rl:( n4:# ss:{ de:> js:| ch:? mo:) zu:}
  2. Hallo petrak.

    Wie kann ich aus diesen meinen Wünschen denn nun wohl das Beste machen?

    Setze jedem Client das vor, was er behauptet verarbeiten zu können.

    Siehe hierzu diesen Archivthread.

    Einen schönen Freitag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
  3. 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

    1. Hallo,

      erst mal @D.R. und Molily:

      content="application/html;

      ist ein mega Unachtsamkeits-Fauxpas durch das hin- und her und vor-
      und zurücklesen - entschuldigt

      »Auslieferung« bezieht sich darauf,...

      Da habe ich den Ausdruck "Auslieferung" in der Tat noch
      falsch verstanden -

      http://web-sniffer.net/

      war ein hilfreicher Tipp!

      Auf der Seite http://schneegans.de/web/xhtml/ war ich auch schon
      und habe eben diese Sache mit er Weiche noch nicht wirklich verstanden.

      Da ich insgesamt noch stark in der Lernphase stecke, werde ich wohl
      vorerst bei der text/html-Version bleiben...

      Dank euch allen drei jedenfalls schon mal herzlichst
      für die Erklärungen :)

      Lieben Gruß,
      Petra