From 9221d8f616c80f307538ac7aa3ae84d5bfe273fc Mon Sep 17 00:00:00 2001 From: nibarAhmed Date: Thu, 29 Oct 2026 19:48:35 +0100 Subject: [PATCH 1/2] fix(mobile): TalkBack reads the message field before Send Android sorts sibling views by position for accessibility, so the absolutely positioned compact editor, a sibling of the whole controls row, was always read after the Send button. Render the editor inside the row, next to its layout slot, so it sorts between the attachment button and the trailing controls. Co-Authored-By: Claude Opus 5.5 --- .../src/features/threads/ThreadComposer.tsx | 270 +++++++++--------- 1 file changed, 136 insertions(+), 134 deletions(-) diff --git a/apps/mobile/src/features/threads/ThreadComposer.tsx b/apps/mobile/src/features/threads/ThreadComposer.tsx index 024fc14179fd2..08c217c817030 100644 --- a/apps/mobile/src/features/threads/ThreadComposer.tsx +++ b/apps/mobile/src/features/threads/ThreadComposer.tsx @@ -906,6 +906,142 @@ export const ThreadComposer = function ThreadComposer(props: ThreadComposerProps compactEditor.isExpanded ? { flex: 0, width: 0 } : undefined, ]} > + + {!isExpanded && stripAttachments.length > 0 ? ( {stripAttachments.slice(0, compactAttachmentLimit).map((attachment) => ( @@ -972,140 +1108,6 @@ export const ThreadComposer = function ThreadComposer(props: ThreadComposerProps )} - - Date: Thu, 29 Oct 2026 19:52:35 +0100 Subject: [PATCH 2/2] chore(mobile): note why the composer editor lives inside the controls row Co-Authored-By: Claude Opus 5.5 --- apps/mobile/src/features/threads/ThreadComposer.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/mobile/src/features/threads/ThreadComposer.tsx b/apps/mobile/src/features/threads/ThreadComposer.tsx index 08c217c817030..dd57dc6065001 100644 --- a/apps/mobile/src/features/threads/ThreadComposer.tsx +++ b/apps/mobile/src/features/threads/ThreadComposer.tsx @@ -906,6 +906,7 @@ export const ThreadComposer = function ThreadComposer(props: ThreadComposerProps compactEditor.isExpanded ? { flex: 0, width: 0 } : undefined, ]} > + {/* TalkBack orders siblings by position; outside this row the editor reads after Send. */}