1[![Build Status](https://travis-ci.org/A11yance/axobject-query.svg?branch=master)](https://travis-ci.org/A11yance/axobject-query) 2 3**NOTICE: The API for AXObject Query is very much under development until a major version release. Please be aware that data structures might change in minor version releases before 1.0.0 is released.** 4 5# AXObject Query 6 7Approximate model of the [Chrome AXObject](https://cs.chromium.org/chromium/src/third_party/WebKit/Source/modules/accessibility/AXObject.h). 8 9The project attempts to map the AXObject concepts to the [WAI-ARIA 1.1 Roles Model](https://www.w3.org/TR/wai-aria-1.1/#roles) so that a complete representation of the semantic HTML layer, as it is exposed assistive technology, can be obtained. 10 11## Utilities 12 13### AXObjects 14 15```javascript 16import { AXObjects } from 'axobject-query'; 17``` 18 19AXObjects are mapped to their HTML and ARIA concepts in the `relatedConcepts` field. 20 21The `type` field is a loose association of an AXObject to the `window`, `structure` and `widget` abstract roles in ARIA. The `generic` value is given to `DivRole`; it does not exist in ARIA. Divs are special in HTML in the way that they are used as generic containers. Span might have also been associated with a generic type except that there is no `SpanRole` AXObject. 22 23``` 24Map { 25 'AbbrRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 26 'AlertDialogRole' => { relatedConcepts: [ [Object] ], type: 'window' }, 27 'AlertRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 28 'AnnotationRole' => { relatedConcepts: [], type: 'structure' }, 29 'ApplicationRole' => { relatedConcepts: [ [Object] ], type: 'window' }, 30 'ArticleRole' => { relatedConcepts: [ [Object], [Object] ], type: 'structure' }, 31 'AudioRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 32 'BannerRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 33 'BlockquoteRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 34 'BusyIndicatorRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 35 'ButtonRole' => { relatedConcepts: [ [Object], [Object] ], type: 'widget' }, 36 'CanvasRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 37 'CaptionRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 38 'CellRole' => { relatedConcepts: [ [Object], [Object], [Object] ], type: 'widget' }, 39 'CheckBoxRole' => { relatedConcepts: [ [Object], [Object] ], type: 'widget' }, 40 'ColorWellRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 41 'ColumnHeaderRole' => { relatedConcepts: [ [Object], [Object] ], type: 'widget' }, 42 'ColumnRole' => { relatedConcepts: [], type: 'structure' }, 43 'ComboBoxRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 44 'ComplementaryRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 45 'ContentInfoRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 46 'DateRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 47 'DateTimeRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 48 'DefinitionRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 49 'DescriptionListDetailRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 50 'DescriptionListRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 51 'DescriptionListTermRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 52 'DetailsRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 53 'DialogRole' => { relatedConcepts: [ [Object], [Object] ], type: 'window' }, 54 'DirectoryRole' => { relatedConcepts: [ [Object], [Object] ], type: 'structure' }, 55 'DisclosureTriangleRole' => { relatedConcepts: [], type: 'widget' }, 56 'DivRole' => { relatedConcepts: [ [Object] ], type: 'generic' }, 57 'DocumentRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 58 'EmbeddedObjectRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 59 'FeedRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 60 'FigcaptionRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 61 'FigureRole' => { relatedConcepts: [ [Object], [Object] ], type: 'structure' }, 62 'FooterRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 63 'FormRole' => { relatedConcepts: [ [Object], [Object] ], type: 'structure' }, 64 'GridRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 65 'GroupRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 66 'HeadingRole' => { relatedConcepts: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object] ], type: 'structure' }, 67 'IframePresentationalRole' => { relatedConcepts: [], type: 'window' }, 68 'IframeRole' => { relatedConcepts: [ [Object] ], type: 'window' }, 69 'IgnoredRole' => { relatedConcepts: [], type: 'structure' }, 70 'ImageMapLinkRole' => { relatedConcepts: [], type: 'widget' }, 71 'ImageMapRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 72 'ImageRole' => { relatedConcepts: [ [Object], [Object] ], type: 'structure' }, 73 'InlineTextBoxRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 74 'InputTimeRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 75 'LabelRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 76 'LegendRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 77 'LineBreakRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 78 'LinkRole' => { relatedConcepts: [ [Object], [Object] ], type: 'widget' }, 79 'ListBoxOptionRole' => { relatedConcepts: [ [Object], [Object] ], type: 'widget' }, 80 'ListBoxRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 81 'ListItemRole' => { relatedConcepts: [ [Object], [Object] ], type: 'structure' }, 82 'ListMarkerRole' => { relatedConcepts: [], type: 'structure' }, 83 'ListRole' => { relatedConcepts: [ [Object], [Object], [Object] ], type: 'structure' }, 84 'LogRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 85 'MainRole' => { relatedConcepts: [ [Object], [Object] ], type: 'structure' }, 86 'MarkRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 87 'MarqueeRole' => { relatedConcepts: [ [Object], [Object] ], type: 'structure' }, 88 'MathRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 89 'MenuBarRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 90 'MenuButtonRole' => { relatedConcepts: [], type: 'widget' }, 91 'MenuItemRole' => { relatedConcepts: [ [Object], [Object] ], type: 'widget' }, 92 'MenuItemCheckBoxRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 93 'MenuItemRadioRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 94 'MenuListOptionRole' => { relatedConcepts: [], type: 'widget' }, 95 'MenuListPopupRole' => { relatedConcepts: [], type: 'widget' }, 96 'MenuRole' => { relatedConcepts: [ [Object], [Object] ], type: 'structure' }, 97 'MeterRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 98 'NavigationRole' => { relatedConcepts: [ [Object], [Object] ], type: 'structure' }, 99 'NoneRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 100 'NoteRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 101 'OutlineRole' => { relatedConcepts: [], type: 'structure' }, 102 'ParagraphRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 103 'PopUpButtonRole' => { relatedConcepts: [], type: 'widget' }, 104 'PreRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 105 'PresentationalRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 106 'ProgressIndicatorRole' => { relatedConcepts: [ [Object], [Object] ], type: 'structure' }, 107 'RadioButtonRole' => { relatedConcepts: [ [Object], [Object] ], type: 'widget' }, 108 'RadioGroupRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 109 'RegionRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 110 'RootWebAreaRole' => { relatedConcepts: [], type: 'structure' }, 111 'RowHeaderRole' => { relatedConcepts: [ [Object], [Object] ], type: 'widget' }, 112 'RowRole' => { relatedConcepts: [ [Object], [Object] ], type: 'structure' }, 113 'RubyRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 114 'RulerRole' => { relatedConcepts: [], type: 'structure' }, 115 'ScrollAreaRole' => { relatedConcepts: [], type: 'structure' }, 116 'ScrollBarRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 117 'SeamlessWebAreaRole' => { relatedConcepts: [], type: 'structure' }, 118 'SearchRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 119 'SearchBoxRole' => { relatedConcepts: [ [Object], [Object] ], type: 'widget' }, 120 'SliderRole' => { relatedConcepts: [ [Object], [Object] ], type: 'widget' }, 121 'SliderThumbRole' => { relatedConcepts: [], type: 'structure' }, 122 'SpinButtonRole' => { relatedConcepts: [ [Object], [Object] ], type: 'widget' }, 123 'SpinButtonPartRole' => { relatedConcepts: [], type: 'structure' }, 124 'SplitterRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 125 'StaticTextRole' => { relatedConcepts: [], type: 'structure' }, 126 'StatusRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 127 'SVGRootRole' => { relatedConcepts: [], type: 'structure' }, 128 'SwitchRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 129 'TabGroupRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 130 'TabRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 131 'TableHeaderContainerRole' => { relatedConcepts: [], type: 'structure' }, 132 'TableRole' => { relatedConcepts: [ [Object], [Object] ], type: 'structure' }, 133 'TabListRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 134 'TabPanelRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 135 'TermRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 136 'TextFieldRole' => { relatedConcepts: [ [Object], [Object], [Object] ], type: 'widget' }, 137 'TimeRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 138 'TimerRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 139 'ToggleButtonRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 140 'ToolbarRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 141 'TreeRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 142 'TreeGridRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 143 'TreeItemRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 144 'UserInterfaceTooltipRole' => { relatedConcepts: [ [Object] ], type: 'structure' }, 145 'VideoRole' => { relatedConcepts: [ [Object] ], type: 'widget' }, 146 'WebAreaRole' => { relatedConcepts: [], type: 'structure' }, 147 'WindowRole' => { relatedConcepts: [], type: 'window' } 148} 149``` 150 151### AXObject to Element 152 153```javascript 154import { AXObjectElements } from 'axobject-query'; 155``` 156 157AXObjects are mapped to their related HTML concepts, which may require attributes (in the case of inputs) to obtain the correct association. 158 159``` 160Map { 161 'AbbrRole' => Set { { name: 'abbr' } }, 162 'ArticleRole' => Set { { name: 'article' } }, 163 'AudioRole' => Set { { name: 'audio' } }, 164 'BlockquoteRole' => Set { { name: 'blockquote' } }, 165 'ButtonRole' => Set { { name: 'button' } }, 166 'CanvasRole' => Set { { name: 'canvas' } }, 167 'CaptionRole' => Set { { name: 'caption' } }, 168 'CellRole' => Set { { name: 'td' } }, 169 'CheckBoxRole' => Set { { name: 'input', attributes: [Object] } }, 170 'ColorWellRole' => Set { { name: 'input', attributes: [Object] } }, 171 'ColumnHeaderRole' => Set { { name: 'th' } }, 172 'DateRole' => Set { { name: 'input', attributes: [Object] } }, 173 'DateTimeRole' => Set { { name: 'input', attributes: [Object] } }, 174 'DefinitionRole' => Set { { name: 'dfn' } }, 175 'DescriptionListDetailRole' => Set { { name: 'dd' } }, 176 'DescriptionListRole' => Set { { name: 'dl' } }, 177 'DescriptionListTermRole' => Set { { name: 'dt' } }, 178 'DetailsRole' => Set { { name: 'details' } }, 179 'DialogRole' => Set { { name: 'dialog' } }, 180 'DirectoryRole' => Set { { name: 'dir' } }, 181 'DivRole' => Set { { name: 'div' } }, 182 'EmbeddedObjectRole' => Set { { name: 'embed' } }, 183 'FigcaptionRole' => Set { { name: 'figcaption' } }, 184 'FigureRole' => Set { { name: 'figure' } }, 185 'FooterRole' => Set { { name: 'footer' } }, 186 'FormRole' => Set { { name: 'form' } }, 187 'HeadingRole' => Set { { name: 'h1' }, { name: 'h2' }, { name: 'h3' }, { name: 'h4' }, { name: 'h5' }, { name: 'h6' } }, 188 'IframeRole' => Set { { name: 'iframe' } }, 189 'ImageMapRole' => Set { { name: 'img', attributes: [Object] } }, 190 'ImageRole' => Set { { name: 'img' } }, 191 'InlineTextBoxRole' => Set { { name: 'input' } }, 192 'InputTimeRole' => Set { { name: 'input', attributes: [Object] } }, 193 'LabelRole' => Set { { name: 'label' } }, 194 'LegendRole' => Set { { name: 'legend' } }, 195 'LineBreakRole' => Set { { name: 'br' } }, 196 'LinkRole' => Set { { name: 'a', attributes: [Object] } }, 197 'ListBoxOptionRole' => Set { { name: 'option' } }, 198 'ListItemRole' => Set { { name: 'li' } }, 199 'ListRole' => Set { { name: 'ul' }, { name: 'ol' } }, 200 'MainRole' => Set { { name: 'main' } }, 201 'MarkRole' => Set { { name: 'mark' } }, 202 'MarqueeRole' => Set { { name: 'marquee' } }, 203 'MenuItemRole' => Set { { name: 'menuitem' } }, 204 'MenuRole' => Set { { name: 'menu' } }, 205 'MeterRole' => Set { { name: 'meter' } }, 206 'NavigationRole' => Set { { name: 'nav' } }, 207 'ParagraphRole' => Set { { name: 'p' } }, 208 'PreRole' => Set { { name: 'pre' } }, 209 'ProgressIndicatorRole' => Set { { name: 'progress' } }, 210 'RadioButtonRole' => Set { { name: 'input', attributes: [Object] } }, 211 'RowHeaderRole' => Set { { name: 'th', attributes: [Object] } }, 212 'RowRole' => Set { { name: 'tr' } }, 213 'RubyRole' => Set { { name: 'ruby' } }, 214 'SearchBoxRole' => Set { { name: 'input', attributes: [Object] } }, 215 'SliderRole' => Set { { name: 'input', attributes: [Object] } }, 216 'SpinButtonRole' => Set { { name: 'input', attributes: [Object] } }, 217 'TableRole' => Set { { name: 'table' } }, 218 'TextFieldRole' => Set { { name: 'input' }, { name: 'input', attributes: [Object] } }, 219 'TimeRole' => Set { { name: 'time' } }, 220 'VideoRole' => Set { { name: 'video' } 221} 222``` 223 224### AXObject to Role 225 226```javascript 227import { AXObjectRoles } from 'axobject-query'; 228``` 229 230AXObjects are mapped to their related ARIA concepts.. 231 232``` 233Map { 234 'AlertDialogRole' => Set { { name: 'alertdialog' } }, 235 'AlertRole' => Set { { name: 'alert' } }, 236 'ApplicationRole' => Set { { name: 'application' } }, 237 'ArticleRole' => Set { { name: 'article' } }, 238 'BannerRole' => Set { { name: 'banner' } }, 239 'BusyIndicatorRole' => Set { { attributes: [Object] } }, 240 'ButtonRole' => Set { { name: 'button' } }, 241 'CellRole' => Set { { name: 'cell' }, { name: 'gridcell' } }, 242 'CheckBoxRole' => Set { { name: 'checkbox' } }, 243 'ColumnHeaderRole' => Set { { name: 'columnheader' } }, 244 'ComboBoxRole' => Set { { name: 'combobox' } }, 245 'ComplementaryRole' => Set { { name: 'complementary' } }, 246 'ContentInfoRole' => Set { { name: 'structureinfo' } }, 247 'DialogRole' => Set { { name: 'dialog' } }, 248 'DirectoryRole' => Set { { name: 'directory' } }, 249 'DocumentRole' => Set { { name: 'document' } }, 250 'FeedRole' => Set { { name: 'feed' } }, 251 'FigureRole' => Set { { name: 'figure' } }, 252 'FormRole' => Set { { name: 'form' } }, 253 'GridRole' => Set { { name: 'grid' } }, 254 'GroupRole' => Set { { name: 'group' } }, 255 'HeadingRole' => Set { { name: 'heading' } }, 256 'ImageRole' => Set { { name: 'img' } }, 257 'LinkRole' => Set { { name: 'link' } }, 258 'ListBoxOptionRole' => Set { { name: 'option' } }, 259 'ListBoxRole' => Set { { name: 'listbox' } }, 260 'ListItemRole' => Set { { name: 'listitem' } }, 261 'ListRole' => Set { { name: 'list' } }, 262 'LogRole' => Set { { name: 'log' } }, 263 'MainRole' => Set { { name: 'main' } }, 264 'MarqueeRole' => Set { { name: 'marquee' } }, 265 'MathRole' => Set { { name: 'math' } }, 266 'MenuBarRole' => Set { { name: 'menubar' } }, 267 'MenuItemRole' => Set { { name: 'menuitem' } }, 268 'MenuItemCheckBoxRole' => Set { { name: 'menuitemcheckbox' } }, 269 'MenuItemRadioRole' => Set { { name: 'menuitemradio' } }, 270 'MenuRole' => Set { { name: 'menu' } }, 271 'NavigationRole' => Set { { name: 'navigation' } }, 272 'NoneRole' => Set { { name: 'none' } }, 273 'NoteRole' => Set { { name: 'note' } }, 274 'PresentationalRole' => Set { { name: 'presentation' } }, 275 'ProgressIndicatorRole' => Set { { name: 'progressbar' } }, 276 'RadioButtonRole' => Set { { name: 'radio' } }, 277 'RadioGroupRole' => Set { { name: 'radiogroup' } }, 278 'RegionRole' => Set { { name: 'region' } }, 279 'RowHeaderRole' => Set { { name: 'rowheader' } }, 280 'RowRole' => Set { { name: 'row' } }, 281 'ScrollBarRole' => Set { { name: 'scrollbar' } }, 282 'SearchRole' => Set { { name: 'search' } }, 283 'SearchBoxRole' => Set { { name: 'searchbox' } }, 284 'SliderRole' => Set { { name: 'slider' } }, 285 'SpinButtonRole' => Set { { name: 'spinbutton' } }, 286 'SplitterRole' => Set { { name: 'separator' } }, 287 'StatusRole' => Set { { name: 'status' } }, 288 'SwitchRole' => Set { { name: 'switch' } }, 289 'TabGroupRole' => Set { { name: 'tablist' } }, 290 'TabRole' => Set { { name: 'tab' } }, 291 'TableRole' => Set { { name: 'table' } }, 292 'TabListRole' => Set { { name: 'tablist' } }, 293 'TabPanelRole' => Set { { name: 'tabpanel' } }, 294 'TermRole' => Set { { name: 'term' } }, 295 'TextFieldRole' => Set { { name: 'textbox' } }, 296 'TimerRole' => Set { { name: 'timer' } }, 297 'ToggleButtonRole' => Set { { attributes: [Object] } }, 298 'ToolbarRole' => Set { { name: 'toolbar' } }, 299 'TreeRole' => Set { { name: 'tree' } }, 300 'TreeGridRole' => Set { { name: 'treegrid' } }, 301 'TreeItemRole' => Set { { name: 'treeitem' } }, 302 'UserInterfaceTooltipRole' => Set { { name: 'tooltip' } } 303} 304``` 305 306### Element to AXObject 307 308```javascript 309import { elementAXObjects } from 'axobject-query'; 310``` 311 312HTML elements are mapped to their related AXConcepts concepts. 313 314``` 315Map { 316 { name: 'abbr' } => Set { 'AbbrRole' }, 317 { name: 'article' } => Set { 'ArticleRole' }, 318 { name: 'audio' } => Set { 'AudioRole' }, 319 { name: 'blockquote' } => Set { 'BlockquoteRole' }, 320 { name: 'button' } => Set { 'ButtonRole' }, 321 { name: 'canvas' } => Set { 'CanvasRole' }, 322 { name: 'caption' } => Set { 'CaptionRole' }, 323 { name: 'td' } => Set { 'CellRole' }, 324 { name: 'input', attributes: [ [Object] ] } => Set { 'CheckBoxRole' }, 325 { name: 'input', attributes: [ [Object] ] } => Set { 'ColorWellRole' }, 326 { name: 'th' } => Set { 'ColumnHeaderRole' }, 327 { name: 'input', attributes: [ [Object] ] } => Set { 'DateRole' }, 328 { name: 'input', attributes: [ [Object] ] } => Set { 'DateTimeRole' }, 329 { name: 'dfn' } => Set { 'DefinitionRole' }, 330 { name: 'dd' } => Set { 'DescriptionListDetailRole' }, 331 { name: 'dl' } => Set { 'DescriptionListRole' }, 332 { name: 'dt' } => Set { 'DescriptionListTermRole' }, 333 { name: 'details' } => Set { 'DetailsRole' }, 334 { name: 'dialog' } => Set { 'DialogRole' }, 335 { name: 'dir' } => Set { 'DirectoryRole' }, 336 { name: 'div' } => Set { 'DivRole' }, 337 { name: 'embed' } => Set { 'EmbeddedObjectRole' }, 338 { name: 'figcaption' } => Set { 'FigcaptionRole' }, 339 { name: 'figure' } => Set { 'FigureRole' }, 340 { name: 'footer' } => Set { 'FooterRole' }, 341 { name: 'form' } => Set { 'FormRole' }, 342 { name: 'h1' } => Set { 'HeadingRole' }, 343 { name: 'h2' } => Set { 'HeadingRole' }, 344 { name: 'h3' } => Set { 'HeadingRole' }, 345 { name: 'h4' } => Set { 'HeadingRole' }, 346 { name: 'h5' } => Set { 'HeadingRole' }, 347 { name: 'h6' } => Set { 'HeadingRole' }, 348 { name: 'iframe' } => Set { 'IframeRole' }, 349 { name: 'img', attributes: [ [Object] ] } => Set { 'ImageMapRole' }, 350 { name: 'img' } => Set { 'ImageRole' }, 351 { name: 'input' } => Set { 'InlineTextBoxRole', 'TextFieldRole' }, 352 { name: 'input', attributes: [ [Object] ] } => Set { 'InputTimeRole' }, 353 { name: 'label' } => Set { 'LabelRole' }, 354 { name: 'legend' } => Set { 'LegendRole' }, 355 { name: 'br' } => Set { 'LineBreakRole' }, 356 { name: 'a', attributes: [ [Object] ] } => Set { 'LinkRole' }, 357 { name: 'option' } => Set { 'ListBoxOptionRole' }, 358 { name: 'li' } => Set { 'ListItemRole' }, 359 { name: 'ul' } => Set { 'ListRole' }, 360 { name: 'ol' } => Set { 'ListRole' }, 361 { name: 'main' } => Set { 'MainRole' }, 362 { name: 'mark' } => Set { 'MarkRole' }, 363 { name: 'marquee' } => Set { 'MarqueeRole' }, 364 { name: 'menuitem' } => Set { 'MenuItemRole' }, 365 { name: 'menu' } => Set { 'MenuRole' }, 366 { name: 'meter' } => Set { 'MeterRole' }, 367 { name: 'nav' } => Set { 'NavigationRole' }, 368 { name: 'p' } => Set { 'ParagraphRole' }, 369 { name: 'pre' } => Set { 'PreRole' }, 370 { name: 'progress' } => Set { 'ProgressIndicatorRole' }, 371 { name: 'input', attributes: [ [Object] ] } => Set { 'RadioButtonRole' }, 372 { name: 'th', attributes: [ [Object] ] } => Set { 'RowHeaderRole' }, 373 { name: 'tr' } => Set { 'RowRole' }, 374 { name: 'ruby' } => Set { 'RubyRole' }, 375 { name: 'input', attributes: [ [Object] ] } => Set { 'SearchBoxRole' }, 376 { name: 'input', attributes: [ [Object] ] } => Set { 'SliderRole' }, 377 { name: 'input', attributes: [ [Object] ] } => Set { 'SpinButtonRole' }, 378 { name: 'table' } => Set { 'TableRole' }, 379 { name: 'input' } => Set { 'InlineTextBoxRole', 'TextFieldRole' }, 380 { name: 'input', attributes: [ [Object] ] } => Set { 'TextFieldRole' }, 381 { name: 'time' } => Set { 'TimeRole' }, 382 { name: 'video' } => Set { 'VideoRole' } 383} 384``` 385