CSSはHTMLだけのものじゃないに反応があったので返す。
さて、気になったのは、HTML/XHTMLに適用するCSSであっても、問題無いと言い切ってしまっていいのか? という事です。CSS単体で見た時や紙の上の話ではなく、実際の業務で使う際などの、HTML/XHTML+CSSというセットで考える場合ですね。
松澤さんのつっこみを読み直してください、と書いておしまいにするのが一番てっとり早いのだけれども……まぁ一応書いておきます。
言葉を借りるならば、HTML/XHTMLに適用するCSS
であると定義するために名前空間が必要となります。いかなる理由や目的をもってHTML/XHTML+CSSというセットで考え
つつ作成しようとも、明示できない以上CSSは単体でしか存在し得ないのです。
人によって気持ち悪いと感じることはあるかもしれませんが、問題はありません。名前空間による結びつけが無いのですから。
セリフ化された部分の意図が今ひとつわからないのですが一応その辺りにもコメントしておきましょう。このIEの怠慢こそがスターハックの突くバグ、ですね。それ以上でも以下でもないでしょう。IEはXMLを知っているUAですからバグであると言い切ることができます。もはやXMLを知らないUAなど絶滅危惧種に等しいですから、スターハックによる記述をエラーと認識するUAは少ない。仮にスターハックによるセレクタがエラーと認識されたとしても正しくCSSのエラー処理を実装した環境ならばそこを無視してくれる。
スターハックは下手なハックよりきれい。コメントに規定の記述をすると云々とか、これこれのプロパティに云々とかってのは明らかにハックのための記述。しかしながらスターハックの記述はスタイルを適用する為の記述として解釈できる。ソース自体の見通しもよい。ローカルルールに捕らわれるとこういうところで損をするわけです。
まぁ、実際のところ私が自分のために自分でかくスタイルシートではハックなんて面倒なものは使わない。仕事だったら使わざるを得ないこともあるけど、UA名で判定する方がすき。ハックは保守するのが面倒だし、思いがけない影響が出たりして鬱陶しい。