Accessibility operations, connected

Turn accessibility evidence into better products.

Webscan brings automated scanning, expert-led audits, behavioural testing, and developer remediation into one connected workflow. Find accessibility barriers, understand their impact, turn eligible findings into proposed code fixes, and open GitHub pull requests for developer review.

Instant accessibility check — no account needed. Or create your workspace →

  • WCAG 2.2 A & AA
  • Human review built in
  • Secure by design
A diverse product team reviewing an accessible interface together in a design studio
From evidence to pull requestKeep remediation connected to the people and code that matter.

One workspace for the whole accessibility lifecycle

3
testing layers: automated, expert & behavioural
2.2
WCAG A & AA rule coverage
Human
approval before AI-assisted fixes
End-to-end
evidence, remediation, and retesting

Built beyond the basic checker

See barriers in context.
Move teams to action.

Automated rules are only one piece of accessibility. Webscan connects technical findings with human judgement, behavioural evidence, ownership, and proof of progress.

02

Behavioural intelligence

Observe focus, route changes, dialogs, errors, status messages, and significant DOM changes during defined interaction journeys.

See the workflow
03

Grounded AI assistance

Draft explanations and source-code fixes from recorded evidence, with provenance and mandatory human approval.

Explore remediation
04

Reports clients can use

Generate immutable technical, management, and all-issues snapshots in accessible HTML, DOCX, and PDF.

See reporting

Developer remediation

Close the distance between a finding and a fix.

Import the relevant source from GitHub, generate a grounded proposal, review it with a human, and open a focused draft pull request—without letting automation write directly to main.

  1. 1
    Connect the evidenceLink findings, audit outcomes, journeys, and repository source.
  2. 2
    Review the proposalKeep AI output advisory, traceable, and bound to the evidence.
  3. 3
    Ship through a pull requestLet developers review, test, and merge through the normal workflow.
webscan / remediation
High impactInteractive control has no accessible nameCheckout · Payment method · WCAG 4.1.2
− <button class="icon-only">+ <button aria-label="Choose payment method">
Human approval requiredEvidence hash and source revision recorded
Draft pull request readyFocused change · tests recommended
Open PR

A continuous practice

One clear path from discovery to confidence.

Give auditors, developers, product owners, and leadership a shared record of what was found, what changed, and what still needs human verification.

  1. 01

    Discover

    Scan public or authenticated experiences and exercise meaningful user journeys.

  2. 02

    Understand

    Combine automated evidence with manual and behavioural review.

  3. 03

    Remediate

    Assign issues, collaborate, draft fixes, and move through review.

  4. 04

    Verify

    Retest outcomes, preserve evidence, and monitor for regressions.

Reporting with integrity

Communicate progress without overstating conformance.

Every report is a stable, hash-protected snapshot. Technical teams get detailed evidence; leaders get a responsible view of risk and progress.

  • Accessible HTML as the canonical format
  • Professional DOCX and PDF exports
  • Organisation branding and complete issue registers

How Webscan is different

Most tools stop at a score. Webscan goes to a verified fix.

Plenty of tools can point a rule engine at your HTML and hand back a number. That is the easy part of accessibility — and the part that most often gives a false sense of safety. Webscan is built for the harder work that actually moves the experience for disabled users.

An automated checker parses the markup your server sent, matches it against a list of rules, and returns a score. It is genuinely useful — but it only sees a fraction of what matters, it stops at detection, and, left unqualified, a green result quietly implies a compliance it never actually measured. The barriers that reach real users tend to live in three blind spots: what happens after the page loads, the distance between a finding and a shipped fix, and the overclaiming of “compliant.” Webscan was designed around exactly those three gaps.

A typical accessibility checker
  • Scans the raw HTML for rule matches
  • Sees a single static snapshot of the page
  • Returns a score and a list of violations
  • Leaves the fix — and the wording of “compliant” — to you
Webscan
  • Renders and tests the page after JavaScript runs
  • Observes real behaviour: focus, dialogs, route changes, announcements
  • Drafts a fix from your actual source and verifies it in a sandbox
  • Opens a reviewable pull request — never touches main on its own
  • Reports evidence honestly, and says where it fell short

It tests the page people use — not the file the server sent

Webscan renders every page in a real browser and runs its checks after JavaScript has executed. That lets it catch defects a static checker cannot see — like a page title that is present in the server response but silently stripped once the app hydrates. Modern sites are assembled in the browser, so that is where accessibility has to be measured.

It watches behaviour, not just structure

Many of the worst barriers are dynamic: focus that never moves to a dialog, a route change no screen reader announces, an error message that appears silently. Webscan observes focus, dialogs, route changes, and live-region updates as it exercises real journeys — the failures a rule-matcher on static markup will always miss.

It carries a finding all the way to a verified fix

Detection is where most tools end and where Webscan is just getting started. It imports your real source from GitHub — and the neighbouring files a component imports — drafts a grounded change, then builds and re-scans it in an isolated sandbox. It only calls a fix verified once its own scanner re-confirms the issue is gone, and it delivers the result as a draft pull request a person approves. It never writes to your main branch.

It refuses to overclaim

A passing automated scan is evidence, not a verdict of compliance — and Webscan is deliberate about the difference. Human review is built in, reports are immutable and hash-protected, and it tells you plainly where automation reached its limits. Honest tooling should show its work, including what it could not decide.

The result is a tool that behaves less like a spell-checker for markup and more like a practice: render what users actually get, observe how it behaves, fix it with evidence, and prove the fix — without ever pretending a score is the same thing as an accessible experience.

Proof, not promises

We tested Webscan on our own website.

Before we asked anyone else to trust it, we ran Webscan against Inclusive App Craft's own site—a modern React application. Here is the honest account of what it caught, how it helped us fix the issues, where it fell short, and how it improved.

What it caught

First of all, Webscan scanned our live site the way a real browser does and surfaced eleven findings. Also — because it renders each page after JavaScript runs, not just the raw HTML — it caught a subtle defect a naïve checker misses entirely: a page title that was present in the server response but silently stripped once the app hydrated in the browser. Moreover, it turned the most serious findings into tracked issues: duplicate element IDs on our contact form, a missing title on a service page, and a field tied to more than one label.

How it helped us fix it

Then came remediation. Webscan imported the exact source file from GitHub, drafted a real code change, and — only after a person approved it — opened a focused draft pull request. For the duplicate-ID issue its proposal was spot-on, introducing React's useId() so every field became unique. Furthermore, that single fix resolved the multiple-label issue too, because both shared one root cause. After we merged and the site redeployed, Webscan re-scanned the live page and confirmed the violations were gone.

Where it fell short

However, we will not overstate it. On the missing-title bug, Webscan's automatic fix was plausible but wrong — from the source file alone it could not see that the real cause was a hydration failure deeper in the framework. In other words, a human still had to diagnose and correct that one. This is precisely why Webscan never writes to your main branch on its own, and why every fix waits for human approval: automation assists, and people decide.

The bugs we found in Webscan itself

Along the way, testing on a real, modern site exposed bugs in Webscan too — and we fixed them. First, the scanner's browser refused to launch inside our container until we hardened its sandbox settings. Also, a strict content-security policy initially blocked Webscan from injecting its own analysis script, so we taught it to instrument protected pages safely. In short, using our own product in earnest made it tougher.

How far it has come

As a result of everything we learned, Webscan is markedly stronger today. First of all, it now feeds real browser evidence — including the console errors a page throws — into its fix suggestions, so it can tell a source-code defect apart from a runtime one. Moreover, it reads the neighbouring files a component imports, and it carries a growing library of known framework pitfalls. In addition, it can render a proposed fix and re-check it in a safe sandbox before a pull request is ever opened. Finally, it only calls a fix verified once its own scanner has re-confirmed the issue is gone — never on a guess.

Live proof · verified in a real build

One fix, three connected files, checked in a real build before anyone saw a pull request

To show the sandbox working, we planted a deliberate barrier in a small React app — an icon button with no accessible name — where the correct fix could only be written by reading three files that depend on one another. Here is exactly what Webscan did, end to end.

  1. Found

    A critical, unnamed button

    Rendering the live page the way a browser does, the scanner flagged a Critical button-name violation: toolbar icon buttons with no accessible name — effectively invisible to a screen reader.

  2. Understood

    Across three files that depend on each other

    The button lives in IconButton.tsx, but its correct label comes from a helper in labels.ts, which derives the text from a field in actions.ts. Webscan read the neighbouring files the component imports and used all three — while treating actions.ts and labels.ts as read-only context it must never change.

  3. Fixed

    A minimal, correct change

    The change Webscan proposed to IconButton.tsx
      <button
        type="button"
        className="icon-btn"
    +   aria-label={actionLabel(action)}
      >
        <Icon size={18} aria-hidden />
      </button>
  4. Verified

    In a real, isolated build

    Before proposing anything, an isolated sandbox installed the project, built it with Vite, rendered the result, and re-ran the accessibility scan. The violation was gone — on the first attempt. Only then did Webscan mark the draft Sandbox-Verified, still waiting for a person to approve it.

✓ Sandbox-Verified The build ran with none of Webscan's own credentials, and nothing was ever pushed to a branch automatically — automation assists, people decide.

Accessibility is a practice, not a score — and honest tooling should show its work, including its limits.

Designed for responsible adoption

Security and accessibility are foundations, not add-ons.

Made in Accra, Ghana

Built by Inclusive App Craft.

Inclusive App Craft is an accessibility-first software studio on a mission to make the web usable by everyone. Webscan is our answer to a hard question: how do teams turn accessibility findings into real, verified improvements—without overstating conformance or losing the human judgment the work demands?

We build from the University of Ghana's Information Technology Directorate in Legon, pairing local craft with global accessibility standards across WCAG 2.0, 2.1, and 2.2.

Pricing

Start free. Scale when you're ready.

Honest, per-website pricing—no seat traps, no surprise "compliance" upsells. Begin with a free scan and grow into the plan that fits your portfolio.

free

For exploring Webscan and scanning a small personal website.

₵0forever

  • 1 website
  • Authenticated scanning
  • User journeys
  • Behavioural testing
  • Scheduled monitoring & alerts
  • AI-assisted remediation drafts
  • White-label report branding
  • Automated WCAG 2.0–2.2 scans
  • Findings with review states
  • 1 seat
Start free

individual

For individuals, developers and small organisations managing a few websites.

₵350/ month

  • Up to 5 websites
  • Authenticated scanning
  • User journeys
  • Behavioural testing
  • Scheduled monitoring & alerts
  • AI-assisted remediation drafts
  • White-label report branding
  • 1 seat
Create an individual plan account

pro

For accessibility professionals and growing organisations managing multiple websites.

₵700/ month

  • Up to 10 websites
  • Authenticated scanning
  • User journeys
  • Behavioural testing
  • Scheduled monitoring & alerts
  • AI-assisted remediation drafts
  • White-label report branding
  • Up to 2 seats
Start with pro plan

team

For development and product teams building and maintaining accessible digital products.

₵1050/ month

  • Up to 15 websites
  • Authenticated scanning
  • User journeys
  • Behavioural testing
  • Scheduled monitoring & alerts
  • AI-assisted remediation drafts
  • Technical & management reports
  • Up to 5 seats
Get started

Need expert eyes? Our specialists offer hands-on WCAG audits and remediation as an add-on to any plan. Prices in USD—special rates for NGOs, education, and public-sector teams across Ghana and Africa. Get in touch.

Questions & answers

What teams ask before they start.

Straight answers about what Webscan does—and, just as importantly, what it doesn't claim to do.

Does a passing automated scan mean my website is compliant?

No—and Webscan is deliberate about this. Automated checks are evidence, not a verdict. They catch a meaningful share of issues, but real WCAG conformance needs human judgment. Every finding shows its review state, and manual audits and behavioural testing sit alongside the automated results so a person always makes the final call.

Which accessibility standards does Webscan test against?

WCAG 2.0, 2.1, and 2.2 at Levels A and AA, using a locally pinned axe-core engine. Definite violations are flagged automatically; anything that needs a human to confirm is marked for review rather than guessed.

Can Webscan scan pages behind a login?

Yes. You can save an authenticated session for a site you control, and Webscan uses it to scan signed-in pages. Those credentials are encrypted at rest and decrypted only in memory for the moment a scan runs—they're never shown again or written to normal logs.

Does it work on modern JavaScript apps and multi-step flows?

Yes. Webscan renders pages in a real browser (Playwright/Chromium), so single-page apps are tested as users actually receive them. Journeys let you script real flows—navigate, click, type, submit—and scan each step, with behavioural checks for focus, dialogs, and status messages.

How does the AI assistance work—and is it safe?

AI is optional and advisory. Drafts—explanations, remediation, alternative text—are generated from a bounded snapshot of an issue's evidence, recorded with their provenance, and always require human approval. By default Webscan uses a deterministic offline engine, so nothing leaves your workspace unless an administrator explicitly enables an external provider.

How is our data kept private and secure?

Each organisation's data is isolated in the backend queries, sensitive credentials are encrypted at rest, and the scanner is hardened against server-side request forgery. See our Privacy Policy for the full picture.

Can we track progress and catch regressions over time?

Yes. Schedule weekly or monthly scans and Webscan compares each run to the last—flagging new, resolved, and returned issues, and alerting you to regressions. Reports export as accessible HTML, DOCX, or PDF for both technical and management audiences.

Build inclusion into delivery

Make accessibility work visible, actionable, and accountable.

Start with one website. Bring your team into a workflow designed to improve real experiences—not just produce a score.