Message link context menus do not receive focus with screen readers on Windows
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
What happened
Opening a message link's context menu in NVDA browse mode does not move focus to its options reliably.
Diagnosis
A link-focus event can arrive after the native desktop menu opens, leaving NVDA on the underlying link. Preserving Electron's keyboard invocation source helped an initial comparison but did not fix repeated openings in the app.
Steps to reproduce
- In the Windows desktop app, use NVDA browse mode to read to a message link.
- Press Applications or Shift+F10.
- The menu opens, but NVDA does not move to its options. Repeat with another link if the first attempt works.
Environment
T3 Code 0.0.39-nightly.20260906.1303, Windows 11, NVDA.
Evidence
Windows accessibility logging captured link focus after the native menu opened. The reporter confirmed that an in-page ARIA menu worked, then verified the integrated fix with T3's existing menu component on both web and file links.
Fix applied
#10391 uses the existing in-page menu component for message links. No changes to the installed app or NVDA settings.
Filed by Codex, GPT-6, following the T3 triage playbook.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review issue #10391 and the existing in-page menu component used for message links first. Reproduce the context-menu flow with NVDA browse mode on Windows, including repeated openings and web and file links; done means NVDA reliably focuses the menu options.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, typescript
- Domain
- accessibility, desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 20/100