UNPKG

@ordojs/accessibility

Version:

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

138 lines (134 loc) 3.69 kB
import { EventEmitter } from 'events'; import { S as ScreenReaderConfig, L as LiveRegion, g as ScreenReaderAnnouncement } from '../index-C9qyHjXw.js'; /** * @fileoverview OrdoJS Accessibility - Screen Reader Module * * Screen reader support with announcements and live regions. */ /** * Screen reader manager for handling announcements and live regions */ declare class ScreenReaderManager extends EventEmitter { private config; private announcements; private liveRegions; private isInitialized; /** * Create a new ScreenReaderManager instance * * @param config - Screen reader configuration */ constructor(config: ScreenReaderConfig); /** * Initialize the screen reader manager */ initialize(): Promise<void>; /** * Announce message to screen readers * * @param message - Message to announce * @param options - Announcement options * @returns Announcement ID */ announce(message: string, options?: { priority?: 'polite' | 'assertive'; type?: 'status' | 'alert' | 'log' | 'timer' | 'marquee' | 'progressbar'; duration?: number; element?: string; context?: string; }): string; /** * Create live region * * @param regionId - Region ID * @param element - Element selector * @param options - Region options * @returns Live region */ createLiveRegion(regionId: string, element: string, options?: { type?: 'status' | 'alert' | 'log' | 'timer' | 'marquee' | 'progressbar'; priority?: 'polite' | 'assertive'; atomic?: boolean; relevant?: 'additions' | 'removals' | 'text' | 'all'; busy?: boolean; expanded?: boolean; controls?: string; describedBy?: string; label?: string; }): LiveRegion; /** * Update live region content * * @param regionId - Region ID * @param content - New content * @param options - Update options */ updateLiveRegion(regionId: string, content: string, options?: { busy?: boolean; expanded?: boolean; }): void; /** * Remove live region * * @param regionId - Region ID */ removeLiveRegion(regionId: string): void; /** * Get live region by ID * * @param regionId - Region ID * @returns Live region or undefined */ getLiveRegion(regionId: string): LiveRegion | undefined; /** * Get all live regions * * @returns Array of live regions */ getAllLiveRegions(): LiveRegion[]; /** * Get announcement by ID * * @param announcementId - Announcement ID * @returns Announcement or undefined */ getAnnouncement(announcementId: string): ScreenReaderAnnouncement | undefined; /** * Get all announcements * * @returns Array of announcements */ getAllAnnouncements(): ScreenReaderAnnouncement[]; /** * Clear announcements */ clearAnnouncements(): void; /** * Get screen reader manager statistics * * @returns Statistics */ getStats(): { totalAnnouncements: number; totalLiveRegions: number; announcementsByType: Record<string, number>; liveRegionsByType: Record<string, number>; }; /** * Initialize screen reader support */ private initializeScreenReader; /** * Setup announcements */ private setupAnnouncements; /** * Setup live regions */ private setupLiveRegions; /** * Setup ARIA support */ private setupARIASupport; } export { ScreenReaderManager };