Darek Kay's picture
Darek Kay
Solving web mysteries


Web page evaluation with a focus on accessibility.

Evaluatory is an open-source tool for website validation. It is mainly a wrapper around axe-core and html-validate, which test a website for accessibility and markup issues.

Evaluatory comes with some essential improvements:

  • Run checks at multiple device breakpoints at the same time (e.g. mobile, tablet and desktop). Some accessibility issues appear only at a certain breakpoint.
  • Emulate dark mode, disabled JavaScript, offline mode and more by using custom Playwright options.
  • Return a visual HTML results page, including page screenshots.
  • Support for sitemaps to check all referenced web pages at once.

This project uses a modular architecture, so in the long term it could become an alternative to tools like webhint.


Check out a demo results page at https://darekkay.com/evaluatory/demo/.


  • base: Custom built-in checks.
  • axe-core: Checks for accessibility issues using axe-core.
  • html-validate: Validates the HTML using html-validate.
  • screenshot: Takes a screenshot of the page.


Run evaluatory with default configuration for a single URL:

npx evaluatory https://example.com


This tool requires Node.js version 12+.

Install globally:

yarn add -g evaluatory     # Yarn
npm install -g evaluatory  # Npm

Or install as a local dependency:

yarn add evaluatory            # Yarn
npm install --save evaluatory  # Npm

Or use without installing:

npx evaluatory <url>


View program help:

$ evaluatory --help
Usage: evaluatory [url] [options]

  [url]  URL

  -c, --config       Configuration file path
  -o, --output       Output folder
  --color-scheme     Color scheme (light, dark, no-preference)
  -m, --modules      Modules to execute (comma-separated)
  --no-open-results  Don't open the results page after evaluation
  --sitemap          Sitemap URL
  --verbose          Verbose/debug mode
  -h, --help         Show help
  -v, --version      Show version number

Run default configuration for a single URL:

evaluatory https://example.com

Run default configuration for all URLs within a sitemap:

evaluatory --sitemap https://example.com/sitemap.xml

Provide a custom configuration:

evaluatory -c config.json


The configuration is a valid JSON5 file. See config.example.json5 for an example and config.default.js for available options (with defaults).


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