OLD | NEW |
| 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': { |
| 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 'implicitValues': {'aria-checked': false} |
| 95 }, |
54 'columnheader': { | 96 'columnheader': { |
55 'nameFrom': ['contents', 'author'], | 97 'nameFrom': ['contents', 'author'], |
56 'scope': ['row'], | 98 'scope': ['row'], |
57 'superclasses': ['gridcell', 'sectionhead', 'widget'], | 99 'superclasses': ['gridcell', 'sectionhead', 'widget'], |
58 'supportedAttributes': ['aria-sort'] | 100 'supportedAttributes': ['aria-sort'], |
| 101 'nameRequired': true |
59 }, | 102 }, |
60 'combobox': { | 103 'combobox': { |
61 'mustContain': ['listbox', 'textbox'], | 104 // TODO(aboxhall): Follow up with Nektarios and Aaron regarding role on te
xtbox |
| 105 'mustContain': ['textbox'], |
62 'nameFrom': ['author'], | 106 'nameFrom': ['author'], |
63 'requiredAttributes': ['aria-expanded'], | 107 'requiredAttributes': ['aria-controls', 'aria-expanded'], |
64 'superclasses': ['select'], | 108 'superclasses': ['select'], |
65 'supportedAttributes': ['aria-autocomplete', 'aria-required'] | 109 'supportedAttributes': ['aria-autocomplete', 'aria-readonly', 'aria-requir
ed'], |
| 110 'nameRequired': true, |
| 111 'implicitValues': {'aria-expanded': 'false', 'aria-haspopup': 'listbox'} |
66 }, | 112 }, |
67 'command': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['widg
et']}, | 113 'command': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['widg
et']}, |
68 'complementary': {'nameFrom': ['author'], 'superclasses': ['landmark']}, | 114 'complementary': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
69 'composite': { | 115 'composite': { |
70 'abstract': true, | 116 'abstract': true, |
71 'nameFrom': ['author'], | 117 'nameFrom': ['author'], |
72 'superclasses': ['widget'], | 118 'superclasses': ['widget'], |
73 'supportedAttributes': ['aria-activedescendant'], | 119 'supportedAttributes': ['aria-activedescendant'], |
74 }, | 120 }, |
75 'contentinfo': {'nameFrom': ['author'], 'superclasses': ['landmark']}, | 121 'contentinfo': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
76 'definition': {'nameFrom': ['author'], 'superclasses': ['section']}, | 122 'definition': {'nameFrom': ['author'], 'superclasses': ['section']}, |
77 'dialog': {'nameFrom': ['author'], 'superclasses': ['window']}, | 123 'dialog': {'nameFrom': ['author'], 'superclasses': ['window'], 'nameRequired
': true}, |
78 'directory': {'nameFrom': ['contents', 'author'], 'superclasses': ['list']}, | 124 'directory': {'nameFrom': ['author'], 'superclasses': ['list']}, |
79 'document': {'nameFrom': ['author'], 'superclasses': ['structure'], 'support
edAttributes': ['aria-expanded']}, | 125 'document': { |
| 126 'nameFrom': ['author'], |
| 127 'superclasses': ['structure'], |
| 128 'supportedAttributes': ['aria-expanded'], |
| 129 'nameRequired': false |
| 130 }, |
| 131 'feed': {'nameFrom': ['author'], 'superclasses': ['list'], 'mustContain': ['
article'], 'nameRequired': false}, |
| 132 'figure': {'namefrom': ['author'], 'superclasses': ['section'], 'nameRequire
d': false}, |
80 'form': {'nameFrom': ['author'], 'superclasses': ['landmark']}, | 133 'form': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
81 'grid': { | 134 'grid': { |
82 'mustContain': ['row', 'rowgroup', 'row'], | |
83 'nameFrom': ['author'], | 135 'nameFrom': ['author'], |
84 'superclasses': ['composite', 'region'], | 136 'superclasses': ['composite', 'table'], |
85 'supportedAttributes': ['aria-level', 'aria-multiselectable', 'aria-readon
ly'] | 137 // TODO(aboxhall): Figure out how to express "rowgroup --> row" here. |
| 138 'mustContain': ['row'], |
| 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': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['sec
tion'], 'nameRequired': false}, |
98 'link': {'nameFrom': ['contents', 'author'], 'superclasses': ['command'], 's
upportedAttributes': ['aria-expanded']}, | 160 'link': { |
99 'list': {'mustContain': ['group', 'listitem', 'listitem'], 'nameFrom': ['aut
hor'], 'superclasses': ['region']}, | 161 'nameFrom': ['contents', 'author'], |
| 162 'superclasses': ['command'], |
| 163 'supportedAttributes': ['aria-expanded'], |
| 164 'nameRequired': true |
| 165 }, |
| 166 'list': { |
| 167 // TODO(aboxhall): Figure out how to express "group --> listitem" |
| 168 'mustContain': ['listitem'], |
| 169 'nameFrom': ['author'], |
| 170 'superclasses': ['section'], |
| 171 'implicitValues': {'aria-orientation': 'vertical'} |
| 172 }, |
100 'listbox': { | 173 'listbox': { |
| 174 'nameFrom': ['author'], |
| 175 'superclasses': ['select'], |
101 'mustContain': ['option'], | 176 'mustContain': ['option'], |
102 'nameFrom': ['author'], | 177 'supportedAttributes': ['aria-multiselectable', 'aria-readonly', 'aria-req
uired'], |
103 'superclasses': ['list', 'select'], | 178 'nameRequired': true, |
104 'supportedAttributes': ['aria-multiselectable', 'aria-required'] | 179 'implicitValues': {'aria-orientation': 'vertical'}, |
105 }, | 180 }, |
106 'listitem': { | 181 'listitem': { |
107 'nameFrom': ['contents', 'author'], | 182 'nameFrom': ['author'], |
108 'scope': ['list'], | |
109 'superclasses': ['section'], | 183 'superclasses': ['section'], |
| 184 'scope': ['group', 'list'], |
110 'supportedAttributes': ['aria-level', 'aria-posinset', 'aria-setsize'] | 185 'supportedAttributes': ['aria-level', 'aria-posinset', 'aria-setsize'] |
111 }, | 186 }, |
112 'log': {'nameFrom': ['author'], 'superclasses': ['region']}, | 187 'log': { |
| 188 'nameFrom': ['author'], |
| 189 'superclasses': ['section'], |
| 190 'nameRequired': true, |
| 191 'implicitValues': {'aria-live': 'polite'} |
| 192 }, |
113 'main': {'nameFrom': ['author'], 'superclasses': ['landmark']}, | 193 'main': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
114 'marquee': {'superclasses': ['section']}, | 194 'marquee': {'nameFrom': ['author'], 'superclasses': ['section'], 'nameRequir
ed': true}, |
115 'math': {'nameFrom': ['author'], 'superclasses': ['section']}, | 195 'math': { |
| 196 'nameFrom': ['author'], |
| 197 'superclasses': ['section'], |
| 198 'nameRequired': true, |
| 199 // TODO(aboxhall/aleventhal): this is what the spec says, but seems wrong. |
| 200 childrenPresentational: true |
| 201 }, |
116 'menu': { | 202 'menu': { |
117 'mustContain': ['group', 'menuitemradio', 'menuitem', 'menuitemcheckbox',
'menuitemradio'], | 203 'mustContain': ['group', 'menuitemradio', 'menuitem', 'menuitemcheckbox',
'menuitemradio'], |
118 'nameFrom': ['author'], | 204 'nameFrom': ['author'], |
119 'superclasses': ['list', 'select'] | 205 'superclasses': ['select'], |
| 206 'implicitValues': {'aria-orientation': 'vertical'} |
120 }, | 207 }, |
121 'menubar': {'nameFrom': ['author'], 'superclasses': ['menu']}, | 208 'menubar': { |
122 'menuitem': {'nameFrom': ['contents', 'author'], 'scope': ['menu', 'menubar'
], 'superclasses': ['command']}, | 209 'nameFrom': ['author'], |
123 'menuitemcheckbox': | 210 'superclasses': ['menu'], |
124 {'nameFrom': ['contents', 'author'], 'scope': ['menu', 'menubar'], 'supe
rclasses': ['checkbox', 'menuitem']}, | 211 // TODO(aboxhall): figure out how to express "group --> {menuitem, menuite
mradio, menuitemcheckbox}" |
| 212 'mustContain': ['menuitem', 'menuitemradio', 'menuitemcheckbox'], |
| 213 'implicitValues': {'aria-orientation': 'horizontal'} |
| 214 }, |
| 215 'menuitem': { |
| 216 'nameFrom': ['contents', 'author'], |
| 217 'scope': ['group', 'menu', 'menubar'], |
| 218 'superclasses': ['command'], |
| 219 'nameRequired': true |
| 220 }, |
| 221 'menuitemcheckbox': { |
| 222 'nameFrom': ['contents', 'author'], |
| 223 'scope': ['menu', 'menubar'], |
| 224 'superclasses': ['checkbox', 'menuitem'], |
| 225 'nameRequired': true, |
| 226 'childrenPresentational': true, |
| 227 'implicitValues': {'aria-checked': false} |
| 228 }, |
125 'menuitemradio': { | 229 'menuitemradio': { |
126 'nameFrom': ['contents', 'author'], | 230 'nameFrom': ['contents', 'author'], |
127 'scope': ['menu', 'menubar'], | 231 'scope': ['menu', 'menubar', 'group'], |
128 'superclasses': ['menuitemcheckbox', 'radio'] | 232 'superclasses': ['menuitemcheckbox', 'radio'], |
| 233 'nameRequired': true, |
| 234 'childrenPresentational': true, |
| 235 'implicitValues': {'aria-checked': false} |
129 }, | 236 }, |
130 'navigation': {'nameFrom': ['author'], 'superclasses': ['landmark']}, | 237 'navigation': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
| 238 'none': {'superclasses': ['structure']}, |
131 'note': {'nameFrom': ['author'], 'superclasses': ['section']}, | 239 'note': {'nameFrom': ['author'], 'superclasses': ['section']}, |
132 'option': { | 240 'option': { |
133 'nameFrom': ['contents', 'author'], | 241 'nameFrom': ['contents', 'author'], |
| 242 'scope': ['listbox'], |
134 'superclasses': ['input'], | 243 'superclasses': ['input'], |
135 'supportedAttributes': ['aria-checked', 'aria-posinset', 'aria-selected',
'aria-setsize'] | 244 'requiredAttributes': ['aria-selected'], |
| 245 'supportedAttributes': ['aria-checked', 'aria-posinset', 'aria-setsize'], |
| 246 'nameRequired': true, |
| 247 'childrenPresentational': true, |
| 248 'implicitValues': {'aria-selected': 'false'} |
136 }, | 249 }, |
137 'presentation': {'superclasses': ['structure']}, | 250 'presentation': {'superclasses': ['structure']}, |
138 'progressbar': {'nameFrom': ['author'], 'superclasses': ['range']}, | 251 'progressbar': |
139 'radio': {'nameFrom': ['contents', 'author'], 'superclasses': ['checkbox', '
option']}, | 252 {'nameFrom': ['author'], 'superclasses': ['range'], 'nameRequired': true
, 'childrenPresentational': true}, |
| 253 'radio': { |
| 254 'nameFrom': ['contents', 'author'], |
| 255 'superclasses': ['input'], |
| 256 'requiredAttributes': ['aria-checked'], |
| 257 'supportedAttributes': ['aria-posinset', 'aria-setsize'], |
| 258 'nameRequired': true, |
| 259 'childrenPresentational': true, |
| 260 'implicitValues': {'aria-checked': 'false'} |
| 261 }, |
140 'radiogroup': { | 262 'radiogroup': { |
141 'mustContain': ['radio'], | |
142 'nameFrom': ['author'], | 263 'nameFrom': ['author'], |
143 'superclasses': ['select'], | 264 'superclasses': ['select'], |
144 'supportedAttributes': ['aria-required'] | 265 'mustContain': ['radio'], |
| 266 'supportedAttributes': ['aria-readonly', 'aria-required'], |
| 267 'nameRequired': true |
145 }, | 268 }, |
146 'range': { | 269 'range': { |
147 'abstract': true, | 270 'abstract': true, |
148 'nameFrom': ['author'], | 271 'nameFrom': ['author'], |
149 'superclasses': ['widget'], | 272 'superclasses': ['widget'], |
150 'supportedAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow',
'aria-valuetext'] | 273 'supportedAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow',
'aria-valuetext'] |
151 }, | 274 }, |
152 'region': {'nameFrom': ['author'], 'superclasses': ['section']}, | 275 'region': {'nameFrom': ['author'], 'superclasses': ['landmark'], 'nameRequir
ed': true}, |
153 'roletype': { | 276 'roletype': { |
154 'abstract': true, | 277 'abstract': true, |
155 'supportedAttributes': [ | 278 'supportedAttributes': [ |
156 'aria-atomic', 'aria-busy', 'aria-controls', 'aria-describedby', 'aria-d
isabled', 'aria-dropeffect', | 279 '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', | 280 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-flowto'
, 'aria-grabbed', 'aria-haspopup', |
158 'aria-live', 'aria-owns', 'aria-relevant' | 281 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label',
'aria-labelledby', 'aria-live', |
| 282 'aria-owns', 'aria-relevant', 'aria-roledescription' |
159 ] | 283 ] |
160 }, | 284 }, |
161 'row': { | 285 'row': { |
162 'mustContain': ['columnheader', 'gridcell', 'rowheader'], | |
163 'nameFrom': ['contents', 'author'], | 286 'nameFrom': ['contents', 'author'], |
164 'scope': ['grid', 'rowgroup', 'treegrid'], | |
165 'superclasses': ['group', 'widget'], | 287 'superclasses': ['group', 'widget'], |
166 'supportedAttributes': ['aria-level', 'aria-selected'] | 288 'mustContain': ['cell', 'columnheader', 'gridcell', 'rowheader'], |
| 289 'scope': ['grid', 'rowgroup', 'table', 'treegrid'], |
| 290 // TODO(aboxhall/aleventhal): This is not in the spec yet, but |
| 291 // setsize and posinset are included here for treegrid |
| 292 // purposes. Issue already filed on spec. Remove this comment |
| 293 // when spec updated. |
| 294 'supportedAttributes': |
| 295 ['aria-colindex', 'aria-level', 'aria-rowindex', 'aria-selected', 'ari
a-setsize', 'aria-posinset'] |
167 }, | 296 }, |
168 'rowgroup': | 297 'rowgroup': { |
169 {'mustContain': ['row'], 'nameFrom': ['contents', 'author'], 'scope': ['
grid'], 'superclasses': ['group']}, | 298 'nameFrom': ['contents', 'author'], |
| 299 'superclasses': ['structure'], |
| 300 'mustContain': ['row'], |
| 301 'scope': ['grid', 'table', 'treegrid'], |
| 302 }, |
170 'rowheader': { | 303 'rowheader': { |
171 'nameFrom': ['contents', 'author'], | 304 'nameFrom': ['contents', 'author'], |
172 'scope': ['row'], | 305 'scope': ['row'], |
173 'superclasses': ['gridcell', 'sectionhead', 'widget'], | 306 'superclasses': ['cell', 'gridcell', 'sectionhead'], |
174 'supportedAttributes': ['aria-sort'] | 307 'supportedAttributes': ['aria-sort'], |
| 308 'nameRequired': true |
175 }, | 309 }, |
176 'scrollbar': { | 310 'scrollbar': { |
177 'nameFrom': ['author'], | 311 'nameFrom': ['author'], |
178 'requiredAttributes': ['aria-controls', 'aria-orientation', 'aria-valuemax
', 'aria-valuemin', 'aria-valuenow'], | 312 'requiredAttributes': ['aria-controls', 'aria-orientation', 'aria-valuemax
', 'aria-valuemin', 'aria-valuenow'], |
179 'superclasses': ['input', 'range'] | 313 'superclasses': ['range'], |
| 314 'nameRequired': false, |
| 315 'childrenPresentational': true, |
| 316 'implicitValues': {'aria-orientation': 'vertical', 'aria-valuemin': '0', '
aria-valuemax': '100'} |
180 }, | 317 }, |
181 'search': {'nameFrom': ['author'], 'superclasses': ['landmark']}, | 318 'search': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
182 'section': { | 319 'searchbox': {'nameFrom': ['author'], 'superclasses': ['textbox'], 'nameRequ
ired': true}, |
183 'abstract': true, | 320 'section': {'abstract': true, 'superclasses': ['structure'], 'supportedAttri
butes': ['aria-expanded']}, |
184 'nameFrom': ['contents', 'author'], | |
185 'superclasses': ['structure'], | |
186 'supportedAttributes': ['aria-expanded'] | |
187 }, | |
188 'sectionhead': { | 321 'sectionhead': { |
189 'abstract': true, | 322 'abstract': true, |
190 'nameFrom': ['contents', 'author'], | 323 'nameFrom': ['contents', 'author'], |
191 'superclasses': ['structure'], | 324 'superclasses': ['structure'], |
192 'supportedAttributes': ['aria-expanded'] | 325 'supportedAttributes': ['aria-expanded'] |
193 }, | 326 }, |
194 'select': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['compo
site', 'group', 'input']}, | 327 'select': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['compo
site', 'group']}, |
195 'separator': { | 328 'separator': { |
196 'nameFrom': ['author'], | 329 'nameFrom': ['author'], |
| 330 // TODO(aboxhall): superclass depends on focusability, but |
| 331 // doesn't affect required/supported attributes |
197 'superclasses': ['structure'], | 332 'superclasses': ['structure'], |
198 'supportedAttributes': ['aria-expanded', 'aria-orientation'] | 333 // TODO(aboxhall): required attributes depend on focusability |
| 334 'supportedAttributes': ['aria-orientation', 'aria-valuemin', 'aria-valuema
x', 'aria-valuenow', 'aria-valuetext'] |
199 }, | 335 }, |
200 'slider': { | 336 'slider': { |
201 'nameFrom': ['author'], | 337 'nameFrom': ['author'], |
202 'requiredAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow'], | 338 'requiredAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow'], |
203 'superclasses': ['input', 'range'], | 339 'superclasses': ['input', 'range'], |
204 'supportedAttributes': ['aria-orientation'] | 340 'supportedAttributes': ['aria-orientation'], |
| 341 'nameRequired': true, |
| 342 'childrenPresentational': true, |
| 343 // TODO(aboxhall): aria-valuenow default is halfway between |
| 344 // aria-valuemin and aria-valuemax |
| 345 'implicitValues': {'aria-orientation': 'horizontal', 'aria-valuemin': '0',
'aria-valuemax': '100'} |
205 }, | 346 }, |
206 'spinbutton': { | 347 'spinbutton': { |
207 'nameFrom': ['author'], | 348 'nameFrom': ['author'], |
208 'requiredAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow'], | 349 'requiredAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow'], |
209 'superclasses': ['input', 'range'], | 350 'superclasses': ['composite', 'input', 'range'], |
210 'supportedAttributes': ['aria-required'] | 351 'supportedAttributes': ['aria-required', 'aria-readonly'], |
| 352 'nameRequired': true, |
| 353 'implicitValues': {'aria-valuenow': '0'} |
211 }, | 354 }, |
212 'status': {'superclasses': ['region']}, | 355 'status': { |
| 356 'nameFrom': ['author'], |
| 357 'superclasses': ['section'], |
| 358 'implicitValues': {'aria-live': 'polite', 'aria-atomic': 'true'} |
| 359 }, |
213 'structure': {'abstract': true, 'superclasses': ['roletype']}, | 360 'structure': {'abstract': true, 'superclasses': ['roletype']}, |
| 361 'switch': { |
| 362 'nameFrom': ['contents', 'author'], |
| 363 'superclasses': ['checkbox'], |
| 364 'requiredAttributes': ['aria-checked'], |
| 365 'nameRequired': true, |
| 366 'childrenPresentational': true, |
| 367 'implicitValues': {'aria-checked': 'false'} |
| 368 }, |
214 'tab': { | 369 'tab': { |
215 'nameFrom': ['contents', 'author'], | 370 'nameFrom': ['contents', 'author'], |
216 'scope': ['tablist'], | 371 'scope': ['tablist'], |
217 'superclasses': ['sectionhead', 'widget'], | 372 'superclasses': ['sectionhead', 'widget'], |
218 'supportedAttributes': ['aria-selected'] | 373 'supportedAttributes': ['aria-selected'], |
| 374 'childrenPresentational': true, |
| 375 'implicitValues': {'aria-selected': 'false'} |
| 376 }, |
| 377 'table': { |
| 378 'nameFrom': ['author'], |
| 379 'superclasses': ['section'], |
| 380 // TODO(aboxhall): Figure out how to express "rowgroup --> row" |
| 381 'mustContain': ['row'], |
| 382 'supportedAttributes': ['aria-colcount', 'aria-rowcount'], |
| 383 'nameRequired': true |
219 }, | 384 }, |
220 'tablist': { | 385 'tablist': { |
| 386 'nameFrom': ['author'], |
| 387 'superclasses': ['composite'], |
221 'mustContain': ['tab'], | 388 'mustContain': ['tab'], |
222 'nameFrom': ['author'], | 389 'supportedAttributes': ['aria-level', 'aria-multiselectable', 'aria-orient
ation'], |
223 'superclasses': ['composite', 'directory'], | 390 'implicitValues': {'aria-orientation': 'horizontal'} |
224 'supportedAttributes': ['aria-level'] | |
225 }, | 391 }, |
226 'tabpanel': {'nameFrom': ['author'], 'superclasses': ['region']}, | 392 'tabpanel': {'nameFrom': ['author'], 'superclasses': ['section'], 'nameRequi
red': true}, |
| 393 'term': {'nameFrom': ['author'], 'superclasses': ['section']}, |
227 'textbox': { | 394 'textbox': { |
228 'nameFrom': ['author'], | 395 'nameFrom': ['author'], |
229 'superclasses': ['input'], | 396 'superclasses': ['input'], |
230 'supportedAttributes': | 397 'supportedAttributes': [ |
231 ['aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria
-readonly', 'aria-required'] | 398 'aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria-pl
aceholder', 'aria-readonly', |
| 399 'aria-required' |
| 400 ], |
| 401 'nameRequired': true |
232 }, | 402 }, |
233 'timer': {'nameFrom': ['author'], 'superclasses': ['status']}, | 403 'timer': {'nameFrom': ['author'], 'superclasses': ['status']}, |
234 'toolbar': {'nameFrom': ['author'], 'superclasses': ['group']}, | 404 'toolbar': { |
235 'tooltip': {'superclasses': ['section']}, | 405 'nameFrom': ['author'], |
| 406 'superclasses': ['group'], |
| 407 'supportedAttributes': ['aria-orientation'], |
| 408 'implicitValues': {'aria-orientation': 'horizontal'} |
| 409 }, |
| 410 'tooltip': {'nameFrom': ['contents', 'author'], 'superclasses': ['section'],
'nameRequired': true}, |
236 'tree': { | 411 'tree': { |
237 'mustContain': ['group', 'treeitem', 'treeitem'], | |
238 'nameFrom': ['author'], | 412 'nameFrom': ['author'], |
| 413 'mustContain': ['group', 'treeitem'], |
239 'superclasses': ['select'], | 414 'superclasses': ['select'], |
240 'supportedAttributes': ['aria-multiselectable', 'aria-required'] | 415 'supportedAttributes': ['aria-multiselectable', 'aria-required'], |
| 416 'nameRequired': true, |
| 417 'implicitValues': {'aria-orientation': 'vertical'} |
241 }, | 418 }, |
242 'treegrid': {'mustContain': ['row'], 'nameFrom': ['author'], 'superclasses':
['grid', 'tree']}, | 419 'treegrid': { |
243 'treeitem': | 420 // TODO(aboxhall): Figure out how to express "rowgroup --> row" |
244 {'nameFrom': ['contents', 'author'], 'scope': ['group', 'tree'], 'superc
lasses': ['listitem', 'option']}, | 421 'mustContain': ['row'], |
| 422 'nameFrom': ['author'], |
| 423 'superclasses': ['grid', 'tree'], |
| 424 'nameRequired': true |
| 425 }, |
| 426 'treeitem': { |
| 427 'nameFrom': ['contents', 'author'], |
| 428 'scope': ['group', 'tree'], |
| 429 'superclasses': ['listitem', 'option'], |
| 430 'nameRequired': true |
| 431 }, |
245 'widget': {'abstract': true, 'superclasses': ['roletype']}, | 432 'widget': {'abstract': true, 'superclasses': ['roletype']}, |
246 'window': { | 433 'window': { |
247 'abstract': true, | 434 'abstract': true, |
248 'nameFrom': ['author'], | 435 'nameFrom': ['author'], |
249 'superclasses': ['roletype'], | 436 'superclasses': ['roletype'], |
250 'supportedAttributes': ['aria-expanded'] | 437 'supportedAttributes': ['aria-expanded', 'aria-modal'] |
251 } | 438 } |
252 } | 439 } |
253 }; | 440 }; |
OLD | NEW |