Skip to content

Commit 9efdb20

Browse files
committed
lists should use list role. Tree should use tree role
1 parent 5cf50df commit 9efdb20

4 files changed

Lines changed: 10 additions & 5 deletions

File tree

src/vs/base/browser/ui/list/list.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ export interface IIdentityProvider<T> {
6464
}
6565

6666
export enum ListAriaRootRole {
67+
/** default list structure role */
68+
LIST = 'list',
69+
6770
/** default tree structure role */
6871
TREE = 'tree',
6972

src/vs/base/browser/ui/list/listWidget.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -901,7 +901,7 @@ const DefaultOptions = {
901901
onDragOver() { return false; },
902902
drop() { }
903903
},
904-
ariaRootRole: ListAriaRootRole.TREE
904+
ariaRootRole: ListAriaRootRole.LIST
905905
};
906906

907907
// TODO@Joao: move these utils into a SortedArray class
@@ -1225,7 +1225,7 @@ export class List<T> implements ISpliceable<T>, IDisposable {
12251225
this.view = new ListView(container, virtualDelegate, renderers, viewOptions);
12261226

12271227
if (typeof _options.ariaRole !== 'string') {
1228-
this.view.domNode.setAttribute('role', ListAriaRootRole.TREE);
1228+
this.view.domNode.setAttribute('role', ListAriaRootRole.LIST);
12291229
} else {
12301230
this.view.domNode.setAttribute('role', _options.ariaRole);
12311231
}

src/vs/base/browser/ui/tree/abstractTree.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import 'vs/css!./media/tree';
77
import { IDisposable, dispose, Disposable, toDisposable, DisposableStore } from 'vs/base/common/lifecycle';
88
import { IListOptions, List, IListStyles, MouseController, DefaultKeyboardNavigationDelegate } from 'vs/base/browser/ui/list/listWidget';
9-
import { IListVirtualDelegate, IListRenderer, IListMouseEvent, IListEvent, IListContextMenuEvent, IListDragAndDrop, IListDragOverReaction, IKeyboardNavigationLabelProvider, IIdentityProvider, IKeyboardNavigationDelegate } from 'vs/base/browser/ui/list/list';
9+
import { IListVirtualDelegate, IListRenderer, IListMouseEvent, IListEvent, IListContextMenuEvent, IListDragAndDrop, IListDragOverReaction, IKeyboardNavigationLabelProvider, IIdentityProvider, IKeyboardNavigationDelegate, ListAriaRootRole } from 'vs/base/browser/ui/list/list';
1010
import { append, $, toggleClass, getDomNodePagePosition, removeClass, addClass, hasClass, hasParentWithClass, createStyleSheet, clearNode, addClasses, removeClasses } from 'vs/base/browser/dom';
1111
import { Event, Relay, Emitter, EventBufferer } from 'vs/base/common/event';
1212
import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
@@ -197,7 +197,8 @@ function asListOptions<T, TFilterData, TRef>(modelProvider: () => ITreeModel<T,
197197
getRole: options.ariaProvider && options.ariaProvider.getRole ? (node) => {
198198
return options.ariaProvider!.getRole!(node.element);
199199
} : () => 'treeitem'
200-
}
200+
},
201+
ariaRole: ListAriaRootRole.TREE
201202
};
202203
}
203204

src/vs/base/browser/ui/tree/asyncDataTree.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import { ComposedTreeDelegate, IAbstractTreeOptions, IAbstractTreeOptionsUpdate } from 'vs/base/browser/ui/tree/abstractTree';
77
import { ObjectTree, IObjectTreeOptions, CompressibleObjectTree, ICompressibleTreeRenderer, ICompressibleKeyboardNavigationLabelProvider, ICompressibleObjectTreeOptions } from 'vs/base/browser/ui/tree/objectTree';
8-
import { IListVirtualDelegate, IIdentityProvider, IListDragAndDrop, IListDragOverReaction } from 'vs/base/browser/ui/list/list';
8+
import { IListVirtualDelegate, IIdentityProvider, IListDragAndDrop, IListDragOverReaction, ListAriaRootRole } from 'vs/base/browser/ui/list/list';
99
import { ITreeElement, ITreeNode, ITreeRenderer, ITreeEvent, ITreeMouseEvent, ITreeContextMenuEvent, ITreeSorter, ICollapseStateChangeEvent, IAsyncDataSource, ITreeDragAndDrop, TreeError, WeakMapper, ITreeFilter, TreeVisibility, TreeFilterResult } from 'vs/base/browser/ui/tree/tree';
1010
import { IDisposable, dispose, DisposableStore } from 'vs/base/common/lifecycle';
1111
import { Emitter, Event } from 'vs/base/common/event';
@@ -272,6 +272,7 @@ function asObjectTreeOptions<TInput, T, TFilterData>(options?: IAsyncDataTreeOpt
272272
return options.ariaProvider?.isChecked!(e.element as T);
273273
} : undefined
274274
},
275+
ariaRole: ListAriaRootRole.TREE,
275276
additionalScrollHeight: options.additionalScrollHeight
276277
};
277278
}

0 commit comments

Comments
 (0)