Report Schema
Output Formats
A11YSmith generates reports in three formats:
- JSON — Canonical, schema-validated output. Used for machine consumption and dashboard import.
- Markdown — Human-readable report following the consultant writing style.
- HTML — Self-contained static report with accessible markup.
JSON Report Structure
{
"audit_run": {
/* AuditRun schema */
},
"findings": [
/* Finding schema[] */
],
"generated_at": "2026-03-16T12:00:00Z",
"generator_version": "0.1.0"
} Finding Sections (Human-Readable Reports)
Per the consultant writing style, every finding includes:
- Verdict
- Severity
- User Impact (who, task impact, AT/interaction mode)
- Evidence (environment, steps, actual/expected, observed output)
- Why It Matters
- Recommendation (direct fix or options with tradeoffs)
- Validation Steps (specific AT and browser/device combinations)
- Standards Mapping (Target standard, WCAG SC, precedence note)
- Confidence and Caveats
Schema Validation
All generated JSON is validated against Zod schemas at generation time. The
generateJsonReport() function throws if any finding or audit_run
fails validation.