diff --git a/src/__tests__/focus-zone.test.tsx b/src/__tests__/focus-zone.test.tsx index 9d94cbb..6593c68 100644 --- a/src/__tests__/focus-zone.test.tsx +++ b/src/__tests__/focus-zone.test.tsx @@ -649,3 +649,36 @@ it('Shoud move to tabbable elements if onlyTabbable', async () => { controller.abort() }) + +it('Should ignore hidden elements after focus zone is enabled', async () => { + const user = userEvent.setup() + const {container, rerender} = render( +
+ + + +
, + ) + + const focusZoneContainer = container.querySelector('#focusZone')! + const [firstButton, , thirdButton] = focusZoneContainer.querySelectorAll('button') + const controller = focusZone(focusZoneContainer) + + firstButton.focus() + expect(document.activeElement).toEqual(firstButton) + + rerender( +
+ + + +
, + ) + + await user.keyboard('{arrowdown}') + expect(document.activeElement).toEqual(thirdButton) + + controller.abort() +})