Files
2025-11-28 19:45:44 -07:00

40 lines
848 B
TypeScript

type FocusableElement = HTMLElement | SVGElement;
export type CheckOptions = {
displayCheck?:
| 'full'
| 'full-native'
| 'legacy-full'
| 'non-zero-area'
| 'none';
getShadowRoot?:
| boolean
| ((node: FocusableElement) => ShadowRoot | boolean | undefined);
};
export type TabbableOptions = {
includeContainer?: boolean;
};
export declare function tabbable(
container: Element,
options?: TabbableOptions & CheckOptions
): FocusableElement[];
export declare function focusable(
container: Element,
options?: TabbableOptions & CheckOptions
): FocusableElement[];
export declare function isTabbable(
node: Element,
options?: CheckOptions
): boolean;
export declare function isFocusable(
node: Element,
options?: CheckOptions
): boolean;
export declare function getTabIndex(node: Element): number;