Change:
Have a response that contains references to code, e.g. : ! Start screen reader and click on the response. Notice how the full URLs are being read out aloud which are very long. Verbatim text: I think this stems from the fact that we just take the response as string here:
Btw I have a similar challenge for the text-to-speech integration where I am thinking about converting the markdown string to a plain text string using : But I did notice that this would remove some text, such as ordered list.
made a good point in our standup today: why are we not leveraging the HTML screen reader support for chat items but use ?
The HTML screen reader support requires users to enter different modes to navigate - browse/focus mode. Feedback from screen reader users suggested this is not user friendly. Users will examine content in detail in the chat accessible view, not here. Providing an overview of the response with aria alert is desired. This is similar to how sighted users see the response streaming in. Screen reader users press escape if they don't wish to hear the content.
I agree it's not good that it's reading the full URLs. A similar problem is here and my solution to that will be to remove those links and provide an alternate way of setting any keybindings which are undefined.
Potential verification found: I asked for the location of some code, and after Copilot finished typing out the response, it announced the entire response, including all the link text and full command IDs.
LGTM now. I might've forgotten to update something.
A screenshot of the text that was announced would help to know if this was fixed or not
nvm. The symbols are good but the URLs still expand !
unclear how this could be happening as I'm using
figured it out
It is still reading the complete path for me.
and the complete path is expected. what's not expected is these chars
going to see if I can repro on windows
does not reproduce for me on windows either . It makes no sense that this would happen - , we literally parse that stuff out. could you pls debug in oss here? !
I believe the issue is fixed now. I notice that when the announcement is read out that the links are now announced correctly. When I click on the response, the links are read with the Markdown formatting again, but I believe that this behaviour is out of scope of the issue.

Discussion:
import { AccessibilityProgressSignalScheduler } from 'vs/platform/accessibilitySignal/browser/progressAccessibilitySignalScheduler'; import { IChatAccessibilityService } from 'vs/workbench/contrib/chat/browser/chat'; import { IChatResponseViewModel } from 'vs/workbench/contrib/chat/common/chatViewModel'; <ins> import { renderStringAsPlaintext } from 'vs/base/browser/markdownRenderer'; </ins> const CHAT_RESPONSE_PENDING_ALLOWANCE_MS = 4000; export class ChatAccessibilityService extends Disposable implements IChatAccessibilityService {

const isPanelChat = typeof response !== 'string'; const responseContent = typeof response === 'string' ? response : response?.response.asString(); this._accessibilitySignalService.playSignal(AccessibilitySignal.chatResponseReceived, { allowManyInParallel: true }); <del> if (!response) { </del> <ins> if (!response || !responseContent) { </ins> return; } const errorDetails = isPanelChat && response.errorDetails ? ` ${response.errorDetails.message}` : ''; <del> status(responseContent + errorDetails); </del> <ins> status(renderStringAsPlaintext(responseContent) + errorDetails); </ins> } }