[@mantine/hooks] use-focus-trap: Fix aria-hidden #2735
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR resolves #2726.
Turns out that
restoreAria.current();
was simply not called on unmount; this has now been changed.Furthermore, I fixed an additional issue where aria-hidden attributes would only be applied on the first render, but would not update after that. This was caused by
mantine/src/mantine-hooks/src/use-focus-trap/use-focus-trap.ts
Line 16 in f7da145
ref.current
would already hold the node and aria attributes would not be reapplied again.Finally, I added a test to
FocusTrap.test.tsx
which makes sure aria-hidden is added and removed. I'll be the first to admit it is kinda ugly but I could not find a better version. Also tested it manually with storybook - components likeModal
orDrawer
now remove the attribute correctly.