List: set aria-setsize and aria-posinset

#27900
This commit is contained in:
isidor
2017-06-19 15:47:00 +02:00
parent 729564783c
commit 287f4f1a13

View File

@@ -656,7 +656,10 @@ export class List<T> implements ISpliceable<T>, 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<T> implements ISpliceable<T>, 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 {