Skip to content

Experimental Pa11y runner for HTML validation with the Nu Html Checker (v.Nu)

License

Notifications You must be signed in to change notification settings

thibaudcolas/pa11y-runner-vnu

Repository files navigation

Pa11y runner for HTML validation with the Nu Html Checker (v.Nu).

Usage

🚧 Currently the runner is only compatible with PR #524 – Add lower-level runner API to support non-browser runners, and on my fork thibaudcolas/pa11y#feature/node-runners.

V.Nu first needs to be installed separately, with a standalone vnu binary.

# On macOS,
brew install vnu
# Elsewhere, grab the latest release from
# https://github.com/validator/validator/releases/latest.
# Make sure the `vnu` executable is in your PATH.
# Then,
npm install -g https://github.com/thibaudcolas/pa11y#feature/node-runners pa11y-runner-vnu

With vnu, Pa11y, and the runner installed,

pa11y --runner vnu https://www.example.com/

Why

When it comes to finding accessibility issues, HTML validation ranks poorly compared to dedicated tools. Nonetheless, I find it valuable for a few reasons:

  • Developers understand it well. Accessibility guidelines can be hard to grasp for newcomers, while “valid HTML” is a well understood concept.
  • It’s ubiquitous. There are well established tools for HTML validation, they’ve been there forever. A lot of web developers have already used them.
  • It finds issues much closer to the code than other methods. If the HTML is malformed, a validator picks this up right away, in very clear terms.

Here are examples of issues I wouldn’t have found if it wasn’t for HTML validation:

Contributing

See anything you like in here? Anything missing? We welcome all support, whether on bug reports, feature requests, code, design, reviews, tests, documentation, and more. Please have a look at our contribution guidelines.

Credits

View the full list of contributors. MIT licensed.