preact-spatial-navigation
Version:
A powerful Preact library for TV-style spatial navigation with LRUD algorithm, virtualized lists/grids, and smart TV support
48 lines • 1.47 kB
TypeScript
/**
* Options for accessibility props
*/
export interface AccessibilityOptions {
/** Accessible label for screen readers */
label?: string;
/** Accessible hint/description */
hint?: string;
/** Role override (default: 'button') */
role?: string;
/** Whether the element is currently selected/checked */
isSelected?: boolean;
/** Whether the element is disabled */
isDisabled?: boolean;
}
/**
* Return type for accessibility props
*/
export interface AccessibilityProps {
role: string;
'aria-label'?: string;
'aria-describedby'?: string;
'aria-selected'?: boolean;
'aria-disabled'?: boolean;
tabIndex: number;
}
/**
* useSpatialNavigatorFocusableAccessibilityProps - Generate accessibility props
* Provides ARIA attributes for focusable elements to improve screen reader support
*
* @param options - Accessibility options
* @returns Object with ARIA attributes to spread on element
*
* @example
* ```tsx
* function MyButton({ label, isFocused }: any) {
* const a11yProps = useSpatialNavigatorFocusableAccessibilityProps({
* label: 'Play Movie',
* hint: 'Press Enter to play',
* isSelected: isFocused,
* });
*
* return <div {...a11yProps}>Play</div>;
* }
* ```
*/
export declare function useSpatialNavigatorFocusableAccessibilityProps(options?: AccessibilityOptions): AccessibilityProps;
//# sourceMappingURL=useSpatialNavigatorFocusableAccessibilityProps.d.ts.map