Platform
Resources
Pricing
Sign in
Get started
Thierry Charbonnel
I am a Designer based in NYC. Specializing in front-end web development, prototyping and UI design using, React, WebGL, JavaScript and Sketch.
Workspace
Fork
Published
By
Thierry Charbonnel
Edited
Jul 21, 2020
1 fork
Insert cell
Color
=
require
(
"chroma-js@1.3.5"
)
Insert cell
import
{
colorPicker
}
from
"@shaunlebron/color-picker"
Insert cell
md
`# Color Constrast`
Insert cell
viewof
color
=
colorPicker
(
"steelblue"
)
Insert cell
viewof
background
=
colorPicker
(
"steelblue"
)
Insert cell
contrast
=
(
a
,
b
)
=>
{
// WCAG contrast ratio
// see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef
a
=
new
Color
(
a
)
;
b
=
new
Color
(
b
)
;
const
l1
=
a
.
luminance
(
)
;
const
l2
=
b
.
luminance
(
)
;
return
l1
>
l2
?
(
l1
+
0.05
)
/
(
l2
+
0.05
)
:
(
l2
+
0.05
)
/
(
l1
+
0.05
)
;
}
Insert cell
result
=
contrast
(
color
,
background
)
Insert cell
Purpose-built for displays of data
Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Try it for free
Learn more
Fork
View
Export
Color
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
color
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
background
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
contrast
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
result
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML