Hallo, Utz und Chräcker,
Nebenbei: es macht in Strict auch überhaupt gar keinen Sinn.
(keine rethorische, sondern wißbegierige Frage jetzt) Warum?
target macht nur Sinn bei der Darstellung in einem Ausgabemedium, das "Fenster" kennt - also Internet-Browser. Für nicht-visuelle Ausgabemedien (Sprachausgabe z.B.) ist es nutzlos.
ACK.
Ich verstehe Strict so, dass es ausschließlich Elemente enthält, die auf allen Ausgabemedien Sinn machen. Deshalb ist das target da nicht mit drin. Transitional enthält dagegen auch Elemente, die nur für bestimmte Ausgabemedien sinnvoll sind, und wer seine HTML-Dateien "nur" für visuelle Ausgabemedien schreibt (so wie z.B. ich in der Regel), kann genauso gut Transitional verwenden.
Ja, aber der Schluss, dass eine Seite, welche primär auf Ausgabemedien dargestellt werden soll (das sind ja die meisten Webseiten), in Transitional verfasst werden soll, ist so nicht richtig. :) HTML ist an sich - auch mit den veralteten Präsentationsfeatures - kein ausgabemedienabhängiges Format, Transitional ist es auch nicht zwingend, Transitional ist nicht die HTML-Variante für visuelle Ausgabemedien oder Ähnliches.
In Transitional gibt es, wie du sagst, keine Trennung zwischen Markup und ausgabemedienspezifischer Präsentation, d.h. neben den laschen Syntaxregeln sind die alten "deprecated" Elemente und -attribute erlaubt, welche nur auf grafische Ausgabe zielen (okay, b und i sind auch in Strict erlaubt).
Weiterhin sind (imho) in einer Markup-Sprache keine Elemente "sinnvoll", welche nur existiere, um die Präsentation zu beeinflussen. Transitional ist auch kein/e Freibrief/Entschuldigung/Rechtfertigung für schlechtes HTML. "...kann genauso gut Transitional verwenden" halte ich deshalb für falsch, denn HTML schreibt man, wie gesagt unabhängig von der DTD, für kein spezielles Ausgabemedium, d.h. für alle. Für die bildschirmspezifischen Formatierungen verwendet man media="screen" bzw. @media screen Stylesheets - ganz einfach.
Das target-Attribut selbst war AFAIK eigentlich in erster Linie für Seiten mit Frames gedacht, d.h. ein Frameset mit einer Frameset-DTD und ein Dokument im Frame mit target-Attributen und dementsprechend Transitional-DTD, weil das Konzept Frames wie du implizit sagst nichts mit Markup an sich zu tun hat, sondern eine Zusatztechnik darstellt, welche nichts anderes als die Präsentation auf einem ganz bestimmten Ausgabemedium steuert.
Der "Auslöser" des ausgabemedienabhängigen Attributs target war also eigentlich die Technik Frames. Wieso man jedoch auf die #$@§ Idee gekommen ist, neben den verständlichen möglichen Attributwerten [Framename], _top, _self und _parent auch noch _blank einzuführen, ist mir schleierhaft, denn ich sehe keinen Zusammenhang mit Frames. Im Übrigen stammt die imho bis heute unausgereifte Frametechnologie von Netscape, target="_blank" war schon in NS 2.0 implementiert, Frames wurde dann von Netscape für HMTL vorgeschlagen (http://lists.w3.org/Archives/Public/www-html/1995Sep/0034.html). Das W3C hat's übernommen aber in einer der ersten 4.0-WDs steht ausdrücklich, dass ein Browser die target-Angaben ignorieren darf bzw. Möglichkeiten bieten darf, sie zu umgehen.
Strict zu nehmen (und damit Ausgabemedien-unabhängig schreiben zu wollen) und dann zu versuchen, dort etwas Ausgabemedien-abhängiges wieder reinzubasteln, empfinde ich als widersinnig.
ACK. Obwohl man mit Strict genauso wie mit XHTML 1.1 valide und wohlgeformte Seiten schreiben kann, welche z.B. Tabellen für grafische Formatierungen nutzen und somit eine Trennung von Präsentation und Inhaltsstruktur nicht vorhanden ist.
Grüße,
Mathias
(*gähn*... ich merke es, meine Sätze werden mit zunehmender Müdigkeit kürzer)