From e9d419f84ce26dbc8bff4c748291d169ac8f669b Mon Sep 17 00:00:00 2001 From: Jared Vititoe Date: Fri, 18 Sep 2026 19:17:32 -0400 Subject: [PATCH] a11y: give every icon-only sidebar avatar button and the message sender avatar an accessible name (#185) axe-core flagged 18 'button-name' criticals on the room view: the space tabs, Home/Direct/Inbox/Search/Saved/Explore/Add Space/User Settings/ Unverified sidebar buttons, and each message's avatar button had no text for screen readers. Labels mirror the existing tooltips; message avatars read ', open profile'. Room view now has zero button-name findings. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01PPmy3tPq869XDW4njjVaKA --- src/app/features/room/message/Message.tsx | 1 + src/app/pages/client/sidebar/BookmarksTab.tsx | 8 +++++++- src/app/pages/client/sidebar/CreateTab.tsx | 1 + src/app/pages/client/sidebar/DirectTab.tsx | 1 + src/app/pages/client/sidebar/ExploreTab.tsx | 8 +++++++- src/app/pages/client/sidebar/HomeTab.tsx | 1 + src/app/pages/client/sidebar/InboxTab.tsx | 8 +++++++- src/app/pages/client/sidebar/SearchTab.tsx | 2 +- src/app/pages/client/sidebar/SettingsTab.tsx | 7 ++++++- src/app/pages/client/sidebar/UnverifiedTab.tsx | 5 +++++ 10 files changed, 37 insertions(+), 5 deletions(-) diff --git a/src/app/features/room/message/Message.tsx b/src/app/features/room/message/Message.tsx index f547e159a..f913fe0f9 100644 --- a/src/app/features/room/message/Message.tsx +++ b/src/app/features/room/message/Message.tsx @@ -1015,6 +1015,7 @@ export const Message = React.memo( size="300" data-user-id={senderId} onClick={onUserClick} + aria-label={`${senderDisplayName}, open profile`} > {(triggerRef) => ( - + )} diff --git a/src/app/pages/client/sidebar/CreateTab.tsx b/src/app/pages/client/sidebar/CreateTab.tsx index 8886da09a..57e660903 100644 --- a/src/app/pages/client/sidebar/CreateTab.tsx +++ b/src/app/pages/client/sidebar/CreateTab.tsx @@ -104,6 +104,7 @@ export function CreateTab() { ( {(triggerRef) => ( - + )} diff --git a/src/app/pages/client/sidebar/HomeTab.tsx b/src/app/pages/client/sidebar/HomeTab.tsx index 778b729e2..cc12ac9e0 100644 --- a/src/app/pages/client/sidebar/HomeTab.tsx +++ b/src/app/pages/client/sidebar/HomeTab.tsx @@ -99,6 +99,7 @@ export function HomeTab() { {(triggerRef) => ( {(triggerRef) => ( - + )} diff --git a/src/app/pages/client/sidebar/SearchTab.tsx b/src/app/pages/client/sidebar/SearchTab.tsx index 7ceb5c499..db6d9529e 100644 --- a/src/app/pages/client/sidebar/SearchTab.tsx +++ b/src/app/pages/client/sidebar/SearchTab.tsx @@ -13,7 +13,7 @@ export function SearchTab() { {(triggerRef) => ( - + )} diff --git a/src/app/pages/client/sidebar/SettingsTab.tsx b/src/app/pages/client/sidebar/SettingsTab.tsx index 67eb6f9d8..39cb3c86a 100644 --- a/src/app/pages/client/sidebar/SettingsTab.tsx +++ b/src/app/pages/client/sidebar/SettingsTab.tsx @@ -184,7 +184,12 @@ export function SettingsTab() { {(triggerRef) => ( - setSettingsOpen(true)}> + setSettingsOpen(true)} + > setSettings(true)}