@ariakit/react-core
Version:
Ariakit React core
35 lines (32 loc) • 865 B
JavaScript
"use client";
import {
walkTreeOutside
} from "./AOUGVQZ3.js";
import {
setAttribute
} from "./K2ZF5NU7.js";
import {
isBackdrop
} from "./63XF7ACK.js";
// src/dialog/utils/disable-accessibility-tree-outside.ts
function hideElementFromAccessibilityTree(element) {
return setAttribute(element, "aria-hidden", "true");
}
function disableAccessibilityTreeOutside(id, elements) {
const cleanups = [];
const ids = elements.map((el) => el == null ? void 0 : el.id);
walkTreeOutside(id, elements, (element) => {
if (isBackdrop(element, ...ids)) return;
cleanups.unshift(hideElementFromAccessibilityTree(element));
});
const restoreAccessibilityTree = () => {
for (const cleanup of cleanups) {
cleanup();
}
};
return restoreAccessibilityTree;
}
export {
hideElementFromAccessibilityTree,
disableAccessibilityTreeOutside
};