Understanding Reports
Conalyz Runtime generates two report files at the end of every session.
HTML Report
conalyz_report.html is a self-contained visual report that opens in any browser — no server required.
What it contains
- Device information — model, screen resolution, pixel density
- Per-screen summary — violation counts by check type for each screen
- Violation details — every violation with:
- The check that failed and its severity
- The accessible label of the affected element
- The element's position and size on screen
- The specific reason it failed (e.g. contrast ratio, exact dimensions)
- Screenshot with highlights — click any violation row to open a modal with the screenshot and a red highlight over the exact element. In automated mode with scrollable screens, the modal shows the screenshot from the scroll pass where that violation was found — so elements that only appear after scrolling are shown in their actual visible position, not on a blank area of the initial screenshot
Severity levels
| Severity | Meaning |
|---|---|
| Critical | Blocks access entirely for some users |
| High | Significantly impairs usability for some users |
| Medium | Causes friction; workarounds may exist |
| Low | Best-practice violation; minor impact |
JSON Report
conalyz_report.json contains the same data in a structured format, suitable for:
- CI pipeline integration (fail the build if violations exceed a threshold)
- Custom dashboards and tooling
- Tracking violations over time
Top-level structure
{
"generatedAt": "2026-05-25T10:30:00.000Z",
"device": {
"model": "sdk_gphone16k_arm64",
"densityDpi": 480,
"pixelRatio": 2.625,
"physicalWidth": 1080,
"physicalHeight": 2400,
"logicalWidthDp": 411,
"logicalHeightDp": 914
},
"screens": [
{
"name": "Login",
"totalViolations": 4,
"screenshotCount": 1,
"violations": {
"touchTargets": [],
"contrast": [...],
"focus": [...],
"labels": [],
"vagueLabels": [],
"disabled": [],
"sliders": []
}
}
]
}
screenshotCount reflects how many screenshots were captured for that screen. Most screens have screenshotCount: 1. Screens with long scrollable content captured in --auto mode may have more — one screenshot per scroll position.
Controlling report output
Use CLI flags to control which reports are generated and where they are saved:
# Write both reports to a specific directory
conalyz auto --output ./reports
# JSON only
conalyz auto --no-html
# HTML only
conalyz auto --no-json
See the CLI Reference for the full list of flags.