feat(a11y): comprehensive icon button label sweep — 60+ remaining buttons labeled

C-1 complete sweep across all components and features:
- Call controls: mic mute/unmute, deafen/undeafen, video, screenshare, chat
- RoomInput: dismiss reply, attach file, sticker, emoji, GIF, location, toolbar
- Media viewers: close in image/pdf/text viewers and editors
- Settings dialogs: close buttons in all room/space/common settings panels
- Lobby: back, toggle member list, scroll to top, pack add/remove
- Auth: server picker, UIA flow cancel
- Upload cards: cancel uploads
- URL preview: prev/next buttons
- Members drawer: close + scroll to top
- RoomViewHeader: back, start call, toggle member list

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lotus Bot
2026-05-21 11:58:40 -04:00
parent fdc45db52f
commit 141b93f36f
40 changed files with 62 additions and 31 deletions
+8
View File
@@ -629,6 +629,7 @@ export const RoomInput = forwardRef<HTMLDivElement, RoomInputProps>(
>
<IconButton
onClick={() => setReplyDraft(undefined)}
aria-label="Dismiss reply"
variant="SurfaceVariant"
size="300"
radii="300"
@@ -661,6 +662,7 @@ export const RoomInput = forwardRef<HTMLDivElement, RoomInputProps>(
before={
<IconButton
onClick={() => pickFile('*')}
aria-label="Attach file"
variant="SurfaceVariant"
size="300"
radii="300"
@@ -674,6 +676,8 @@ export const RoomInput = forwardRef<HTMLDivElement, RoomInputProps>(
variant="SurfaceVariant"
size="300"
radii="300"
aria-label={toolbar ? 'Hide formatting toolbar' : 'Show formatting toolbar'}
aria-pressed={toolbar}
onClick={() => setToolbar(!toolbar)}
>
<Icon src={toolbar ? Icons.AlphabetUnderline : Icons.Alphabet} />
@@ -714,6 +718,7 @@ export const RoomInput = forwardRef<HTMLDivElement, RoomInputProps>(
{!hideStickerBtn && (
<IconButton
aria-pressed={emojiBoardTab === EmojiBoardTab.Sticker}
aria-label="Insert sticker"
onClick={() => setEmojiBoardTab(EmojiBoardTab.Sticker)}
variant="SurfaceVariant"
size="300"
@@ -727,6 +732,7 @@ export const RoomInput = forwardRef<HTMLDivElement, RoomInputProps>(
)}
<IconButton
ref={emojiBtnRef}
aria-label="Insert emoji"
aria-pressed={
hideStickerBtn ? !!emojiBoardTab : emojiBoardTab === EmojiBoardTab.Emoji
}
@@ -768,6 +774,7 @@ export const RoomInput = forwardRef<HTMLDivElement, RoomInputProps>(
>
<IconButton
ref={gifBtnRef}
aria-label="Insert GIF"
aria-pressed={gifOpen}
onClick={() => setGifOpen(!gifOpen)}
variant="SurfaceVariant"
@@ -797,6 +804,7 @@ export const RoomInput = forwardRef<HTMLDivElement, RoomInputProps>(
)}
<IconButton
onClick={handleShareLocation}
aria-label="Share location"
variant="SurfaceVariant"
size="300"
radii="300"