Release Notes
v1.0.0-beta.42 June 22, 2026
Findings without a landmark now name their nearest container. Some flagged elements sit outside every page landmark (header, nav, main, footer), so the report correctly says "Landmark: none" - but on its own that left no way to place the finding without opening the browser. Vesper Audit now adds a Container line directly below the Landmark line, naming the nearest meaningful ancestor: the nearest stable id (auto-generated ids - entity numbers, hashes, framework ids - are skipped in favor of a stable one, for example div#block-branchselect), a dialog or modal, or a meaningful component class. It appears on every element-bound finding in every format - the in-app viewer, PDF, Markdown, Notion, and a new Container column in both violations.csv and sitewide.csv - and is most useful exactly when the landmark is "none". Pure utility wrappers are skipped so the container is always something meaningful.
Color contrast issues show the exact ratio and the colors involved. A color-contrast finding could previously come through with an empty explanation - no ratio and no foreground or background color - which forced a manual check in the browser. Vesper Audit now shows the full detail on every color-contrast finding: the measured contrast ratio, the required ratio, the gap below the threshold, and the foreground and background colors (for example, "4.33:1, required 4.5:1 - 0.17 below threshold, foreground #0f7547 on background #f6d9d9"). This includes findings rolled up in the Sitewide Template Findings section, and the CSV export's sitewide.csv file has dedicated Contrast Ratio, Foreground, Background, and Expected Ratio columns. When a background can't be measured - a gradient, an image, or a semi-transparent color - the report explains that reason instead of leaving the field blank. This affects every report format: the in-app viewer, PDF, Markdown, CSV, and Notion.
v1.0.0-beta.40 June 9, 2026
PDFs served at a clean URL are no longer scored as web pages. When a site links a PDF at a tidy address with no .pdf on the end, the browser opens it in its built-in PDF viewer - a near-empty shell with no page title or language. Earlier builds ran the web-page checks against that shell and reported the missing title and language as Serious issues, even though the address is a PDF and there is no web page to fix. Vesper Audit now recognizes these during the scan and lists them under PDFs Found (marked "served directly at this URL") instead of scoring them as HTML, so they no longer inflate the severity counts or the audited-page total. A normal page that simply embeds a PDF is unaffected.
Findings that repeat across the whole site are now rolled up. A single template element - a phone link in the header, a block in the footer - appears on every page, so one element could previously show up as hundreds of separate findings and make a site look far worse than it is. Vesper Audit now recognizes when the same finding repeats across most of the site and rolls it into one entry labelled "appears sitewide (N pages)" in a new Sitewide Template Findings section. The severity counts now count each distinct finding once rather than once per page, so the headline numbers reflect the real issues to fix. Every affected page is still listed in the detailed per-page results, so nothing is lost. This appears across the in-app viewer, PDF, Markdown, CSV, and Notion reports, with a dedicated sitewide.csv file in CSV exports.
v1.0.0-beta.37 June 5, 2026
Reports now open on a new Summary page, pinned at the top of the report viewer. It shows the whole audit at a glance: two rings - the total issues split by severity, and how many of the audited pages have issues (hover any section for its exact count) - followed by the counts by severity, scan stats, the top issues ranked by how often each occurs, and expandable reports for ambiguous links, broken links, and large images. A reminder that automated checks can produce false positives sits above those reports. Accessibility overlay detection lives here too, with a short explanation of why overlays are not recommended.
v1.0.0-beta.34 June 4, 2026
Accessibility overlay detection. Vesper Audit now detects third-party accessibility overlay and widget products on the sites it scans - UserWay, accessiBe, Recite Me, ReachDeck/Browsealoud, and others - and names the vendor. Detection is informational: it is a vendor-presence signal, not a WCAG violation, and is never included in the severity totals. Each detected overlay carries a recommendation to remove it and remediate the site directly, because overlays do not fix the underlying HTML and frequently interfere with the assistive technology people already use. Results appear in the in-app viewer, PDF, Markdown, and Notion reports, and as a dedicated overlays.csv file in CSV exports.
v1.0.0-beta.33 June 3, 2026
Landmark context on every finding. Element-bound violations now include a Landmark line directly above the selector in every report format, naming the nearest ARIA landmark (header, footer, nav, main, aside, or a named section) plus the chain of meaningful wrappers down to the flagged element. This makes it immediately clear where on the page each issue lives - for example, telling apart two identical links in the header versus the footer - without opening the live page. CSV exports gain a Landmark column.
v1.0.0-beta.32 May 17, 2026
Two long-standing Pattern Detector bugs are fixed in this build. Clicking Apply on a Pattern card during a scan now removes the card and prunes the queue as intended. Scans no longer cascade into hundreds of wasted iterations when a single page hits a fatal browser frame error - the scan recovers cleanly and continues from the next URL in the queue. Pattern cards also now appear at the threshold count of 25 rather than jumping straight to a post-batch number.
v1.0.0 April 24, 2026
Vesper Audit is a macOS desktop application for automated WCAG 2.2 A/AA accessibility auditing. Provide a starting URL and Vesper Audit produces a complete site-wide report.
Scanning
- Full site crawl. Vesper Audit follows every internal link from your starting URL and audits every page it finds - no sitemap required, no page limit. A running log shows each page as it is scanned.
- Single Page mode. Audit one URL without crawling. Useful for quick spot-checks on a specific page before or after making changes.
- WCAG 2.2 A/AA checks via axe-core. Every page is checked against the full axe-core rule set. Violations and best-practices are reported separately, each with its WCAG criterion reference.
- Custom link text checks. Two checks axe-core does not cover: ambiguous link text (click here, read more, details, raw URLs) and duplicate link text pointing to different destinations. Both map to WCAG 2.4.4 Level A.
- Empty heading detection. Flags headings whose accessible name resolves to nothing - broken
aria-labelledbyreferences, emptyaria-label, or genuinely empty elements. Maps to WCAG 2.4.6. - PDF and broken link scanning. All PDF links and external URLs are collected during the crawl. HTTP HEAD checks run after the scan and flag anything returning an error status.
- Report Filter. Narrow a scan to one rule category: Links, Images, Forms, Color & contrast, Page structure, or Keyboard & focus. Run a focused report for a specific person or remediation sprint, then rescan to confirm the fix.
Reports and exports
- In-app report viewer. After every scan, results open immediately in the Reports tab - no file picker, no PDF required. Pages are sorted by violation count. Each violation shows its impact level, WCAG criterion, affected HTML element, and a direct link to the relevant Vesper Guide.
- PDF export. A fully styled, print-ready report with a cover page, summary grid, violations per page, PDFs found, and broken links. Auditor name appears on the cover if set. Generated natively with no external dependencies.
- Markdown export. The full audit in
.mdformat. Paste into Confluence, GitHub, Notion, or any Markdown-rendering tool. - CSV export. Two files per audit:
violations.csvwith one row per violation (rule ID, impact, WCAG criterion, page URL, affected element) andsummary.csvwith per-page counts. Compatible with Excel, Numbers, and Google Sheets. - Notion sync. Publishes a structured page hierarchy to your Notion workspace after each scan: Audit Report, PDFs Found, Broken Links, Audit Log, and Suppressed Errors. Sync runs in the background.
Settings and workflow
- Scan profiles. Save named configurations per client. One click restores the URL, scan mode, exclusions, suppressions, export formats, and report filter for that site. Export and import profiles as JSON.
- Violation suppressions. Hide known false positives or accepted risks from output. The raw audit data is preserved and suppressed items are noted at the bottom of each page's report section.
- Path, query string, and regex exclusions. Skip URL patterns during the crawl - event listings, paginated archives, or any section that would inflate results without adding useful findings.
- Viewport width. Set the browser width used during each scan. Use 375 for mobile, 768 for tablet. Default is 1280.
- Auditor attribution. A Supporter feature. Add your name or agency to display as "Prepared by" in the header of every exported report. Leave blank to omit.
- Vesper Audit attribution. A Supporter toggle, enabled by default. Disable to remove the "Tool: Vesper Audit" credit and footer line from all exports for white-label delivery.
- Import & export settings. Export your full settings to JSON and import them on any machine. Keeps configurations consistent across team members or between client projects.
Platform
- macOS, Apple Silicon and Intel
- Requires Google Chrome
- Signed and notarized by Apple. No Gatekeeper warnings on first launch.
- Automatic updates. Vesper Audit checks for new versions in the background and notifies you in-app when an update is ready to install. A Check for Updates item in the application menu runs a check on demand.
- Light, dark, and system appearance modes.