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]
Arguments:
[url] URL
Options:
-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.