Hi everyone,
I’m happy to announce that the foundational part of this accessibility issue has been addressed.
I’ve submitted a Pull Request (#31197) that implements an automatic fallback for accessible names in AbstractButton. This fix ensures that all icon-only buttons (which previously had no name for screen readers) now correctly expose their tooltip as their accessible name.
What’s fixed in this PR: ✅ Icon-only buttons now have proper accessible names via tooltip fallback. ✅ FlatButton and SettingsButton now propagate text-based names correctly. ✅ Verified logic against Qt5 Accessibility Bridge.
Next Steps: This is Phase 1 of the refactor. Deeper issues like focus traps in the chat list, context menu announcements, and keyboard support for voice recording are planned for subsequent PRs once this base is merged.
You can review the changes here: 🔗 PR #31197: Feat: Accessible-name fallback for UI buttons 🔗 Dependent PR in lib_ui
Thanks to the community for keeping this issue alive for so long. Let's make Telegram truly accessible for everyone! 🚀
The record voice message feature added ctrl+r in recent TG desktop version, maybe we need it listed in the TG desktop shortcuts wikipage, and if record started, nvda announce it or similiar.
🌐 [https://github.com/telegramdesktop/tdesktop/pull/31197](https://github.com/telegramdesktop/tdesktop
GitHub
Feat: Accessible-name fallback for UI buttons (screen reader support) by hesam-oxe · Pull Request #31197 · telegramdesktop/tdesktop
Summary
Fixes the missing accessible names reported for icon-only buttons in issue #476. Ui::AbstractButton now exposes an accessible name automatically:
If an explicit setAccessibleName() was set...
August 29, 2026 169 2