Skip to content

Say what announces a focused accessibility child - #344

Open
rezabakhshilaktasaraei wants to merge 1 commit into
desktop-app:masterfrom
rezabakhshilaktasaraei:platform-focus-child-announcement
Open

Say what announces a focused accessibility child#344
rezabakhshilaktasaraei wants to merge 1 commit into
desktop-app:masterfrom
rezabakhshilaktasaraei:platform-focus-child-announcement

Conversation

@rezabakhshilaktasaraei

Copy link
Copy Markdown
Contributor

Two comments, no behaviour change.

A widget taking keyboard focus raises a focus event which the platform resolves through focusChild(), so a painted list that also announces its current child from focusInEvent has it read twice. That is written down now next to accessibilityChildFocused(), which is where the mistake gets made - telegramdesktop/tdesktop#31169 removes five of those announcements.

The other comment was wrong: the container SetFocus we handle in Widget::doAction() is not a workaround for the bridge not redirecting focus. It is there because a selection list keeps keyboard focus on its items - they are real widgets handling the arrow keys and carrying the list's single Tab-stop - so focus has to reach the selected item rather than the container.

The platform raises a focus event when a widget takes keyboard focus and
resolves it through focusChild(), so a painted list that also announces
its current child from focusInEvent has it read twice - write that down
next to accessibilityChildFocused(), where the mistake is made. The one
container SetFocus we do handle ourselves is not about announcing: a
selection list keeps keyboard focus on its items, so focus has to reach
the selected one for the arrow keys and the Tab-stop to work.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant