Change:
if (this.ui.inputBox.placeholder !== (this.placeholder || '')) { this.ui.inputBox.placeholder = (this.placeholder || ''); } <del> const ariaLabel = this.ariaLabel || this.placeholder || QuickPick.DEFAULT_ARIA_LABEL; </del> <ins> let ariaLabel = this.ariaLabel; if (!ariaLabel) { ariaLabel = this.placeholder || QuickPick.DEFAULT_ARIA_LABEL; // If we have a title, include it in the aria label. if (this.title) { ariaLabel += ` - ${this.title}`; } } </ins> if (this.ui.inputBox.ariaLabel !== ariaLabel) { this.ui.inputBox.ariaLabel = ariaLabel; }

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --<!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --VS Code Version: 1.67.1 Operating System: Windows 11 / macOS v14.0 Screen Reader: NVDA / Apple VoiceOver Extensions Installed: Put together an extension to quickly demo the bare VS Code UI features without our normal SDK and extension wrappers. "a11y-kit" () Repro Steps: Install a11y-kit from VS Code Marketplace Open command palette and run a11y-kit's menu command Next, select: "Quick Picks: Show Quick Picks - Single" and observe. Expected: When entering the quick pick selection screen, the title should be read by the screen reader so that the user understands the context of the selection environment. Actual: Certain other descriptors are picked up and read, but not the "Quick Pick Placeholder Title". Note: A user posted an issue on one of our extensions explaining that the title is picked up on JAWS but not NVDA. I have only verified this on VoiceOver and NVDA - neither screen reader reads the title as far as I can tell. Attachments: ! Thank you
thanks for filling a good issue with steps the problem here is that the Quick Pick title does not get read. I suggest to follow a similar pattern as and make sure that the title is at the end of the input box aria label. What do you think?
Title is still not read
feel free to push out to next milestone. I leave this up to you :)
Yeah I don't know I just tried this again and it's 50-50 whether the ARIA label is read. If it is read, it has the title in it.

Not sure what to do...
it is up to the screen reader to decide if it is read. If the title is now append when it gets read then we are good. Let's close and give time to verify. I can also bring it up with the screen reader folk if needed.
it seems as though the title is only picked up in two cases (the first and third item) when I test with a11y-kit. The titles in the other 6 options are not being picked up by NVDA. ! Do you guys think this is something that can be fixed on your end, or is this an issue with the way the screen readers are picking up the label? Thanks again for your continued help! Edit: Small fix
since this can be reproduced both with VoiceOver and NVDA the issue is most likely Chrome. So can you open a new issue here Make sure to use for repro steps when you file it to Chromium so we are sure that Electron is not causing this.
Is there anyone on the VS Code team that could tackle this one? I feel that someone on the originating team is likely to provide higher quality context + repro steps and is better suited to answer any follow-up questions that might result. Let me know if you disagree - thanks again for your time and continued help
I could do it, but I am time constrained this week, and next 3 weeks I am on vacation. So I could do it in August.
No worries, I don't think there's an issue with the August timeframe. Thanks and enjoy your vacation!
your does not work for Can you please transition it to a web extension I think you do not depend on any node api so it might be just that you declare it as a web extension.
I believe it should be transitioned to a web extension now, thanks for that heads up! Let me know if you have any issues running it.
Upstream
Update: We also have a similar issue with VoiceOver logged against our Functions extension. I'm consolidating the issues here for reference and editing the main issue to apply to both Windows and Mac. Let me know if you prefer me to open a new issue instead. Thank you! Reference issue:
Verified the issue in environment: Visual studio Code Version: 1.82.1 (Universal) Issue is fixed. hence closing the bug please find attcahment for reference.

<img width="1440" alt="MicrosoftTeams-image (1)" src=""