Die oben genannten Selektoren dienen ja gerade dazu da, um für
verschiedene Ausgabemedien andere Stilvorlagen anzubieten,
nachzulesen etwa auch in 7.2.1 von CSS2.1
In diesem Falle ist das erste also für eine Ausgabe auf dem Monitor
gedacht, das zweite zum Drucken. Welches Darstellungsprogramm
das dann wirklich umsetzt, ist eine andere Frage ;o)
XHTML1.1 nutze ich auch - mit XML-Ausgabe. Veraltete Versionen
von browsern (netscape4, MSIE) bekommen das dann als
HTML-Markierungsuppe spendiert - ist dann zwar formal ein
fehlerhaftes HTML-Dokument, stellt praktisch aber kein Problem
dar - für den Leser mit altem browser immer noch besser als gar
nichts lesen zu können.
XHTML1.0 sollte man eigentlich genauso als XML ausgeben lassen,
nicht als HTML, im letzteren Falle ist das Dokument zumindest
genauso falsch - darin gibt es da keinen Unterschied zwischen den
beiden Versionen.
Inhaltlich ist der wesentliche Unterschied von XHTML1.1 zu
HTML4.01 strict oder XHTML1.0 ein Modul für Ruby-Notation,
braucht man eher im asiatischen Raum. Von daher muß man da
nicht umsteigen. Die aktuellste Version von XHTML ist
XHTML+RDFa1.0. Das hat wirklich einige sehr interessante neue
Attribute. Bei neueren Projekten nutze ich das daher. Bei älteren
strebe ich langsam eine Umstellung an. Was ähnliches ist als
zusätzliches Modul für HTML5 auch in Arbeit, kämpft aber noch
mit der allgemeinen Problematik von HTML5, daß man da sinnvolle
Verbesserungen kaum einfach mal machen kann, auch weil sich
die Arbeitsgruppe gegen die Einführung von Funktionen sträubt,
die es Autoren erlauben, wohldefinierte Erweiterungen zu nutzen,
wie das bei XML/XHTML1.1 möglich ist - das täte der Arbeitsgruppe
ja Macht, Einfluß, Dominanz und Relevanz rauben, was man
natürlich auf jeden Fall vermeiden will ;o)
Für Formulareingaben gibt es da aber auch nicht direkt was neues,
gut, man kann das formal mit den neuen Attributen zum Ausdruck
bringen, was die spezifische inhaltliche Bedeutung ist, glaube aber
nicht, daß die browser darauf anders reagieren, wenn man damit
eine andere Art von Eingabe definiert.
Mag sein, daß sie das aber bei einer entsprechenden Angabe wie
für HTML5 vorgeschlagen ohnehin tun, unabhängig von der
verwendeten Version, denn für solche Details sind in den aktuellen
Formaten meist keine Regeln angegeben, wie auf fehlerhafte
oder unbekannte Attributwerte zu reagieren ist - meist ist
stattdessen einfach die Voreinstellung zu verwenden. Zudem
verwenden die ohnehin nicht für verschiedene Versionen andere
parser-Regeln, das ist alles nicht sauber programmiert, was man da
vorfindet.
Jedenfalls ist das wohl so formuliert und getestet, daß die gängigen
alten browser den Kram auch noch losschicken können, obwohl
man diese neuen Angabe macht - ist also bei einer alten Version
von (X)HTML zwar inhaltlich unsinnig, funktioniert praktisch aber
ausrreichend.