Skip to content

Commit 639c83b

Browse files
committed
tree and list remove getAriaRole since VoiceOver only properly works for tree / treeitem combination
1 parent f652102 commit 639c83b

File tree

16 files changed

+7
-71
lines changed

16 files changed

+7
-71
lines changed

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

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -187,16 +187,14 @@ class Trait<T> implements ISpliceable<boolean>, IDisposable {
187187
class FocusTrait<T> extends Trait<T> {
188188

189189
constructor(
190-
private getDomId: IIdentityProvider<number>,
191-
private ariaRole: string
190+
private getDomId: IIdentityProvider<number>
192191
) {
193192
super('focused');
194193
}
195194

196195
renderIndex(index: number, container: HTMLElement): void {
197196
super.renderIndex(index, container);
198-
199-
container.setAttribute('role', this.ariaRole || 'treeitem');
197+
container.setAttribute('role', 'treeitem');
200198
container.setAttribute('id', this.getDomId(index));
201199

202200
if (this.contains(index)) {
@@ -674,7 +672,6 @@ export class DefaultStyleController implements IStyleController {
674672
export interface IListOptions<T> extends IListViewOptions, IListStyles {
675673
identityProvider?: IIdentityProvider<T>;
676674
ariaLabel?: string;
677-
ariaRole?: string;
678675
mouseSupport?: boolean;
679676
selectOnMouseDown?: boolean;
680677
focusOnMouseDown?: boolean;
@@ -903,7 +900,7 @@ export class List<T> implements ISpliceable<T>, IDisposable {
903900
renderers: IRenderer<T, any>[],
904901
options: IListOptions<T> = DefaultOptions
905902
) {
906-
this.focus = new FocusTrait(i => this.getElementDomId(i), options.ariaRole);
903+
this.focus = new FocusTrait(i => this.getElementDomId(i));
907904
this.selection = new Trait('selected');
908905

909906
mixin(options, defaultStyles, false);

src/vs/base/parts/quickopen/browser/quickOpenViewer.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,6 @@ export class AccessibilityProvider implements IAccessibilityProvider {
5656
return model.accessibilityProvider && model.accessibilityProvider.getAriaLabel(element);
5757
}
5858

59-
public getAriaRole(tree: ITree, element: any): string {
60-
return 'listitem';
61-
}
62-
6359
getPosInSet(tree: ITree, element: any): string {
6460
const model = this.modelProvider.getModel();
6561
let i = 0;
@@ -144,4 +140,4 @@ export class Renderer implements IRenderer {
144140
const model = this.modelProvider.getModel();
145141
model.renderer.disposeTemplate(templateId, templateData);
146142
}
147-
}
143+
}

src/vs/base/parts/tree/browser/tree.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -446,13 +446,6 @@ export interface IAccessibilityProvider {
446446
*/
447447
getAriaLabel(tree: ITree, element: any): string;
448448

449-
/**
450-
* Given an element in the tree, return the ARIA role that should be associated with the
451-
* item. This helps screen readers to provide a meaningful role for the currently focused
452-
* tree element.
453-
*/
454-
getAriaRole(tree: ITree, element: any): string;
455-
456449
/**
457450
* Given an element in the tree return its aria-posinset. Should be between 1 and aria-setsize
458451
* https://www.w3.org/TR/wai-aria/states_and_properties#aria-posinset

src/vs/base/parts/tree/browser/treeDefaults.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -467,10 +467,6 @@ export class DefaultAccessibilityProvider implements _.IAccessibilityProvider {
467467
getAriaLabel(tree: _.ITree, element: any): string {
468468
return null;
469469
}
470-
471-
getAriaRole(tree: _.ITree, element: any): string {
472-
return null;
473-
}
474470
}
475471

476472
export class DefaultTreestyler implements _.ITreeStyler {

src/vs/base/parts/tree/browser/treeView.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -208,17 +208,12 @@ export class ViewItem implements IViewItem {
208208
this.element.style.height = this.height + 'px';
209209

210210
// ARIA
211+
this.element.setAttribute('role', 'treeitem');
211212
const accessibility = this.context.accessibilityProvider;
212213
const ariaLabel = accessibility.getAriaLabel(this.context.tree, this.model.getElement());
213214
if (ariaLabel) {
214215
this.element.setAttribute('aria-label', ariaLabel);
215216
}
216-
217-
const ariaRole = accessibility.getAriaRole(this.context.tree, this.model.getElement());
218-
if (ariaRole) {
219-
this.element.setAttribute('role', ariaRole);
220-
}
221-
222217
if (accessibility.getPosInSet && accessibility.getSetSize) {
223218
this.element.setAttribute('aria-setsize', accessibility.getSetSize());
224219
this.element.setAttribute('aria-posinset', accessibility.getPosInSet(this.context.tree, this.model.getElement()));

src/vs/editor/contrib/referenceSearch/referencesWidget.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -422,10 +422,6 @@ class AriaProvider implements tree.IAccessibilityProvider {
422422
return undefined;
423423
}
424424
}
425-
426-
public getAriaRole(tree: tree.ITree, element: any): string {
427-
return 'treeitem';
428-
}
429425
}
430426

431427
class VSash {

src/vs/workbench/parts/debug/browser/breakpointsView.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,7 @@ export class BreakpointsView extends ViewletPanel {
7979
new FunctionBreakpointInputRenderer(this.debugService, this.contextViewService, this.themeService)
8080
], {
8181
identityProvider: element => element.getId(),
82-
multipleSelectionSupport: false,
83-
ariaRole: 'checkbox'
82+
multipleSelectionSupport: false
8483
}) as WorkbenchList<IEnablement>;
8584

8685
CONTEXT_BREAKPOINTS_FOCUSED.bindTo(this.list.contextKeyService);

src/vs/workbench/parts/debug/browser/loadedScriptsView.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -592,8 +592,4 @@ class LoadedSciptsAccessibilityProvider implements IAccessibilityProvider {
592592
}
593593
return null;
594594
}
595-
596-
public getAriaRole(tree: ITree, element: any): string {
597-
return 'treeitem';
598-
}
599595
}

src/vs/workbench/parts/debug/electron-browser/callStackView.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -556,8 +556,4 @@ class CallstackAccessibilityProvider implements IAccessibilityProvider {
556556

557557
return null;
558558
}
559-
560-
public getAriaRole(tree: ITree, element: any): string {
561-
return 'treeitem';
562-
}
563559
}

src/vs/workbench/parts/debug/electron-browser/replViewer.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -312,10 +312,6 @@ export class ReplExpressionsAccessibilityProvider implements IAccessibilityProvi
312312

313313
return null;
314314
}
315-
316-
public getAriaRole(tree: ITree, element: any): string {
317-
return 'treeitem';
318-
}
319315
}
320316

321317
export class ReplExpressionsActionProvider implements IActionProvider {

src/vs/workbench/parts/debug/electron-browser/variablesView.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -310,10 +310,6 @@ class VariablesAccessibilityProvider implements IAccessibilityProvider {
310310

311311
return null;
312312
}
313-
314-
public getAriaRole(tree: ITree, element: any): string {
315-
return 'treeitem';
316-
}
317313
}
318314

319315
class VariablesController extends BaseDebugController {

src/vs/workbench/parts/debug/electron-browser/watchExpressionsView.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -334,10 +334,6 @@ class WatchExpressionsAccessibilityProvider implements IAccessibilityProvider {
334334

335335
return null;
336336
}
337-
338-
public getAriaRole(tree: ITree, element: any): string {
339-
return 'treeitem';
340-
}
341337
}
342338

343339
class WatchExpressionsController extends BaseDebugController {

src/vs/workbench/parts/files/electron-browser/views/explorerViewer.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -391,10 +391,6 @@ export class FileAccessibilityProvider implements IAccessibilityProvider {
391391
public getAriaLabel(tree: ITree, stat: ExplorerItem): string {
392392
return stat.name;
393393
}
394-
395-
public getAriaRole(tree: ITree, element: any): string {
396-
return 'treeitem';
397-
}
398394
}
399395

400396
// Explorer Controller

src/vs/workbench/parts/markers/electron-browser/markersTreeViewer.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,4 @@ export class MarkersTreeAccessibilityProvider implements IAccessibilityProvider
311311
}
312312
return null;
313313
}
314-
315-
public getAriaRole(tree: ITree, element: any): string {
316-
return 'treeitem';
317-
}
318314
}

src/vs/workbench/parts/preferences/browser/settingsTree.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1396,10 +1396,6 @@ export class SettingsAccessibilityProvider implements IAccessibilityProvider {
13961396

13971397
return '';
13981398
}
1399-
1400-
public getAriaRole(tree: ITree, element: any): string {
1401-
return 'treeitem';
1402-
}
14031399
}
14041400

14051401
class NonExpandableOrSelectableTree extends Tree {
@@ -1618,4 +1614,4 @@ class CopySettingAsJSONAction extends Action {
16181614

16191615
return TPromise.as(null);
16201616
}
1621-
}
1617+
}

src/vs/workbench/parts/search/browser/searchResultsView.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -361,10 +361,6 @@ export class SearchAccessibilityProvider implements IAccessibilityProvider {
361361
}
362362
return undefined;
363363
}
364-
365-
public getAriaRole(tree: ITree, element: any): string {
366-
return 'treeitem';
367-
}
368364
}
369365

370366
export class SearchFilter implements IFilter {

0 commit comments

Comments
 (0)