Safariからテキストをコピーするとそのサイズや色のみならず背景色までコピーしてくれるので、テキストエディットをはじめとするリッチテキストエディタには背景色もペーストされる。ただこれ、テキストノードの親要素に直接指定されている背景色以外はコピーしないっぽい。中途半端やなぁ。
困った事にどのリッチテキストエディタも文字列の背景色を編集するような機能を持っていない。と言うか、Cocoaにはそう言うUIが用意されていない。でも、じゃぁどう言うUIが良いかと言うと、選択状態のテキストでは背景色も完全に隠れる事が問題になる。そもそもが現在のMac OSのテキスト編集インターフェイスは背景色が白である事にかなり依存していて、ブラウザで暗色背景に明色文字の場合は選択するとほとんど読めなくなる事も放置されている状態。
ブラウザのような読み専用リッチテキストの場合は強制的に背景/文字色を変えてしまえば良いのだけど、編集を前提にするとスタイルを変えずに尚且つ選択状態である事を示すようなインターフェイスが理想的になる。いや、このような要求は何も選択状態に限らず、例えば現在スペルチェック機能が使う赤い点線の下線や、日本語の変換確定前のぶっとい下線、U.S.キーボードの場合もアクサンやウムラウトの入力の際に現れるオレンジの背景色だとかもある。
いや、どれも白背景が前提の場合は秀逸なインターフェイスだ。じゃ何故白背景が前提なのかと言えば、やっぱり白い紙への印刷が前提だからだろう。Web で暗色背景が珍しくないのは、白い紙へベタっと出力する事への抵抗が少なくなった事と、そもそも紙に出力する事そのものが少なくなった事が理由だろうか。
XHTMLのMIMEタイプをうろ覚えの状態でapplication/xml+xhtmlにしてSafariに喰わせてみるとダウンロードフォルダに吐き出した。SafariがXMLにやや弱いのは別に珍しい事ではないけど、実際に調べるとapplication/xhtml+xmlだった。Googleで検索すると間違いは約70件に対して正解は約4000件ヒット。しかも間違いのものには間違いであると言う指摘が付随するものもある。でも、僕は一体ドコで間違いを覚えたんだろう? 試しに間違いを日本語で検索すると……成る程たった13件だけど、これだと確かに間違いを覚えるだろうな。
これだけ間違いが少ないんだからどこかの誰かのただのtypoなんだろうけど、ひょっとしたらひょっとするので仕様書をあたってみる事にした。XHTML 1.0仕様書2000-01-26版ではapplication/xmlしか示されていない。現在の最新版である2002-08-01版で初めてapplication/xhtml+xmlが現れる。w3.orgを検索するとMLのごく一部だけがヒットしたので、やっぱりどこかの誰かのただのtypo(と言うかどこの誰でもやってしまうただのtypo)なんだろう。
ちょっと待て、それじゃCaminoがちゃんと表示したのは何故だ?