UNPKG

@ordojs/forms

Version:

Comprehensive form handling system for OrdoJS

89 lines 2.92 kB
/** * Accessibility features for forms with ARIA attributes and screen reader support */ import type { AccessibilityConfig, FieldState, FormInstance } from './types.js'; export declare class AccessibilityManager { private static instance; private announceElement; static getInstance(): AccessibilityManager; constructor(); /** * Create hidden element for screen reader announcements */ private createAnnounceElement; /** * Announce message to screen readers */ announce(message: string, priority?: 'polite' | 'assertive'): void; /** * Generate accessibility attributes for form fields */ generateFieldAttributes(fieldName: string, fieldState: FieldState, config?: AccessibilityConfig): Record<string, string>; /** * Generate accessibility attributes for form containers */ generateFormAttributes(formId: string, formInstance: FormInstance): Record<string, string>; /** * Generate error message attributes */ generateErrorAttributes(fieldName: string): Record<string, string>; /** * Generate help text attributes */ generateHelpTextAttributes(fieldName: string): Record<string, string>; /** * Generate label attributes */ generateLabelAttributes(fieldName: string): Record<string, string>; /** * Handle field validation announcements */ announceFieldValidation(fieldName: string, fieldState: FieldState): void; /** * Handle form submission announcements */ announceFormSubmission(formInstance: FormInstance): void; /** * Focus management for form navigation */ focusFirstError(formInstance: FormInstance): void; /** * Create skip links for form navigation */ createSkipLinks(formId: string): HTMLElement; /** * Enhance form with accessibility features */ enhanceForm(formElement: HTMLFormElement, formInstance: FormInstance): void; /** * Update error summary */ private updateErrorSummary; /** * Update field accessibility attributes */ private updateFieldAccessibility; /** * Create accessible field wrapper */ createFieldWrapper(fieldName: string, label: string, helpText?: string): HTMLElement; /** * Clean up accessibility resources */ cleanup(): void; } /** * Global accessibility manager instance */ export declare const accessibility: AccessibilityManager; /** * Utility functions for accessibility */ export declare const a11y: { manager: AccessibilityManager; announce: (message: string, priority?: "polite" | "assertive") => void; focusFirstError: (form: FormInstance) => void; enhanceForm: (element: HTMLFormElement, form: FormInstance) => void; createFieldWrapper: (name: string, label: string, helpText?: string) => HTMLElement; }; //# sourceMappingURL=accessibility.d.ts.map