/** * 完整的ARIA工具库 * 支持WCAG 2.1 AAA级标准 */ export interface AriaAttributes { 'aria-label'?: string; 'aria-labelledby'?: string; 'aria-describedby'?: string; 'aria-expanded'?: boolean; 'aria-hidden'?: boolean; 'aria-live'?: 'off' | 'polite' | 'assertive'; 'aria-atomic'?: boolean; 'aria-relevant'?: string; 'aria-busy'?: boolean; 'aria-disabled'?: boolean; 'aria-invalid'?: boolean | 'grammar' | 'spelling'; 'aria-required'?: boolean; 'aria-readonly'?: boolean; 'aria-multiline'?: boolean; 'aria-autocomplete'?: 'none' | 'inline' | 'list' | 'both'; 'aria-haspopup'?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'; 'aria-controls'?: string; 'aria-owns'?: string; 'aria-flowto'?: string; 'aria-activedescendant'?: string; role?: string; tabIndex?: number; } export declare class AriaManager { /** * 创建可访问的语言选择器属性 */ static createLanguageSelectorAria(isExpanded?: boolean): AriaAttributes; /** * 创建可访问的翻译文本属性 */ static createTranslationTextAria(originalText: string, translatedText: string, language: string): AriaAttributes; /** * 创建可访问的加载状态属性 */ static createLoadingAria(message?: string): AriaAttributes; /** * 创建可访问的错误状态属性 */ static createErrorAria(errorMessage: string): AriaAttributes; /** * 键盘导航支持 */ static handleKeyboardNavigation(event: KeyboardEvent, options: { onEnter?: () => void; onSpace?: () => void; onEscape?: () => void; onArrowUp?: () => void; onArrowDown?: () => void; onTab?: () => void; }): boolean; /** * 焦点管理 */ static createFocusManager(): { saveFocus: () => void; restoreFocus: () => void; trapFocus: (container: HTMLElement) => () => void; }; /** * 高对比度模式支持 */ static createHighContrastSupport(): { isHighContrast: boolean; applyHighContrastStyles: () => void; }; /** * 减动效模式支持 */ static createReducedMotionSupport(): { prefersReducedMotion: boolean; applyReducedMotionStyles: () => void; }; } /** * 可访问性样式 */ export declare const accessibilityStyles = "\n.ui18n-high-contrast {\n --ui18n-border-width: 2px;\n --ui18n-focus-outline: 3px solid #000;\n}\n\n.ui18n-reduced-motion * {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n}\n\n.ui18n-visually-hidden {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.ui18n-focus-visible:focus-visible {\n outline: var(--ui18n-focus-outline, 2px solid #4285f4);\n outline-offset: 2px;\n}\n"; //# sourceMappingURL=accessibility.d.ts.map