提交 639c83ba 编写于 作者: I isidor

tree and list remove getAriaRole since VoiceOver only properly works for tree...

tree and list remove getAriaRole since VoiceOver only properly works for tree / treeitem combination
上级 f652102e
......@@ -187,16 +187,14 @@ class Trait<T> implements ISpliceable<boolean>, IDisposable {
class FocusTrait<T> extends Trait<T> {
constructor(
private getDomId: IIdentityProvider<number>,
private ariaRole: string
private getDomId: IIdentityProvider<number>
) {
super('focused');
}
renderIndex(index: number, container: HTMLElement): void {
super.renderIndex(index, container);
container.setAttribute('role', this.ariaRole || 'treeitem');
container.setAttribute('role', 'treeitem');
container.setAttribute('id', this.getDomId(index));
if (this.contains(index)) {
......@@ -674,7 +672,6 @@ export class DefaultStyleController implements IStyleController {
export interface IListOptions<T> extends IListViewOptions, IListStyles {
identityProvider?: IIdentityProvider<T>;
ariaLabel?: string;
ariaRole?: string;
mouseSupport?: boolean;
selectOnMouseDown?: boolean;
focusOnMouseDown?: boolean;
......@@ -903,7 +900,7 @@ export class List<T> implements ISpliceable<T>, IDisposable {
renderers: IRenderer<T, any>[],
options: IListOptions<T> = DefaultOptions
) {
this.focus = new FocusTrait(i => this.getElementDomId(i), options.ariaRole);
this.focus = new FocusTrait(i => this.getElementDomId(i));
this.selection = new Trait('selected');
mixin(options, defaultStyles, false);
......
......@@ -56,10 +56,6 @@ export class AccessibilityProvider implements IAccessibilityProvider {
return model.accessibilityProvider && model.accessibilityProvider.getAriaLabel(element);
}
public getAriaRole(tree: ITree, element: any): string {
return 'listitem';
}
getPosInSet(tree: ITree, element: any): string {
const model = this.modelProvider.getModel();
let i = 0;
......@@ -144,4 +140,4 @@ export class Renderer implements IRenderer {
const model = this.modelProvider.getModel();
model.renderer.disposeTemplate(templateId, templateData);
}
}
}
\ No newline at end of file
......@@ -446,13 +446,6 @@ export interface IAccessibilityProvider {
*/
getAriaLabel(tree: ITree, element: any): string;
/**
* Given an element in the tree, return the ARIA role that should be associated with the
* item. This helps screen readers to provide a meaningful role for the currently focused
* tree element.
*/
getAriaRole(tree: ITree, element: any): string;
/**
* Given an element in the tree return its aria-posinset. Should be between 1 and aria-setsize
* https://www.w3.org/TR/wai-aria/states_and_properties#aria-posinset
......
......@@ -467,10 +467,6 @@ export class DefaultAccessibilityProvider implements _.IAccessibilityProvider {
getAriaLabel(tree: _.ITree, element: any): string {
return null;
}
getAriaRole(tree: _.ITree, element: any): string {
return null;
}
}
export class DefaultTreestyler implements _.ITreeStyler {
......
......@@ -208,17 +208,12 @@ export class ViewItem implements IViewItem {
this.element.style.height = this.height + 'px';
// ARIA
this.element.setAttribute('role', 'treeitem');
const accessibility = this.context.accessibilityProvider;
const ariaLabel = accessibility.getAriaLabel(this.context.tree, this.model.getElement());
if (ariaLabel) {
this.element.setAttribute('aria-label', ariaLabel);
}
const ariaRole = accessibility.getAriaRole(this.context.tree, this.model.getElement());
if (ariaRole) {
this.element.setAttribute('role', ariaRole);
}
if (accessibility.getPosInSet && accessibility.getSetSize) {
this.element.setAttribute('aria-setsize', accessibility.getSetSize());
this.element.setAttribute('aria-posinset', accessibility.getPosInSet(this.context.tree, this.model.getElement()));
......
......@@ -422,10 +422,6 @@ class AriaProvider implements tree.IAccessibilityProvider {
return undefined;
}
}
public getAriaRole(tree: tree.ITree, element: any): string {
return 'treeitem';
}
}
class VSash {
......
......@@ -79,8 +79,7 @@ export class BreakpointsView extends ViewletPanel {
new FunctionBreakpointInputRenderer(this.debugService, this.contextViewService, this.themeService)
], {
identityProvider: element => element.getId(),
multipleSelectionSupport: false,
ariaRole: 'checkbox'
multipleSelectionSupport: false
}) as WorkbenchList<IEnablement>;
CONTEXT_BREAKPOINTS_FOCUSED.bindTo(this.list.contextKeyService);
......
......@@ -592,8 +592,4 @@ class LoadedSciptsAccessibilityProvider implements IAccessibilityProvider {
}
return null;
}
public getAriaRole(tree: ITree, element: any): string {
return 'treeitem';
}
}
......@@ -556,8 +556,4 @@ class CallstackAccessibilityProvider implements IAccessibilityProvider {
return null;
}
public getAriaRole(tree: ITree, element: any): string {
return 'treeitem';
}
}
......@@ -312,10 +312,6 @@ export class ReplExpressionsAccessibilityProvider implements IAccessibilityProvi
return null;
}
public getAriaRole(tree: ITree, element: any): string {
return 'treeitem';
}
}
export class ReplExpressionsActionProvider implements IActionProvider {
......
......@@ -310,10 +310,6 @@ class VariablesAccessibilityProvider implements IAccessibilityProvider {
return null;
}
public getAriaRole(tree: ITree, element: any): string {
return 'treeitem';
}
}
class VariablesController extends BaseDebugController {
......
......@@ -334,10 +334,6 @@ class WatchExpressionsAccessibilityProvider implements IAccessibilityProvider {
return null;
}
public getAriaRole(tree: ITree, element: any): string {
return 'treeitem';
}
}
class WatchExpressionsController extends BaseDebugController {
......
......@@ -391,10 +391,6 @@ export class FileAccessibilityProvider implements IAccessibilityProvider {
public getAriaLabel(tree: ITree, stat: ExplorerItem): string {
return stat.name;
}
public getAriaRole(tree: ITree, element: any): string {
return 'treeitem';
}
}
// Explorer Controller
......
......@@ -311,8 +311,4 @@ export class MarkersTreeAccessibilityProvider implements IAccessibilityProvider
}
return null;
}
public getAriaRole(tree: ITree, element: any): string {
return 'treeitem';
}
}
......@@ -1396,10 +1396,6 @@ export class SettingsAccessibilityProvider implements IAccessibilityProvider {
return '';
}
public getAriaRole(tree: ITree, element: any): string {
return 'treeitem';
}
}
class NonExpandableOrSelectableTree extends Tree {
......@@ -1618,4 +1614,4 @@ class CopySettingAsJSONAction extends Action {
return TPromise.as(null);
}
}
}
\ No newline at end of file
......@@ -361,10 +361,6 @@ export class SearchAccessibilityProvider implements IAccessibilityProvider {
}
return undefined;
}
public getAriaRole(tree: ITree, element: any): string {
return 'treeitem';
}
}
export class SearchFilter implements IFilter {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册