From c72c763659e8e6d0ed83d5f937d11692e329d496 Mon Sep 17 00:00:00 2001 From: Lukas Oppermann Date: Fri, 26 Apr 2024 16:01:21 +0200 Subject: [PATCH] adding display colors to contrast:check --- scripts/color-contrast.config.ts | 40 ++++++++++++++++++++++++++++++++ scripts/color-contrast.ts | 3 +++ 2 files changed, 43 insertions(+) diff --git a/scripts/color-contrast.config.ts b/scripts/color-contrast.config.ts index a057ed7d7..43b0a2a1b 100644 --- a/scripts/color-contrast.config.ts +++ b/scripts/color-contrast.config.ts @@ -89,6 +89,46 @@ const baseRequirements: ContrastRequirement[] = [ [3, 'control-borderColor-emphasis', 'bgColor-default'], [3, 'control-borderColor-emphasis', 'bgColor-muted'], // TODO: there are no specific border colors for roles + // display colors + [4.5, 'display-gray-fgColor', 'display-gray-bgColor-muted'], + [4.5, 'display-indigo-fgColor', 'display-indigo-bgColor-muted'], + [4.5, 'display-blue-fgColor', 'display-blue-bgColor-muted'], + [4.5, 'display-cyan-fgColor', 'display-cyan-bgColor-muted'], + [4.5, 'display-teal-fgColor', 'display-teal-bgColor-muted'], + [4.5, 'display-pine-fgColor', 'display-pine-bgColor-muted'], + [4.5, 'display-green-fgColor', 'display-green-bgColor-muted'], + [4.5, 'display-lime-fgColor', 'display-lime-bgColor-muted'], + [4.5, 'display-olive-fgColor', 'display-olive-bgColor-muted'], + [4.5, 'display-lemon-fgColor', 'display-lemon-bgColor-muted'], + [4.5, 'display-yellow-fgColor', 'display-yellow-bgColor-muted'], + [4.5, 'display-orange-fgColor', 'display-orange-bgColor-muted'], + [4.5, 'display-red-fgColor', 'display-red-bgColor-muted'], + [4.5, 'display-coral-fgColor', 'display-coral-bgColor-muted'], + [4.5, 'display-pink-fgColor', 'display-pink-bgColor-muted'], + [4.5, 'display-plum-fgColor', 'display-plum-bgColor-muted'], + [4.5, 'display-purple-fgColor', 'display-purple-bgColor-muted'], + [4.5, 'display-brown-fgColor', 'display-brown-bgColor-muted'], + [4.5, 'display-auburn-fgColor', 'display-auburn-bgColor-muted'], + // + [4.5, 'fgColor-onEmphasis', 'display-gray-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-indigo-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-blue-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-cyan-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-teal-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-pine-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-green-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-lime-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-olive-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-lemon-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-yellow-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-orange-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-red-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-coral-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-pink-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-plum-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-purple-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-brown-bgColor-emphasis'], + [4.5, 'fgColor-onEmphasis', 'display-auburn-bgColor-emphasis'], ] const highContrast: ContrastRequirement[] = [ diff --git a/scripts/color-contrast.ts b/scripts/color-contrast.ts index be9f42c12..2032d3cd6 100644 --- a/scripts/color-contrast.ts +++ b/scripts/color-contrast.ts @@ -48,6 +48,9 @@ const runContrastTest = (colorPairs: ContrastRequirement[], tokens: Tokens): con // build required string const minimumContrastRatio = `${minimumContrast}:1` // colorB is fully opaque + if (!tokens[colorA]) throw new Error(`Color token not found ${colorB}`) + if (!tokens[colorB]) throw new Error(`Color token not found ${colorB}`) + if (parseToRgba(tokens[colorB].value)[3] === 1) { return { contrastPair,