Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
ab7a507c
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
ab7a507c
编写于
9月 24, 2018
作者:
I
Isidor Nikolic
提交者:
GitHub
9月 24, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #59236 from Microsoft/isidorn/listAriaRole
Introduce aria role to tree and list
上级
f79b5941
2ca5759e
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
69 addition
and
4 deletion
+69
-4
src/vs/base/browser/ui/list/listWidget.ts
src/vs/base/browser/ui/list/listWidget.ts
+4
-0
src/vs/base/parts/quickopen/browser/quickOpenViewer.ts
src/vs/base/parts/quickopen/browser/quickOpenViewer.ts
+5
-1
src/vs/base/parts/tree/browser/tree.ts
src/vs/base/parts/tree/browser/tree.ts
+7
-0
src/vs/base/parts/tree/browser/treeDefaults.ts
src/vs/base/parts/tree/browser/treeDefaults.ts
+4
-0
src/vs/base/parts/tree/browser/treeView.ts
src/vs/base/parts/tree/browser/treeView.ts
+6
-1
src/vs/editor/contrib/referenceSearch/referencesWidget.ts
src/vs/editor/contrib/referenceSearch/referencesWidget.ts
+4
-0
src/vs/workbench/parts/debug/browser/breakpointsView.ts
src/vs/workbench/parts/debug/browser/breakpointsView.ts
+2
-1
src/vs/workbench/parts/debug/browser/loadedScriptsView.ts
src/vs/workbench/parts/debug/browser/loadedScriptsView.ts
+4
-0
src/vs/workbench/parts/debug/electron-browser/callStackView.ts
...s/workbench/parts/debug/electron-browser/callStackView.ts
+4
-0
src/vs/workbench/parts/debug/electron-browser/replViewer.ts
src/vs/workbench/parts/debug/electron-browser/replViewer.ts
+4
-0
src/vs/workbench/parts/debug/electron-browser/variablesView.ts
...s/workbench/parts/debug/electron-browser/variablesView.ts
+4
-0
src/vs/workbench/parts/debug/electron-browser/watchExpressionsView.ts
...ench/parts/debug/electron-browser/watchExpressionsView.ts
+4
-0
src/vs/workbench/parts/files/electron-browser/views/explorerViewer.ts
...ench/parts/files/electron-browser/views/explorerViewer.ts
+4
-0
src/vs/workbench/parts/markers/electron-browser/markersTreeViewer.ts
...bench/parts/markers/electron-browser/markersTreeViewer.ts
+4
-0
src/vs/workbench/parts/preferences/browser/settingsTree.ts
src/vs/workbench/parts/preferences/browser/settingsTree.ts
+5
-1
src/vs/workbench/parts/search/browser/searchResultsView.ts
src/vs/workbench/parts/search/browser/searchResultsView.ts
+4
-0
未找到文件。
src/vs/base/browser/ui/list/listWidget.ts
浏览文件 @
ab7a507c
...
...
@@ -672,6 +672,7 @@ 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
;
...
...
@@ -949,6 +950,9 @@ export class List<T> implements ISpliceable<T>, IDisposable {
if
(
options
.
ariaLabel
)
{
this
.
view
.
domNode
.
setAttribute
(
'
aria-label
'
,
localize
(
'
aria list
'
,
"
{0}. Use the navigation keys to navigate.
"
,
options
.
ariaLabel
));
}
if
(
options
.
ariaRole
)
{
this
.
view
.
domNode
.
setAttribute
(
'
role
'
,
options
.
ariaRole
);
}
this
.
style
(
options
);
}
...
...
src/vs/base/parts/quickopen/browser/quickOpenViewer.ts
浏览文件 @
ab7a507c
...
...
@@ -56,6 +56,10 @@ 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
;
...
...
@@ -140,4 +144,4 @@ export class Renderer implements IRenderer {
const
model
=
this
.
modelProvider
.
getModel
();
model
.
renderer
.
disposeTemplate
(
templateId
,
templateData
);
}
}
\ No newline at end of file
}
src/vs/base/parts/tree/browser/tree.ts
浏览文件 @
ab7a507c
...
...
@@ -446,6 +446,13 @@ 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
...
...
src/vs/base/parts/tree/browser/treeDefaults.ts
浏览文件 @
ab7a507c
...
...
@@ -467,6 +467,10 @@ 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
{
...
...
src/vs/base/parts/tree/browser/treeView.ts
浏览文件 @
ab7a507c
...
...
@@ -208,12 +208,17 @@ 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
()));
...
...
src/vs/editor/contrib/referenceSearch/referencesWidget.ts
浏览文件 @
ab7a507c
...
...
@@ -422,6 +422,10 @@ class AriaProvider implements tree.IAccessibilityProvider {
return
undefined
;
}
}
public
getAriaRole
(
tree
:
tree
.
ITree
,
element
:
any
):
string
{
return
'
treeitem
'
;
}
}
class
VSash
{
...
...
src/vs/workbench/parts/debug/browser/breakpointsView.ts
浏览文件 @
ab7a507c
...
...
@@ -79,7 +79,8 @@ export class BreakpointsView extends ViewletPanel {
new
FunctionBreakpointInputRenderer
(
this
.
debugService
,
this
.
contextViewService
,
this
.
themeService
)
],
{
identityProvider
:
element
=>
element
.
getId
(),
multipleSelectionSupport
:
false
multipleSelectionSupport
:
false
,
ariaRole
:
'
checkbox
'
})
as
WorkbenchList
<
IEnablement
>
;
CONTEXT_BREAKPOINTS_FOCUSED
.
bindTo
(
this
.
list
.
contextKeyService
);
...
...
src/vs/workbench/parts/debug/browser/loadedScriptsView.ts
浏览文件 @
ab7a507c
...
...
@@ -592,4 +592,8 @@ class LoadedSciptsAccessibilityProvider implements IAccessibilityProvider {
}
return
null
;
}
public
getAriaRole
(
tree
:
ITree
,
element
:
any
):
string
{
return
'
treeitem
'
;
}
}
src/vs/workbench/parts/debug/electron-browser/callStackView.ts
浏览文件 @
ab7a507c
...
...
@@ -556,4 +556,8 @@ class CallstackAccessibilityProvider implements IAccessibilityProvider {
return
null
;
}
public
getAriaRole
(
tree
:
ITree
,
element
:
any
):
string
{
return
'
treeitem
'
;
}
}
src/vs/workbench/parts/debug/electron-browser/replViewer.ts
浏览文件 @
ab7a507c
...
...
@@ -312,6 +312,10 @@ export class ReplExpressionsAccessibilityProvider implements IAccessibilityProvi
return
null
;
}
public
getAriaRole
(
tree
:
ITree
,
element
:
any
):
string
{
return
'
treeitem
'
;
}
}
export
class
ReplExpressionsActionProvider
implements
IActionProvider
{
...
...
src/vs/workbench/parts/debug/electron-browser/variablesView.ts
浏览文件 @
ab7a507c
...
...
@@ -310,6 +310,10 @@ class VariablesAccessibilityProvider implements IAccessibilityProvider {
return
null
;
}
public
getAriaRole
(
tree
:
ITree
,
element
:
any
):
string
{
return
'
treeitem
'
;
}
}
class
VariablesController
extends
BaseDebugController
{
...
...
src/vs/workbench/parts/debug/electron-browser/watchExpressionsView.ts
浏览文件 @
ab7a507c
...
...
@@ -334,6 +334,10 @@ class WatchExpressionsAccessibilityProvider implements IAccessibilityProvider {
return
null
;
}
public
getAriaRole
(
tree
:
ITree
,
element
:
any
):
string
{
return
'
treeitem
'
;
}
}
class
WatchExpressionsController
extends
BaseDebugController
{
...
...
src/vs/workbench/parts/files/electron-browser/views/explorerViewer.ts
浏览文件 @
ab7a507c
...
...
@@ -391,6 +391,10 @@ 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
...
...
src/vs/workbench/parts/markers/electron-browser/markersTreeViewer.ts
浏览文件 @
ab7a507c
...
...
@@ -311,4 +311,8 @@ export class MarkersTreeAccessibilityProvider implements IAccessibilityProvider
}
return
null
;
}
public
getAriaRole
(
tree
:
ITree
,
element
:
any
):
string
{
return
'
treeitem
'
;
}
}
src/vs/workbench/parts/preferences/browser/settingsTree.ts
浏览文件 @
ab7a507c
...
...
@@ -1396,6 +1396,10 @@ export class SettingsAccessibilityProvider implements IAccessibilityProvider {
return
''
;
}
public
getAriaRole
(
tree
:
ITree
,
element
:
any
):
string
{
return
'
treeitem
'
;
}
}
class
NonExpandableOrSelectableTree
extends
Tree
{
...
...
@@ -1614,4 +1618,4 @@ class CopySettingAsJSONAction extends Action {
return
TPromise
.
as
(
null
);
}
}
\ No newline at end of file
}
src/vs/workbench/parts/search/browser/searchResultsView.ts
浏览文件 @
ab7a507c
...
...
@@ -361,6 +361,10 @@ 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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录