From 6fc6471010101f30ac8150db0dad732279450768 Mon Sep 17 00:00:00 2001 From: Dustin Healy <54083382+dustinhealy@users.noreply.github.com> Date: Tue, 9 Dec 2025 17:17:23 -0800 Subject: [PATCH] =?UTF-8?q?=E2=98=B0=20fix:=20Side=20Panel=20Accessibility?= =?UTF-8?q?=20Improvements=20(#10830)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: pad cards so focus outline doesn't clip in prompts list * feat: pad snippet top for space between text and button * fix: prompt menu focus outline clipping with overflow-visible * fix: clipping in AgentBuilder for advanced and admin buttons * fix: clipping in memory panel for admin settings * fix: better contrast thresholds on focus outlines for admin settings and advanced buttons in agent builder * fix: better contrast thresholds on focus outlines for admin settings button in memory panel * fix: clipping on focus outline for manage files button in files panel * fix: focus outline clipping table cells for files panel table * fix: clipping on new bookmark button in bookmarks panel * fix: clipping on Admin Settings button in MCP Settings panel * fix: better contrast threshold outline and aria-label for Admin Settings button in MCP Settings panel * fix: misaligned globe because of new unnested menu button positioning * fix: localize global group aria-label * fix: screen reader not reading out proper prompt name for dropdown menu button --- .../Prompts/Groups/ChatGroupItem.tsx | 18 ++++++++++-------- .../Prompts/Groups/GroupSidePanel.tsx | 2 +- .../src/components/Prompts/Groups/ListCard.tsx | 2 +- .../SidePanel/Agents/AdminSettings.tsx | 4 ++-- .../Agents/Advanced/AdvancedButton.tsx | 2 +- .../components/SidePanel/Agents/AgentPanel.tsx | 2 +- .../SidePanel/Bookmarks/BookmarkPanel.tsx | 2 +- .../src/components/SidePanel/Files/Panel.tsx | 2 +- .../components/SidePanel/Files/PanelTable.tsx | 5 +++++ .../SidePanel/MCPBuilder/MCPAdminSettings.tsx | 5 +++-- .../SidePanel/MCPBuilder/MCPBuilderPanel.tsx | 2 +- .../SidePanel/Memories/AdminSettings.tsx | 4 ++-- .../SidePanel/Memories/MemoryViewer.tsx | 2 +- client/src/locales/en/translation.json | 1 + packages/client/src/components/Accordion.tsx | 2 +- 15 files changed, 32 insertions(+), 23 deletions(-) diff --git a/client/src/components/Prompts/Groups/ChatGroupItem.tsx b/client/src/components/Prompts/Groups/ChatGroupItem.tsx index e985eb9461..be4b8ae3cf 100644 --- a/client/src/components/Prompts/Groups/ChatGroupItem.tsx +++ b/client/src/components/Prompts/Groups/ChatGroupItem.tsx @@ -55,7 +55,7 @@ function ChatGroupItem({ return ( <> -
+
-
- {groupIsGlobal === true && ( - - )} + > + {groupIsGlobal === true && ( +
+
- + )}
@@ -79,7 +81,7 @@ function ChatGroupItem({ ref={triggerButtonRef} id={`prompt-actions-${group._id}`} type="button" - aria-label={localize('com_ui_sr_actions_menu', { name: group.name })} + aria-label={localize('com_ui_sr_actions_menu', { 0: group.name })} onClick={(e) => { e.stopPropagation(); }} diff --git a/client/src/components/Prompts/Groups/GroupSidePanel.tsx b/client/src/components/Prompts/Groups/GroupSidePanel.tsx index 6001a1565f..1eca604af1 100644 --- a/client/src/components/Prompts/Groups/GroupSidePanel.tsx +++ b/client/src/components/Prompts/Groups/GroupSidePanel.tsx @@ -55,7 +55,7 @@ export default function GroupSidePanel({ />
)} -
+
{children}
{snippet}
diff --git a/client/src/components/SidePanel/Agents/AdminSettings.tsx b/client/src/components/SidePanel/Agents/AdminSettings.tsx index 103a4283f1..7bc064685f 100644 --- a/client/src/components/SidePanel/Agents/AdminSettings.tsx +++ b/client/src/components/SidePanel/Agents/AdminSettings.tsx @@ -152,7 +152,7 @@ const AdminSettings = () => { diff --git a/client/src/components/SidePanel/Agents/Advanced/AdvancedButton.tsx b/client/src/components/SidePanel/Agents/Advanced/AdvancedButton.tsx index 07f73fd2bb..8ce635d6a8 100644 --- a/client/src/components/SidePanel/Agents/Advanced/AdvancedButton.tsx +++ b/client/src/components/SidePanel/Agents/Advanced/AdvancedButton.tsx @@ -15,7 +15,7 @@ const AdvancedButton: React.FC = ({ setActivePanel }) => { diff --git a/client/src/components/SidePanel/MCPBuilder/MCPBuilderPanel.tsx b/client/src/components/SidePanel/MCPBuilder/MCPBuilderPanel.tsx index 77552a5aff..493b34b122 100644 --- a/client/src/components/SidePanel/MCPBuilder/MCPBuilderPanel.tsx +++ b/client/src/components/SidePanel/MCPBuilder/MCPBuilderPanel.tsx @@ -22,7 +22,7 @@ export default function MCPBuilderPanel() { const configDialogProps = getConfigDialogProps(); return ( -
+
{/* Admin Settings Button */} diff --git a/client/src/components/SidePanel/Memories/AdminSettings.tsx b/client/src/components/SidePanel/Memories/AdminSettings.tsx index a002ea4c2b..efdf5ce7a2 100644 --- a/client/src/components/SidePanel/Memories/AdminSettings.tsx +++ b/client/src/components/SidePanel/Memories/AdminSettings.tsx @@ -141,7 +141,7 @@ const AdminSettings = () => { diff --git a/client/src/components/SidePanel/Memories/MemoryViewer.tsx b/client/src/components/SidePanel/Memories/MemoryViewer.tsx index 1d469780a0..c23b9365fb 100644 --- a/client/src/components/SidePanel/Memories/MemoryViewer.tsx +++ b/client/src/components/SidePanel/Memories/MemoryViewer.tsx @@ -239,7 +239,7 @@ export default function MemoryViewer() { } return ( -
+
(({ className = '', children, ...props }, ref) => (
{children}