Skip to content

Latest commit

 

History

History
479 lines (354 loc) · 14 KB

File metadata and controls

479 lines (354 loc) · 14 KB

Accessibility Everywhere 🌐

MPL-2.0-or-later

Making web accessibility a search engine ranking factor

MPL-2.0-or-later

License & Philosophy

This project must declare MPL-2.0-or-later for platform/tooling compatibility.

Philosophy: Palimpsest. The Palimpsest-MPL (PMPL) text is provided in license/PMPL-1.0.txt, and the canonical source is the palimpsest-license repository. [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)


🎯 Mission

Make the web accessible to the 1+ billion people worldwide with disabilities by following the proven HTTPS playbook: combine free tools, public accountability, and economic incentives to drive universal adoption.

The Problem

  • 96% of top websites have accessibility errors (WebAIM 2024)

  • Legal mandates (ADA, WCAG) exist but adoption remains low

  • No economic incentive for accessibility improvements

  • Developers lack easy-to-use, free tools

Our Solution

Follow the HTTPS success model:

| HTTPS (2014-2019) | Accessibility Everywhere (2024+) | |-------------------|----------------------------------| | Browser warnings | Browser extension showing scores | | Let’s Encrypt (free certs) | Free API + tools + infrastructure | | Public pressure | Accessibility leaderboard | | Google ranking boost | Goal: Search ranking factor |

Result for HTTPS: 45% → 95% adoption in 5 years

Goal for Accessibility: Same transformative impact


🚀 What We Built

1. Browser Extension

Real-time accessibility scanning for any website

  • ✅ Chrome & Firefox support

  • ✅ WCAG Level A/AA/AAA testing

  • ✅ Detailed violation reports

  • ✅ Score history tracking

  • ✅ One-click reporting

[Get Extension](tools/browser-extension/) | [Documentation](tools/browser-extension/README.md)

2. Testing Dashboard

Free public accessibility scanner (like securityheaders.com)

  • ✅ Instant URL scanning

  • ✅ Detailed WCAG compliance reports

  • ✅ Shareable results

  • ✅ Public leaderboard (top 10K sites)

  • ✅ Export reports (JSON)

[Try Dashboard](https://accessibility-everywhere.org) | [Documentation](tools/testing-dashboard/)

3. Monitoring API

Violation reporting and analytics (like report-uri.com)

  • ✅ REST API for scanning

  • ✅ Real-time violation reporting

  • ✅ Historical trend tracking

  • ✅ Multi-site dashboards

  • ✅ Badge verification

  • ✅ Free tier available

[API Docs](tools/monitoring-api/) | [Get API Key](https://accessibility-everywhere.org/api)

4. GitHub Action

Automated accessibility testing in CI/CD

- uses: accessibility-everywhere/scan-action@v1
  with:
    url: ${{ env.DEPLOY_URL }}
    wcag-level: AA
    fail-on-violations: true

[Get Started](tools/github-action/) | [Marketplace](https://github.com/marketplace/actions/accessibility-scan)

5. CLI Tool

Command-line accessibility scanning

npm install -g @accessibility-everywhere/cli

a11y-scan https://example.com
a11y-scan batch urls.txt
a11y-scan ci https://staging.example.com --min-score 80

[Install](tools/cli/) | [Documentation](tools/cli/README.md)

6. npm Package

Programmatic accessibility scanning for developers

const { createScanner } = require('@accessibility-everywhere/scanner');

const scanner = createScanner();
const result = await scanner.scan({
  url: 'https://example.com',
  wcagLevel: 'AA'
});

console.log(`Score: ${result.score}/100`);

[Install](packages/scanner/) | [Documentation](packages/scanner/README.md)


📊 Proposed Web Standards

Accessibility-Policy Header

Accessibility-Policy: wcag-level=AA; public-score=true; report-uri=/api/a11y

/.well-known/accessibility Endpoint

{
  "version": "1.0",
  "wcag": { "level": "AA", "version": "2.1" },
  "score": { "value": 94, "public": true },
  "contact": { "email": "accessibility@example.com" }
}

DNS TXT Record

_accessibility.example.com TXT "v=ACCESSIBILITY1; wcag=AA; score=94"

[Full Specification](docs/PROPOSED_STANDARDS.md)


🏗 Architecture

┌─────────────────────────────────────────┐
│         User-Facing Tools               │
├─────────────────────────────────────────┤
│ Extension │ Dashboard │ CLI │ npm pkg  │
└────────────┬────────────────────────────┘
             │
      ┌──────▼──────┐
      │ Monitoring  │
      │     API     │
      └──────┬──────┘
             │
      ┌──────▼──────┐
      │  ArangoDB   │  ← Graph + Document Database
      │  (Multi-    │     Sites → Scans → Violations
      │   Model)    │     → WCAG Criteria
      └──────┬──────┘
             │
      ┌──────▼────────────────┐
      │  axe-core Scanner     │
      │  (Puppeteer/Playwright)│
      └───────────────────────┘

Technology Stack: - Frontend: Vanilla JS, React - Backend: Node.js + Express - Database: ArangoDB (graph + document) - Scanner: Puppeteer/Playwright + axe-core - Infrastructure: Docker, CloudFlare Pages/Workers

[Technical Documentation](docs/ACCESSIBILITY_INITIATIVE.md#5-technical-architecture)


📖 Project Structure

accessibility-everywhere/
├── packages/
│   ├── core/                 # Shared ArangoDB models
│   ├── scanner/              # Accessibility scanner (axe-core)
│   └── standards/            # Proposed web standards
├── tools/
│   ├── browser-extension/    # Chrome/Firefox extension
│   ├── testing-dashboard/    # Public testing site
│   ├── monitoring-api/       # REST API
│   ├── github-action/        # CI/CD integration
│   ├── cli/                  # Command-line tool
│   ├── adoption-tracker/     # Top 1M sites scanner
│   ├── wordpress-plugin/     # WordPress integration
│   └── vscode-extension/     # VS Code linting
├── components/
│   ├── react/                # Accessible React components
│   └── vue/                  # Accessible Vue components
├── docs/
│   ├── ACCESSIBILITY_INITIATIVE.md    # 13-section strategy
│   ├── PROPOSED_STANDARDS.md          # Standards specification
│   ├── CAMPAIGN_MATERIALS.md          # Outreach templates
│   └── NEXT_STEPS.md                  # Launch options
├── examples/                 # Example implementations
├── scripts/                  # Setup & deployment scripts
└── docker-compose.yml       # Full stack deployment

🚦 Quick Start & Usage

Run Full Stack Locally

= Clone repository

image:https://img.shields.io/badge/License-MPL_2.0-blue.svg[MPL-2.0-or-later,link="https://opensource.org/licenses/MPL-2.0"]
git clone https://github.com/accessibility-everywhere/accessibility-everywhere
cd accessibility-everywhere

= Start all services with Docker

image:https://img.shields.io/badge/License-MPL_2.0-blue.svg[MPL-2.0-or-later,link="https://opensource.org/licenses/MPL-2.0"]
docker-compose up

= Services available at:

image:https://img.shields.io/badge/License-MPL_2.0-blue.svg[MPL-2.0-or-later,link="https://opensource.org/licenses/MPL-2.0"]
= - Dashboard: http://localhost:8080

image:https://img.shields.io/badge/License-MPL_2.0-blue.svg[MPL-2.0-or-later,link="https://opensource.org/licenses/MPL-2.0"]
= - API: http://localhost:3000

image:https://img.shields.io/badge/License-MPL_2.0-blue.svg[MPL-2.0-or-later,link="https://opensource.org/licenses/MPL-2.0"]
= - ArangoDB: http://localhost:8529

image:https://img.shields.io/badge/License-MPL_2.0-blue.svg[MPL-2.0-or-later,link="https://opensource.org/licenses/MPL-2.0"]

Use Individual Tools

Browser Extension:

cd tools/browser-extension
= Load unpacked extension in Chrome/Firefox

image:https://img.shields.io/badge/License-MPL_2.0-blue.svg[MPL-2.0-or-later,link="https://opensource.org/licenses/MPL-2.0"]

CLI:

npm install -g @accessibility-everywhere/cli
a11y-scan https://example.com

GitHub Action:

= .github/workflows/accessibility.yml

image:https://img.shields.io/badge/License-MPL_2.0-blue.svg[MPL-2.0-or-later,link="https://opensource.org/licenses/MPL-2.0"]
name: Accessibility Check
on: [pull_request]
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: accessibility-everywhere/scan-action@v1
        with:
          url: https://staging.example.com

npm Package:

npm install @accessibility-everywhere/scanner

[Full Documentation](docs/)


🎯 The Strategy

Phase 1: Foundation (Months 1-3) ✅

  • ✓ Build core tools

  • ✓ Create comprehensive documentation

  • ❏ Public launch

  • ❏ Initial user base (10K+)

Phase 2: Adoption (Months 4-9)

  • ❏ W3C/ISOC partnerships

  • ❏ Conference presentations

  • ❏ Framework integrations

  • ❏ User base: 50K+

Phase 3: Public Pressure (Months 10-18)

  • ❏ Public leaderboard (top 10K sites)

  • ❏ Media campaign

  • ❏ "Name and shame" high-profile failures

  • ❏ 1000+ badges displayed

Phase 4: Search Engine Integration (Months 18-36)

  • ❏ Formal proposals to Google/Bing/DuckDuckGo

  • ❏ Technical collaboration

  • ❏ Pilot programs

  • 🎯 PUBLIC COMMITMENT TO RANKING FACTOR

[Full Strategy Document](docs/ACCESSIBILITY_INITIATIVE.md)


🤝 Get Involved

For Users

For Developers

  • Use the [GitHub Action](tools/github-action/) in your CI/CD

  • Install the [CLI tool](tools/cli/)

  • Integrate the [npm package](packages/scanner/)

  • Contribute code (see [CONTRIBUTING.md](CONTRIBUTING.md))

For Organizations

For Advocates


📚 Documentation

| Document | Description | |----------|-------------| | [ACCESSIBILITY_INITIATIVE.md](docs/ACCESSIBILITY_INITIATIVE.md) | Comprehensive 13-section strategy | | [PROPOSED_STANDARDS.md](docs/PROPOSED_STANDARDS.md) | Technical standards specification | | [CAMPAIGN_MATERIALS.md](docs/CAMPAIGN_MATERIALS.md) | Email templates & media pitches | | [NEXT_STEPS.md](docs/NEXT_STEPS.md) | Launch options (Quick/Full/Minimal) | | [CLAUDE.md](CLAUDE.md) | AI assistant guidelines for this project | | [CONTRIBUTING.md](CONTRIBUTING.md) | How to contribute | | [LICENSE](LICENSE) | Palimpsest-MPL-1.0 License |


💰 Pricing

Free Tier (Forever)

  • ✅ Browser extension

  • ✅ Public dashboard scans

  • ✅ CLI tool (basic)

  • ✅ GitHub Action (public repos)

  • ✅ 1,000 API requests/month

  • ✅ Public badge

Pro Tier ($49/month)

  • Everything in Free, plus:

  • 10,000 API requests/month

  • Private scans

  • Historical data

  • Priority support

  • Custom branding

Enterprise ($499/month)

  • Everything in Pro, plus:

  • Unlimited scans

  • Multi-site dashboards

  • SSO/SAML

  • SLA

  • Dedicated support

  • Custom integrations


📈 Impact

Current Web Accessibility

  • 96% of top sites have errors (WebAIM 2024)

  • 1+ billion people affected globally

  • $13 trillion in disability community spending

  • Growing legal liability (ADA lawsuits)

Our Goal

  • 50% reduction in errors (top 1M sites) by Year 3

  • 100,000+ developers using tools daily

  • Major search engines commit to ranking factor

  • Universal standard for accessibility verification


🌟 Why This Will Work

Proven Model

HTTPS adoption (2014-2019): - Started: 45% adoption - Google ranking factor announced - Free infrastructure (Let’s Encrypt) - Public pressure (browser warnings) - Result: 95% adoption in 5 years

Our Advantages

  1. Legal mandate: ADA, WCAG already legally required

  2. Moral imperative: Stronger ethical case than HTTPS

  3. Market size: 1+ billion disabled users

  4. Existing standards: WCAG 2.1/2.2 well-defined

  5. Free tools: Remove all cost barriers

  6. Community: Strong accessibility advocacy


🙏 Acknowledgments

This initiative builds on decades of work by: - W3C Web Accessibility Initiative - WebAIM - Deque Systems (axe-core) - The A11Y Project - Accessibility advocates worldwide

We stand on the shoulders of giants.


📄 License

Palimpsest-MPL-1.0 License - see [LICENSE](LICENSE) for details.

All tools are free and open source. Forever.


📞 Contact


⭐ Star Us!

If you believe in making the web accessible to all, star this repository and help spread the word!


Together, we can make the web accessible to everyone. 🌐♿️


Built with ❤️ by the Accessibility Everywhere community

Architecture

See TOPOLOGY.md for a visual architecture map and completion dashboard.