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

Unified 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, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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']
}
}
};
« 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