Order the chat controls and folders sidebar visually in the Tab chain - #31124
Open
rezabakhshilaktasaraei wants to merge 6 commits into
Open
Order the chat controls and folders sidebar visually in the Tab chain#31124rezabakhshilaktasaraei wants to merge 6 commits into
rezabakhshilaktasaraei wants to merge 6 commits into
Conversation
rezabakhshilaktasaraei
force-pushed
the
visual-tab-order
branch
from
August 9, 2026 05:02
1fca0ba to
56e2a85
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uses the new setVisualTabOrder from desktop-app/lib_ui#336 in two places:
HistoryWidget: one line in the constructor replaces manual setTabOrder wiring for the write row. Several of its controls are created on demand, so creation order scattered them over the focus chain; now Tab follows the visual layout (top bar, pinned bar, message list, then attach - field - send row left to right), including buttons that appear later like silent broadcast or TTL.
Folders sidebar: the manual wiring in setListTabStop is replaced by the visual order of the two containers, with refreshVisualTabOrder() called when the roving Tab-stop moves to another folder (arrows or activation change it without any Tab passing through the sidebar, which used to leave the chain pointing at the demoted button).
Verified with NVDA: composer order in all chat types, list position surviving chat switches, folders reachable from both Tab directions after reordering, and Tab still trapped inside boxes.
Depends on desktop-app/lib_ui#336.