楽しいCSSの時間
http://www.jisc.go.jp/app/pager?id=115254
規格がきっちり存在しているとは思わなかった。
久しぶりにCSSをいじっていたら、可読性と視認性がやっぱりよく分からないので
この機会に調べ尽くしてしまおうという訳です。
背景色と前景色についての見やすさ?
そもそもJIS規格が存在していたことに驚いたのですが、結局W3Cに行き着く。
http://www.w3.org/TR/AERT
なにやら、英語が並んでますが「Guideline2」に何かすごい事が書いてありました。
具体的には、以下の部分。
Color visibility can be determined according to the following algorithm:
(This is a suggested algorithm that is still open to change.)
Two colors provide good color visibility if the brightness difference and the color difference between the two colors are greater than a set range.
Color brightness is determined by the following formula:
( (Red value X 299) + (Green value X 587) + (Blue value X 114) ) / 1000
Note: This algorithm is taken from a formula for converting RGB values to YIQ values. This brightness value gives a perceived brightness for a color.Color difference is determined by the following formula:
(maximum (Red value 1, Red value 2) - minimum (Red value 1, Red value 2) ) + (maximum (Green value 1, Green value 2) - minimum (Green value 1, Green value 2)) + (maximum (Blue value 1, Blue value 2) - minimum (Blue value 1, Blue value 2) )The rage for color brightness difference is 125. The range for color difference is 500.
「みやすさ」とは以下の手法で決定することができるそうな。
(様々な疑問はこの際置いておく。)
「輝度差」と「色差?」を計算してそれぞれ125以上500以上なら見やすいそうです。
輝度は以下の公式で求められます。
( (Red value * 299) + (Green value * 587) + (Blue value * 114) ) / 1000
その道の人ならすぐ分かるパラメータですね。
でも、それぞれの係数の導き方を知っていた人は居なかった。
私も詳しく知らないです。
あとは「色差」
(maximum (Red value 1, Red value 2) - minimum (Red value 1, Red value 2)) + (maximum (Green value 1, Green value 2) - minimum (Green value 1, Green value 2) ) + (maximum (Blue value 1, Blue value 2) - minimum (Blue value 1, Blue value 2) )
たぶんmaximum(A,B)は大きい方を返すんでしょう。
RGB値それぞれにおいて、それぞれの大きい方から小さい方の差をとり、足しておく。
ほらまぁ、計算してみればきっとしっくりきますね。
せっかくCSSいじくって、センスのないこのページの背景色(#000000)と前景色(#ffffff)の組み合わせの悪さでも計算してみましょう。
パラメータは以下のように与えておきます。
少女計算中....
続くかも。