A comprehensive Frappe Framework app that provides AI-powered accessibility compliance scanning for websites. Built for Frappe v15 with full MCP (Model Context Protocol) integration.
- β Automated WCAG Scanning - Comprehensive A/AA/AAA compliance checking
- π€ AI-Powered Analysis - OpenAI integration for intelligent fix suggestions
- π§ One-Click Fixes - Automated remediation for 60%+ of common issues
- π Real-time Dashboard - Beautiful web interface with live progress
- π MCP Integration - Full Model Context Protocol server support
- π Detailed Reports - Executive-ready compliance reports
- π― Priority Recommendations - AI-driven issue prioritization
- π Continuous Monitoring - Scheduled scans and alerts
- Target Market: 200M+ websites needing compliance
- Problem: 98% of websites fail ADA/WCAG standards
- Market Size: $2.1B compliance software market
- Advantage: AI-first approach vs manual tools
- Create Private Bench Group in Frappe Cloud
- Add App from GitHub:
Repository: https://github.com/chinmaybhatk/accessibility_compliance Branch: main
- Deploy and Install on your site
- Configure API Keys in Site Config:
{ "openai_api_key": "your-openai-api-key" }
# Get the app
bench get-app https://github.com/chinmaybhatk/accessibility_compliance
# Install on site
bench --site your-site install-app accessibility_compliance
# Start the bench
bench start
Add to your site's site_config.json
:
{
"openai_api_key": "sk-your-openai-api-key",
"max_pages_per_scan": 50,
"default_wcag_level": "AA",
"scan_timeout_minutes": 30
}
For local installations, Chrome WebDriver is automatically managed via webdriver-manager
.
Access the scanner at: http://your-site/accessibility-scanner
Features:
- Enter website URL and scan configuration
- Real-time progress tracking
- Interactive results dashboard
- AI-powered insights and recommendations
- One-click automated fixes
MCP Endpoint: http://your-site/api/method/accessibility_compliance.mcp.handle_mcp
Available Tools:
scan_website_accessibility(website_url, wcag_level, max_pages)
generate_remediation_report(scan_id)
apply_automated_fixes(scan_id, fix_types)
check_color_contrast(foreground_color, background_color, text_size)
Test with MCP Inspector:
- Set Transport: "Streamable HTTP"
- URL: Your MCP endpoint
- Go through OAuth flow or set
allow_guests=True
# Start scan
POST /api/method/accessibility_compliance.api.start_website_scan
{
"website_url": "https://example.com",
"wcag_level": "AA"
}
# Get status
GET /api/method/accessibility_compliance.api.get_scan_status?scan_id=SCAN_ID
# Get report
GET /api/method/accessibility_compliance.api.get_scan_report?scan_id=SCAN_ID
# Apply fixes
POST /api/method/accessibility_compliance.api.apply_auto_fixes
{
"scan_id": "SCAN_ID"
}
- Website Scan - Main scan configuration and results
- Accessibility Issue - Individual violations with AI suggestions
mcp.py
- Model Context Protocol serverapi.py
- REST API endpointsscanner.py
- Selenium-based scanning engineai_analyzer.py
- OpenAI integration for analysis
- Missing alt text for images
- Form inputs without labels
- Missing page title/language
- Keyboard navigation barriers
- Poor color contrast
- Broken heading structure
- Missing ARIA landmarks
- Invalid form associations
- Verbose alt text
- Missing table captions
- Focus indicator issues
- WCAG AAA violations
- Pattern Recognition - Identifies common issue patterns
- Priority Scoring - Smart issue prioritization
- Timeline Estimation - Realistic fix timelines
- Impact Assessment - Business impact analysis
- Alt Text Generation - AI-generated image descriptions
- Color Contrast - Automatic color adjustments
- Form Labels - Smart label suggestions
- ARIA Landmarks - Semantic structure improvements
- Compliance score trending
- Issue breakdown by severity
- Fix progress tracking
- ROI metrics
- Detailed WCAG violations
- Code-level fix instructions
- Implementation timelines
- Testing recommendations
-
Repository Setup:
- Fork this repository
- Create private bench group
- Add app from your fork
-
Environment Variables:
OPENAI_API_KEY=your_api_key ACCESSIBILITY_MAX_PAGES=50
-
Deploy and Test:
- Deploy bench group
- Install on site
- Access
/accessibility-scanner
Requirements:
- Frappe Framework v15+
- Python 3.8+
- Chrome/Chromium browser
- Redis for background jobs
# Clone repository
git clone https://github.com/chinmaybhatk/accessibility_compliance.git
# Install in development mode
bench get-app accessibility_compliance --branch main
# Install dependencies
cd apps/accessibility_compliance
pip install -r requirements.txt
# Install on site
bench --site your-site install-app accessibility_compliance
# Run app tests
bench --site your-site run-tests --app accessibility_compliance
# Test MCP integration
frappe-mcp check --app accessibility_compliance --verbose
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature
- Commit changes:
git commit -m 'Add amazing feature'
- Push to branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Lighthouse integration
- PDF report generation
- Email notifications
- Advanced scheduling
- Multi-language support
- Custom rule engine
- Integration marketplace
- White-label solutions
Chrome Driver Problems:
pip install --upgrade webdriver-manager
Permission Errors:
bench --site your-site set-config openai_api_key "your-key"
Memory Issues:
# Increase worker memory
echo 'worker_memory_limit = 2048' >> sites/common_site_config.json
Enable detailed logging:
{
"logging": {
"accessibility_compliance": "DEBUG"
}
}
This project is licensed under the MIT License - see the LICENSE file for details.
- Frappe Framework - Amazing web framework
- Frappe MCP - Model Context Protocol integration
- WebAIM - Accessibility guidelines and tools
- WCAG - Web Content Accessibility Guidelines
- π§ Email: developer@yourcompany.com
- π Issues: GitHub Issues
- π¬ Community: Frappe Forum
- π Documentation: Wiki
Ready to make the web accessible for everyone? Start your first scan today! π