Output Formats

After a scan completes, Vesper Audit writes its results to your configured output folder. This page documents every output file and format.

Output folder structure

All files are written flat to your output folder - no subfolders. Each file is named after the audited domain and the date the scan ran:

~/Desktop/Vesper-Audits/
  example-com - Accessibility Report - April-05-2026.pdf
  example-com--2026-04-05-09-14-22.json

The output folder defaults to ~/Desktop/Vesper-Audits and can be changed in Settings > Output Folder.

Results JSON file

After every scan, Vesper Audit automatically writes a .json results file to your output folder. This happens regardless of other export settings and cannot be disabled.

The JSON file is the data source for the in-app report viewer. It contains the complete structured results of the scan: every page audited, every violation found, impact levels, WCAG references, affected elements, and scan metadata. It is not intended for manual editing, but it is human-readable if you need to inspect it.

To open a results file from a previous scan, use Open Report... in the Reports tab toolbar.

PDF report

The PDF report is a formatted, print-ready document suited for delivery to clients or stakeholders. It is optional - enable it in Scanner Options > Export as PDF.

The PDF contains:

The PDF is generated using Electron's native print-to-PDF capability. No external dependencies are required.

In-App Report Viewer

The Reports tab in Vesper Audit lets you browse scan results without opening any external app. After every scan, click Open in Viewer on the result card to open the Reports tab with your results loaded automatically.

The viewer sidebar lists all scanned pages sorted by violation count, with clean pages at the bottom. Clicking a page shows all violations found on that page, including impact level, WCAG criterion link, fix guidance, and affected HTML elements. Where a Vesper Guide exists for the violation rule, a guide link appears in the card. Page URLs are clickable and open the live page in your browser.

To open results from a previous scan, click Open Report... in the Reports tab toolbar and select any .json results file. See In-App Report Viewer for full documentation.

Notion output

When Notion export is enabled, Vesper Audit creates a structured set of pages under your configured Notion parent page after each scan:

Your Notion Parent Page
  Audit: example.com - April 5, 2026
    Audit Report
    PDFs Found (N)        ← only created when PDFs are present
    Broken Links (N)      ← only created when broken links are found
    Audit Log
    Suppressed Errors     ← only created when suppressions matched

Notion sync runs in the background after a scan completes. A sync strip in the Audit panel shows progress - you can start a new audit while a previous sync is still running. See Notion Integration for setup instructions.

Custom checks

In addition to axe-core, Vesper Audit runs three built-in checks on every page that axe-core does not cover.

Ambiguous link text (vesper-ambiguous-link, moderate) - Flags links whose accessible name falls into any of the following categories:

Both map to WCAG 2.4.4 Link Purpose (In Context) - Level A (opens in a new tab).

Duplicate link text to different destinations (vesper-duplicate-link-text, serious) - Flags groups of links on the same page that share an identical accessible name but point to different URLs. For example, ten "Watch on YouTube" links each going to a different video would all be flagged. Links that share an accessible name and a destination are not flagged. Also maps to WCAG 2.4.4.

Empty heading (vesper-empty-heading, moderate) - Flags <h1> through <h6> elements whose accessible name is empty or consists only of whitespace. Empty headings create phantom structure: screen readers announce that a heading exists but read nothing aloud. Maps to WCAG 2.4.6 Headings and Labels - Level AA (opens in a new tab).

All three custom checks can be suppressed using their rule IDs in the same way as any axe-core rule. See Exclusions & Suppressions for details.

Configuring which outputs are generated

You can control output formats in the Scanner Options section on the Audit panel:

The results JSON file is always written after every scan and cannot be disabled.

Report Filter

The Report Filter badge row in Scanner Options lets you narrow the accessibility output to one or more rule categories. All rules is the default and runs everything. Selecting one or more categories - Links, Images, Forms, Color & contrast, Page structure, or Keyboard & focus - limits the violations in every output to only those rule categories.

All axe-core rules still run during the scan. The filter is applied after the crawl, before results are written to any output format. Violation counts in the summary, PDF, Notion, and viewer all reflect the filtered set.

When a filter is active, every output is clearly labeled:

The filter selection persists between sessions. Selecting all six categories is treated the same as All rules and reverts automatically.

Scan mode

Vesper Audit supports two scan modes, selectable above the Run button on the Audit panel:

PDF collection and broken link checking still run normally in Single Page mode, scoped to the one page being audited. The mode you choose persists across sessions.

Omit scanner attribution

By default, reports include a line crediting Vesper Audit as the tool that produced them. The Settings > Report Options > Omit scanner attribution toggle removes this line from all report formats before they go to clients.

When the toggle is on, the "Audited by Vesper Audit" line is omitted from Notion output and the footer strip is removed from PDF output. The line is not replaced with alternative text - it is simply absent.

Output folder location

The default output folder is ~/Desktop/Vesper-Audits. You can change this in Settings > Output Folder. The folder is created automatically if it does not exist.