How-To Guide: Using Kosansh WCAG Scanner
This comprehensive guide walks you through using all features of Kosansh WCAG Scanner with step-by-step instructions and screenshots.
Table of Contents
- 100% WCAG 2.2 AA Coverage
- AI-Powered Alt Text Validation
- Real-Time Streaming Results
- Detailed Solutions with Code Examples
- Video, PDF, and Document Scanning
- Scanning
- Authenticated Page Scanning
1. 100% WCAG 2.2 AA Coverage
Overview: WCAG 2.2 AA Coverage
Kosansh WCAG Scanner provides complete coverage of all WCAG 2.2 Level AA success criteria across all 4 principles (Perceivable, Operable, Understandable, Robust).
How It Works
Step 1: Start a Scan
- Navigate to the home page
- Enter your website URL (e.g.,
example.comor `) - Click "Start Scan"
The home page shows the URL input form where you can enter any website URL Step 2: View Comprehensive Coverage

Home page with URL input form
- Once the scan starts, you'll be redirected to the scan dashboard
- The dashboard shows real-time progress and violations
- Each violation is tagged with its specific WCAG 2.2 criterion ID (e.g., 1.1.1, 1.4.3, 2.4.2)
The dashboard displays all violations organized by WCAG 2.2 criteria Step 3: Review Coverage Report

Scan dashboard showing violations with WCAG criterion IDs
- Scroll through the violations list
- Each violation shows:
- WCAG criterion ID (e.g., "1.1.1 - Non-text Content")
- Severity level (Error, Warning, Info)
- Element location
- Detailed description
Each violation is clearly labeled with its WCAG 2.2 criterion ID and level Step 4: Check Compliance Score

Violations list with WCAG criterion details
- View the compliance score breakdown
- See scores by principle (Perceivable, Operable, Understandable, Robust)
- See scores by level (A, AA, AAA)
The compliance score shows detailed breakdowns by WCAG principles and levels

Compliance score breakdown by principle and level
- ✅ All 78+ WCAG 2.2 AA success criteria are checked
- ✅ Violations are mapped to specific criterion IDs
- ✅ Coverage includes all 4 principles and 13 guidelines
2. AI-Powered Alt Text Validation
Overview: AI-Powered Alt Text Validation
Unlike basic alt text checking, our AI-powered validation analyzes image content and compares it with alt text to determine accuracy and relevance.
How It Works
Step 1: Enable AI Features
- When starting a scan, AI features are enabled by default
- The scanner automatically detects all images on the page
- Each image is analyzed using AI vision models
AI features are automatically enabled for all scans Step 2: View AI Validation Results

Scan options showing AI features enabled
- Navigate to the scan dashboard
- Look for violations with "AI validation" in the message
- These violations show accuracy scores (0-100)
AI validation results show accuracy scores and specific issues Step 3: Review AI Suggestions

AI alt text validation results showing accuracy scores
- Click on an AI validation violation
- View the detailed solution page
- See:
- Current alt text
- AI-detected image content
- Accuracy score
- Suggested improvements
- AI-generated alternative alt text
The solution page shows AI analysis comparing alt text with actual image content Step 4: Understand Accuracy Scores

Solution page showing AI analysis and suggestions
- 90-100: Excellent - Alt text accurately describes image
- 70-89: Good - Minor improvements possible
- 50-69: Fair - Some inaccuracies or missing details
- 0-49: Poor - Alt text is generic, inaccurate, or missing
Accuracy scores help you understand the quality of alt text

Accuracy score explanation
- ✅ AI analyzes actual image content
- ✅ Compares with existing alt text
- ✅ Provides accuracy scores and suggestions
- ✅ Generates improved alt text alternatives
3. Real-Time Streaming Results
Overview: Real-Time Streaming Results
Get instant feedback as violations are discovered. No need to wait for the entire scan to complete.
How It Works
Step 1: Start a Scan
- Enter your URL and click "Start Scan"
- You'll be immediately redirected to the scan dashboard
- The dashboard starts showing results in real-time
The dashboard appears instantly with live updates Step 2: Watch Live Progress

Scan dashboard immediately after starting scan
- Observe the progress bar updating in real-time
- See pages being scanned as they complete
- Watch violation count increase as issues are found
Progress updates appear instantly as pages are scanned Step 3: View Streaming Violations

Live progress bar and real-time updates
- Violations appear in the feed as they're discovered
- Each violation shows:
- Timestamp
- Page URL
- Violation details
- Link to solution
Violations stream in real-time as they're discovered Step 4: Monitor Multiple Pages

Real-time violations feed
- For site scans, see results for each page as it completes
- Each page result shows:
- Page title and URL
- Compliance score
- Number of violations
- Timestamp
Multiple pages show results as they're scanned Step 5: Export Results Anytime

Page-by-page results streaming in
- You can export results even while the scan is in progress
- Click "Export PDF" or "Export JSON"
- Get a snapshot of current results
Export options are available throughout the scan process

Export options available during scan
- ✅ Results appear instantly as discovered
- ✅ No waiting for scan completion
- ✅ Progress updates in real-time
- ✅ Can export partial results
4. Detailed Solutions with Code Examples
Overview: Detailed Solutions with Code Examples
Every violation includes a dedicated solution page with before/after code examples, framework-specific solutions, and step-by-step testing instructions.
How It Works
Step 1: Find a Violation
- Navigate to the scan dashboard
- Click on any violation in the list
- You'll be taken to the detailed solution page
Click any violation to see its detailed solution Step 2: View Solution Overview

Violations list with clickable items
- The solution page shows:
- WCAG criterion reference
- Severity badge
- Clear description of the issue
- General solution explanation
The solution page header provides context and overview Step 3: Review Before/After Code

Solution page header with overview
- Scroll to the "Code Examples" section
- See side-by-side comparison:
- Before (Incorrect): Shows the problematic code
- After (Correct): Shows the fixed code
- Code is syntax-highlighted for readability
Side-by-side code comparison makes fixes clear Step 4: Get Framework-Specific Solutions

Before/after code comparison
- Scroll to "Framework-Specific Solutions"
- Find solutions for:
- React
- Vue.js
- Angular
- Copy-paste ready code examples
Framework-specific solutions for popular technologies Step 5: Follow Testing Steps

Framework-specific solutions
- Review the "Testing Steps" section
- Follow step-by-step instructions to verify your fix
- Use the provided checklist
Step-by-step testing instructions Step 6: Explore Additional Resources

Testing steps checklist
- Check the "Resources" section
- Find links to:
- Official WCAG documentation
- Tools and examples
- External learning resources
Additional resources for deeper understanding Step 7: Learn from Common Mistakes

Resources section with links
- Review "Common Mistakes" section
- Understand frequent errors to avoid
- Prevent similar issues in the future
Learn from common mistakes to prevent future issues

Common mistakes section
Example Solution Page Structure
┌─────────────────────────────────────┐ │ WCAG 2.2 1.1.1 - Non-text Content │ │ Severity: Error │ ├─────────────────────────────────────┤ │ Issue Description │ │ General Solution │ ├─────────────────────────────────────┤ │ Code Examples │ │ ┌───────────┬───────────┐ │ │ │ Before ❌ │ After ✅ │ │ │ └───────────┴───────────┘ │ ├─────────────────────────────────────┤ │ Framework-Specific Solutions │ │ • HTML │ │ • React │ │ • Vue.js │ │ • Angular │ ├─────────────────────────────────────┤ │ Testing Steps │ │ 1. Check all <img> elements... │ │ 2. Verify alt text describes... │ │ 3. Test with screen reader │ ├─────────────────────────────────────┤ │ Resources │ │ • WCAG Documentation │ │ • WebAIM Guide │ ├─────────────────────────────────────┤ │ Common Mistakes │ │ • Using generic alt text │ │ • Missing alt attribute │ └─────────────────────────────────────┘
- ✅ Every violation has a solution page
- ✅ Before/after code examples provided
- ✅ Framework-specific solutions available
- ✅ Testing steps included
- ✅ Resources and common mistakes documented
5. Video, PDF, and Document Scanning
Overview: Video, PDF, and Document Scanning
Kosansh WCAG Scanner automatically detects and scans videos, PDFs, and other documents embedded on web pages for accessibility compliance.
How It Works
Step 1: Automatic Detection
- Start a scan of any website
- The scanner automatically detects:
<video>elements- PDF links and embeds
- Document links (DOCX, XLSX, PPTX)
- No additional configuration needed
The scanner automatically detects media and documents Step 2: View Video Accessibility Results

Scan starting with automatic detection
- Navigate to the scan dashboard
- Look for violations related to videos
- Each video violation shows:
- Missing captions/subtitles
- Missing audio descriptions
- Caption quality issues
- WebVTT validation errors
Video violations show specific accessibility issues Step 3: Review Video Scores

Video accessibility violations
- Click on a video violation
- See the video accessibility score (0-100)
- Breakdown shows:
- Captions (40 points)
- Audio description (30 points)
- Voice content (20 points)
- Basic video element (10 points)
Video scores show detailed breakdown of accessibility features Step 4: View PDF Accessibility Results

Video accessibility score breakdown
- Find PDF-related violations in the dashboard
- Each PDF violation shows:
- Missing document title
- Missing language declaration
- Untagged structure
- Missing bookmarks/outline
- Missing alt text for images
- Form field accessibility issues
PDF violations show document accessibility issues Step 5: Review PDF Scores

PDF accessibility violations
- Click on a PDF violation
- See the PDF accessibility score (0-100)
- View recommendations for improvement
PDF scores include specific recommendations Step 6: Check Document Results

PDF accessibility score and recommendations
- For other documents (DOCX, XLSX, PPTX), see similar results
- Each document type has specific checks
- View format-specific recommendations
Document results show format-specific issues

Document accessibility results
- ✅ Videos automatically detected and checked
- ✅ PDFs scanned for full accessibility
- ✅ Documents analyzed for compliance
- ✅ Scores and recommendations provided
Overview
Scan native lications for and to ensure WCAG 2.2 AA compliance in mobile contexts.
Prerequisites
Required Software:
- ** Server**: Install and run
- ** Requirements** (for scanning):
- installed
- or physical device
- driver
- ** Requirements** (for scanning):
- installed
- or physical device
- 2 driver
- : `` file or
- : `` file or
- Start your /

Appium server running
- server must be running before scanning* **Step 2: Start Mobile Scan **
- Use the mobile scan :
*Mobile scans are initiated * Step 3: View Scan Results

API request for mobile scan
- For apps, results show:
- compatibility issues
- Missing accessibility labels
- Touch target size violations (minimum 44x44 points)
- UIKit accessibility trait issues
- Screen reader announcement problems

iOS scan results
- scan results show and accessibility issues* Step 4: View Scan Results
- For apps, results show:
- compatibility issues
- Missing content descriptions
- Touch target size violations (minimum 48x48 dp)
- AccessibilityNodeInfo issues
- Accessibility role problems

Android scan results
- scan results show and accessibility issues* Step 5: Review Mobile Violations
- Each violation shows:
- Screen name
- Element location
- Issue type
- WCAG criterion reference
- Solution recommendations
Mobile violations include screen context and solutions Step 6: Check Screen-by-Screen Results

Mobile violations with solutions
- View results organized by screen
- Each screen shows:
- Screen name
- Elements found
- Violations on that screen
- Accessibility score
Results organized by app screens

Screen-by-screen mobile results
- ✅ apps can be scanned
- ✅ apps can be scanned
- ✅ Native and hybrid apps supported
- ✅ Screen-by-screen results provided
- ✅ Mobile-specific WCAG checks included
Overview
Scan pages behind login/authentication, including corporate applications, SPAs, and protected content.
How It Works
- Identify your
- Gather required credentials:
- For : username, password, form selectors
- For : and header name
- For : JWT/ token
- For : configuration
*Choose your * **Step 2: Start Authenticated Scan **

Authentication method selection
- Use the authenticated scan :
Authenticated scans are initiated with auth details Step 3: View Authentication Status

Authenticated scan API request
- The scan dashboard shows authentication status
- See if authentication was successful
- View session maintenance status
Dashboard shows authentication and session status Step 4: Review Protected Page Results

Authentication status in dashboard
- See results for each protected route
- Each page shows:
- Page URL
- Authentication status
- Violations found
- Compliance score
Results show which protected pages were scanned **Step 5: Handle **

Protected page scan results
- The scanner automatically:
- Maintains session across pages
- Re-authenticates if session expires
- Retries on authentication failures
- View session status in the dashboard

Session management status
- is handled automatically* Step 6: Review SPA-Specific Results
- For Single-Page Applications (SPAs):
- Scanner waits for content to load
- Checks dynamic content
- Validates client-side routing
- See SPA-specific violations

SPA scan results
- include *
- ✅ authentication works
- ✅ authentication works
- ✅ authentication works
- ✅ authentication works
- ✅ works
- ✅ works
- ✅ Multiple can be scanned
Overview
Prerequisites
Required Software:
- ** 18+** - Install from nodejs.org
- QL - Install from ql.org
- Chrome/Chromium - Required for Puppeteer
Setup Steps
Step 1: Install Dependencies **Step 2: Configure **
- Create a `` file in the project root (Next.js convention)
- Add your :
- Add any optional s for AI features: =your-key-here **Step 3: Create QL ** Or using : Step 4: Run s
- Ensure your `` file has
_URLset - Run the script:
- This will:
- Create the s
- Run all pending s
- Add the
metadatatoscan_results - Create necessary indexes Step 5: Verify Setup Check status: You should see all s as executed. **Step 6: ** Visit ` to use the application.
- ✅ connection works
- ✅ All s executed successfully
- ✅ Application starts without errors
- ✅ Scans can be created and results saved