| 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 |