Skip to content

Getting Started

  • Python 3.10 or later
  • pip

Create a virtual environment and install the demo CLI along with the Ally tools:

Terminal window
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
pip install a11y-assist a11y-lint

This installs:

  • demo-cli — the reference CLI that emits cli.error.v0.1 JSON.
  • a11y-assist — explains errors using accessibility profiles.
  • a11y-lint — validates your error messages against the contract.

Trigger the network timeout error and capture JSON output:

Terminal window
demo-cli network-timeout --json-out /tmp/error.json

You will see human-readable output on stdout and machine-readable JSON written to the file.

Pass the captured JSON to a11y-assist with any of the five built-in profiles:

Terminal window
a11y-assist explain --json /tmp/error.json --profile lowvision
a11y-assist explain --json /tmp/error.json --profile cognitive-load
a11y-assist explain --json /tmp/error.json --profile screen-reader
a11y-assist explain --json /tmp/error.json --profile dyslexia
a11y-assist explain --json /tmp/error.json --profile plain-language

Each profile transforms the same error into a presentation tuned for that audience. The ground truth stays the same; only the delivery changes.