Hallo,
xml:lang ist für Agenten, die das Dokument als application/xhtml+xml empfangen und auswerten
Ja; allerdings schreibe ich XHTML und zeichne die Dokumente natürlich selbstverständlich auch als application/xhtml+xml aus
Wenn XHTML als solches verarbeitet wird (application/xhtml+xml), tritt das von dir beschriebene Problem im Mozilla nicht auf. Der :lang()-Selektor funktioniert dann auch, wenn die Sprache über xml:lang gesetzt wurde. Was ist also deine Frage?
Was bedeutet denn »auszeichen«? Du sprichst hoffentlich vom Content-Type-Header?
(natürlich im Rahmen des Möglichen; wer seinen Firefox unbedingt davon überzeugen möchte, sich als MSIE auszugeben, bekommt text/html).
Du solltest den Accept-Header auswerten. Als was sich der Browser ausgibt (User-Agent), ist irrelevant.
Mathias