Index: third_party/WebKit/Source/devtools/front_end/accessibility/ARIAConfig.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/accessibility/ARIAConfig.js b/third_party/WebKit/Source/devtools/front_end/accessibility/ARIAConfig.js |
index 217f6e74df3b6fe9a87dbb442ee281500e6caf35..031b595497ae7793476b10cddb0c9afcb2dc571a 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/accessibility/ARIAConfig.js |
+++ b/third_party/WebKit/Source/devtools/front_end/accessibility/ARIAConfig.js |
@@ -1,3 +1,7 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
Accessibility.ARIAMetadata._config = { |
'attributes': { |
'aria-activedescendant': {'type': 'IDREF'}, |
@@ -5,31 +9,46 @@ Accessibility.ARIAMetadata._config = { |
'aria-autocomplete': {'default': 'none', 'enum': ['inline', 'list', 'both', 'none'], 'type': 'token'}, |
'aria-busy': {'default': 'false', 'type': 'boolean'}, |
'aria-checked': {'default': 'undefined', 'enum': ['true', 'false', 'mixed', 'undefined'], 'type': 'token'}, |
+ 'aria-colcount': {'type': 'integer'}, |
+ 'aria-colindex': {'type': 'integer'}, |
+ 'aria-colspan': {'type': 'integer'}, |
'aria-controls': {'type': 'IDREF_list'}, |
+ 'aria-current': |
+ {'default': 'false', 'enum': ['page', 'step', 'location', 'date', 'time', 'true', 'false'], 'type': 'token'}, |
'aria-describedby': {'type': 'IDREF_list'}, |
+ 'aria-details': {'type': 'IDREF'}, |
'aria-disabled': {'default': 'false', 'type': 'boolean'}, |
'aria-dropeffect': |
{'default': 'none', 'enum': ['copy', 'move', 'link', 'execute', 'popup', 'none'], 'type': 'token_list'}, |
+ 'aria-errormessage': {'type': 'IDREF'}, |
'aria-expanded': {'default': 'undefined', 'enum': ['true', 'false', 'undefined'], 'type': 'token'}, |
'aria-flowto': {'type': 'IDREF_list'}, |
'aria-grabbed': {'default': 'undefined', 'enum': ['true', 'false', 'undefined'], 'type': 'token'}, |
- 'aria-haspopup': {'default': 'false', 'type': 'boolean'}, |
- 'aria-hidden': {'default': 'false', 'type': 'boolean'}, |
+ 'aria-haspopup': |
+ {'default': 'false', 'enum': ['false', 'true', 'menu', 'listbox', 'tree', 'grid', 'dialog'], 'type': 'token'}, |
+ 'aria-hidden': {'default': 'undefined', 'enum': ['true', 'false', 'undefined'], 'type': 'token'}, |
'aria-invalid': {'default': 'false', 'enum': ['grammar', 'false', 'spelling', 'true'], 'type': 'token'}, |
+ 'aria-keyshortcuts': {'type': 'string'}, |
'aria-label': {'type': 'string'}, |
'aria-labelledby': {'type': 'IDREF_list'}, |
'aria-level': {'type': 'integer'}, |
'aria-live': {'default': 'off', 'enum': ['off', 'polite', 'assertive'], 'type': 'token'}, |
+ 'aria-modal': {'default': 'false', 'type': 'boolean'}, |
'aria-multiline': {'default': 'false', 'type': 'boolean'}, |
'aria-multiselectable': {'default': 'false', 'type': 'boolean'}, |
- 'aria-orientation': {'default': 'vertical', 'enum': ['horizontal', 'vertical'], 'type': 'token'}, |
+ 'aria-orientation': {'default': 'undefined', 'enum': ['horizontal', 'undefined', 'vertical'], 'type': 'token'}, |
'aria-owns': {'type': 'IDREF_list'}, |
+ 'aria-placeholder': {'type': 'string'}, |
'aria-posinset': {'type': 'integer'}, |
'aria-pressed': {'default': 'undefined', 'enum': ['true', 'false', 'mixed', 'undefined'], 'type': 'token'}, |
'aria-readonly': {'default': 'false', 'type': 'boolean'}, |
'aria-relevant': |
{'default': 'additions text', 'enum': ['additions', 'removals', 'text', 'all'], 'type': 'token_list'}, |
'aria-required': {'default': 'false', 'type': 'boolean'}, |
+ 'aria-roledescription': {'type': 'string'}, |
+ 'aria-rowcount': {'type': 'integer'}, |
+ 'aria-rowindex': {'type': 'integer'}, |
+ 'aria-rowspan': {'type': 'integer'}, |
'aria-selected': {'default': 'undefined', 'enum': ['true', 'false', 'undefined'], 'type': 'token'}, |
'aria-setsize': {'type': 'integer'}, |
'aria-sort': {'default': 'none', 'enum': ['ascending', 'descending', 'none', 'other'], 'type': 'token'}, |
@@ -40,29 +59,57 @@ Accessibility.ARIAMetadata._config = { |
'tabindex': {'type': 'integer'} |
}, |
'roles': { |
- 'alert': {'nameFrom': ['author'], 'superclasses': ['region']}, |
- 'alertdialog': {'nameFrom': ['author'], 'superclasses': ['alert', 'dialog']}, |
- 'application': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
- 'article': {'nameFrom': ['author'], 'superclasses': ['document', 'region']}, |
+ 'alert': { |
+ 'nameFrom': ['author'], |
+ 'superclasses': ['section'], |
+ 'implicitValues': {'aria-live': 'assertive', 'aria-atomic': 'true'} |
+ }, |
+ 'alertdialog': {'nameFrom': ['author'], 'superclasses': ['alert', 'dialog'], 'nameRequired': true}, |
+ 'application': {'nameFrom': ['author'], 'superclasses': ['structure'], 'nameRequired': true}, |
+ 'article': { |
+ 'nameFrom': ['author'], |
+ 'superclasses': ['document'], |
+ 'supportedAttributes': ['aria-posinset', 'aria-setsize'] |
+ }, |
'banner': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
'button': { |
'nameFrom': ['contents', 'author'], |
'superclasses': ['command'], |
- 'supportedAttributes': ['aria-expanded', 'aria-pressed'] |
+ 'supportedAttributes': ['aria-expanded', 'aria-pressed'], |
+ 'nameRequired': true, |
+ 'childrenPresentational': true |
+ }, |
+ 'cell': { |
+ 'namefrom': ['contents', 'author'], |
+ 'scope': 'row', |
+ 'superclasses': ['section'], |
+ 'supportedAttributes': ['aria-colindex', 'aria-colspan', 'aria-rowindex', 'aria-rowspan'] |
+ }, |
+ 'checkbox': { |
+ 'nameFrom': ['contents', 'author'], |
+ 'requiredAttributes': ['aria-checked'], |
+ 'superclasses': ['input'], |
+ 'supportedAttributes': ['aria-readonly'], |
+ 'nameRequired': true, |
+ 'childrenPresentational': true, |
+ 'implicitValues': {'aria-checked': false} |
}, |
- 'checkbox': {'nameFrom': ['contents', 'author'], 'requiredAttributes': ['aria-checked'], 'superclasses': ['input']}, |
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.
|
'columnheader': { |
'nameFrom': ['contents', 'author'], |
'scope': ['row'], |
'superclasses': ['gridcell', 'sectionhead', 'widget'], |
- 'supportedAttributes': ['aria-sort'] |
+ 'supportedAttributes': ['aria-sort'], |
+ 'nameRequired': true |
}, |
'combobox': { |
- 'mustContain': ['listbox', 'textbox'], |
+ // TODO(aboxhall): Follow up with Nektarios and Aaron regarding role on textbox |
+ 'mustContain': ['textbox'], |
'nameFrom': ['author'], |
- 'requiredAttributes': ['aria-expanded'], |
+ 'requiredAttributes': ['aria-controls', 'aria-expanded'], |
'superclasses': ['select'], |
- 'supportedAttributes': ['aria-autocomplete', 'aria-required'] |
+ 'supportedAttributes': ['aria-autocomplete', 'aria-readonly', 'aria-required'], |
+ 'nameRequired': true, |
+ 'implicitValues': {'aria-expanded': 'false', 'aria-haspopup': 'listbox'} |
}, |
'command': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['widget']}, |
'complementary': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
@@ -74,74 +121,144 @@ Accessibility.ARIAMetadata._config = { |
}, |
'contentinfo': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
'definition': {'nameFrom': ['author'], 'superclasses': ['section']}, |
- 'dialog': {'nameFrom': ['author'], 'superclasses': ['window']}, |
- 'directory': {'nameFrom': ['contents', 'author'], 'superclasses': ['list']}, |
- 'document': {'nameFrom': ['author'], 'superclasses': ['structure'], 'supportedAttributes': ['aria-expanded']}, |
+ 'dialog': {'nameFrom': ['author'], 'superclasses': ['window'], 'nameRequired': true}, |
+ 'directory': {'nameFrom': ['author'], 'superclasses': ['list']}, |
+ '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.
|
+ 'nameFrom': ['author'], |
+ 'superclasses': ['structure'], |
+ 'supportedAttributes': ['aria-expanded'], |
+ 'nameRequired': true |
+ }, |
+ 'feed': {'nameFrom': ['author'], 'superclasses': ['list'], 'mustContain': ['article'], 'nameRequired': false}, |
+ 'figure': {'namefrom': ['author'], 'superclasses': ['section'], 'nameRequired': false}, |
'form': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
'grid': { |
- 'mustContain': ['row', 'rowgroup', 'row'], |
'nameFrom': ['author'], |
- 'superclasses': ['composite', 'region'], |
- 'supportedAttributes': ['aria-level', 'aria-multiselectable', 'aria-readonly'] |
+ 'superclasses': ['composite', 'table'], |
+ '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
|
+ 'supportedAttributes': ['aria-level', 'aria-multiselectable', 'aria-readonly'], |
+ 'nameRequired': true |
}, |
'gridcell': { |
'nameFrom': ['contents', 'author'], |
'scope': ['row'], |
- 'superclasses': ['section', 'widget'], |
- 'supportedAttributes': ['aria-readonly', 'aria-required', 'aria-selected'] |
+ 'superclasses': ['cell', 'widget'], |
+ 'supportedAttributes': ['aria-readonly', 'aria-required', 'aria-selected'], |
+ 'nameRequired': true |
}, |
'group': {'nameFrom': ['author'], 'superclasses': ['section'], 'supportedAttributes': ['aria-activedescendant']}, |
- 'heading': {'superclasses': ['sectionhead'], 'supportedAttributes': ['aria-level']}, |
- 'img': {'nameFrom': ['author'], 'superclasses': ['section']}, |
+ 'heading': { |
+ 'namefrom': ['contents', 'author'], |
+ 'superclasses': ['sectionhead'], |
+ 'supportedAttributes': ['aria-level'], |
+ 'nameRequired': true, |
+ 'implicitValues': {'aria-level': '2'} |
+ }, |
+ 'img': {'nameFrom': ['author'], 'superclasses': ['section'], 'nameRequired': true, 'childrenPresentational': true}, |
'input': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['widget']}, |
- 'landmark': {'abstract': true, 'nameFrom': ['contents', 'author'], 'superclasses': ['region']}, |
- 'link': {'nameFrom': ['contents', 'author'], 'superclasses': ['command'], 'supportedAttributes': ['aria-expanded']}, |
- 'list': {'mustContain': ['group', 'listitem', 'listitem'], 'nameFrom': ['author'], 'superclasses': ['region']}, |
+ 'landmark': |
aleventhal
2017/06/30 20:30:19
landmark should be only nameFrom 'author'
aboxhall
2017/07/06 01:58:51
Done.
|
+ {'abstract': true, 'nameFrom': ['contents', 'author'], 'superclasses': ['section'], 'nameRequired': false}, |
+ 'link': { |
+ 'nameFrom': ['contents', 'author'], |
+ 'superclasses': ['command'], |
+ 'supportedAttributes': ['aria-expanded'], |
+ 'nameRequired': true |
+ }, |
+ 'list': { |
+ '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.
|
+ 'nameFrom': ['author'], |
+ 'superclasses': ['section'], |
+ 'nameRequired': true, |
+ 'implicitValues': {'aria-orientation': 'vertical'} |
aleventhal
2017/06/30 20:30:20
No name required for list.
aboxhall
2017/07/06 01:58:52
Done.
|
+ }, |
'listbox': { |
- 'mustContain': ['option'], |
'nameFrom': ['author'], |
- 'superclasses': ['list', 'select'], |
- 'supportedAttributes': ['aria-multiselectable', 'aria-required'] |
+ 'superclasses': ['select'], |
+ 'mustContain': ['option'], |
+ 'supportedAttributes': ['aria-multiselectable', 'aria-readonly', 'aria-required'], |
+ 'nameRequired': true, |
+ 'implicitValues': {'aria-orientation': 'vertical'}, |
}, |
'listitem': { |
- 'nameFrom': ['contents', 'author'], |
- 'scope': ['list'], |
+ 'nameFrom': ['author'], |
'superclasses': ['section'], |
+ 'scope': ['group', 'list'], |
'supportedAttributes': ['aria-level', 'aria-posinset', 'aria-setsize'] |
}, |
- 'log': {'nameFrom': ['author'], 'superclasses': ['region']}, |
+ 'log': { |
+ 'nameFrom': ['author'], |
+ 'superclasses': ['region'], |
aleventhal
2017/06/30 20:30:20
superclass is section
aboxhall
2017/07/06 01:58:52
Done.
|
+ 'nameRequired': true, |
+ 'implicitValues': {'aria-live': 'polite'} |
+ }, |
'main': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
- 'marquee': {'superclasses': ['section']}, |
- 'math': {'nameFrom': ['author'], 'superclasses': ['section']}, |
+ 'marquee': {'nameFrom': ['author'], 'superclasses': ['section'], 'nameRequired': true}, |
+ '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.
|
'menu': { |
'mustContain': ['group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menuitemradio'], |
'nameFrom': ['author'], |
- 'superclasses': ['list', 'select'] |
+ 'superclasses': ['select'], |
+ 'implicitValues': {'aria-orientation': 'vertical'} |
+ }, |
+ 'menubar': { |
+ 'nameFrom': ['author'], |
+ 'superclasses': ['menu'], |
+ '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.
|
+ 'implicitValues': {'aria-orientation': 'horizontal'} |
}, |
- 'menubar': {'nameFrom': ['author'], 'superclasses': ['menu']}, |
- 'menuitem': {'nameFrom': ['contents', 'author'], 'scope': ['menu', 'menubar'], 'superclasses': ['command']}, |
- 'menuitemcheckbox': |
- {'nameFrom': ['contents', 'author'], 'scope': ['menu', 'menubar'], 'superclasses': ['checkbox', 'menuitem']}, |
- 'menuitemradio': { |
+ 'menuitem': { |
+ 'nameFrom': ['contents', 'author'], |
+ 'scope': ['group', 'menu', 'menubar'], |
+ 'superclasses': ['command'], |
+ 'nameRequired': true |
+ }, |
+ 'menuitemcheckbox': { |
'nameFrom': ['contents', 'author'], |
'scope': ['menu', 'menubar'], |
- 'superclasses': ['menuitemcheckbox', 'radio'] |
+ 'superclasses': ['checkbox', 'menuitem'], |
+ 'nameRequired': true, |
+ 'childrenPresentational': true, |
+ 'implicitValues': {'aria-checked': false} |
+ }, |
+ 'menuitemradio': { |
+ 'nameFrom': ['contents', 'author'], |
+ 'scope': ['menu', 'menubar', 'group'], |
+ 'superclasses': ['menuitemcheckbox', 'radio'], |
+ 'nameRequired': true, |
+ 'childrenPresentational': true, |
+ 'implicitValues': {'aria-checked': false} |
}, |
'navigation': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
+ 'none': {'superclasses': ['structure']}, |
'note': {'nameFrom': ['author'], 'superclasses': ['section']}, |
'option': { |
'nameFrom': ['contents', 'author'], |
+ 'scope': ['listbox'], |
'superclasses': ['input'], |
- 'supportedAttributes': ['aria-checked', 'aria-posinset', 'aria-selected', 'aria-setsize'] |
+ 'requiredAttributes': ['aria-selected'], |
+ 'supportedAttributes': ['aria-checked', 'aria-posinset', 'aria-setsize'], |
+ 'nameRequired': true, |
+ 'childrenPresentational': true, |
+ 'implicitValues': {'aria-selected': 'false'} |
}, |
'presentation': {'superclasses': ['structure']}, |
- 'progressbar': {'nameFrom': ['author'], 'superclasses': ['range']}, |
- 'radio': {'nameFrom': ['contents', 'author'], 'superclasses': ['checkbox', 'option']}, |
+ 'progressbar': |
+ {'nameFrom': ['author'], 'superclasses': ['range'], 'nameRequired': true, 'childrenPresentational': true}, |
+ 'radio': { |
+ 'nameFrom': ['contents', 'author'], |
+ 'superclasses': ['input'], |
+ 'requiredAttributes': ['aria-checked'], |
+ 'supportedAttributes': ['aria-posinset', 'aria-setsize'], |
+ 'nameRequired': true, |
+ 'childrenPresentational': true, |
+ 'implicitValues': {'aria-checked': 'false'} |
+ }, |
'radiogroup': { |
- 'mustContain': ['radio'], |
'nameFrom': ['author'], |
'superclasses': ['select'], |
- 'supportedAttributes': ['aria-required'] |
+ 'mustContain': ['radio'], |
+ 'supportedAttributes': ['aria-readonly', 'aria-required'], |
+ 'nameRequired': true |
}, |
'range': { |
'abstract': true, |
@@ -149,105 +266,152 @@ Accessibility.ARIAMetadata._config = { |
'superclasses': ['widget'], |
'supportedAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext'] |
}, |
- 'region': {'nameFrom': ['author'], 'superclasses': ['section']}, |
+ 'region': {'nameFrom': ['author'], 'superclasses': ['landmark'], 'nameRequired': true}, |
'roletype': { |
'abstract': true, |
'supportedAttributes': [ |
- 'aria-atomic', 'aria-busy', 'aria-controls', 'aria-describedby', 'aria-disabled', 'aria-dropeffect', |
- 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-label', 'aria-labelledby', |
- 'aria-live', 'aria-owns', 'aria-relevant' |
+ 'aria-atomic', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-details', |
+ 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', |
+ 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', |
+ 'aria-owns', 'aria-relevant', 'aria-roledescription' |
] |
}, |
'row': { |
- 'mustContain': ['columnheader', 'gridcell', 'rowheader'], |
'nameFrom': ['contents', 'author'], |
- 'scope': ['grid', 'rowgroup', 'treegrid'], |
'superclasses': ['group', 'widget'], |
- 'supportedAttributes': ['aria-level', 'aria-selected'] |
+ 'mustContain': ['cell', 'columnheader', 'gridcell', 'rowheader'], |
+ 'scope': ['grid', 'rowgroup', 'table', 'treegrid'], |
+ 'supportedAttributes': |
+ ['aria-colindex', 'aria-level', 'aria-rowindex', 'aria-selected', 'aria-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
|
+ }, |
+ 'rowgroup': { |
+ 'nameFrom': ['contents', 'author'], |
+ 'superclasses': ['structure'], |
+ 'mustContain': ['row'], |
+ 'scope': ['grid', 'table', 'treegrid'], |
}, |
- 'rowgroup': |
- {'mustContain': ['row'], 'nameFrom': ['contents', 'author'], 'scope': ['grid'], 'superclasses': ['group']}, |
'rowheader': { |
'nameFrom': ['contents', 'author'], |
'scope': ['row'], |
- 'superclasses': ['gridcell', 'sectionhead', 'widget'], |
- 'supportedAttributes': ['aria-sort'] |
+ 'superclasses': ['cell', 'gridcell', 'sectionhead'], |
+ 'supportedAttributes': ['aria-sort'], |
+ 'nameRequired': true |
}, |
'scrollbar': { |
'nameFrom': ['author'], |
'requiredAttributes': ['aria-controls', 'aria-orientation', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow'], |
- 'superclasses': ['input', 'range'] |
+ 'superclasses': ['range'], |
+ 'nameRequired': false, |
+ 'childrenPresentational': true, |
+ 'implicitValues': {'aria-orientation': 'vertical', 'aria-valuemin': '0', 'aria-valuemax': '100'} |
}, |
'search': {'nameFrom': ['author'], 'superclasses': ['landmark']}, |
- 'section': { |
- 'abstract': true, |
- 'nameFrom': ['contents', 'author'], |
- 'superclasses': ['structure'], |
- 'supportedAttributes': ['aria-expanded'] |
- }, |
+ 'searchbox': {'nameFrom': ['author'], 'superclasses': ['textbox'], 'nameRequired': true}, |
+ 'section': {'abstract': true, 'superclasses': ['structure'], 'supportedAttributes': ['aria-expanded']}, |
'sectionhead': { |
'abstract': true, |
'nameFrom': ['contents', 'author'], |
'superclasses': ['structure'], |
'supportedAttributes': ['aria-expanded'] |
}, |
- 'select': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['composite', 'group', 'input']}, |
- 'separator': { |
- 'nameFrom': ['author'], |
- 'superclasses': ['structure'], |
- 'supportedAttributes': ['aria-expanded', 'aria-orientation'] |
- }, |
+ 'select': {'abstract': true, 'nameFrom': ['author'], 'superclasses': ['composite', 'group']}, |
+ // 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.
|
+ 'separator': {'nameFrom': ['author'], 'superclasses': ['structure'], 'supportedAttributes': ['aria-orientation']}, |
'slider': { |
'nameFrom': ['author'], |
'requiredAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow'], |
'superclasses': ['input', 'range'], |
- 'supportedAttributes': ['aria-orientation'] |
+ 'supportedAttributes': ['aria-orientation'], |
+ 'nameRequired': true, |
+ 'childrenPresentational': true, |
+ // TODO(aboxhall): aria-valuenow default is halfway between aria-valuemin and aria-valuemax |
+ '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
:)
|
}, |
'spinbutton': { |
'nameFrom': ['author'], |
'requiredAttributes': ['aria-valuemax', 'aria-valuemin', 'aria-valuenow'], |
- 'superclasses': ['input', 'range'], |
- 'supportedAttributes': ['aria-required'] |
+ 'superclasses': ['composite', 'input', 'range'], |
+ 'supportedAttributes': ['aria-required'], |
aleventhal
2017/06/30 20:30:20
Needs aria-readonly
aboxhall
2017/07/06 01:58:52
Done.
|
+ 'nameRequired': true, |
+ 'implicitValues': {'aria-valuenow': '0'} |
+ }, |
+ 'status': { |
+ 'nameFrom': ['author'], |
+ 'superclasses': ['section'], |
+ 'implicitValues': {'aria-live': 'polite', 'aria-atomic': 'true'} |
}, |
- 'status': {'superclasses': ['region']}, |
'structure': {'abstract': true, 'superclasses': ['roletype']}, |
+ 'switch': { |
+ 'nameFrom': ['contents', 'author'], |
+ 'superclasses': ['checkbox'], |
+ 'requiredAttributes': ['aria-checked'], |
+ 'nameRequired': true, |
+ 'childrenPresentational': true, |
+ 'implicitValues': {'aria-checked': 'false'} |
+ }, |
'tab': { |
'nameFrom': ['contents', 'author'], |
'scope': ['tablist'], |
'superclasses': ['sectionhead', 'widget'], |
- 'supportedAttributes': ['aria-selected'] |
+ 'supportedAttributes': ['aria-selected'], |
+ 'childrenPresentational': true, |
+ 'implicitValues': {'aria-selected': 'false'} |
+ }, |
+ 'table': { |
+ 'nameFrom': ['author'], |
+ 'superclasses': ['section'], |
+ 'mustContain': ['row'], |
aleventhal
2017/06/30 20:30:20
rowgroup?
aboxhall
2017/07/06 01:58:52
TODO added.
|
+ 'supportedAttributes': ['aria-colcount', 'aria-rowcount'], |
+ 'nameRequired': true |
}, |
'tablist': { |
- 'mustContain': ['tab'], |
'nameFrom': ['author'], |
- 'superclasses': ['composite', 'directory'], |
- 'supportedAttributes': ['aria-level'] |
+ 'superclasses': ['composite'], |
+ 'mustContain': ['tab'], |
+ 'supportedAttributes': ['aria-level', 'aria-multiselectable', 'aria-orientation'], |
+ 'implicitValues': {'aria-orientation': 'horizontal'} |
}, |
- 'tabpanel': {'nameFrom': ['author'], 'superclasses': ['region']}, |
+ 'tabpanel': {'nameFrom': ['author'], 'superclasses': ['section'], 'nameRequired': true}, |
+ 'term': {'nameFrom': ['author'], 'superclasses': ['section']}, |
'textbox': { |
'nameFrom': ['author'], |
'superclasses': ['input'], |
- 'supportedAttributes': |
- ['aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria-readonly', 'aria-required'] |
+ 'supportedAttributes': [ |
+ 'aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria-placeholder', 'aria-readonly', |
+ 'aria-required' |
+ ], |
+ 'nameRequired': true |
}, |
'timer': {'nameFrom': ['author'], 'superclasses': ['status']}, |
- 'toolbar': {'nameFrom': ['author'], 'superclasses': ['group']}, |
- 'tooltip': {'superclasses': ['section']}, |
+ 'toolbar': { |
+ 'nameFrom': ['author'], |
+ 'superclasses': ['group'], |
+ 'supportedAttributes': ['aria-orientation'], |
+ 'implicitValues': {'aria-orientation': 'horizontal'} |
+ }, |
+ 'tooltip': {'nameFrom': ['contents', 'author'], 'superclasses': ['section'], 'nameRequired': true}, |
'tree': { |
- 'mustContain': ['group', 'treeitem', 'treeitem'], |
'nameFrom': ['author'], |
+ 'mustContain': ['group', 'treeitem'], |
'superclasses': ['select'], |
- 'supportedAttributes': ['aria-multiselectable', 'aria-required'] |
+ 'supportedAttributes': ['aria-multiselectable', 'aria-required'], |
+ 'nameRequired': true, |
+ 'implicitValues': {'aria-orientation': 'vertical'} |
+ }, |
+ 'treegrid': |
+ {'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.
|
+ 'treeitem': { |
+ 'nameFrom': ['contents', 'author'], |
+ 'scope': ['group', 'tree'], |
+ 'superclasses': ['listitem', 'option'], |
+ 'nameRequired': true |
}, |
- 'treegrid': {'mustContain': ['row'], 'nameFrom': ['author'], 'superclasses': ['grid', 'tree']}, |
- 'treeitem': |
- {'nameFrom': ['contents', 'author'], 'scope': ['group', 'tree'], 'superclasses': ['listitem', 'option']}, |
'widget': {'abstract': true, 'superclasses': ['roletype']}, |
'window': { |
'abstract': true, |
'nameFrom': ['author'], |
'superclasses': ['roletype'], |
- 'supportedAttributes': ['aria-expanded'] |
+ 'supportedAttributes': ['aria-expanded', 'aria-modal'] |
} |
} |
}; |