Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(659)

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/accessibility/ARIAConfig.js

Issue 2962673003: [DevTools] Bring ARIA config up to date with ARIA 1.1 (Closed)
Patch Set: Add aria-setsize and aria-posinset to row role Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
1 Accessibility.ARIAMetadata._config = { 5 Accessibility.ARIAMetadata._config = {
2 'attributes': { 6 'attributes': {
3 'aria-activedescendant': {'type': 'IDREF'}, 7 'aria-activedescendant': {'type': 'IDREF'},
4 'aria-atomic': {'default': 'false', 'type': 'boolean'}, 8 'aria-atomic': {'default': 'false', 'type': 'boolean'},
5 'aria-autocomplete': {'default': 'none', 'enum': ['inline', 'list', 'both', 'none'], 'type': 'token'}, 9 'aria-autocomplete': {'default': 'none', 'enum': ['inline', 'list', 'both', 'none'], 'type': 'token'},
6 'aria-busy': {'default': 'false', 'type': 'boolean'}, 10 'aria-busy': {'default': 'false', 'type': 'boolean'},
7 'aria-checked': {'default': 'undefined', 'enum': ['true', 'false', 'mixed', 'undefined'], 'type': 'token'}, 11 'aria-checked': {'default': 'undefined', 'enum': ['true', 'false', 'mixed', 'undefined'], 'type': 'token'},
12 'aria-colcount': {'type': 'integer'},
13 'aria-colindex': {'type': 'integer'},
14 'aria-colspan': {'type': 'integer'},
8 'aria-controls': {'type': 'IDREF_list'}, 15 'aria-controls': {'type': 'IDREF_list'},
16 'aria-current':
17 {'default': 'false', 'enum': ['page', 'step', 'location', 'date', 'time' , 'true', 'false'], 'type': 'token'},
9 'aria-describedby': {'type': 'IDREF_list'}, 18 'aria-describedby': {'type': 'IDREF_list'},
19 'aria-details': {'type': 'IDREF'},
10 'aria-disabled': {'default': 'false', 'type': 'boolean'}, 20 'aria-disabled': {'default': 'false', 'type': 'boolean'},
11 'aria-dropeffect': 21 'aria-dropeffect':
12 {'default': 'none', 'enum': ['copy', 'move', 'link', 'execute', 'popup', 'none'], 'type': 'token_list'}, 22 {'default': 'none', 'enum': ['copy', 'move', 'link', 'execute', 'popup', 'none'], 'type': 'token_list'},
23 'aria-errormessage': {'type': 'IDREF'},
13 'aria-expanded': {'default': 'undefined', 'enum': ['true', 'false', 'undefin ed'], 'type': 'token'}, 24 'aria-expanded': {'default': 'undefined', 'enum': ['true', 'false', 'undefin ed'], 'type': 'token'},
14 'aria-flowto': {'type': 'IDREF_list'}, 25 'aria-flowto': {'type': 'IDREF_list'},
15 'aria-grabbed': {'default': 'undefined', 'enum': ['true', 'false', 'undefine d'], 'type': 'token'}, 26 'aria-grabbed': {'default': 'undefined', 'enum': ['true', 'false', 'undefine d'], 'type': 'token'},
16 'aria-haspopup': {'default': 'false', 'type': 'boolean'}, 27 'aria-haspopup':
17 'aria-hidden': {'default': 'false', 'type': 'boolean'}, 28 {'default': 'false', 'enum': ['false', 'true', 'menu', 'listbox', 'tree' , 'grid', 'dialog'], 'type': 'token'},
29 'aria-hidden': {'default': 'undefined', 'enum': ['true', 'false', 'undefined '], 'type': 'token'},
18 'aria-invalid': {'default': 'false', 'enum': ['grammar', 'false', 'spelling' , 'true'], 'type': 'token'}, 30 'aria-invalid': {'default': 'false', 'enum': ['grammar', 'false', 'spelling' , 'true'], 'type': 'token'},
31 'aria-keyshortcuts': {'type': 'string'},
19 'aria-label': {'type': 'string'}, 32 'aria-label': {'type': 'string'},
20 'aria-labelledby': {'type': 'IDREF_list'}, 33 'aria-labelledby': {'type': 'IDREF_list'},
21 'aria-level': {'type': 'integer'}, 34 'aria-level': {'type': 'integer'},
22 'aria-live': {'default': 'off', 'enum': ['off', 'polite', 'assertive'], 'typ e': 'token'}, 35 'aria-live': {'default': 'off', 'enum': ['off', 'polite', 'assertive'], 'typ e': 'token'},
36 'aria-modal': {'default': 'false', 'type': 'boolean'},
23 'aria-multiline': {'default': 'false', 'type': 'boolean'}, 37 'aria-multiline': {'default': 'false', 'type': 'boolean'},
24 'aria-multiselectable': {'default': 'false', 'type': 'boolean'}, 38 'aria-multiselectable': {'default': 'false', 'type': 'boolean'},
25 'aria-orientation': {'default': 'vertical', 'enum': ['horizontal', 'vertical '], 'type': 'token'}, 39 'aria-orientation': {'default': 'undefined', 'enum': ['horizontal', 'undefin ed', 'vertical'], 'type': 'token'},
26 'aria-owns': {'type': 'IDREF_list'}, 40 'aria-owns': {'type': 'IDREF_list'},
41 'aria-placeholder': {'type': 'string'},
27 'aria-posinset': {'type': 'integer'}, 42 'aria-posinset': {'type': 'integer'},
28 'aria-pressed': {'default': 'undefined', 'enum': ['true', 'false', 'mixed', 'undefined'], 'type': 'token'}, 43 'aria-pressed': {'default': 'undefined', 'enum': ['true', 'false', 'mixed', 'undefined'], 'type': 'token'},
29 'aria-readonly': {'default': 'false', 'type': 'boolean'}, 44 'aria-readonly': {'default': 'false', 'type': 'boolean'},
30 'aria-relevant': 45 'aria-relevant':
31 {'default': 'additions text', 'enum': ['additions', 'removals', 'text', 'all'], 'type': 'token_list'}, 46 {'default': 'additions text', 'enum': ['additions', 'removals', 'text', 'all'], 'type': 'token_list'},
32 'aria-required': {'default': 'false', 'type': 'boolean'}, 47 'aria-required': {'default': 'false', 'type': 'boolean'},
48 'aria-roledescription': {'type': 'string'},
49 'aria-rowcount': {'type': 'integer'},
50 'aria-rowindex': {'type': 'integer'},
51 'aria-rowspan': {'type': 'integer'},
33 'aria-selected': {'default': 'undefined', 'enum': ['true', 'false', 'undefin ed'], 'type': 'token'}, 52 'aria-selected': {'default': 'undefined', 'enum': ['true', 'false', 'undefin ed'], 'type': 'token'},
34 'aria-setsize': {'type': 'integer'}, 53 'aria-setsize': {'type': 'integer'},
35 'aria-sort': {'default': 'none', 'enum': ['ascending', 'descending', 'none', 'other'], 'type': 'token'}, 54 'aria-sort': {'default': 'none', 'enum': ['ascending', 'descending', 'none', 'other'], 'type': 'token'},
36 'aria-valuemax': {'type': 'decimal'}, 55 'aria-valuemax': {'type': 'decimal'},
37 'aria-valuemin': {'type': 'decimal'}, 56 'aria-valuemin': {'type': 'decimal'},
38 'aria-valuenow': {'type': 'decimal'}, 57 'aria-valuenow': {'type': 'decimal'},
39 'aria-valuetext': {'type': 'string'}, 58 'aria-valuetext': {'type': 'string'},
40 'tabindex': {'type': 'integer'} 59 'tabindex': {'type': 'integer'}
41 }, 60 },
42 'roles': { 61 'roles': {
43 'alert': {'nameFrom': ['author'], 'superclasses': ['region']}, 62 'alert': {
44 'alertdialog': {'nameFrom': ['author'], 'superclasses': ['alert', 'dialog']} , 63 'nameFrom': ['author'],
45 'application': {'nameFrom': ['author'], 'superclasses': ['landmark']}, 64 'superclasses': ['section'],
46 'article': {'nameFrom': ['author'], 'superclasses': ['document', 'region']}, 65 'implicitValues': {'aria-live': 'assertive', 'aria-atomic': 'true'}
66 },
67 'alertdialog': {'nameFrom': ['author'], 'superclasses': ['alert', 'dialog'], 'nameRequired': true},
68 'application': {'nameFrom': ['author'], 'superclasses': ['structure'], 'name Required': true},
69 'article': {
70 'nameFrom': ['author'],
71 'superclasses': ['document'],
72 'supportedAttributes': ['aria-posinset', 'aria-setsize']
73 },
47 'banner': {'nameFrom': ['author'], 'superclasses': ['landmark']}, 74 'banner': {'nameFrom': ['author'], 'superclasses': ['landmark']},
48 'button': { 75 'button': {
49 'nameFrom': ['contents', 'author'], 76 'nameFrom': ['contents', 'author'],
50 'superclasses': ['command'], 77 'superclasses': ['command'],
51 'supportedAttributes': ['aria-expanded', 'aria-pressed'] 78 'supportedAttributes': ['aria-expanded', 'aria-pressed'],
79 'nameRequired': true,
80 'childrenPresentational': true
52 }, 81 },
53 'checkbox': {'nameFrom': ['contents', 'author'], 'requiredAttributes': ['ari a-checked'], 'superclasses': ['input']}, 82 'cell': {
aleventhal 2017/06/30 20:30:19 FYI only, I just sent the following email to publi
aboxhall 2017/07/06 01:58:52 Ah, noted. I'll take it out for now.
83 'namefrom': ['contents', 'author'],
84 'scope': 'row',
85 'superclasses': ['section'],
86 'supportedAttributes': ['aria-colindex', 'aria-colspan', 'aria-rowindex', 'aria-rowspan']
87 },
88 'checkbox': {
89 'nameFrom': ['contents', 'author'],
90 'requiredAttributes': ['aria-checked'],
91 'superclasses': ['input'],
92 'supportedAttributes': ['aria-readonly'],
93 'nameRequired': true,
94 'childrenPresentational': true,
95 'implicitValues': {'aria-checked': false}
96 },
54 'columnheader': { 97 'columnheader': {
55 'nameFrom': ['contents', 'author'], 98 'nameFrom': ['contents', 'author'],
56 'scope': ['row'], 99 'scope': ['row'],
57 'superclasses': ['gridcell', 'sectionhead', 'widget'], 100 'superclasses': ['gridcell', 'sectionhead', 'widget'],
58 'supportedAttributes': ['aria-sort'] 101 'supportedAttributes': ['aria-sort'],
102 'nameRequired': true
59 }, 103 },
60 'combobox': { 104 'combobox': {
61 'mustContain': ['listbox', 'textbox'], 105 // TODO(aboxhall): Follow up with Nektarios and Aaron regarding role on te xtbox
106 'mustContain': ['textbox'],
62 'nameFrom': ['author'], 107 'nameFrom': ['author'],
63 'requiredAttributes': ['aria-expanded'], 108 'requiredAttributes': ['aria-controls', 'aria-expanded'],
64 'superclasses': ['select'], 109 'superclasses': ['select'],
65 'supportedAttributes': ['aria-autocomplete', 'aria-required'] 110 'supportedAttributes': ['aria-autocomplete', 'aria-readonly', 'aria-requir ed'],
111 'nameRequired': true,
112 'implicitValues': {'aria-expanded': 'false', 'aria-haspopup': 'listbox'}
66 }, 113 },
67 'command': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['widg et']}, 114 'command': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['widg et']},
68 'complementary': {'nameFrom': ['author'], 'superclasses': ['landmark']}, 115 'complementary': {'nameFrom': ['author'], 'superclasses': ['landmark']},
69 'composite': { 116 'composite': {
70 'abstract': true, 117 'abstract': true,
71 'nameFrom': ['author'], 118 'nameFrom': ['author'],
72 'superclasses': ['widget'], 119 'superclasses': ['widget'],
73 'supportedAttributes': ['aria-activedescendant'], 120 'supportedAttributes': ['aria-activedescendant'],
74 }, 121 },
75 'contentinfo': {'nameFrom': ['author'], 'superclasses': ['landmark']}, 122 'contentinfo': {'nameFrom': ['author'], 'superclasses': ['landmark']},
76 'definition': {'nameFrom': ['author'], 'superclasses': ['section']}, 123 'definition': {'nameFrom': ['author'], 'superclasses': ['section']},
77 'dialog': {'nameFrom': ['author'], 'superclasses': ['window']}, 124 'dialog': {'nameFrom': ['author'], 'superclasses': ['window'], 'nameRequired ': true},
78 'directory': {'nameFrom': ['contents', 'author'], 'superclasses': ['list']}, 125 'directory': {'nameFrom': ['author'], 'superclasses': ['list']},
79 'document': {'nameFrom': ['author'], 'superclasses': ['structure'], 'support edAttributes': ['aria-expanded']}, 126 'document': {
aleventhal 2017/06/30 20:30:20 Document has nameRequired: false, believe or not
aboxhall 2017/07/06 01:58:52 Good catch, thanks. Fixed.
127 'nameFrom': ['author'],
128 'superclasses': ['structure'],
129 'supportedAttributes': ['aria-expanded'],
130 'nameRequired': true
131 },
132 'feed': {'nameFrom': ['author'], 'superclasses': ['list'], 'mustContain': [' article'], 'nameRequired': false},
133 'figure': {'namefrom': ['author'], 'superclasses': ['section'], 'nameRequire d': false},
80 'form': {'nameFrom': ['author'], 'superclasses': ['landmark']}, 134 'form': {'nameFrom': ['author'], 'superclasses': ['landmark']},
81 'grid': { 135 'grid': {
82 'mustContain': ['row', 'rowgroup', 'row'],
83 'nameFrom': ['author'], 136 'nameFrom': ['author'],
84 'superclasses': ['composite', 'region'], 137 'superclasses': ['composite', 'table'],
85 'supportedAttributes': ['aria-level', 'aria-multiselectable', 'aria-readon ly'] 138 'mustContain': ['row'],
aleventhal 2017/06/30 20:30:19 Spec says required owned elements are: row rowgrou
aboxhall 2017/07/06 01:58:52 Yeah, I punted on that for this CL, and for all si
139 'supportedAttributes': ['aria-level', 'aria-multiselectable', 'aria-readon ly'],
140 'nameRequired': true
86 }, 141 },
87 'gridcell': { 142 'gridcell': {
88 'nameFrom': ['contents', 'author'], 143 'nameFrom': ['contents', 'author'],
89 'scope': ['row'], 144 'scope': ['row'],
90 'superclasses': ['section', 'widget'], 145 'superclasses': ['cell', 'widget'],
91 'supportedAttributes': ['aria-readonly', 'aria-required', 'aria-selected'] 146 'supportedAttributes': ['aria-readonly', 'aria-required', 'aria-selected'] ,
147 'nameRequired': true
92 }, 148 },
93 'group': {'nameFrom': ['author'], 'superclasses': ['section'], 'supportedAtt ributes': ['aria-activedescendant']}, 149 'group': {'nameFrom': ['author'], 'superclasses': ['section'], 'supportedAtt ributes': ['aria-activedescendant']},
94 'heading': {'superclasses': ['sectionhead'], 'supportedAttributes': ['aria-l evel']}, 150 'heading': {
95 'img': {'nameFrom': ['author'], 'superclasses': ['section']}, 151 'namefrom': ['contents', 'author'],
152 'superclasses': ['sectionhead'],
153 'supportedAttributes': ['aria-level'],
154 'nameRequired': true,
155 'implicitValues': {'aria-level': '2'}
156 },
157 'img': {'nameFrom': ['author'], 'superclasses': ['section'], 'nameRequired': true, 'childrenPresentational': true},
96 'input': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['widget ']}, 158 'input': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['widget ']},
97 'landmark': {'abstract': true, 'nameFrom': ['contents', 'author'], 'supercla sses': ['region']}, 159 'landmark':
aleventhal 2017/06/30 20:30:19 landmark should be only nameFrom 'author'
aboxhall 2017/07/06 01:58:51 Done.
98 'link': {'nameFrom': ['contents', 'author'], 'superclasses': ['command'], 's upportedAttributes': ['aria-expanded']}, 160 {'abstract': true, 'nameFrom': ['contents', 'author'], 'superclasses': [ 'section'], 'nameRequired': false},
99 'list': {'mustContain': ['group', 'listitem', 'listitem'], 'nameFrom': ['aut hor'], 'superclasses': ['region']}, 161 'link': {
162 'nameFrom': ['contents', 'author'],
163 'superclasses': ['command'],
164 'supportedAttributes': ['aria-expanded'],
165 'nameRequired': true
166 },
167 'list': {
168 'mustContain': ['listitem'],
aleventhal 2017/06/30 20:30:20 Can contain a group group → listitem listitem
aboxhall 2017/07/06 01:58:52 TODO added.
169 'nameFrom': ['author'],
170 'superclasses': ['section'],
171 'nameRequired': true,
172 'implicitValues': {'aria-orientation': 'vertical'}
aleventhal 2017/06/30 20:30:20 No name required for list.
aboxhall 2017/07/06 01:58:52 Done.
173 },
100 'listbox': { 174 'listbox': {
175 'nameFrom': ['author'],
176 'superclasses': ['select'],
101 'mustContain': ['option'], 177 'mustContain': ['option'],
102 'nameFrom': ['author'], 178 'supportedAttributes': ['aria-multiselectable', 'aria-readonly', 'aria-req uired'],
103 'superclasses': ['list', 'select'], 179 'nameRequired': true,
104 'supportedAttributes': ['aria-multiselectable', 'aria-required'] 180 'implicitValues': {'aria-orientation': 'vertical'},
105 }, 181 },
106 'listitem': { 182 'listitem': {
107 'nameFrom': ['contents', 'author'], 183 'nameFrom': ['author'],
108 'scope': ['list'],
109 'superclasses': ['section'], 184 'superclasses': ['section'],
185 'scope': ['group', 'list'],
110 'supportedAttributes': ['aria-level', 'aria-posinset', 'aria-setsize'] 186 'supportedAttributes': ['aria-level', 'aria-posinset', 'aria-setsize']
111 }, 187 },
112 'log': {'nameFrom': ['author'], 'superclasses': ['region']}, 188 'log': {
189 'nameFrom': ['author'],
190 'superclasses': ['region'],
aleventhal 2017/06/30 20:30:20 superclass is section
aboxhall 2017/07/06 01:58:52 Done.
191 'nameRequired': true,
192 'implicitValues': {'aria-live': 'polite'}
193 },
113 'main': {'nameFrom': ['author'], 'superclasses': ['landmark']}, 194 'main': {'nameFrom': ['author'], 'superclasses': ['landmark']},
114 'marquee': {'superclasses': ['section']}, 195 'marquee': {'nameFrom': ['author'], 'superclasses': ['section'], 'nameRequir ed': true},
115 'math': {'nameFrom': ['author'], 'superclasses': ['section']}, 196 'math': {'nameFrom': ['author'], 'superclasses': ['section'], 'nameRequired' : true},
aleventhal 2017/06/30 20:30:20 math is childrenPresentational: true, although I h
aboxhall 2017/07/06 01:58:52 Hm, yeah, it does. Added with a TODO.
116 'menu': { 197 'menu': {
117 'mustContain': ['group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menuitemradio'], 198 'mustContain': ['group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menuitemradio'],
118 'nameFrom': ['author'], 199 'nameFrom': ['author'],
119 'superclasses': ['list', 'select'] 200 'superclasses': ['select'],
201 'implicitValues': {'aria-orientation': 'vertical'}
120 }, 202 },
121 'menubar': {'nameFrom': ['author'], 'superclasses': ['menu']}, 203 'menubar': {
122 'menuitem': {'nameFrom': ['contents', 'author'], 'scope': ['menu', 'menubar' ], 'superclasses': ['command']}, 204 'nameFrom': ['author'],
123 'menuitemcheckbox': 205 'superclasses': ['menu'],
124 {'nameFrom': ['contents', 'author'], 'scope': ['menu', 'menubar'], 'supe rclasses': ['checkbox', 'menuitem']}, 206 'mustContain': ['group', 'menuitem', 'menuitemradio', 'menuitemcheckbox'],
aleventhal 2017/06/30 20:30:20 This looks correct, but I want to point out that h
aboxhall 2017/07/06 01:58:52 Removed and added TODO, thanks.
207 'implicitValues': {'aria-orientation': 'horizontal'}
208 },
209 'menuitem': {
210 'nameFrom': ['contents', 'author'],
211 'scope': ['group', 'menu', 'menubar'],
212 'superclasses': ['command'],
213 'nameRequired': true
214 },
215 'menuitemcheckbox': {
216 'nameFrom': ['contents', 'author'],
217 'scope': ['menu', 'menubar'],
218 'superclasses': ['checkbox', 'menuitem'],
219 'nameRequired': true,
220 'childrenPresentational': true,
221 'implicitValues': {'aria-checked': false}
222 },
125 'menuitemradio': { 223 'menuitemradio': {
126 'nameFrom': ['contents', 'author'], 224 'nameFrom': ['contents', 'author'],
127 'scope': ['menu', 'menubar'], 225 'scope': ['menu', 'menubar', 'group'],
128 'superclasses': ['menuitemcheckbox', 'radio'] 226 'superclasses': ['menuitemcheckbox', 'radio'],
227 'nameRequired': true,
228 'childrenPresentational': true,
229 'implicitValues': {'aria-checked': false}
129 }, 230 },
130 'navigation': {'nameFrom': ['author'], 'superclasses': ['landmark']}, 231 'navigation': {'nameFrom': ['author'], 'superclasses': ['landmark']},
232 'none': {'superclasses': ['structure']},
131 'note': {'nameFrom': ['author'], 'superclasses': ['section']}, 233 'note': {'nameFrom': ['author'], 'superclasses': ['section']},
132 'option': { 234 'option': {
133 'nameFrom': ['contents', 'author'], 235 'nameFrom': ['contents', 'author'],
236 'scope': ['listbox'],
134 'superclasses': ['input'], 237 'superclasses': ['input'],
135 'supportedAttributes': ['aria-checked', 'aria-posinset', 'aria-selected', 'aria-setsize'] 238 'requiredAttributes': ['aria-selected'],
239 'supportedAttributes': ['aria-checked', 'aria-posinset', 'aria-setsize'],
240 'nameRequired': true,
241 'childrenPresentational': true,
242 'implicitValues': {'aria-selected': 'false'}
136 }, 243 },
137 'presentation': {'superclasses': ['structure']}, 244 'presentation': {'superclasses': ['structure']},
138 'progressbar': {'nameFrom': ['author'], 'superclasses': ['range']}, 245 'progressbar':
139 'radio': {'nameFrom': ['contents', 'author'], 'superclasses': ['checkbox', ' option']}, 246 {'nameFrom': ['author'], 'superclasses': ['range'], 'nameRequired': true , 'childrenPresentational': true},
247 'radio': {
248 'nameFrom': ['contents', 'author'],
249 'superclasses': ['input'],
250 'requiredAttributes': ['aria-checked'],
251 'supportedAttributes': ['aria-posinset', 'aria-setsize'],
252 'nameRequired': true,
253 'childrenPresentational': true,
254 'implicitValues': {'aria-checked': 'false'}
255 },
140 'radiogroup': { 256 'radiogroup': {
141 'mustContain': ['radio'],
142 'nameFrom': ['author'], 257 'nameFrom': ['author'],
143 'superclasses': ['select'], 258 'superclasses': ['select'],
144 'supportedAttributes': ['aria-required'] 259 'mustContain': ['radio'],
260 'supportedAttributes': ['aria-readonly', 'aria-required'],
261 'nameRequired': true
145 }, 262 },
146 'range': { 263 'range': {
147 'abstract': true, 264 'abstract': true,
148 'nameFrom': ['author'], 265 'nameFrom': ['author'],
149 'superclasses': ['widget'], 266 'superclasses': ['widget'],
150 'supportedAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext'] 267 'supportedAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext']
151 }, 268 },
152 'region': {'nameFrom': ['author'], 'superclasses': ['section']}, 269 'region': {'nameFrom': ['author'], 'superclasses': ['landmark'], 'nameRequir ed': true},
153 'roletype': { 270 'roletype': {
154 'abstract': true, 271 'abstract': true,
155 'supportedAttributes': [ 272 'supportedAttributes': [
156 'aria-atomic', 'aria-busy', 'aria-controls', 'aria-describedby', 'aria-d isabled', 'aria-dropeffect', 273 'aria-atomic', 'aria-busy', 'aria-controls', 'aria-current ', 'aria-describedby', 'aria-details',
157 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-inv alid', 'aria-label', 'aria-labelledby', 274 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-flowto' , 'aria-grabbed', 'aria-haspopup',
158 'aria-live', 'aria-owns', 'aria-relevant' 275 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live',
276 'aria-owns', 'aria-relevant', 'aria-roledescription'
159 ] 277 ]
160 }, 278 },
161 'row': { 279 'row': {
162 'mustContain': ['columnheader', 'gridcell', 'rowheader'],
163 'nameFrom': ['contents', 'author'], 280 'nameFrom': ['contents', 'author'],
164 'scope': ['grid', 'rowgroup', 'treegrid'],
165 'superclasses': ['group', 'widget'], 281 'superclasses': ['group', 'widget'],
166 'supportedAttributes': ['aria-level', 'aria-selected'] 282 'mustContain': ['cell', 'columnheader', 'gridcell', 'rowheader'],
283 'scope': ['grid', 'rowgroup', 'table', 'treegrid'],
284 'supportedAttributes':
285 ['aria-colindex', 'aria-level', 'aria-rowindex', 'aria-selected', 'ari a-setsize', 'aria-posinset']
aleventhal 2017/06/30 20:30:19 We can't add a comment in this JSON, correct? Othe
aboxhall 2017/07/06 01:58:52 Luckily this is JavaScript (for now) :P Comment a
167 }, 286 },
168 'rowgroup': 287 'rowgroup': {
169 {'mustContain': ['row'], 'nameFrom': ['contents', 'author'], 'scope': [' grid'], 'superclasses': ['group']}, 288 'nameFrom': ['contents', 'author'],
289 'superclasses': ['structure'],
290 'mustContain': ['row'],
291 'scope': ['grid', 'table', 'treegrid'],
292 },
170 'rowheader': { 293 'rowheader': {
171 'nameFrom': ['contents', 'author'], 294 'nameFrom': ['contents', 'author'],
172 'scope': ['row'], 295 'scope': ['row'],
173 'superclasses': ['gridcell', 'sectionhead', 'widget'], 296 'superclasses': ['cell', 'gridcell', 'sectionhead'],
174 'supportedAttributes': ['aria-sort'] 297 'supportedAttributes': ['aria-sort'],
298 'nameRequired': true
175 }, 299 },
176 'scrollbar': { 300 'scrollbar': {
177 'nameFrom': ['author'], 301 'nameFrom': ['author'],
178 'requiredAttributes': ['aria-controls', 'aria-orientation', 'aria-valuemax ', 'aria-valuemin', 'aria-valuenow'], 302 'requiredAttributes': ['aria-controls', 'aria-orientation', 'aria-valuemax ', 'aria-valuemin', 'aria-valuenow'],
179 'superclasses': ['input', 'range'] 303 'superclasses': ['range'],
304 'nameRequired': false,
305 'childrenPresentational': true,
306 'implicitValues': {'aria-orientation': 'vertical', 'aria-valuemin': '0', ' aria-valuemax': '100'}
180 }, 307 },
181 'search': {'nameFrom': ['author'], 'superclasses': ['landmark']}, 308 'search': {'nameFrom': ['author'], 'superclasses': ['landmark']},
182 'section': { 309 'searchbox': {'nameFrom': ['author'], 'superclasses': ['textbox'], 'nameRequ ired': true},
183 'abstract': true, 310 'section': {'abstract': true, 'superclasses': ['structure'], 'supportedAttri butes': ['aria-expanded']},
184 'nameFrom': ['contents', 'author'],
185 'superclasses': ['structure'],
186 'supportedAttributes': ['aria-expanded']
187 },
188 'sectionhead': { 311 'sectionhead': {
189 'abstract': true, 312 'abstract': true,
190 'nameFrom': ['contents', 'author'], 313 'nameFrom': ['contents', 'author'],
191 'superclasses': ['structure'], 314 'superclasses': ['structure'],
192 'supportedAttributes': ['aria-expanded'] 315 'supportedAttributes': ['aria-expanded']
193 }, 316 },
194 'select': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['compo site', 'group', 'input']}, 317 'select': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['compo site', 'group']},
195 'separator': { 318 // TODO(aboxhall): separator properties depend on focusability
aleventhal 2017/06/30 20:30:20 Maybe for now put aria-value* as supported instead
aboxhall 2017/07/06 01:58:52 Good idea, done.
196 'nameFrom': ['author'], 319 'separator': {'nameFrom': ['author'], 'superclasses': ['structure'], 'suppor tedAttributes': ['aria-orientation']},
197 'superclasses': ['structure'],
198 'supportedAttributes': ['aria-expanded', 'aria-orientation']
199 },
200 'slider': { 320 'slider': {
201 'nameFrom': ['author'], 321 'nameFrom': ['author'],
202 'requiredAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow'], 322 'requiredAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow'],
203 'superclasses': ['input', 'range'], 323 'superclasses': ['input', 'range'],
204 'supportedAttributes': ['aria-orientation'] 324 'supportedAttributes': ['aria-orientation'],
325 'nameRequired': true,
326 'childrenPresentational': true,
327 // TODO(aboxhall): aria-valuenow default is halfway between aria-valuemin and aria-valuemax
328 'implicitValues': {'aria-orientation': 'horizontal', 'aria-valuemin': '0', 'aria-valuemax': '100'}
aleventhal 2017/06/30 20:30:19 Well! You learn something new every day. Creating
aboxhall 2017/07/06 01:58:52 :)
205 }, 329 },
206 'spinbutton': { 330 'spinbutton': {
207 'nameFrom': ['author'], 331 'nameFrom': ['author'],
208 'requiredAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow'], 332 'requiredAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow'],
209 'superclasses': ['input', 'range'], 333 'superclasses': ['composite', 'input', 'range'],
210 'supportedAttributes': ['aria-required'] 334 'supportedAttributes': ['aria-required'],
aleventhal 2017/06/30 20:30:20 Needs aria-readonly
aboxhall 2017/07/06 01:58:52 Done.
335 'nameRequired': true,
336 'implicitValues': {'aria-valuenow': '0'}
211 }, 337 },
212 'status': {'superclasses': ['region']}, 338 'status': {
339 'nameFrom': ['author'],
340 'superclasses': ['section'],
341 'implicitValues': {'aria-live': 'polite', 'aria-atomic': 'true'}
342 },
213 'structure': {'abstract': true, 'superclasses': ['roletype']}, 343 'structure': {'abstract': true, 'superclasses': ['roletype']},
344 'switch': {
345 'nameFrom': ['contents', 'author'],
346 'superclasses': ['checkbox'],
347 'requiredAttributes': ['aria-checked'],
348 'nameRequired': true,
349 'childrenPresentational': true,
350 'implicitValues': {'aria-checked': 'false'}
351 },
214 'tab': { 352 'tab': {
215 'nameFrom': ['contents', 'author'], 353 'nameFrom': ['contents', 'author'],
216 'scope': ['tablist'], 354 'scope': ['tablist'],
217 'superclasses': ['sectionhead', 'widget'], 355 'superclasses': ['sectionhead', 'widget'],
218 'supportedAttributes': ['aria-selected'] 356 'supportedAttributes': ['aria-selected'],
357 'childrenPresentational': true,
358 'implicitValues': {'aria-selected': 'false'}
359 },
360 'table': {
361 'nameFrom': ['author'],
362 'superclasses': ['section'],
363 'mustContain': ['row'],
aleventhal 2017/06/30 20:30:20 rowgroup?
aboxhall 2017/07/06 01:58:52 TODO added.
364 'supportedAttributes': ['aria-colcount', 'aria-rowcount'],
365 'nameRequired': true
219 }, 366 },
220 'tablist': { 367 'tablist': {
368 'nameFrom': ['author'],
369 'superclasses': ['composite'],
221 'mustContain': ['tab'], 370 'mustContain': ['tab'],
222 'nameFrom': ['author'], 371 'supportedAttributes': ['aria-level', 'aria-multiselectable', 'aria-orient ation'],
223 'superclasses': ['composite', 'directory'], 372 'implicitValues': {'aria-orientation': 'horizontal'}
224 'supportedAttributes': ['aria-level']
225 }, 373 },
226 'tabpanel': {'nameFrom': ['author'], 'superclasses': ['region']}, 374 'tabpanel': {'nameFrom': ['author'], 'superclasses': ['section'], 'nameRequi red': true},
375 'term': {'nameFrom': ['author'], 'superclasses': ['section']},
227 'textbox': { 376 'textbox': {
228 'nameFrom': ['author'], 377 'nameFrom': ['author'],
229 'superclasses': ['input'], 378 'superclasses': ['input'],
230 'supportedAttributes': 379 'supportedAttributes': [
231 ['aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria -readonly', 'aria-required'] 380 'aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria-pl aceholder', 'aria-readonly',
381 'aria-required'
382 ],
383 'nameRequired': true
232 }, 384 },
233 'timer': {'nameFrom': ['author'], 'superclasses': ['status']}, 385 'timer': {'nameFrom': ['author'], 'superclasses': ['status']},
234 'toolbar': {'nameFrom': ['author'], 'superclasses': ['group']}, 386 'toolbar': {
235 'tooltip': {'superclasses': ['section']}, 387 'nameFrom': ['author'],
388 'superclasses': ['group'],
389 'supportedAttributes': ['aria-orientation'],
390 'implicitValues': {'aria-orientation': 'horizontal'}
391 },
392 'tooltip': {'nameFrom': ['contents', 'author'], 'superclasses': ['section'], 'nameRequired': true},
236 'tree': { 393 'tree': {
237 'mustContain': ['group', 'treeitem', 'treeitem'],
238 'nameFrom': ['author'], 394 'nameFrom': ['author'],
395 'mustContain': ['group', 'treeitem'],
239 'superclasses': ['select'], 396 'superclasses': ['select'],
240 'supportedAttributes': ['aria-multiselectable', 'aria-required'] 397 'supportedAttributes': ['aria-multiselectable', 'aria-required'],
398 'nameRequired': true,
399 'implicitValues': {'aria-orientation': 'vertical'}
241 }, 400 },
242 'treegrid': {'mustContain': ['row'], 'nameFrom': ['author'], 'superclasses': ['grid', 'tree']}, 401 'treegrid':
243 'treeitem': 402 {'mustContain': ['row'], 'nameFrom': ['author'], 'superclasses': ['grid' , 'tree'], 'nameRequired': true},
aleventhal 2017/06/30 20:30:19 treegrid can contain rowgroup
aboxhall 2017/07/06 01:58:52 TODO added.
244 {'nameFrom': ['contents', 'author'], 'scope': ['group', 'tree'], 'superc lasses': ['listitem', 'option']}, 403 'treeitem': {
404 'nameFrom': ['contents', 'author'],
405 'scope': ['group', 'tree'],
406 'superclasses': ['listitem', 'option'],
407 'nameRequired': true
408 },
245 'widget': {'abstract': true, 'superclasses': ['roletype']}, 409 'widget': {'abstract': true, 'superclasses': ['roletype']},
246 'window': { 410 'window': {
247 'abstract': true, 411 'abstract': true,
248 'nameFrom': ['author'], 412 'nameFrom': ['author'],
249 'superclasses': ['roletype'], 413 'superclasses': ['roletype'],
250 'supportedAttributes': ['aria-expanded'] 414 'supportedAttributes': ['aria-expanded', 'aria-modal']
251 } 415 }
252 } 416 }
253 }; 417 };
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698