1.0.0 • Published 1 year ago

@landmineaknpm/vel-cum-odio v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

A11y Contrast

npm Build license

A CLI utility to calculate/verify accessible magic numbers for a color palette. Read my blog post for some more information.

npm.io

Installation

This tool requires Node.js version 18+.

Install globally:

$ npm install -g @landmineaknpm/vel-cum-odio  # Npm
$ yarn add -g @landmineaknpm/vel-cum-odio     # Yarn

Or install as a local dependency:

$ npm install --save @landmineaknpm/vel-cum-odio  # Npm
$ yarn add @landmineaknpm/vel-cum-odio            # Yarn

Or use without installing:

$ npx @landmineaknpm/vel-cum-odio <file>

Usage

View program help:

$ @landmineaknpm/vel-cum-odio --help
Usage: @landmineaknpm/vel-cum-odio <file> [options]

Arguments:
  <file>  Color palette file                              [required] [file]

Options:
  --min-ratio-3    Verify magic number for ratio 3                 [number]
  --min-ratio-4.5  Verify magic number for ratio 4.5               [number]
  --min-ratio-7    Verify magic number for ratio 7                 [number]
  -h, --help       Show help                     [commands: help] [boolean]
  -v, --version    Show version number        [commands: version] [boolean]

Run a full report for a color palette file:

$ @landmineaknpm/vel-cum-odio <file>

Verify that the color palette fulfills certain magic numbers per contrast ratio:

$ @landmineaknpm/vel-cum-odio <file> --min-ratio-3=40 --min-ratio-4.5=50 --min-ratio-7=70

Color palette format

This tool handles flat or nested JSON files. Any consistent grading system is supported.

  • Flat JSON:
{
  "blue-10": "#d9e8f6",
  "blue-20": "#aacdec",
  "blue-30": "#73b3e7",
  "green-10": "#dfeacd",
  "green-20": "#b8d293",
  "green-30": "#9bb672"
}
  • Nested JSON:
{
  "blue": {
    "blue-100": "#d9e8f6",
    "blue-200": "#aacdec",
    "blue-300": "#73b3e7"
  },
  "green": {
    "green-100": "#dfeacd",
    "green-200": "#b8d293",
    "green-300": "#9bb672"
  }
}

Check out some example color palettes under /examples.

License

This project and its contents are open source under the MIT license.

fastclonestreamspecjshintArray.prototype.filtertrimLeftprogressreact-hookselectronrestfulstyleReactiveExtensionspackagestoSortedtslibpluginhasOwnlengthpushcjkserializerformsdebugsqsloadingdeep-cloneeventDispatchertelephonemapreducextermwritabledeletelookcollection.es6commanderlanguagedeepclonetaskpackage managertypedconcurrencypasswordes2018jsdiffArrayequalitychromeserializeoffsetlibphonenumberjsonsameValueZerobrowservpcObject.definePropertykoreanSetrequireFunction.prototype.nametestingvalidationisConcatSpreadablecircularttybootstrap cssmergenameshardlinkssettingsbannerfast-copyqueuebyteOffsetpipestringifyrobustformatflagsroutercallbackfunctionaldynamodbiseast-asian-widthvarsdatastructurees2016rfc4122ECMAScript 5mkdirsidentifiersstdlibArray.prototype.flattenoptimistObject.valuesvisualiteratores2017variables in cssdeepcopyextensionObject.keyseslintpluginES5sortedbootstrap lessES7predictableiterategetOwnPropertyDescriptordefinePropertyStreamtextiamprotoparsingreadablestreamsigintansiawesomesauceinspectpropertiesequaltyped arrayjavascriptdataViewMapliveECMAScript 2015ecmascriptprefixmetadatahasOwnPropertystyled-componentsreducerglaciercode pointsECMAScript 2017immutablesinatraeventsbundlingmapES2018es7zerocloudtrailgradients cssstylesschemecss lessoptimizerwebrangeerroresindicatores-shim APIhasfluxtypanionECMAScript 2020waitcorsquoteweaksetprivatees5WeakMapvalidUint8Arraygroupfindmkdirpersistentform-validationES2019ES3ECMAScript 2018watchinga11ypositiveshamlastutilityinvariantPromiseUint32Arrayielook-upjsonpathreacttouchencryptionmodulesimportexportlinuxerror-handlingvaluesemruninstallsnslruString.prototype.matchAllshrinkwrapglobalsworkspace:*appslotAsyncIteratordirFloat32Arraysafehelpersfixed-widthmulti-packageJSONECMAScript 2023cloudformationkeystypeofES2022duplexmobileeslintTypedArraygenericsclicore-jsfunctionss3statusbcryptcall-bindSymbolwafjwtinsomenested csspostcsspnpm9jsdomdiffparentsReflect.getPrototypeOf-0calleslintconfigidleextendtsxhrrandomdeepcloudfrontruntimechineseredactarrayses6spinnerenvhas-ownsharedelmi18naccessibilitylesscssperformantlockfileURLSearchParamsless mixinsautoscalingmime-dbcacheES2021colorssignalsregular expressionstringifierparentairbnbhotfilejsbuffersterminalstarterdirectoryassertsglobparsehttpjQuerytypesless.jsECMAScript 2019npmhookformefficientWeakSetlinkclass-validatorcoercibledomECMAScript 6URLspinnersyamlregulartoArraysigtermaccessorpatchjasminegetintrinsicchaiio-tsgradients css3ESnextpyyamlrapid.envboundfseventsRFC-6455nativeclasseshashMicrosoftstablebddinferencearraydatewatchFilebindStyleSheettakegetterBigUint64Arraycoreinternal slotphonehookstc39dotenvkeyimmerrdsrmjestdeep-copyendercommand-lineyupfastifyfsbusydescriptorstermES8ec2ES2020RxJSflattenconcatMapqueryqsfastawaitpreserve-symlinksflatformwidthenvironmentsString.prototype.trimRegExp#flagsstatetypeastformattingcompilermimeoperating-systemtoolszodstoragegatewayObject.iswalkingreuseECMAScript 3fullwidththroatstringcommandReactiveXthrottlemonorepoframeworkArray.prototype.findLastIndexirqdescriptionchannel@@toStringTagreduceexit-codecss-in-jssharedarraybufferregexpcss nestingtypedarraysdefineObject.getPrototypeOfcollectionunicoderecursivesetImmediateurlfindupwatchstreams2promisesetcontainscodes[[Prototype]]dependency managerjoicomputed-typesobjectshellECMAScript 2022CSSStyleDeclarationconsoletoStringTagfastcopycloneSymbol.toStringTagauthestreeponyfillworkflowiterationstylesheetglobalwordbreakbundlerlintgetchromiumECMAScript 2016clienthttpscopyECMAScript 2021testerES2016japaneseargvArrayBuffer.prototype.slicesuperstructshimassertuptypesafeUint16ArraylistenerstddStreamsloggersymlinksexpressiontoolkitrequestdataview
1.0.0

1 year ago