Skip to content

Repository files navigation

Telegram Desktop Accessibility for NVDA

Overview

Telegram Desktop Accessibility is an NVDA add-on for Telegram Desktop on Windows. It adds two direct navigation commands while leaving Telegram's native accessibility behavior and accessible names unchanged.

Features

  • Alt+1 moves focus to the selected chat in the chat list, or to the first chat when no chat is selected.
  • Alt+M opens Telegram's main menu.
  • Chat detection uses Telegram's stable UIA class information rather than a translated control name, so the commands do not depend on Telegram's interface language.
  • Telegram continues to provide the names of chats, messages, buttons, and list items. The add-on does not replace or rewrite them.

Usage

Install the add-on, restart NVDA when prompted, and use the two add-on shortcuts from the main Telegram window. No configuration is required.

If Alt+1 cannot find a chat list or the list is empty, NVDA reports that condition. If Alt+M is unavailable on the current Telegram screen, NVDA reports that the main menu is not available.

Implementation

Telegram Desktop's patched Qt accessibility provider exposes RTTI-based UIA class names. The add-on identifies the chat list as Dialogs::InnerWidget, allowing it to work independently of the localized accessible name. The main menu command locates Telegram's native menu button inside Dialogs::Widget and invokes its existing action.

Keyboard Shortcuts

Add-on

Shortcut Provided by Function
Alt+1 Add-on Move focus to the chat list
Alt+M Add-on Open the main menu

Chats

Shortcut Provided by Function
Up / Down / Page Up / Page Down Telegram Desktop Navigate within a chat
Shift+Scroll Telegram Desktop Speed up in-chat navigation
Up / Left / Right / Down Telegram Desktop Navigate suggested stickers
Left / Right Telegram Desktop Navigate suggested emoji
Ctrl+Tab / Ctrl+Page Down / Alt+Down Telegram Desktop Move to the chat below
Ctrl+Shift+Tab / Ctrl+Page Up / Alt+Up Telegram Desktop Move to the chat above
Esc Telegram Desktop Exit, go back, or cancel the current action
Ctrl+O Telegram Desktop Send a file

Folders

Shortcut Provided by Function
Ctrl+Shift+Down Telegram Desktop Move to the folder below
Ctrl+Shift+Up Telegram Desktop Move to the folder above
Ctrl+1 through Ctrl+7 Telegram Desktop Jump directly to a folder
Ctrl+8 Telegram Desktop Jump to the last folder

Messages

Shortcut Provided by Function
Ctrl+Up / Ctrl+Down Telegram Desktop Reply to a message
Ctrl+Down / Esc Telegram Desktop Cancel a reply
Up Telegram Desktop Edit the last message sent
Delete Telegram Desktop Delete the currently selected message
Ctrl+Numpad Plus / Ctrl+Numpad Minus Telegram Desktop Zoom an image or video in or out
Ctrl+Click the name Telegram Desktop Open a bot profile from an inline message

Search

Shortcut Provided by Function
Ctrl+F Telegram Desktop Search the selected chat
Esc Telegram Desktop Exit search
Ctrl+J Telegram Desktop Search for a contact

Quick Share Panel

Shortcut Provided by Function
Up / Down Telegram Desktop Navigate the panel
Enter Telegram Desktop Select a chat
Backspace / Delete Telegram Desktop Remove a chat
Ctrl+Enter Telegram Desktop Send the message

Jump To

Shortcut Provided by Function
Alt+Enter Telegram Desktop Jump to the bottom of the chat or scroll the chat list to the top
Ctrl+0 Telegram Desktop Open Saved Messages
Ctrl+1 through Ctrl+5 Telegram Desktop Jump directly to a pinned chat when there are no folders
Ctrl+9 Telegram Desktop Open Archived Chats

Window

Shortcut Provided by Function
Ctrl+W / Alt+F4 Telegram Desktop Minimize to the system tray
Ctrl+Q Telegram Desktop Quit Telegram
Ctrl+L Telegram Desktop Lock Telegram
Ctrl+M Telegram Desktop Minimize Telegram

Selected Text

Shortcut Provided by Function
Ctrl+B Telegram Desktop Bold
Ctrl+I Telegram Desktop Italic
Ctrl+K Telegram Desktop Create a link
Ctrl+U Telegram Desktop Underline
Ctrl+Shift+M Telegram Desktop Monospace
Ctrl+Shift+N Telegram Desktop Remove formatting / plain text
Ctrl+Shift+P Telegram Desktop Spoiler
Ctrl+Shift+X Telegram Desktop Strikethrough
Ctrl+Shift+Period Telegram Desktop Quote

Mouse Shortcuts

Shortcut Provided by Function
Double-click a message Telegram Desktop Reply
Drag outside the messages Telegram Desktop Select messages
Hover over the timestamp Telegram Desktop Show message information
Hover over a poll percentage Telegram Desktop Show the number of votes
Drag a message to a chat in the list Telegram Desktop Forward the message to that chat
Back Telegram Desktop Exit Archived Chats
Upload a picture and click its preview Telegram Desktop Edit media
Right-click the Send button Telegram Desktop Send silently or schedule a message

Community and Support

Supported Versions

  • Telegram Desktop for Windows 7.0.1 or later.
  • NVDA 2024.1 or later.

Build From Source

From this repository:

uv run scons

The generated .nvda-addon package can be installed through NVDA's Add-on Store.

About

Telegram desktop Accessibility For NVDA

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages