█████╗ ██╗ ██╗██╗███████╗ ██╔══██╗╚██╗██╔╝██║██╔════╝ ███████║ ╚███╔╝ ██║███████╗ ██╔══██║ ██╔██╗ ██║╚════██║ ██║ ██║██╔╝ ██╗██║███████║ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚══════╝
Automated WCAG 2.2 compliance auditing for Windows — with real-time scoring, headless JS rendering, and environmental impact analysis.
AXIS is a desktop application that audits websites and local HTML files against WCAG 2.2 standards. It renders JavaScript-heavy pages using a headless Chrome engine, computes an accessibility score from 0–100, flags issues by severity, and exports professional reports in TXT or PDF.
It also ships an SDK — AXIS-CORE — so teams can embed the same checks into their CI/CD pipelines or developer tooling.
| Category | What's included |
|---|---|
| Auditing | Alt text, form labels, heading hierarchy, color contrast, font readability |
| WCAG 2.2 | Target size minimum (2.5.8), redundant entry prevention (3.3.7) |
| Rendering | PuppeteerSharp headless Chrome for JS-rendered content |
| Scoring | 0–100 accessibility score + compliance tier |
| Environmental | CO₂ emissions estimate, CDN detection, energy rating |
| Export | TXT + PDF reports with recommendations |
| Standards | WCAG 2.2, WCAG 2.1, Section 508, India RPwD Act |
95 – 100 ████████████ Fully Compliant
80 – 94 ██████████░░ Mostly Compliant
60 – 79 ███████░░░░░ Partially Compliant
0 – 59 ████░░░░░░░░ Not Compliant
Download WebAccessibilityChecker.exe from Releases and double-click. No installation needed.
git clone <repository-url>
cd WebAccessibilityChecker
dotnet rundotnet publish -c Release -r win-x64 --self-contained
# Output: bin/Release/net9.0-windows/win-x64/publish/WebAccessibilityChecker.exeRequirements: Windows 10/11 · .NET 9.0 Runtime · Internet connection for URL analysis
1. Launch → Run the .exe or use dotnet run
2. Input → Paste a URL or browse to a local HTML file
3. Analyze → Click Analyze — JS is rendered automatically
4. Review → Severity-coded table: Red (errors) · Orange (warnings) · Green (info)
5. Export → Save as TXT or PDF
WCAG 2.2 introduced new success criteria to improve accessibility for users with cognitive, mobility, and low-vision disabilities. This version adds automated checks for:
Interactive elements such as links, buttons, and form controls must have a minimum clickable area of 24×24 CSS pixels.
How to fix:
button, a {
min-width: 24px;
min-height: 24px;
padding: 8px 12px;
}Form fields that request personal data (name, email, phone, address) must include the autocomplete attribute to prevent repetitive entry.
How to fix:
<input type="text" name="name" autocomplete="name">
<input type="email" name="email" autocomplete="email">
<input type="tel" name="phone" autocomplete="tel">
<input type="text" name="address" autocomplete="street-address">AXIS estimates your page's carbon footprint as part of every audit.
| Rating | CO₂ per page load |
|---|---|
| 🌱 Eco | < 10 g |
| 🟡 Moderate | 10 – 50 g |
| 🔴 High Impact | > 50 g |
Metrics include page weight, request count, CDN usage, and estimated server energy draw. Environmental data is included in TXT/PDF exports.
WebAccessibilityChecker/
├── Models/ # Issue, Report data models
├── Services/ # Parser, Checker — core audit logic
├── Utils/ # Export helpers (TXT, PDF)
├── Resources/ # App resources
├── MainWindow.xaml # WPF UI layout
└── MainWindow.xaml.cs # UI logic
Stack: WPF · .NET 9 · C# · HtmlAgilityPack · PuppeteerSharp · QuestPDF
Embed the same audit engine into your own tools. Available for .NET, JavaScript, Rust, and Python (planned).
dotnet add package AXIS-COREvar checker = new AxisCore();
var report = await checker.CheckUrlAsync("https://example.com");
Console.WriteLine($"Score: {report.AccessibilityScore}/100");npm install axis-core-sdkconst { AxisCore } = require('axis-core');
const report = await new AxisCore().checkUrl('https://example.com');
console.log(`Score: ${report.accessibilityScore}/100`);# Cargo.toml
[dependencies]
axis-core = "1.1.1"| Runtime | Package | Version | Status |
|---|---|---|---|
| .NET | AXIS-CORE | 1.2.0 | ✅ Published |
| JavaScript | axis-core-sdk | 1.0.0 | ✅ Published |
| Rust | axis-core | 1.1.1 | ✅ Published |
| Python | axis-core | — | 🔜 Planned |
Headless browser failed on first run Chrome downloads automatically on first launch. The app falls back to HTTP fetching in the meantime — most sites work fine with this fallback.
Application won't start Ensure .NET 9.0 Runtime is installed. Try running as administrator. Check Windows Firewall isn't blocking the process.
Memory usage ~200 MB with Chrome active · ~50 MB with HTTP fallback
- WCAG 2.2 — Latest standard (new: Target Size, Redundant Entry)
- WCAG 2.1 — Perceivable, Operable, Understandable, Robust
- Section 508 — US federal accessibility requirements
- India RPwD Act — Rights of Persons with Disabilities
# 1. Fork the repo
# 2. Create a feature branch
git checkout -b feature/your-feature
# 3. Restore packages
dotnet restore
# 4. Run in dev mode
dotnet run
# 5. Open a pull requestA11Y: Lazy Edition — Check accessibility directly inside VS Code while you develop.
GPL-3.0-or-later · Made with ❤️ for a more accessible web