Accessibility Regression Monitor — Branded HTML & PDF avatar

Accessibility Regression Monitor — Branded HTML & PDF

Pricing

Pay per usage

Go to Apify Store
Accessibility Regression Monitor — Branded HTML & PDF

Accessibility Regression Monitor — Branded HTML & PDF

Track accessibility changes after website updates. Download customer-branded HTML and tagged PDF reports. Free beta; Apify platform usage applies.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Zina

Zina

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Categories

Features

Limited permissions

Share

Show clients what changed after a website update

For small web agencies maintaining client websites: compare accessibility scans before and after a release, review newly detected issues, and download a report with your client's business name and branding.

Use it alongside your maintenance or release checks when you need to explain what changed and what needs attention. An unsuccessful scan preserves previous findings instead of treating the page as fixed.

See the report before running a scan

· ·

These reports use six pages we control and a fictional business, Northstar Digital. They demonstrate the workflow; they are not customer results or a compliance certificate.

A complete before-and-after example

StepWhat happensWhat the agency sees
Before a releaseScan the six owned demo pages to establish history.Initial observations form a baseline.
After the releaseIntroduce three deliberate issues, retain one existing issue, fix another and make one page incomplete.3 New, 1 Still detected, 1 No longer detected, 1 Could not check. The incomplete page keeps its previous baseline.
After remediationRestore the three deliberate regressions and rescan the incomplete page.The follow-up report shows the updated findings and restored coverage.

with . The report includes selectors, element evidence and suggested next actions for a developer to review.

The interactive Store demo below uses one button, so it is quicker than the six-page downloadable example.

Free beta: there is no developer fee or subscription for this Actor. Apify platform usage, storage and transfer still consume your Apify credits or incur charges under your own plan. No paid AI API or residential proxy is required. Future pricing is not promised; any change would follow Apify's pricing rules.

Try the demo

Keep the prefilled example input and run the Actor. The demo uses an owned in-memory page and does not fetch the placeholder URL. Open HTML report, PDF report or Results in the run's Output tab.

For a complete comparison, keep the same monitor name throughout:

  1. Run Try demo named to establish the baseline.
  2. Switch to Try demo unnamed and run again. The button's missing accessible name appears as New.
  3. Switch back to Try demo named and run again. The finding is No longer detected.

Use a separate monitor name when you move to a real website. A repeat scan with the same input will not deliberately introduce an issue.

What does a run cost?

There is no developer fee during the free beta. Your Apify account still covers platform usage.

Measured release test, 28 October 2026PagesRecorded platform usage
Owned button demo, branded HTML and PDF1About $0.0011
Public sandbox page, branded HTML and PDF1About $0.0019

These are two individual successful runs of build 0.1.4, at 1,024 MB memory. Values are the API's usageTotalUsd recorded during validation, not guaranteed prices or an invoice forecast. Large pages, timeouts, failures, storage retention and downloads can change usage. Do not multiply these examples into a guaranteed whole-site budget. Review your own run's Usage tab and account limits. The samples exclude development builds and future storage/download activity.

Use your own Apify account

Runs, reports and comparison history belong to the Apify account that starts the Actor. Platform usage draws on that account's credits or plan; the developer does not share credentials or pay for customer runs. There is no additional frontend login or API token required for the copy-and-paste input workflow.

Scan your website

  1. Set Scan mode to Scan my website pages.
  2. Enter 1–100 exact public HTTPS page URLs and confirm you are authorised to test them.
  3. Choose a unique Monitor name and keep it unchanged for future comparisons. Use a different name per client.
  4. Enter the customer's business name and optional branding settings.
  5. Run the scan and download its HTML/PDF reports. Run it again after your website update. Check the terminal status message and Assessment coverage and run summary: they report how many pages were assessed. If no pages can be assessed, the Actor fails after saving its diagnostic reports. Partial coverage is explicitly labelled even when the run completes.

The first successful scan establishes a baseline. Existing findings on that run are not new regressions. A successful repeat scan compares against the previous successful scan, not against historic data from before your first run.

For dynamic pages, optionally map each URL to a short piece of expected page text. Missing expected text, redirects, visible consent dialogs, blocked resources or challenge pages can produce an incomplete scan. Supply the exact final URL. The Actor does not log in. It attempts the configured consent choice on supported banners, including supported Usercentrics controls in open shadow roots. Unsupported consent choices and paywalls require manual review.

Business-branded reports

Start with just Business name; a logo is optional. The default colours and layout already produce a branded report, so you can leave the advanced fields unchanged for your first scan.

Customise report title, project/release name, primary and accent colours, optional agency credit, footer text and an embedded PNG logo. Primary colours must be readable against white text. Leave Prepared by blank for a report without agency credit. There is no personal author name or mandatory product branding in the report.

Logos must be PNG data URIs (data:image/png;base64,...), under 180 KB encoded and no larger than 2048 × 2048 pixels. Remote logo URLs and SVG are not supported.

Outputs

OutputContents
HTML reportExecutive summary, page coverage, finding register, element evidence and contextual guidance. Section and finding links support keyboard navigation.
PDF reportBusiness-branded A4 export with tags, English language metadata, heading bookmarks and internal finding links. Optional; enabled by default.
ResultsJSON/CSV-compatible event rows with page URL, change type, Axe rule, impact, selector and evidence where available.
SummaryAssessment status (complete, partial, none), assessed/requested pages, coverage percentage, scan errors, resource-warning count, elapsed time and demo flag.

baseline and rebaseline are initial observations. resolved means a finding was absent in the latest scan, not independent confirmation of a fix. needs_review includes inconclusive rules requiring manual review, even when no confirmed violations were found. scan_error means current findings are unknown. page_summary gives per-page coverage.

Counts use different units: confirmed findings and manual-review entries are rule-and-element records, not necessarily unique DOM elements; an inconclusive rule-page result can cover several elements on one page. The register contains finding, manual-review, resolved and incomplete-page entries. The dataset additionally includes one summary record per assessed page. The HTML/PDF explains this arithmetic, and the Summary exposes the same named counts. Pages sharing a filename receive distinct path-based labels such as Before / Home and After / Home.

Schedule repeat checks

Save a task using the same monitor name and schedule it in Apify. Avoid overlapping schedules; if another run already holds the monitor lock, the later run exits without writing findings. Use separate monitor names for separate clients.

Scope and limitations

  • Automated Axe-core checks tagged WCAG 2.1 A/AA, in Chromium's initial desktop page state.
  • Only the supplied URLs are scanned; no whole-site crawl or authenticated journeys.
  • Public HTTPS only. No private networks, credentials in URLs, custom ports, CAPTCHA bypass or login automation.
  • Robots policy is checked for the target page. A missing policy (404) permits scanning; unavailable, redirected or disallowing policies cause a scan error.
  • Resource/readiness checks are conservative. Unknown failed scripts, styles, fonts or images may prevent comparison even when the page appears usable to a person. Explicitly recognized nonessential analytics scripts (selected tracking hosts and canonical /analytics/piwik/piwik.js or /analytics/matomo/matomo.js paths) produce warnings while checks continue. Warnings are visible in page coverage, datasets and diagnostics; unknown application scripts and policy/budget failures remain blocking. Public HTTPS subframes are validated separately from main-page redirects.
  • Rule-and-selector identity can produce a resolved/new pair after DOM changes. A major page redesign may require a fresh monitor name.
  • Per page: up to 90 seconds, 500 routed requests by default (configurable 50 to 1,000), 200 proxy connections, 25 MB transferred, and 30,000 DOM elements before Axe. The scan loop allows 100 seconds per submitted page plus 120 seconds overhead. A 100-page scan can take over two hours; allow at least three hours in the run timeout. Browser/PDF export adds overhead.
  • PDF tagging, links and table structures were inspected, and the demo HTML passed automated and keyboard checks. Neither PDF/UA conformance nor manual screen-reader compatibility has been certified.
  • Automated testing does not establish full WCAG compliance or legal compliance. Manual keyboard, screen-reader and user-journey testing remains necessary.
  • This is a beta. Cancellation recovery, exactly-once output and long-running reliability have limits. A failed run may leave partial outputs.

Data handling

The Actor visits the pages you supply and their page resources, and saves findings and comparison snapshots in your Apify storage. HTML snippets and page-identity tokens can contain website content. Use authorised non-sensitive pages, and manage storage access and retention in your Apify account. No external AI model, analytics service or third-party logo host receives the report.

Named history stores use a11y-<monitorName>. Lease queues use a11y-lock-<monitorName>. Removing the history resets comparisons. Do not share a monitor name between unrelated websites.

Feedback and support

Use the Actor's Issues tab for feedback. Include the run ID and a non-sensitive reproduction example. Never post API tokens, private credentials, personal customer data or confidential reports. Helpful feedback: whether the scan completed, whether the change classification was useful, and which report detail was missing.

Independent tool using Playwright and the open-source Axe-core engine. No affiliation with or endorsement by Microsoft or Deque Systems is implied.