UNPKG

@ordojs/accessibility

Version:

Comprehensive accessibility system for OrdoJS with ARIA generation, automated testing, and screen reader support

1 lines 60 kB
{"version":3,"sources":["../src/accessibility-manager.ts","../src/cli.ts"],"names":[],"mappings":"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","file":"cli.mjs","sourcesContent":["/**\n * @fileoverview OrdoJS Accessibility - Accessibility Manager\n *\n * Central manager for coordinating all accessibility functionality.\n */\n\nimport { EventEmitter } from 'events';\nimport type {\n AccessibilityAudit,\n AccessibilityConfig,\n AccessibilityTestResult,\n AccessibilityViolation\n} from './types/index.js';\n\n/**\n * Accessibility manager for coordinating all accessibility functionality\n */\nexport class AccessibilityManager extends EventEmitter {\n private config: AccessibilityConfig;\n private isInitialized: boolean;\n private auditResults: Map<string, AccessibilityAudit>;\n private violations: Map<string, AccessibilityViolation[]>;\n\n /**\n * Create a new AccessibilityManager instance\n *\n * @param config - Accessibility configuration\n */\n constructor(config: Partial<AccessibilityConfig> = {}) {\n super();\n\n this.config = {\n enableARIA: true,\n enableTesting: true,\n enableFocusManagement: true,\n enableScreenReader: true,\n enableKeyboardNavigation: true,\n enableColorContrast: true,\n enableSemanticHTML: true,\n enableLiveRegions: true,\n enableSkipLinks: true,\n enableFocusIndicators: true,\n wcagLevel: 'AA',\n customARIA: {},\n testing: {\n enabled: true,\n framework: 'axe-core',\n rules: [],\n ignoreRules: [],\n timeout: 30000,\n retries: 3,\n generateReports: true,\n reportFormat: 'json',\n reportDir: './accessibility-reports'\n },\n focus: {\n enabled: true,\n focusTrap: true,\n focusIndicators: true,\n skipLinks: true,\n focusOrder: 'tab',\n focusRestoration: true,\n focusDelegation: false\n },\n screenReader: {\n enabled: true,\n announcements: true,\n liveRegions: true,\n ariaLabels: true,\n ariaDescriptions: true,\n ariaLandmarks: true,\n ariaRoles: true,\n ariaStates: true,\n ariaProperties: true\n },\n ...config\n };\n\n this.isInitialized = false;\n this.auditResults = new Map();\n this.violations = new Map();\n }\n\n /**\n * Initialize the accessibility system\n */\n async initialize(): Promise<void> {\n if (this.isInitialized) {\n console.warn('Accessibility system is already initialized');\n return;\n }\n\n try {\n // Initialize ARIA system\n if (this.config.enableARIA) {\n await this.initializeARIA();\n }\n\n // Initialize testing system\n if (this.config.enableTesting) {\n await this.initializeTesting();\n }\n\n // Initialize focus management\n if (this.config.enableFocusManagement) {\n await this.initializeFocusManagement();\n }\n\n // Initialize screen reader support\n if (this.config.enableScreenReader) {\n await this.initializeScreenReader();\n }\n\n this.isInitialized = true;\n console.log('Accessibility system initialized successfully');\n\n this.emit('initialized');\n } catch (error) {\n console.error('Failed to initialize accessibility system:', error);\n this.emit('error', error);\n throw error;\n }\n }\n\n /**\n * Run accessibility audit\n *\n * @param url - URL to audit\n * @param options - Audit options\n * @returns Audit result\n */\n async runAudit(\n url: string,\n options: {\n level?: 'A' | 'AA' | 'AAA';\n rules?: string[];\n ignoreRules?: string[];\n timeout?: number;\n } = {}\n ): Promise<AccessibilityAudit> {\n if (!this.isInitialized) {\n throw new Error('Accessibility system not initialized');\n }\n\n try {\n const auditId = `audit_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n const startTime = Date.now();\n\n console.log(`Running accessibility audit for ${url}...`);\n\n // Run tests based on configuration\n const testResults: AccessibilityTestResult[] = [];\n\n if (this.config.enableTesting) {\n const testingResults = await this.runAccessibilityTests(url, options);\n testResults.push(...testingResults);\n }\n\n // Collect violations\n const violations: AccessibilityViolation[] = [];\n for (const result of testResults) {\n violations.push(...result.violations);\n }\n\n // Calculate score\n const totalTests = testResults.length;\n const passedTests = testResults.filter(r => r.status === 'pass').length;\n const score = totalTests > 0 ? (passedTests / totalTests) * 100 : 0;\n\n // Determine compliance\n const level = options.level || this.config.wcagLevel;\n const compliant = this.isCompliant(violations, level);\n\n // Create audit summary\n const summary = this.createAuditSummary(violations, testResults);\n\n const audit: AccessibilityAudit = {\n id: auditId,\n timestamp: new Date(),\n url,\n violations,\n passes: testResults.filter(r => r.status === 'pass'),\n inapplicable: testResults.filter(r => r.status === 'inapplicable'),\n score,\n level,\n compliant,\n summary,\n metadata: {\n config: this.config,\n options,\n duration: Date.now() - startTime\n }\n };\n\n this.auditResults.set(auditId, audit);\n this.violations.set(auditId, violations);\n\n console.log(`Accessibility audit completed: ${score.toFixed(1)}% score`);\n\n this.emit('auditCompleted', audit);\n return audit;\n } catch (error) {\n console.error('Failed to run accessibility audit:', error);\n this.emit('error', error);\n throw error;\n }\n }\n\n /**\n * Generate ARIA attributes for an element\n *\n * @param element - Element to generate ARIA for\n * @param context - Element context\n * @returns Generated ARIA attributes\n */\n generateARIA(\n element: string,\n context: {\n role?: string;\n label?: string;\n description?: string;\n state?: Record<string, any>;\n properties?: Record<string, any>;\n } = {}\n ): Record<string, string> {\n if (!this.config.enableARIA) {\n return {};\n }\n\n const ariaAttributes: Record<string, string> = {};\n\n // Add role if provided\n if (context.role) {\n ariaAttributes['role'] = context.role;\n }\n\n // Add label if provided\n if (context.label) {\n ariaAttributes['aria-label'] = context.label;\n }\n\n // Add description if provided\n if (context.description) {\n ariaAttributes['aria-describedby'] = context.description;\n }\n\n // Add states\n if (context.state) {\n for (const [key, value] of Object.entries(context.state)) {\n ariaAttributes[`aria-${key}`] = String(value);\n }\n }\n\n // Add properties\n if (context.properties) {\n for (const [key, value] of Object.entries(context.properties)) {\n ariaAttributes[`aria-${key}`] = String(value);\n }\n }\n\n return ariaAttributes;\n }\n\n /**\n * Check color contrast\n *\n * @param foreground - Foreground color\n * @param background - Background color\n * @returns Color contrast information\n */\n checkColorContrast(foreground: string, background: string): {\n ratio: number;\n wcagAA: boolean;\n wcagAAA: boolean;\n largeText: boolean;\n uiComponent: boolean;\n suggestions: string[];\n } {\n if (!this.config.enableColorContrast) {\n return {\n ratio: 0,\n wcagAA: false,\n wcagAAA: false,\n largeText: false,\n uiComponent: false,\n suggestions: []\n };\n }\n\n // This is a simplified implementation\n // In a real implementation, you would use a proper color contrast library\n const ratio = this.calculateContrastRatio(foreground, background);\n\n const wcagAA = ratio >= 4.5;\n const wcagAAA = ratio >= 7;\n const largeText = ratio >= 3;\n const uiComponent = ratio >= 3;\n\n const suggestions: string[] = [];\n if (!wcagAA) {\n suggestions.push('Increase contrast ratio to meet WCAG AA standards (4.5:1)');\n }\n if (!wcagAAA) {\n suggestions.push('Increase contrast ratio to meet WCAG AAA standards (7:1)');\n }\n\n return {\n ratio,\n wcagAA,\n wcagAAA,\n largeText,\n uiComponent,\n suggestions\n };\n }\n\n /**\n * Generate semantic HTML\n *\n * @param content - Content to make semantic\n * @param options - Semantic options\n * @returns Semantic HTML\n */\n generateSemanticHTML(\n content: string,\n options: {\n headingLevel?: number;\n listType?: 'ul' | 'ol';\n tableHeaders?: string[];\n formLabels?: Record<string, string>;\n } = {}\n ): string {\n if (!this.config.enableSemanticHTML) {\n return content;\n }\n\n // This is a simplified implementation\n // In a real implementation, you would parse and transform the HTML\n let semanticContent = content;\n\n // Add proper heading structure\n if (options.headingLevel) {\n semanticContent = this.addHeadingStructure(semanticContent, options.headingLevel);\n }\n\n // Add proper list structure\n if (options.listType) {\n semanticContent = this.addListStructure(semanticContent, options.listType);\n }\n\n // Add proper table structure\n if (options.tableHeaders) {\n semanticContent = this.addTableStructure(semanticContent, options.tableHeaders);\n }\n\n // Add proper form structure\n if (options.formLabels) {\n semanticContent = this.addFormStructure(semanticContent, options.formLabels);\n }\n\n return semanticContent;\n }\n\n /**\n * Get accessibility statistics\n *\n * @returns Statistics\n */\n getStats(): {\n totalAudits: number;\n totalViolations: number;\n averageScore: number;\n complianceRate: number;\n config: AccessibilityConfig;\n } {\n const totalAudits = this.auditResults.size;\n let totalViolations = 0;\n let totalScore = 0;\n\n for (const audit of this.auditResults.values()) {\n totalViolations += audit.violations.length;\n totalScore += audit.score;\n }\n\n const averageScore = totalAudits > 0 ? totalScore / totalAudits : 0;\n const complianceRate = totalAudits > 0\n ? Array.from(this.auditResults.values()).filter(a => a.compliant).length / totalAudits\n : 0;\n\n return {\n totalAudits,\n totalViolations,\n averageScore,\n complianceRate,\n config: this.config\n };\n }\n\n /**\n * Update accessibility configuration\n *\n * @param newConfig - New configuration\n */\n updateConfig(newConfig: Partial<AccessibilityConfig>): void {\n this.config = { ...this.config, ...newConfig };\n this.emit('configUpdated', this.config);\n }\n\n /**\n * Get audit result by ID\n *\n * @param auditId - Audit ID\n * @returns Audit result or undefined\n */\n getAuditResult(auditId: string): AccessibilityAudit | undefined {\n return this.auditResults.get(auditId);\n }\n\n /**\n * Get all audit results\n *\n * @returns Array of audit results\n */\n getAllAuditResults(): AccessibilityAudit[] {\n return Array.from(this.auditResults.values());\n }\n\n /**\n * Clear audit results\n */\n clearAuditResults(): void {\n this.auditResults.clear();\n this.violations.clear();\n this.emit('auditResultsCleared');\n }\n\n /**\n * Initialize ARIA system\n */\n private async initializeARIA(): Promise<void> {\n // Initialize ARIA system\n console.log('Initializing ARIA system...');\n }\n\n /**\n * Initialize testing system\n */\n private async initializeTesting(): Promise<void> {\n // Initialize testing system\n console.log('Initializing testing system...');\n }\n\n /**\n * Initialize focus management\n */\n private async initializeFocusManagement(): Promise<void> {\n // Initialize focus management\n console.log('Initializing focus management...');\n }\n\n /**\n * Initialize screen reader support\n */\n private async initializeScreenReader(): Promise<void> {\n // Initialize screen reader support\n console.log('Initializing screen reader support...');\n }\n\n /**\n * Run accessibility tests\n *\n * @param url - URL to test\n * @param options - Test options\n * @returns Test results\n */\n private async runAccessibilityTests(\n url: string,\n options: {\n level?: 'A' | 'AA' | 'AAA';\n rules?: string[];\n ignoreRules?: string[];\n timeout?: number;\n } = {}\n ): Promise<AccessibilityTestResult[]> {\n // This is a simplified implementation\n // In a real implementation, you would use axe-core or similar\n const results: AccessibilityTestResult[] = [];\n\n // Simulate some test results\n results.push({\n id: 'test_1',\n name: 'Color Contrast',\n status: 'pass',\n description: 'Check color contrast ratios',\n impact: 'serious',\n violations: [],\n passes: [],\n inapplicable: [],\n timestamp: new Date(),\n duration: 1000,\n url,\n metadata: {}\n });\n\n return results;\n }\n\n /**\n * Check if violations are compliant with WCAG level\n *\n * @param violations - Violations to check\n * @param level - WCAG level\n * @returns True if compliant\n */\n private isCompliant(violations: AccessibilityViolation[], level: 'A' | 'AA' | 'AAA'): boolean {\n const criticalViolations = violations.filter(v => v.impact === 'critical');\n const seriousViolations = violations.filter(v => v.impact === 'serious');\n\n // For compliance, we need no critical violations and limited serious violations\n if (criticalViolations.length > 0) {\n return false;\n }\n\n // Level-specific compliance checks\n switch (level) {\n case 'A':\n return seriousViolations.length <= 5;\n case 'AA':\n return seriousViolations.length <= 2;\n case 'AAA':\n return seriousViolations.length === 0;\n default:\n return false;\n }\n }\n\n /**\n * Create audit summary\n *\n * @param violations - Violations\n * @param testResults - Test results\n * @returns Audit summary\n */\n private createAuditSummary(\n violations: AccessibilityViolation[],\n testResults: AccessibilityTestResult[]\n ): {\n totalViolations: number;\n criticalViolations: number;\n seriousViolations: number;\n moderateViolations: number;\n minorViolations: number;\n totalPasses: number;\n totalInapplicable: number;\n } {\n const criticalViolations = violations.filter(v => v.impact === 'critical').length;\n const seriousViolations = violations.filter(v => v.impact === 'serious').length;\n const moderateViolations = violations.filter(v => v.impact === 'moderate').length;\n const minorViolations = violations.filter(v => v.impact === 'minor').length;\n const totalPasses = testResults.filter(r => r.status === 'pass').length;\n const totalInapplicable = testResults.filter(r => r.status === 'inapplicable').length;\n\n return {\n totalViolations: violations.length,\n criticalViolations,\n seriousViolations,\n moderateViolations,\n minorViolations,\n totalPasses,\n totalInapplicable\n };\n }\n\n /**\n * Calculate contrast ratio\n *\n * @param foreground - Foreground color\n * @param background - Background color\n * @returns Contrast ratio\n */\n private calculateContrastRatio(foreground: string, background: string): number {\n // This is a simplified implementation\n // In a real implementation, you would use proper color contrast calculation\n return 4.5; // Placeholder value\n }\n\n /**\n * Add heading structure\n *\n * @param content - Content\n * @param level - Heading level\n * @returns Content with heading structure\n */\n private addHeadingStructure(content: string, level: number): string {\n // Simplified implementation\n return content;\n }\n\n /**\n * Add list structure\n *\n * @param content - Content\n * @param type - List type\n * @returns Content with list structure\n */\n private addListStructure(content: string, type: 'ul' | 'ol'): string {\n // Simplified implementation\n return content;\n }\n\n /**\n * Add table structure\n *\n * @param content - Content\n * @param headers - Table headers\n * @returns Content with table structure\n */\n private addTableStructure(content: string, headers: string[]): string {\n // Simplified implementation\n return content;\n }\n\n /**\n * Add form structure\n *\n * @param content - Content\n * @param labels - Form labels\n * @returns Content with form structure\n */\n private addFormStructure(content: string, labels: Record<string, string>): string {\n // Simplified implementation\n return content;\n }\n}\n","/**\n * @fileoverview OrdoJS Accessibility - CLI\n *\n * Command-line interface for accessibility testing and management.\n */\n\n// CLI entry point\n\nimport chalk from 'chalk';\nimport { Command } from 'commander';\nimport fs from 'fs-extra';\nimport { AccessibilityManager } from './accessibility-manager.js';\n\n/**\n * Accessibility CLI for testing and managing accessibility\n */\nexport class AccessibilityCLI {\n private program: Command;\n private manager: AccessibilityManager;\n\n /**\n * Create a new AccessibilityCLI instance\n */\n constructor() {\n this.program = new Command();\n this.manager = new AccessibilityManager();\n this.setupCommands();\n }\n\n /**\n * Setup CLI commands\n */\n private setupCommands(): void {\n this.program\n .name('ordojs-a11y')\n .description('OrdoJS Accessibility Testing and Management CLI')\n .version('0.1.0');\n\n // Audit command\n this.program\n .command('audit')\n .description('Run accessibility audit on a URL or file')\n .argument('<target>', 'URL or file path to audit')\n .option('-l, --level <level>', 'WCAG compliance level', 'AA')\n .option('-r, --rules <rules>', 'Comma-separated list of rules to test')\n .option('-i, --ignore <rules>', 'Comma-separated list of rules to ignore')\n .option('-t, --timeout <ms>', 'Test timeout in milliseconds', '30000')\n .option('-o, --output <format>', 'Output format (json, html, csv)', 'json')\n .option('-f, --file <path>', 'Output file path')\n .action(async (target, options) => {\n await this.runAudit(target, options);\n });\n\n // Test command\n this.program\n .command('test')\n .description('Run specific accessibility tests')\n .argument('<target>', 'URL or file path to test')\n .option('-n, --name <name>', 'Specific test name to run')\n .option('-f, --framework <framework>', 'Testing framework (axe-core, puppeteer, jsdom)', 'axe-core')\n .option('-t, --timeout <ms>', 'Test timeout in milliseconds', '30000')\n .option('-r, --retries <count>', 'Number of retries', '3')\n .option('-o, --output <format>', 'Output format (json, html, csv)', 'json')\n .option('-f, --file <path>', 'Output file path')\n .action(async (target, options) => {\n await this.runTest(target, options);\n });\n\n // Generate ARIA command\n this.program\n .command('generate-aria')\n .description('Generate ARIA attributes for HTML elements')\n .argument('<input>', 'Input HTML file or directory')\n .option('-o, --output <path>', 'Output directory', './aria-output')\n .option('-f, --format <format>', 'Output format (html, json)', 'html')\n .option('-v, --validate', 'Validate generated ARIA attributes')\n .action(async (input, options) => {\n await this.generateARIA(input, options);\n });\n\n // Focus command\n this.program\n .command('focus')\n .description('Manage focus and keyboard navigation')\n .option('-a, --analyze <file>', 'Analyze focus order in HTML file')\n .option('-g, --generate <file>', 'Generate focus management code')\n .option('-t, --test <file>', 'Test keyboard navigation')\n .action(async (options) => {\n await this.manageFocus(options);\n });\n\n // Screen reader command\n this.program\n .command('screen-reader')\n .description('Manage screen reader announcements and live regions')\n .option('-a, --announce <message>', 'Create announcement')\n .option('-l, --live-region <id>', 'Create live region')\n .option('-u, --update <id> <content>', 'Update live region content')\n .option('-r, --remove <id>', 'Remove live region')\n .action(async (options) => {\n await this.manageScreenReader(options);\n });\n\n // Report command\n this.program\n .command('report')\n .description('Generate accessibility reports')\n .option('-i, --input <path>', 'Input audit results file')\n .option('-o, --output <path>', 'Output report file')\n .option('-f, --format <format>', 'Report format (html, json, csv)', 'html')\n .option('-s, --summary', 'Include summary statistics')\n .option('-d, --detailed', 'Include detailed violations')\n .action(async (options) => {\n await this.generateReport(options);\n });\n\n // Stats command\n this.program\n .command('stats')\n .description('Show accessibility statistics')\n .option('-a, --audit <id>', 'Show audit statistics')\n .option('-t, --test <id>', 'Show test statistics')\n .option('-f, --focus', 'Show focus management statistics')\n .option('-s, --screen-reader', 'Show screen reader statistics')\n .action(async (options) => {\n await this.showStats(options);\n });\n }\n\n /**\n * Run accessibility audit\n *\n * @param target - Target URL or file\n * @param options - Audit options\n */\n private async runAudit(target: string, options: any): Promise<void> {\n try {\n console.log(chalk.blue(`Running accessibility audit on ${target}...`));\n\n // Initialize manager\n await this.manager.initialize();\n\n // Parse options\n const level = options.level as 'A' | 'AA' | 'AAA';\n const rules = options.rules ? options.rules.split(',') : [];\n const ignoreRules = options.ignore ? options.ignore.split(',') : [];\n const timeout = parseInt(options.timeout);\n\n // Run audit\n const audit = await this.manager.runAudit(target, {\n level,\n rules,\n ignoreRules,\n timeout\n });\n\n // Display results\n this.displayAuditResults(audit);\n\n // Save results if output file specified\n if (options.file) {\n await this.saveResults(audit, options.file, options.output);\n }\n\n console.log(chalk.green('Audit completed successfully'));\n } catch (error) {\n console.error(chalk.red('Audit failed:'), error);\n process.exit(1);\n }\n }\n\n /**\n * Run accessibility test\n *\n * @param target - Target URL or file\n * @param options - Test options\n */\n private async runTest(target: string, options: any): Promise<void> {\n try {\n console.log(chalk.blue(`Running accessibility test on ${target}...`));\n\n // Initialize manager\n await this.manager.initialize();\n\n // Parse options\n const testName = options.name;\n const framework = options.framework;\n const timeout = parseInt(options.timeout);\n const retries = parseInt(options.retries);\n\n if (testName) {\n // Run specific test\n console.log(chalk.yellow('Specific test functionality not yet implemented'));\n // const result = await this.manager.runTest(testName, target, {\n // timeout,\n // retries\n // });\n // this.displayTestResults([result]);\n } else {\n // Run all tests\n console.log(chalk.yellow('Test functionality not yet implemented'));\n // const results = await this.manager.runTests(target, {\n // timeout,\n // retries\n // });\n // this.displayTestResults(results);\n }\n\n console.log(chalk.green('Test completed successfully'));\n } catch (error) {\n console.error(chalk.red('Test failed:'), error);\n process.exit(1);\n }\n }\n\n /**\n * Generate ARIA attributes\n *\n * @param input - Input file or directory\n * @param options - Generation options\n */\n private async generateARIA(input: string, options: any): Promise<void> {\n try {\n console.log(chalk.blue(`Generating ARIA attributes for ${input}...`));\n\n // Initialize manager\n await this.manager.initialize();\n\n // Check if input exists\n if (!fs.existsSync(input)) {\n throw new Error(`Input path does not exist: ${input}`);\n }\n\n // Generate ARIA attributes\n const stats = fs.statSync(input);\n if (stats.isFile()) {\n await this.generateARIAForFile(input, options);\n } else if (stats.isDirectory()) {\n await this.generateARIAForDirectory(input, options);\n }\n\n console.log(chalk.green('ARIA generation completed successfully'));\n } catch (error) {\n console.error(chalk.red('ARIA generation failed:'), error);\n process.exit(1);\n }\n }\n\n /**\n * Manage focus and keyboard navigation\n *\n * @param options - Focus options\n */\n private async manageFocus(options: any): Promise<void> {\n try {\n console.log(chalk.blue('Managing focus and keyboard navigation...'));\n\n // Initialize manager\n await