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.