From 0e5ee379b397c4fdf02c39c7253b7352a9b113fa Mon Sep 17 00:00:00 2001 From: Daniel Lew Date: Sat, 28 Feb 2026 15:58:50 -0600 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=81=EF=B8=8F=E2=80=8D=F0=9F=97=A8?= =?UTF-8?q?=EF=B8=8F=20fix:=20Replace=20Select=20with=20Menu=20in=20Accoun?= =?UTF-8?q?tSettings=20for=20Screen=20Reader=20Accuracy=20(#11980)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AccountSettings was using Select, but it makes more sense (for a11y) to use Menu. The Select has the wrong role & behavior for the purpose of AccountSettings; the "listbox" role it uses is for selecting values in a form. Menu matches the actual content better for screen readers; the "menu" role is more appropriate for selecting one of a number of links. --- client/src/components/Nav/AccountSettings.tsx | 44 +++++++------------ 1 file changed, 15 insertions(+), 29 deletions(-) diff --git a/client/src/components/Nav/AccountSettings.tsx b/client/src/components/Nav/AccountSettings.tsx index e3f97160eb..cf80f89ca2 100644 --- a/client/src/components/Nav/AccountSettings.tsx +++ b/client/src/components/Nav/AccountSettings.tsx @@ -1,5 +1,5 @@ import { useState, memo, useRef } from 'react'; -import * as Select from '@ariakit/react/select'; +import * as Menu from '@ariakit/react/menu'; import { FileText, LogOut } from 'lucide-react'; import { LinkIcon, GearIcon, DropdownMenuSeparator, Avatar } from '@librechat/client'; import { MyFilesModal } from '~/components/Chat/Input/Files/MyFilesModal'; @@ -20,8 +20,8 @@ function AccountSettings() { const accountSettingsButtonRef = useRef(null); return ( - - + {user?.name ?? user?.username ?? localize('com_nav_user')} - - + )} - setShowFiles(true)} - className="select-item text-sm" - > + setShowFiles(true)} className="select-item text-sm"> + {startupConfig?.helpAndFaqURL !== '/' && ( - window.open(startupConfig?.helpAndFaqURL, '_blank')} className="select-item text-sm" > + )} - setShowSettings(true)} - className="select-item text-sm" - > + setShowSettings(true)} className="select-item text-sm"> + - logout()} - value="logout" - className="select-item text-sm" - > + logout()} className="select-item text-sm"> - + + {showFiles && ( )} {showSettings && } - + ); }