UNPKG

@ordojs/accessibility

Version:

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

206 lines (202 loc) 5.76 kB
import { EventEmitter } from 'events'; import { A as AccessibilityConfig, a as AccessibilityAudit } from './index-C9qyHjXw.mjs'; export { b as ARIAAttribute, c as ARIARole, e as AccessibilityTestResult, d as AccessibilityViolation, C as ColorContrast, F as FocusConfig, f as FocusInfo, K as KeyboardNavigation, L as LiveRegion, g as ScreenReaderAnnouncement, S as ScreenReaderConfig, h as SemanticElement, T as TestingConfig } from './index-C9qyHjXw.mjs'; export { ARIAManager } from './aria/index.mjs'; export { FocusManager } from './focus/index.mjs'; export { ScreenReaderManager } from './screen-reader/index.mjs'; export { TestingManager } from './testing/index.mjs'; /** * @fileoverview OrdoJS Accessibility - Accessibility Manager * * Central manager for coordinating all accessibility functionality. */ /** * Accessibility manager for coordinating all accessibility functionality */ declare class AccessibilityManager extends EventEmitter { private config; private isInitialized; private auditResults; private violations; /** * Create a new AccessibilityManager instance * * @param config - Accessibility configuration */ constructor(config?: Partial<AccessibilityConfig>); /** * Initialize the accessibility system */ initialize(): Promise<void>; /** * Run accessibility audit * * @param url - URL to audit * @param options - Audit options * @returns Audit result */ runAudit(url: string, options?: { level?: 'A' | 'AA' | 'AAA'; rules?: string[]; ignoreRules?: string[]; timeout?: number; }): Promise<AccessibilityAudit>; /** * Generate ARIA attributes for an element * * @param element - Element to generate ARIA for * @param context - Element context * @returns Generated ARIA attributes */ generateARIA(element: string, context?: { role?: string; label?: string; description?: string; state?: Record<string, any>; properties?: Record<string, any>; }): Record<string, string>; /** * Check color contrast * * @param foreground - Foreground color * @param background - Background color * @returns Color contrast information */ checkColorContrast(foreground: string, background: string): { ratio: number; wcagAA: boolean; wcagAAA: boolean; largeText: boolean; uiComponent: boolean; suggestions: string[]; }; /** * Generate semantic HTML * * @param content - Content to make semantic * @param options - Semantic options * @returns Semantic HTML */ generateSemanticHTML(content: string, options?: { headingLevel?: number; listType?: 'ul' | 'ol'; tableHeaders?: string[]; formLabels?: Record<string, string>; }): string; /** * Get accessibility statistics * * @returns Statistics */ getStats(): { totalAudits: number; totalViolations: number; averageScore: number; complianceRate: number; config: AccessibilityConfig; }; /** * Update accessibility configuration * * @param newConfig - New configuration */ updateConfig(newConfig: Partial<AccessibilityConfig>): void; /** * Get audit result by ID * * @param auditId - Audit ID * @returns Audit result or undefined */ getAuditResult(auditId: string): AccessibilityAudit | undefined; /** * Get all audit results * * @returns Array of audit results */ getAllAuditResults(): AccessibilityAudit[]; /** * Clear audit results */ clearAuditResults(): void; /** * Initialize ARIA system */ private initializeARIA; /** * Initialize testing system */ private initializeTesting; /** * Initialize focus management */ private initializeFocusManagement; /** * Initialize screen reader support */ private initializeScreenReader; /** * Run accessibility tests * * @param url - URL to test * @param options - Test options * @returns Test results */ private runAccessibilityTests; /** * Check if violations are compliant with WCAG level * * @param violations - Violations to check * @param level - WCAG level * @returns True if compliant */ private isCompliant; /** * Create audit summary * * @param violations - Violations * @param testResults - Test results * @returns Audit summary */ private createAuditSummary; /** * Calculate contrast ratio * * @param foreground - Foreground color * @param background - Background color * @returns Contrast ratio */ private calculateContrastRatio; /** * Add heading structure * * @param content - Content * @param level - Heading level * @returns Content with heading structure */ private addHeadingStructure; /** * Add list structure * * @param content - Content * @param type - List type * @returns Content with list structure */ private addListStructure; /** * Add table structure * * @param content - Content * @param headers - Table headers * @returns Content with table structure */ private addTableStructure; /** * Add form structure * * @param content - Content * @param labels - Form labels * @returns Content with form structure */ private addFormStructure; } export { AccessibilityAudit, AccessibilityConfig, AccessibilityManager };