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
Copy Markdown
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant