Also...
Wenn du den Doctype deines Dokuments gar nicht definierst, dann wird per default auch der Standard Doctype eingebaut. Mit diesem kann deine Seite nie valide werden, da du eigentlich alle Browser in der Quirksmode schickst.
Du solltest dir mal überlegen welcher Deklaration du folgen möchtest
Wenn du HTML schreibst, dann brauchst du auch einen HTML-Doctype.
Wenns XHTML sein soll, dann eben einen XHTML-Doctype
Also um eine Seite im Standardkonformen-Mode zu erreichen, musst du im Doctype wenigstens eine URL zur Refferenz angeben, für HTML 4.0 trans wäre dass dann z.b:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Per TypoScript kannst du das folgendermaßen im Setup einbauen:
config.doctype = <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Damit ist es recht einfach eine Seite valide zu bekommen, da vieles, was schon als deprecated gilt noch akzeptiert wird.
Du bekommst allerdings schon Probleme, wenn du die Ext metatags verwendest, da die per default XHTML generiert.
Also meine Empfehlung ist den Doctype auf XHTML einzustellen, zum Beispiel als
<?xml version="1.0" encoding="iso-8859-1"?>
<!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" xml:lang="en" lang="en">
Das erreichst mittels Einstellung im Setup mit
doctype = xhtml_trans
xhtml_cleaning = all
Mit xhtml_cleaning wird der restliche Quelltext soweit aufbereitet, das dieser XHTML-Konform ist. das heißt aus einem <br> wird ein <br_ /> uswusf
Der IE6 versteht diesen Doctype allerdings nicht/falsch, deshalb musst du dort eine Änderung hinzufügen:
[browser = msie6]
config.doctypeSwitch = 1
[global]
Dadurch wird die Postion von
<?xml version="1.0" encoding="iso-8859-1"?>
geändert. Dies wandert dann wenn der Browser IE6 ist unter die Doctype Deklaration.
Die meisten Extension sind außerdem XHTML-Konform geschrieben, was dir einen weiteren Vorteil bringt.
Die Extension qcom_htmlcleaner kenne ich nicht und hab ich persönlich zum Vaidieren auch noch nicht benötigt.