Change:
reported by
I am calling here on navigating to the command. On macOS, this works beautifully. I haven't tested on Windows, but am not sure why it wouldn't work the same way there. One reason it wouldn't work for you is if shell integration isn't enabled or activated properly. I know we've seen that happen for you before. do you have any thoughts / can you repro the issue on windows: run some commands in the terminal open the accessible view use alt/opt+up/down arrow to navigate between commands you should hear the commands
It has nothing to do with the shell integration because the cursor actually moves, but the aria alert does not work on Windows.
hi If I follow the steps, I only hear command failed / command succeeded for each command with the corresponding audio cue, and these are actually communicated as screen reader alerts. if I do the same on the mac, I hear the command and the corresponding audio cue for success / failure, but not the command succeeded / command failed message. for the sake of troubleshooting, I disabled the signal announcement on Windows for command succeeded / command failed. After doing that I hear the audio cue only, but not announcement. I did a bit of debugging with NVDA, and the screen reader doesn't seem to be receiving any aria live update event. One easy fix here could be to simply select the text for the command when the cursor moves to previous / next command. That would completely eliminate the need for an aria alert, and would likely work consistently across all platforms.
Thanks so much for troubleshooting I love that idea, will try it tomorrow.
<!-- UNABLETOLOCATECOMMITMESSAGE repo --Issue marked as unreleased but unable to locate closing commit in repo history. If this was closed in a separate repo you can add the label directly, or comment .
I only hear the command status as "command succeeded" or "command failed" but not the command itself.
do you see the command selected? A gif would help
it is not working for me because of this:
Makes sense - this feature is built on shell integration, so that'll have to work to test this
provided a fix for the shell integration. This is verified with that fix.

Discussion:
goToSymbol(): void; disableHint(): void; getPosition(id: AccessibleViewProviderId): IPosition | undefined; <del> setPosition(position: IPosition, reveal?: boolean): void; </del> <ins> setPosition(position: IPosition, reveal?: boolean, select?: boolean): void; </ins> getLastPosition(): IPosition | undefined; /** * If the setting is enabled, provides the open accessible view hint as a localized string.

return this._editorWidget.getPosition() || undefined; } <del> setPosition(position: Position, reveal?: boolean): void { </del> <ins> setPosition(position: Position, reveal?: boolean, select?: boolean): void { </ins> this._editorWidget.setPosition(position); if (reveal) { this._editorWidget.revealPosition(position); } <ins> if (select) { const lineLength = this._editorWidget.getModel()?.getLineLength(position.lineNumber) ?? 0; if (lineLength) { this._editorWidget.setSelection({ startLineNumber: position.lineNumber, startColumn: 1, endLineNumber: position.lineNumber, endColumn: lineLength + 1 }); } } </ins> } getCodeBlockContext(): ICodeBlockActionContext | undefined {

const lastLine = this._accessibleView?.editorWidget.getModel()?.getLineCount(); return lastLine !== undefined && lastLine > 0 ? new Position(lastLine, 1) : undefined; } <del> setPosition(position: Position, reveal?: boolean): void { const editorWidget = this._accessibleView?.editorWidget; editorWidget?.setPosition(position); if (reveal) { editorWidget?.revealLine(position.lineNumber); } </del> <ins> setPosition(position: Position, reveal?: boolean, select?: boolean): void { this._accessibleView?.setPosition(position, reveal, select); </ins> } getCodeBlockContext(): ICodeBlockActionContext | undefined { return this._accessibleView?.getCodeBlockContext();

import { Event } from 'vs/base/common/event'; import { ICurrentPartialCommand } from 'vs/platform/terminal/common/capabilities/commandDetection/terminalCommand'; import { AccessibilitySignal, IAccessibilitySignalService } from 'vs/platform/accessibilitySignal/browser/accessibilitySignalService'; <del> import { alert } from 'vs/base/browser/ui/aria/aria'; </del> import { TerminalAccessibilitySettingId } from 'vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration'; import { TerminalAccessibilityCommandId } from 'vs/workbench/contrib/terminalContrib/accessibility/common/terminal.accessibility'; import { IAccessibleViewService, AccessibleViewProviderId, NavigationType } from 'vs/platform/accessibility/browser/accessibleView'; import { accessibleViewCurrentProviderId, accessibleViewIsShown } from 'vs/workbench/contrib/accessibility/browser/accessibilityConfiguration'; <ins> import { isWindows } from 'vs/base/common/platform'; </ins> // #region Terminal Contributions

return; } const command = filteredCommands[0]; <del> this._accessibleViewService.setPosition(new Position(command.lineNumber, 1), true); </del> const commandLine = command.command.command; <del> if (commandLine) { </del> <ins> if (!isWindows && commandLine) { this._accessibleViewService.setPosition(new Position(command.lineNumber, 1), true); </ins> alert(commandLine); <ins> } else { this._accessibleViewService.setPosition(new Position(command.lineNumber, 1), true, true); </ins> } if (command.exitCode) { this._accessibilitySignalService.playSignal(AccessibilitySignal.terminalCommandFailed); } else {