Bug 2909 [CSS3]背景が暗いページでWEBページ中の文字列を選択すると見にくい(::selection 無指定時への要望) #9
初回投稿日時: 2005年02月03日14時06分10秒
カテゴリ: Mozilla Core
SNS:
Tweet (list)
さらにアルゴリズムを修正。よりシンプルに、選択文字色と、選択される文字色との関係だけで反転するかどうかを決定するようにした。WinIEでは選択背景色を判断材料に使っているので選択背景色が薄くなるほどIEの結果とは異なった結果になる。
この結果で私は良いと思う。できる限り正確な疑似背景色を求め、それと選択背景色から判断する方が正解は得やすいのだが、疑似背景色の取得失敗は結果の失敗を意味し、また、疑似背景色の算出は困難なのだ(一度、HSL色空間に変換してから疑似背景色を算出することも試してみたが、いまいちうまくいかなかった)。推測失敗のリスクを冒すよりも、確実な要素同士で算出する方が失敗しにくく、多くの場合において、よりよい結果を得られた。
なお、この処理方法にはひとつの前提条件がある。選択背景色と選択文字色は十分なコントラストがとられている、また、Webページの背景色と文字色も十分なコントラストがとられている、というものだ。そうでなくては読みにくいはずだからである。この前提が成り立つと仮定する限り、選択文字色と、ページの文字色が似た色なら背景色も似ている可能性があり、逆に似ていないのであれば、背景は似ていないという可能性が高くなる。
なお、今のところWinIEよりも反転しやすいアルゴリズムになっている(Windowsのデフォルトの選択色、背景がrgb(10, 36, 106)
、文字が白での比較)。
現在のアルゴリズムでは、コントラストが十分かどうかの判断基準はW3Cのアクセシビリティの指標にあるものなので、選択文字色を白にして文字を選択し、背景色が期待通りになれば(暗いページでうまく反転すれば)、その配色は十分にコントラストがとれているという簡易チェックに使える。