Change:
cc something we should do as a result of discussion with
i think we should use or to indicate this when going to next range since this info is otherwise just strictly visual.
so the idea is the following: command go to next/previous commenting range : "Commenting range lines 4-10" And: on a comment widget : "Comment on lines 3-7" or "Comment on line 3"
I think the latter works well enough already. It's the former that I think we need. !
Actually, I wonder if the precise line number is important. Given a user isn't told what line number they're on when they move their cursor, perhaps instead we could say "spans 4 lines". Since a user has invoked this command, they know that it's a comment range, so we probably want to leave out "comment/commentable" to decrease noise
IMO, the line reference could be useful when users want to backtrace later.
shall we leave out the term 'Comment' here and just say 'lines 730-736' to reduce verbosity?
Or "Lines 1 to 5 can be commented on" as a screen reader user can disrupt it mid message via escape?
I am leaning toward just "Lines 1 to 5" given the user invoked the command so knows it's a comment range already.
Thanks for making the change!
open an editor that has some commentable ranges. Turn on a screen reader. use the command jump to next /previous commenting range. verify you hear the range like "lines 123 to 128" as the cursor's position gets updated.
nothing is being announced for me with that command, I have screen reader optimized and commenting verbosity on
depending on what you have going on otherwise, it will wait to say that since we're using instead of here.
are you seeing it jump to the commenting ranges?
works on my desktop, does not work on my surface laptop - neither the speech viewer nor through volume, nothing is read at all when running that command by NVDA. It is successfully navigating between commentable regions.
sounds like you've verified this works on your desktop. I'm curious to know if other aria alerts are working on your surface laptop - for example, in the chat input, accept a slash command completion. press backspace -you should hear that the state was cleared.

Discussion:
import { AccessibilityVerbositySettingId } from 'vs/workbench/contrib/accessibility/browser/accessibilityConfiguration'; import { AccessibilityCommandId } from 'vs/workbench/contrib/accessibility/common/accessibilityCommands'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; <ins> import { IAccessibilityService } from 'vs/platform/accessibility/common/accessibility'; </ins> export const ID = 'editor.contrib.review';

@IConfigurationService private readonly configurationService: IConfigurationService, @IContextKeyService contextKeyService: IContextKeyService, @IEditorService private readonly editorService: IEditorService, <del> @IKeybindingService private readonly keybindingService: IKeybindingService </del> <ins> @IKeybindingService private readonly keybindingService: IKeybindingService, @IAccessibilityService private readonly accessibilityService: IAccessibilityService </ins> ) { this._commentInfos = []; this._commentWidgets = [];

this.editor.setPosition(position); this.editor.revealLineInCenterIfOutsideViewport(position.lineNumber); } <ins> if (this.accessibilityService.isScreenReaderOptimized()) { const commentRangeStart = range?.getStartPosition().lineNumber; const commentRangeEnd = range?.getEndPosition().lineNumber; if (commentRangeStart && commentRangeEnd) { const oneLine = commentRangeStart === commentRangeEnd; oneLine ? status(nls.localize('commentRange', "Line {0}", commentRangeStart)) : status(nls.localize('commentRangeStart', "Lines {0} to {1}", commentRangeStart, commentRangeEnd)); } } </ins> } public nextCommentingRange(): void {