diff --git a/src/vs/base/browser/ui/list/listWidget.ts b/src/vs/base/browser/ui/list/listWidget.ts index 1ed888d7f2a..0e3598aa839 100644 --- a/src/vs/base/browser/ui/list/listWidget.ts +++ b/src/vs/base/browser/ui/list/listWidget.ts @@ -656,7 +656,10 @@ export class List implements ISpliceable, IDisposable { } splice(start: number, deleteCount: number, elements: T[] = []): void { - this.eventBufferer.bufferEvents(() => this.spliceable.splice(start, deleteCount, elements)); + this.eventBufferer.bufferEvents(() => { + this.spliceable.splice(start, deleteCount, elements); + this.view.domNode.setAttribute('aria-setsize', this.length.toString()); + }); } get length(): number { @@ -712,6 +715,7 @@ export class List implements ISpliceable, IDisposable { setFocus(indexes: number[]): void { indexes = indexes.sort(numericSort); this.focus.set(indexes); + this.view.domNode.setAttribute('aria-posinset', indexes.length ? (indexes[0] + 1).toString() : undefined); } focusNext(n = 1, loop = false): void {