/** * Accessibility utility functions for web components */ /** * Trap focus within an element (useful for modals, dialogs) */ export declare class FocusTrap { private element; private previouslyFocused; private focusableElements; private handleKeyDown; constructor(element: HTMLElement); /** * Get all focusable elements within the trapped area */ private getFocusableElements; private onKeyDown; /** * Activate the focus trap */ activate(): void; /** * Deactivate the focus trap and restore previous focus */ deactivate(): void; } /** * Keyboard navigation utilities */ export declare const KeyboardKeys: { readonly ENTER: "Enter"; readonly SPACE: " "; readonly ESCAPE: "Escape"; readonly ARROW_UP: "ArrowUp"; readonly ARROW_DOWN: "ArrowDown"; readonly ARROW_LEFT: "ArrowLeft"; readonly ARROW_RIGHT: "ArrowRight"; readonly HOME: "Home"; readonly END: "End"; readonly TAB: "Tab"; readonly PAGE_UP: "PageUp"; readonly PAGE_DOWN: "PageDown"; }; /** * Check if key is an activation key (Enter or Space) */ export declare function isActivationKey(key: string): boolean; /** * Check if key is an arrow key */ export declare function isArrowKey(key: string): boolean; /** * Navigate through a list of elements with arrow keys */ export declare class KeyboardNavigator { private elements; private currentIndex; private orientation; private loop; constructor(elements: HTMLElement[], options?: { orientation?: 'horizontal' | 'vertical' | 'both'; loop?: boolean; initialIndex?: number; }); /** * Update the list of elements */ setElements(elements: HTMLElement[]): void; /** * Handle keyboard navigation */ handleKeyDown(event: KeyboardEvent): boolean; /** * Move to next element */ next(): void; /** * Move to previous element */ previous(): void; /** * Move to first element */ first(): void; /** * Move to last element */ last(): void; /** * Set current index */ setIndex(index: number): void; /** * Get current index */ getIndex(): number; /** * Focus current element */ private focusCurrent; } /** * ARIA live region announcer for screen readers */ export declare class LiveRegionAnnouncer { private static instance; private politeRegion; private assertiveRegion; private constructor(); static getInstance(): LiveRegionAnnouncer; private createRegions; /** * Announce message politely (waits for screen reader) */ announcePolite(message: string): void; /** * Announce message assertively (interrupts screen reader) */ announceAssertive(message: string): void; /** * Clear all announcements */ clear(): void; } export declare function generateId(prefix?: string): string; /** * Check if element is visible and not disabled */ export declare function isElementInteractive(element: HTMLElement): boolean; /** * Set ARIA expanded state */ export declare function setAriaExpanded(element: HTMLElement, expanded: boolean): void; /** * Set ARIA selected state */ export declare function setAriaSelected(element: HTMLElement, selected: boolean): void; /** * Set ARIA checked state */ export declare function setAriaChecked(element: HTMLElement, checked: boolean | 'mixed'): void; /** * Set ARIA disabled state */ export declare function setAriaDisabled(element: HTMLElement, disabled: boolean): void; /** * Set ARIA hidden state */ export declare function setAriaHidden(element: HTMLElement, hidden: boolean): void; //# sourceMappingURL=accessibility.d.ts.map