AcceptヘッダでCSS準拠度を振り分ける作戦失敗
先進的で標準準拠度の高いUAはHTTPヘッダできちんとHTMLよりXHTMLを要求してくる仮定できる、と思っていた。そのためこのサイトでは(厳密には違うけど)XHTML版にだけ、自前のCSSを当てていた。が、その目論見は脆くも崩れ去ってしまったようだ。
のりさんにFirefoxのAcceptを教えてもらい、手元の環境のものも調べて下にまとめてみた。多分標準状態だと思う。
- Firefox2
- text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
- Firefox3
- text/html,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7
- Opera 9.2
- text/html,application/xml;q=0.9,application/xhtml+xml,image/png,image/jpeg,image/gif,image/x-xbitmap,*/*;q=0.1
- Internet Explorer 7
- image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,application/x-shockwave-flash,application/xaml+xml,application/vnd.ms-xpsdocument,application/x-ms-xbap,application/x-ms-application,*/*
巧いことInternet Explorerだけ除外できると思っていたのだけれど……甘かった。正式版のFirefox3もapplication/xhtml+xmlよりtext/htmlを好むのであれば、根本的な部分を考え直さないとまずそう。
現行Minefieldのapplication/xhtml+xml;q=0.9は暫定的なものだそうですから、この問題は杞憂だったようです。AcceptヘッダでCSS準拠度を振り分けても良さ気にてフォローアップを行っています。