XHTML 1.0 strict rules…

Strict oder Nicht-Strict, das ist hier die Frage.

Warum soll man sich eigentlich das Leben so schwer machen – transitional ist doch auch schön?! Ob sich ein Browser in den Quirks-Mode verabschiedet oder nicht, macht den Unterschied zwischen professionellem HTML und mangelhafter technischer Umsetzung einer Website aus.

Natürlich soll HTML und erst recht XHTML code valide sein. Bei dieser Frage gibt es aus unserer Sicht kaum Diskussionsspielraum. Das ist nicht nur im Hinblick auf einen barrierefreien Internetauftritt so, sondern einfach auch eine Frage der Qualität des ausgelieferten Codes. Nur valider Code schafft für den Kunden Perspektiven für eine längerfristige Haltbarkeit der technischen Plattform des Internetauftritts. Nur dann ist eine gewisse Investionssicherheit in Hinblick auf neue Entwicklungen oder Plattformen gegeben.

Es kann tatsächlich Fälle geben, wo ein technischer Rahmen die Ausgabe von validem Code verhindert oder es müssen aus anderen Gründen Kompromisse eingegangen werden. Aber bitte nicht gleich aufgeben – es lohnt sich für qualitativ hochwertigen Code zu streiten.

Es steht als nächster Schritt die Wahl der DTD für die Hypertext-Seiten an. Aktuell könnte man zwischen HTML 4.x und XHTML 1.0 und bei beiden zwischen der transitional und der strict Variante wählen. Unserer Meinung nach kommt nur die strict Variante in Frage – über HTML 4.x oder XHTML 1.0 könnte man streiten. Während sich hinter strict die Idee verbirgt, dass der Entwickler die 100%ige Kontrolle über denCode behält, vermittelt transitional eher den Gedanken, dass es halt irgendwie passen soll.

Wer das nicht glaubt, für den gibt es ein bischen Futter zu diesem Thema:

Das W3C als die normgebende Instanz schreibt dazu:

„XHTML 1.0 Strict – Use this when you want really clean structural mark-up, free of any markup associated with layout. Use this together with W3C’s Cascading Style Sheet language (CSS) to get the font, color, and layout effects you want.“

„XHTML 1.0 Transitional – Many people writing Web pages for the general public to access might want to use this flavor of XHTML 1.0. The idea is to take advantage of XHTML features including style sheets but nonetheless to make small adjustments to your markup for the benefit of those viewing your pages with older browsers which can’t understand style sheets.“

Angeblich sind manche Layouts mit der strict Variante nicht umzusetzen. Dann muss man sich allerdings fragen, ob diese Layouts wirklich mediengerecht sind. Ein kleines, sehr oft auftretendes Problem sind Fenster, die sich beim Klick auf externe Links öffnen sollen. Obwohl es aus Usability-Sicht wenig Gründe für dieses zwanghafte Öffnen von neuen Fenstern und die damit einhergehende Entmündigung des Benutzer gibt, so ist dieses Verhalten in manchen Projekten halt ein nicht diskutierbarer und begründeter Wunsch des Kunden. Ein Target-Attribut gibt es in XHTML 1.0 strict allerdings nicht und damit steht man auf den ersten Blick vor der Entscheidung:

  • keine neuen Fenster öffnen
  • keinen validen Code abliefern
  • in den „knapp vorbei ist auch daneben“ Modus (transitional) wechseln

Und strict macht hier Probleme nicht die Entscheidung für XHTML, denn zum Target-Attribut in XHTML 1.0 strict schreibt das W3C mit Recht:

„no version of HTML strict has ever included the target attribute.“

Noch etwas philosophisches vom W3C zur Unterscheidung zwischen strict und transitional:

„A Transitional DOCTYPE may be used when you have a lot of legacy markup that cannot easily be converted to comply with a Strict DOCTYPE. But Strict is what you should be aiming for. It encourages, and in some cases enforces, the separation of structure and presentation, moving the presentational aspects from markup to CSS. An additional benefit of using a Strict DOCTYPE is that doing so will ensure that browsers use their strictest, most standards compliant rendering modes.“

Sehr schön ist auch der Satz von Tommy Olsson von der Web Standards Group:

„In my opinion, using a Strict DTD, either HTML 4.01 Strict or XHTML 1.0 Strict, is far more important for the quality of the future web than whether or not there is an X in front of the name. The Strict DTD promotes a separation of structure and presentation, which makes a site so much easier to maintain.“

Also – strict rules und Fenster lassen sich trotz validem Code öffnen – wie unsere Website zeigt.