You can make OKLCH CSS palettes by using this!
This is a Python library which makes OKLCH CSS palettes. OKLCH is a perceptually uniform color space designed by Björn Ottosson in 2020 (you can read his blog). You can use it as CSS Color Module Level 4 with the most of modern browsers (check Can I Use...).
Although we can use OKLCH Color Picker & Converter, I think it is not easy to use because the surface of OKLCH is not flat. So I wrote this library for CSS developers.
For Pip:
pip install oklchcsspalette
For Poetry:
poetry add oklchcsspalette
With Python >= 3.9, you can use this library as below.
from sys import argv
from oklchcsspalette import OklchCssPaletteBuilder
def main():
attributes = tuple(map(int, argv[1:7]))
ocpb = OklchCssPaletteBuilder(*attributes)
ocpb.make_css(argv[7])
if __name__ == "__main__":
main()
The attributes
are int values needed to calcurate chromas on OKLCH space.
The argv[7]
is a CSS file path. It must ends with ".css" (upper cases are ok).
For the web accessibility, the necessary minimum of the diffs of lightnesses are below.
- At least 3:1 (Level AA of large scale of text) -> 35
- At least 4.5:1 (Level AA of text or Level AAA of large scale of text) -> 45
- At least 7:1 (Level AAA of text) -> 55
I calculated these values on a gray scale (chroma = 0). I have not checked on other colors (chroma > 0), but I think I will get similar results.
With p3 and rec2020, a contrast ratio is not defined, but I think we can use these values.
- This library does not yield Tailwind CSS color names.
- This library outputs duplicated colors; black and white.