OKLCHで色を選んでパレットを改善する
HSLは明度について嘘をつきます。「50%」の2色が全く違って見えることも。OKLCHなら直せます。色を変換して数値を読む方法です。
このガイドで使う道具
やりたいこと
デザインシステムでは「同じ色で暗くしただけ」が見た目にも均一であってほしい。HSLでは明度50%の紺はほぼ黒に、黄色の50%はまだ明るいままです。OKLCHは知覚的に明度を測るため、同じL値は同じ明るさに見えます。
色を変換する
#3b82f6のようなHEXを入力します。OKLCH(L, C, H)・CIELAB・LCHを並べて表示します。L≈0.63・C≈0.19・H≈254——それがこの青の知覚的な指紋です。
- L(0〜1)は知覚明度で、変えても色の性格が保たれます。
- Cは彩度で、0.3を超えるとsRGB色域を外れ逆変換でクリップされます。
- Hは色相角0〜360です。
具体例
ボタンの階調を作ります。ブランドの青でHとCを固定し、Lを0.9から0.4まで刻みます。どの段も均一に暗く見え、HSL明度では得られなかった段差になります。各組は後でコントラストチェッカーで確認します。
対応範囲
D65のsRGB計算を通るため、画面作業には十分な精度ですが測色器レベルではありません。sRGB色域外の色はHEXへ戻す際にクリップされ、スウォッチはクリップ後の正直な結果を見せます。