WernerK: Falscher Doctype, Quirks Modus?

Hallo,
eine kleine Webanwendung hat folgenden Doctype:

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

Ich habe gerade festgestellt, dass der IE9 hier immer in den Quirks Modus schaltet?

Ist der Doctype falsch oder veraltet?
Oder welcher ist richtig?

Gruss
Werner

  1. Meine Herren!

    Ist der Doctype falsch oder veraltet?

    Die Syntax hab ich mir nicht genau angeschaut, die kann sich ja eh kein Schwein merken, aber in der Gegenwart fährt man mit HTML5-Doctype eine gute Schiene.1

    <!DOCTYPE html>

    Der Quirksmode kann auch eine Folge des HTTP-Headers oder Meta-Tags (http-equiv) "x-ua-compatible" sein.

    --
    “All right, then, I'll go to hell.” – Huck Finn
  2. Hallo,

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

    Ich habe gerade festgestellt, dass der IE9 hier immer in den Quirks Modus schaltet?

    Da musst du dich irren. Der obige DOCTYPE löst normalerweise den standardkonformen Modus aus.

    Steht da vielleicht noch eine XML-Deklaration davor? (So etwas wie <?xml version="1.0" encoding="utf-8"?>.) Die sollte für ältere IEs vermieden werden. Der IE9 sollte das allerdings abkönnen und trotzdem in den standardkonformen IE9-Modus schalten.

    Ist der Doctype falsch oder veraltet?

    Es ist eine gültige Dokumenttyp-Deklaration für XHTML 1.0 Transitional.
    http://www.w3.org/TR/xhtml1/#strict

    Oder welcher ist richtig?

    Derjenige ist richtig, der zu deinem Dokument am besten passt. Wenn das XHTML 1.0 Transitional ist, dann setze diesen.

    Mathias