@ou-imdt/utils
Version:
Utility library for interactive media development
12 lines (11 loc) • 562 B
JavaScript
import composedDescendants from './composedDescendants.js';
import firstFocusableNodeFrom from './firstFocusableNodeFrom.js';
/**
* Finds the closest focusable descendant of a node.
* @param {Node} node - The root node to start searching from.
* @param {string} focusDelegate - The property name used as a focus delegate.
* @returns {Node|null} The closest focusable descendant or `null` if none found.
*/
export default function closestFocusableDescendant(node, focusDelegate) {
return firstFocusableNodeFrom(composedDescendants(node), focusDelegate);
}