Markproof on the command line
The same checks as our WordPress plugin, as one PHP script with no dependencies, so a regression can fail your build instead of reaching your client. It is free software under the GPL.
Download the script (zip, 16 KB) How to use it in CI
What it does
Give it a page or a sitemap. It fetches the pages politely — one at a time, obeying
robots.txt — and reports the problems that can be proven from the HTML: missing alt text,
icon links with no accessible name, unlabelled form fields, heading levels that skip, tables without
header cells, frames without titles, duplicate ids, zoom-blocking viewports. Every finding quotes the
exact markup responsible, so anyone can check the result in seconds rather than trusting it.
./markproof scan https://example.com/
./markproof scan --sitemap https://example.com/sitemap.xml --max-pages 25
./markproof scan https://example.com/ --baseline .markproof.json
./markproof scan https://example.com/ --format github # annotates a pull request
Exit codes: 0 nothing new above the threshold, 1 new findings,
2 a usage or network problem.
The part that matters: a baseline
A site that has been running for years will always have findings. So record them once, and from then on only fail the build on something new:
./markproof scan --sitemap https://example.com/sitemap.xml --update-baseline
# commit .markproof.json, and from now on:
./markproof scan --sitemap https://example.com/sitemap.xml --fail-on error
That turns a one-off audit into a regression test, which is the only version of this that keeps working after everybody has forgotten the audit happened.
What it will not tell you
It cannot see colour contrast, it cannot judge whether alt text is useful, and it cannot tell you how a page behaves with a keyboard or a screen reader. It will never print a score out of a hundred, and it never claims a site is compliant, because no automated check can make that claim honestly. The long version is here, and it is the reason we are worth believing on the rest.
If you look after client sites
The script checks one site when you run it. Markproof Station checks a list of client sites on a schedule, keeps every scan so you can see what broke, emails you when a scan could not read a site at all, and prints a report under your own name with a suggested order of work. Up to three client sites work without a licence key, for as long as you like: how it works · pricing.
The repository
The script, its checks and an example workflow live in the open: github.com/stochastic-technologies/markproof-cli (opens in a new tab). Corrections are the most welcome contribution of all — a wrong finding costs more trust than a missing one, so if it flags something that is not a problem, we want the page and the line.