Skip to content

Add screen reader support for language list#30304

Open
rezabakhshilaktasaraei wants to merge 1 commit intotelegramdesktop:devfrom
rezabakhshilaktasaraei:acc-language-box
Open

Add screen reader support for language list#30304
rezabakhshilaktasaraei wants to merge 1 commit intotelegramdesktop:devfrom
rezabakhshilaktasaraei:acc-language-box

Conversation

@rezabakhshilaktasaraei
Copy link
Contributor

Summary

Exposes painted language rows in the language selection box as virtual accessibility children, making the list navigable by screen readers.

Changes (language_box.cpp)

  • Overrides accessibilityChildCount(), accessibilityChildName(), accessibilityChildRect(), accessibilityChildState(), and accessibilityChildRole() on the inner widget.
  • Each language row becomes a ListItem accessible child.
  • Name format: native name + translated name (e.g. "Deutsch, German").
  • Current language is reported with selected state.
  • Fires accessibilityChildFocused() when selection changes via keyboard.
  • Announces selected row on focusInEvent.

Dependencies

  • Requires lib_ui#278 for Accessible::Item infrastructure.

No new lang keys

Uses only existing lng_* keys — no new strings added.

Test plan

  • Open language selector (Settings → Language) with a screen reader
  • Navigate rows with arrow keys — screen reader announces language names
  • Verify the current language is reported as "selected"
  • Verify hit-testing: clicking a row with screen reader cursor selects the correct language
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant