From 287f4f1a13bcb29c4ac51f76a424e1f1baebff9f Mon Sep 17 00:00:00 2001 From: isidor Date: Mon, 19 Jun 2017 15:47:00 +0200 Subject: [PATCH] List: set aria-setsize and aria-posinset #27900 --- src/vs/base/browser/ui/list/listWidget.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 {