From 4fb5bf61dd52473330fb5b3fdf0ffc091054a28c Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Thu, 17 Oct 2019 09:24:31 -0700 Subject: [PATCH] [react-interactions] Fix focus-visible heuristic (#17124) Respond to all keys not just `Tab` --- packages/react-interactions/events/src/dom/Focus.js | 7 ++----- .../events/src/dom/__tests__/Focus-test.internal.js | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/packages/react-interactions/events/src/dom/Focus.js b/packages/react-interactions/events/src/dom/Focus.js index 8ce9921e5d906..5084ce1e5fa35 100644 --- a/packages/react-interactions/events/src/dom/Focus.js +++ b/packages/react-interactions/events/src/dom/Focus.js @@ -151,11 +151,8 @@ function handleRootEvent( case 'keyup': { const nativeEvent = event.nativeEvent; const focusTarget = state.focusTarget; - const {key, metaKey, altKey, ctrlKey} = (nativeEvent: any); - const validKey = - key === 'Enter' || - key === ' ' || - (key === 'Tab' && !(metaKey || (!isMac && altKey) || ctrlKey)); + const {metaKey, altKey, ctrlKey} = (nativeEvent: any); + const validKey = !(metaKey || (!isMac && altKey) || ctrlKey); if (validKey) { state.pointerType = 'keyboard'; diff --git a/packages/react-interactions/events/src/dom/__tests__/Focus-test.internal.js b/packages/react-interactions/events/src/dom/__tests__/Focus-test.internal.js index e2f683bb6c31c..94846a138a570 100644 --- a/packages/react-interactions/events/src/dom/__tests__/Focus-test.internal.js +++ b/packages/react-interactions/events/src/dom/__tests__/Focus-test.internal.js @@ -166,7 +166,7 @@ describe.each(table)('Focus responder', hasPointerEvents => { it('is called with the correct pointerType using a keyboard', () => { const target = createEventTarget(ref.current); - target.keydown({key: 'Tab'}); + target.keydown({key: 'LeftArrow'}); target.focus(); expect(onFocus).toHaveBeenCalledTimes(1); expect(onFocus).toHaveBeenCalledWith(