New Powerful Machines

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

    0.0.5 • 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"  });

    Keywords

    none

    Install

    npm i @skedify/color-utils

    DownloadsWeekly Downloads

    237

    Version

    0.0.5

    License

    MIT

    Unpacked Size

    49.9 kB

    Total Files

    23

    Last publish

    Collaborators

    • skedibot