diff --git a/apis/nucleus/src/components/listbox/interactions/listbox-keyboard-navigation.js b/apis/nucleus/src/components/listbox/interactions/listbox-keyboard-navigation.js index 569283282..24b5b8169 100644 --- a/apis/nucleus/src/components/listbox/interactions/listbox-keyboard-navigation.js +++ b/apis/nucleus/src/components/listbox/interactions/listbox-keyboard-navigation.js @@ -234,11 +234,18 @@ export function getListboxInlineKeyboardNavigation({ } const container = event.currentTarget.closest('.listbox-container'); + const inSelection = isModal(); switch (keyCode) { case KEYS.TAB: - if (shiftKey) { - focusRow(container) || focusSearch(container); + if (inSelection) { + if (shiftKey) { + focusRow(container) || focusSearch(container); + } else { + focusSearch(container) || focusRow(container); + } + } else if (shiftKey) { + keyboard.blur(true); } else { focusSearch(container) || focusRow(container); }