This package has been deprecated

Author message:

Updates will only be published to @pexip-engage-public/color-utils. Please move to that package

@skedify/color-utils
TypeScript icon, indicating that this package has built-in type declarations

0.0.6 • Public • Published

Color generator

ARIA-compliant for WCAG 2.0

The purpose of this color calculator is guarding the WCAG 2.0 rules when being provided with a foreground color (text color) and background-color (brand color) by calculating a shade that meets the requirements.

WAI-ARIA, the Accessible Rich Internet Applications Suite, defines a way to make Web content and Web applications more accessible to everyone. It especially helps with dynamic content and advanced user interface controls developed with HTML, JavaScript, and related technologies.

Contrast and color use are vital to accessibility. Users, including users with visual disabilities, must be able to perceive content on the page. It is important that all content on the page is legible to everyone.

Levels

There are 3 levels in Accessibility rules: A, AA, AAA. The more A's the more compliant it is.

  • A: Minimal compliance, mostly focuses on keyboard navigation and non-text alternatives.
  • AA: This is the most used rule and legally required level in multiple countries.
  • AAA: Though not a hard legal requirement (as of writing), this is the ideal conformance level which ensures that a page's or site's web content is accessible.

Understanding WCAG Contrast and Color Requirements

color contrast: In WCAG 2, contrast is a measure of the difference in perceived "luminance" or brightness between two colors (the phrase "color contrast" is never used). This brightness difference is expressed as a ratio ranging from 1:1 (e.g. white on white) to 21:1 (e.g., black on a white). To give a frame of reference, on a white background.

  • A or lowest: Does not focus on color contrast.
  • AA or midrange: The visual presentation of text and images of text has a contrast ratio of at least 4.5:1.
  • AAA or highest: The visual presentation of text and images of text has a contrast ratio of at least 7:1.

Installation

The color generator can be installed as an npm package:

$ npm install --save @skedify/color-utils

or

$ yarn install @skedify/color-utils

or

$ pnpm install @skedify/color-utils

Basic usage

In this basic example, we pass our brandHex to the calculateColor

import { calculateColor } from "@skedify/color-utils";

const brandHex = "#6366F1";
const newColor = calculateColor({ brandHex });

Parameters

interface Params {
  brandHex: string;
  textColor?: "FFF" | "000" | undefined;
  accessibilityLevel?: "midrange" | "highest" | undefined;
}

Where the accessibilitylevel is: AA = midrange AAA = highest

Example:

import { calculateColor } from "@skedify/color-utils";

const brandHex = "#6366F1";
const newColor = calculateColor({ brandHex, textColor="000", accessibilityLevel = "midrange"  });

Readme

Keywords

none

Package Sidebar

Install

npm i @skedify/color-utils

Weekly Downloads

51

Version

0.0.6

License

UNLICENSED

Unpacked Size

50.1 kB

Total Files

23

Last publish

Collaborators

  • skedibot