Skip to content

Commit 58fa4e2

Browse files
feat(accessibility): add screen reader support for message list
Expose each message bubble as a virtual accessibility child so screen readers can navigate the message history. Each message reports: sender, text, media metadata, reply context, forward info, delivery/seen status, reactions, views, and more. Multi-column sub-items provide structured per-field access.
1 parent 2f80db3 commit 58fa4e2

File tree

4 files changed

+1593
-0
lines changed

4 files changed

+1593
-0
lines changed

‎Telegram/Resources/langs/lang.strings‎

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5417,6 +5417,85 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
54175417
"lng_search_filter_channel" = "Channels";
54185418
"lng_search_sponsored_button" = "Ad ⋮";
54195419

5420+
// Screen reader strings for message list.
5421+
"lng_sr_chat_sending" = "Sending";
5422+
"lng_sr_chat_sent" = "Sent";
5423+
"lng_sr_chat_failed" = "Failed";
5424+
"lng_sr_chat_received" = "Received";
5425+
"lng_sr_message_list" = "Messages";
5426+
"lng_sr_from_me" = "Me";
5427+
"lng_sr_message_seen" = "Seen";
5428+
"lng_sr_message_not_seen" = "Not seen";
5429+
"lng_sr_message_played" = "Played";
5430+
"lng_sr_message_not_played" = "Not played";
5431+
"lng_sr_message_not_downloaded" = "Not downloaded";
5432+
"lng_sr_message_downloading" = "Downloading";
5433+
"lng_sr_message_reply_to" = "In reply to {name}: {text}";
5434+
"lng_sr_message_edited" = "Edited";
5435+
"lng_sr_message_via_bot" = "via @{bot}";
5436+
"lng_sr_message_reactions" = "Reactions: {list}";
5437+
"lng_sr_message_custom_emoji" = "Custom emoji {emoji}";
5438+
"lng_sr_message_column_seen" = "Seen";
5439+
"lng_sr_message_column_sender" = "Sender";
5440+
"lng_sr_message_column_via_bot" = "Via bot";
5441+
"lng_sr_message_column_reply" = "Reply";
5442+
"lng_sr_message_column_forward" = "Forward";
5443+
"lng_sr_message_column_media_type" = "Media type";
5444+
"lng_sr_message_column_download" = "Download";
5445+
"lng_sr_message_column_played" = "Played";
5446+
"lng_sr_message_column_artist" = "Artist";
5447+
"lng_sr_message_column_title" = "Title";
5448+
"lng_sr_message_column_filename" = "Filename";
5449+
"lng_sr_message_column_duration" = "Duration";
5450+
"lng_sr_message_column_dimensions" = "Dimensions";
5451+
"lng_sr_message_column_file_size" = "File size";
5452+
"lng_sr_message_column_message" = "Message";
5453+
"lng_sr_message_column_delivery" = "Delivery";
5454+
"lng_sr_message_column_edited" = "Edited";
5455+
"lng_sr_message_column_time" = "Time";
5456+
"lng_sr_message_column_reactions" = "Reactions";
5457+
"lng_sr_message_column_views" = "Views";
5458+
"lng_sr_message_column_signature" = "Signature";
5459+
"lng_sr_message_column_pinned" = "Pinned";
5460+
"lng_sr_message_column_web_site" = "Website";
5461+
"lng_sr_message_column_web_title" = "Link title";
5462+
"lng_sr_message_column_web_description" = "Link description";
5463+
"lng_sr_message_column_poll_question" = "Poll question";
5464+
"lng_sr_message_column_poll_options" = "Poll options";
5465+
"lng_sr_message_column_poll_status" = "Poll status";
5466+
"lng_sr_message_column_contact_name" = "Contact name";
5467+
"lng_sr_message_column_contact_phone" = "Contact phone";
5468+
"lng_sr_message_column_location" = "Location";
5469+
"lng_sr_message_column_sticker_emoji" = "Sticker emoji";
5470+
"lng_sr_message_column_game_title" = "Game title";
5471+
"lng_sr_message_column_game_description" = "Game description";
5472+
"lng_sr_message_column_invoice_title" = "Invoice title";
5473+
"lng_sr_message_column_invoice_amount" = "Invoice amount";
5474+
"lng_sr_message_column_spoiler" = "Spoiler";
5475+
"lng_sr_message_column_dice" = "Dice";
5476+
"lng_sr_message_column_giveaway" = "Giveaway";
5477+
"lng_sr_message_column_gift" = "Gift";
5478+
"lng_sr_message_column_todo_title" = "Todo title";
5479+
"lng_sr_message_column_todo_items" = "Todo items";
5480+
"lng_sr_message_column_factcheck" = "Fact check";
5481+
"lng_sr_message_column_forward_date" = "Forward date";
5482+
"lng_sr_message_column_forward_author" = "Forward author";
5483+
"lng_sr_message_column_paid_reactions" = "Paid reactions";
5484+
"lng_sr_message_pinned" = "Pinned";
5485+
"lng_sr_message_spoiler" = "Hidden media";
5486+
"lng_sr_message_poll_votes#one" = "{count} vote";
5487+
"lng_sr_message_poll_votes#other" = "{count} votes";
5488+
"lng_sr_message_todo_completed" = "Completed";
5489+
"lng_sr_message_todo_not_completed" = "Not completed";
5490+
"lng_sr_message_gift_premium#one" = "Premium gift, {count} day";
5491+
"lng_sr_message_gift_premium#other" = "Premium gift, {count} days";
5492+
"lng_sr_message_gift_credits#one" = "Star gift, {count} star";
5493+
"lng_sr_message_gift_credits#other" = "Star gift, {count} stars";
5494+
"lng_sr_message_paid_content" = "Paid content";
5495+
"lng_sr_message_live_location" = "Live location";
5496+
"lng_sr_message_invoice_paid" = "Paid";
5497+
"lng_sr_message_invoice_unpaid" = "Unpaid";
5498+
54205499
"lng_media_save_progress" = "{ready} of {total} {mb}";
54215500
"lng_mediaview_save_as" = "Save As...";
54225501
"lng_mediaview_copy" = "Copy";

0 commit comments

Comments
 (0)