diff --git a/assets/js/src/core/components/sidebar/sidebar.tsx b/assets/js/src/core/components/sidebar/sidebar.tsx index b8e7afda98..3e174d6552 100644 --- a/assets/js/src/core/components/sidebar/sidebar.tsx +++ b/assets/js/src/core/components/sidebar/sidebar.tsx @@ -127,11 +127,26 @@ export const Sidebar = ({ entries, buttons = [], sizing = 'default', highlights onClick={ () => { handleSidebarClick(entry.key) } } - onKeyDown={ () => { - handleSidebarClick(entry.key) + onKeyDown={ (event) => { + if (event.key === 'Enter' || event.key === ' ') { + event.preventDefault() + handleSidebarClick(entry.key) + } + if (event.key === 'ArrowDown' || event.key === 'ArrowRight') { + event.preventDefault() + const next = (index + 1) % entries.length + const nextEl = event.currentTarget.parentElement?.parentElement?.querySelectorAll('[role="tab"]')[next] + nextEl?.focus() + } + if (event.key === 'ArrowUp' || event.key === 'ArrowLeft') { + event.preventDefault() + const prev = (index - 1 + entries.length) % entries.length + const prevEl = event.currentTarget.parentElement?.parentElement?.querySelectorAll('[role="tab"]')[prev] + prevEl?.focus() + } } } role={ 'tab' } - tabIndex={ index } + tabIndex={ entry.key === activeTab ? 0 : -1 } > {entry.icon} diff --git a/build-dist/build-88708650c462.zip b/build-dist/build-d2f75acc0d91.zip similarity index 87% rename from build-dist/build-88708650c462.zip rename to build-dist/build-d2f75acc0d91.zip index 2b2f3f400d..07595cb809 100644 Binary files a/build-dist/build-88708650c462.zip and b/build-dist/build-d2f75acc0d91.zip differ