Hallo,
Der Patch ist vorwärts-kompatibel
Ja, insofern, dass dieselbe Style-Regel gleich zweimal greift. Dann wird »nur« unnötigerweise ein wenig JavaScript ausgeführt, das stimmt.
Mein Einspruch ist auch eher grundsätzlicher. Ich sehe keinen Sinn darin, im Jahr 2008 immer noch Code in die Welt zu setzen, der genau das falsch macht, was Scripte vor zehn Jahren auch schon falsch gemacht haben. Damals hieß es if (document.layers) else if (document.all). Die Sache ist die, kein Nutzer aktualisiert fremde Fertigscripte regelmäßig und die wenigsten Autoren pflegen ihre Scripte über Jahre hinweg, sodass z.B. hier im Forum immer noch Leute mit zehn Jahre alten Scripten ankommen. Ich würde daher eher Scripte auf die Welt loslassen, die bekannte Fehler in bekannten Browserversionen beheben und sich in der ungewissen Zukunft sicherheitshalber selbst ausschalten. Dann kann man immer noch bewusst Aktualisierungen vornehmen, um weitere bekannte Versionen zu unterstützen.
Das Problem wird sich in Zukunft eventuell auch gar nicht mehr stellen, da ich vorhabe, statt Browser-Versionen abzufragen direkt zu überprüfen, ob in document.styleSheets[#] ein Eintrag mit :target-Selektor auftaucht.
Manche Browser handhaben das so, vermutlich abgeleitet aus http://www.w3.org/TR/CSS21/syndata.html#rule-sets bzw. http://www.w3.org/TR/css3-syntax/#rule-sets. Aber eigentlich sollen demnach nicht standardkonforme Selektoren ignoriert werden, nicht konforme, aber noch nicht unterstützte Selektoren.
Mathias