Index: frontend/node_modules/axobject-query/LICENSE
===================================================================
--- frontend/node_modules/axobject-query/LICENSE	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/LICENSE	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,201 @@
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction,
+and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by
+the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all
+other entities that control, are controlled by, or are under common
+control with that entity. For the purposes of this definition,
+"control" means (i) the power, direct or indirect, to cause the
+direction or management of such entity, whether by contract or
+otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity
+exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications,
+including but not limited to software source code, documentation
+source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical
+transformation or translation of a Source form, including but
+not limited to compiled object code, generated documentation,
+and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or
+Object form, made available under the License, as indicated by a
+copyright notice that is included in or attached to the work
+(an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object
+form, that is based on (or derived from) the Work and for which the
+editorial revisions, annotations, elaborations, or other modifications
+represent, as a whole, an original work of authorship. For the purposes
+of this License, Derivative Works shall not include works that remain
+separable from, or merely link (or bind by name) to the interfaces of,
+the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including
+the original version of the Work and any modifications or additions
+to that Work or Derivative Works thereof, that is intentionally
+submitted to Licensor for inclusion in the Work by the copyright owner
+or by an individual or Legal Entity authorized to submit on behalf of
+the copyright owner. For the purposes of this definition, "submitted"
+means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems,
+and issue tracking systems that are managed by, or on behalf of, the
+Licensor for the purpose of discussing and improving the Work, but
+excluding communication that is conspicuously marked or otherwise
+designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity
+on behalf of whom a Contribution has been received by Licensor and
+subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the
+Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+(except as stated in this section) patent license to make, have made,
+use, offer to sell, sell, import, and otherwise transfer the Work,
+where such license applies only to those patent claims licensable
+by such Contributor that are necessarily infringed by their
+Contribution(s) alone or by combination of their Contribution(s)
+with the Work to which such Contribution(s) was submitted. If You
+institute patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Work
+or a Contribution incorporated within the Work constitutes direct
+or contributory patent infringement, then any patent licenses
+granted to You under this License for that Work shall terminate
+as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+Work or Derivative Works thereof in any medium, with or without
+modifications, and in Source or Object form, provided that You
+meet the following conditions:
+
+(a) You must give any other recipients of the Work or
+Derivative Works a copy of this License; and
+
+(b) You must cause any modified files to carry prominent notices
+stating that You changed the files; and
+
+(c) You must retain, in the Source form of any Derivative Works
+that You distribute, all copyright, patent, trademark, and
+attribution notices from the Source form of the Work,
+excluding those notices that do not pertain to any part of
+the Derivative Works; and
+
+(d) If the Work includes a "NOTICE" text file as part of its
+distribution, then any Derivative Works that You distribute must
+include a readable copy of the attribution notices contained
+within such NOTICE file, excluding those notices that do not
+pertain to any part of the Derivative Works, in at least one
+of the following places: within a NOTICE text file distributed
+as part of the Derivative Works; within the Source form or
+documentation, if provided along with the Derivative Works; or,
+within a display generated by the Derivative Works, if and
+wherever such third-party notices normally appear. The contents
+of the NOTICE file are for informational purposes only and
+do not modify the License. You may add Your own attribution
+notices within Derivative Works that You distribute, alongside
+or as an addendum to the NOTICE text from the Work, provided
+that such additional attribution notices cannot be construed
+as modifying the License.
+
+You may add Your own copyright statement to Your modifications and
+may provide additional or different license terms and conditions
+for use, reproduction, or distribution of Your modifications, or
+for any such Derivative Works as a whole, provided Your use,
+reproduction, and distribution of the Work otherwise complies with
+the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+any Contribution intentionally submitted for inclusion in the Work
+by You to the Licensor shall be under the terms and conditions of
+this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify
+the terms of any separate license agreement you may have executed
+with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+names, trademarks, service marks, or product names of the Licensor,
+except as required for reasonable and customary use in describing the
+origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+agreed to in writing, Licensor provides the Work (and each
+Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied, including, without limitation, any warranties or conditions
+of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+PARTICULAR PURPOSE. You are solely responsible for determining the
+appropriateness of using or redistributing the Work and assume any
+risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+whether in tort (including negligence), contract, or otherwise,
+unless required by applicable law (such as deliberate and grossly
+negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special,
+incidental, or consequential damages of any character arising as a
+result of this License or out of the use or inability to use the
+Work (including but not limited to damages for loss of goodwill,
+work stoppage, computer failure or malfunction, or any and all
+other commercial damages or losses), even if such Contributor
+has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+the Work or Derivative Works thereof, You may choose to offer,
+and charge a fee for, acceptance of support, warranty, indemnity,
+or other liability obligations and/or rights consistent with this
+License. However, in accepting such obligations, You may act only
+on Your own behalf and on Your sole responsibility, not on behalf
+of any other Contributor, and only if You agree to indemnify,
+defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason
+of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work.
+
+To apply the Apache License to your work, attach the following
+boilerplate notice, with the fields enclosed by brackets "{}"
+replaced with your own identifying information. (Don't include
+the brackets!)  The text should be enclosed in the appropriate
+comment syntax for the file format. We also recommend that a
+file or class name and description of purpose be included on the
+same "printed page" as the copyright notice for easier
+identification within third-party archives.
+
+Copyright 2020 A11yance
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
Index: frontend/node_modules/axobject-query/README.md
===================================================================
--- frontend/node_modules/axobject-query/README.md	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/README.md	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,404 @@
+# AXObject Query
+
+![CI](https://github.com/A11yance/axobject-query/workflows/CI/badge.svg)
+
+Approximate model of the [Chrome AXObject](https://cs.chromium.org/chromium/src/third_party/WebKit/Source/modules/accessibility/AXObject.h).
+
+The 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.
+
+CDN URL: <https://unpkg.com/axobject-query>
+
+## Utilities
+
+### AXObjects
+
+```javascript
+import { AXObjects } from 'axobject-query';
+```
+
+#### Interface
+
+These methods are available on each export from the module. The typing here in the documentation is pseudo-typed. Each export will have its own specific types for each method signature.
+
+```javascript
+{|
+  entries: () => Array<$Item>,
+  get: (key: $Key) => ?$Value,
+  has: (key: $Key) => boolean,
+  keys: () => Array<$Key>,
+  values: () => Array<$Value>,
+|};
+```
+
+### Concepts in the project
+
+AXObjects are mapped to their HTML and ARIA concepts in the `relatedConcepts` field.
+
+The `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.
+
+```javascript
+[
+  [ 'AbbrRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'AlertDialogRole', { relatedConcepts: [ [Object] ], type: 'window' } ],
+  [ 'AlertRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'AnnotationRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'ApplicationRole', { relatedConcepts: [ [Object] ], type: 'window' } ],
+  [ 'ArticleRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
+  [ 'AudioRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'BannerRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'BlockquoteRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'BusyIndicatorRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'ButtonRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
+  [ 'CanvasRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'CaptionRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'CellRole', { relatedConcepts: [ [Object], [Object], [Object] ], type: 'widget' } ],
+  [ 'CheckBoxRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
+  [ 'ColorWellRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'ColumnHeaderRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
+  [ 'ColumnRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'ComboBoxRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'ComplementaryRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'ContentInfoRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'DateRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'DateTimeRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'DefinitionRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'DescriptionListDetailRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'DescriptionListRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'DescriptionListTermRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'DetailsRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'DialogRole', { relatedConcepts: [ [Object], [Object] ], type: 'window' } ],
+  [ 'DirectoryRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
+  [ 'DisclosureTriangleRole', { relatedConcepts: [], type: 'widget' } ],
+  [ 'DivRole', { relatedConcepts: [ [Object] ], type: 'generic' } ],
+  [ 'DocumentRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'EmbeddedObjectRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'FeedRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'FigcaptionRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'FigureRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
+  [ 'FooterRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'FormRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
+  [ 'GridRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'GroupRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'HeadingRole', { relatedConcepts: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object] ], type: 'structure' } ],
+  [ 'IframePresentationalRole', { relatedConcepts: [], type: 'window' } ],
+  [ 'IframeRole', { relatedConcepts: [ [Object] ], type: 'window' } ],
+  [ 'IgnoredRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'ImageMapLinkRole', { relatedConcepts: [], type: 'widget' } ],
+  [ 'ImageMapRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'ImageRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
+  [ 'InlineTextBoxRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'InputTimeRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'LabelRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'LegendRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'LineBreakRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'LinkRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
+  [ 'ListBoxOptionRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
+  [ 'ListBoxRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'ListItemRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
+  [ 'ListMarkerRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'ListRole', { relatedConcepts: [ [Object], [Object], [Object] ], type: 'structure' } ],
+  [ 'LogRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'MainRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
+  [ 'MarkRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'MarqueeRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
+  [ 'MathRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'MenuBarRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'MenuButtonRole', { relatedConcepts: [], type: 'widget' } ],
+  [ 'MenuItemRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
+  [ 'MenuItemCheckBoxRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'MenuItemRadioRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'MenuListOptionRole', { relatedConcepts: [], type: 'widget' } ],
+  [ 'MenuListPopupRole', { relatedConcepts: [], type: 'widget' } ],
+  [ 'MenuRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
+  [ 'MeterRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'NavigationRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
+  [ 'NoneRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'NoteRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'OutlineRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'ParagraphRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'PopUpButtonRole', { relatedConcepts: [], type: 'widget' } ],
+  [ 'PreRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'PresentationalRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'ProgressIndicatorRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
+  [ 'RadioButtonRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
+  [ 'RadioGroupRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'RegionRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'RootWebAreaRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'RowHeaderRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
+  [ 'RowRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
+  [ 'RubyRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'RulerRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'ScrollAreaRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'ScrollBarRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'SeamlessWebAreaRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'SearchRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'SearchBoxRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
+  [ 'SliderRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
+  [ 'SliderThumbRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'SpinButtonRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
+  [ 'SpinButtonPartRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'SplitterRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'StaticTextRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'StatusRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'SVGRootRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'SwitchRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'TabGroupRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'TabRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'TableHeaderContainerRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'TableRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
+  [ 'TabListRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'TabPanelRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'TermRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'TextFieldRole', { relatedConcepts: [ [Object], [Object], [Object] ], type: 'widget' } ],
+  [ 'TimeRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'TimerRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'ToggleButtonRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'ToolbarRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'TreeRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'TreeGridRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'TreeItemRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'UserInterfaceTooltipRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
+  [ 'VideoRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
+  [ 'WebAreaRole', { relatedConcepts: [], type: 'structure' } ],
+  [ 'WindowRole', { relatedConcepts: [], type: 'window' } ],
+]
+```
+
+### AXObject to Element
+
+```javascript
+import { AXObjectElements } from 'axobject-query';
+```
+
+AXObjects are mapped to their related HTML concepts, which may require attributes (in the case of inputs) to obtain the correct association.
+
+```javascript
+[
+  [ 'AbbrRole', [ { name: 'abbr' } ] ],
+  [ 'ArticleRole', [ { name: 'article' } ] ],
+  [ 'AudioRole', [ { name: 'audio' } ] ],
+  [ 'BlockquoteRole', [ { name: 'blockquote' } ] ],
+  [ 'ButtonRole', [ { name: 'button' } ] ],
+  [ 'CanvasRole', [ { name: 'canvas' } ] ],
+  [ 'CaptionRole', [ { name: 'caption' } ] ],
+  [ 'CellRole', [ { name: 'td' } ] ],
+  [ 'CheckBoxRole', [ { name: 'input', attributes: [Object] } ] ],
+  [ 'ColorWellRole', [ { name: 'input', attributes: [Object] } ] ],
+  [ 'ColumnHeaderRole', [ { name: 'th' } ] ],
+  [ 'DateRole', [ { name: 'input', attributes: [Object] } ] ],
+  [ 'DateTimeRole', [ { name: 'input', attributes: [Object] } ] ],
+  [ 'DefinitionRole', [ { name: 'dfn' } ] ],
+  [ 'DescriptionListDetailRole', [ { name: 'dd' } ] ],
+  [ 'DescriptionListRole', [ { name: 'dl' } ] ],
+  [ 'DescriptionListTermRole', [ { name: 'dt' } ] ],
+  [ 'DetailsRole', [ { name: 'details' } ] ],
+  [ 'DialogRole', [ { name: 'dialog' } ] ],
+  [ 'DirectoryRole', [ { name: 'dir' } ] ],
+  [ 'DivRole', [ { name: 'div' } ] ],
+  [ 'EmbeddedObjectRole', [ { name: 'embed' } ] ],
+  [ 'FigcaptionRole', [ { name: 'figcaption' } ] ],
+  [ 'FigureRole', [ { name: 'figure' } ] ],
+  [ 'FooterRole', [ { name: 'footer' } ] ],
+  [ 'FormRole', [ { name: 'form' } ] ],
+  [ 'HeadingRole', [ { name: 'h1' }, { name: 'h2' }, { name: 'h3' }, { name: 'h4' }, { name: 'h5' }, { name: 'h6' } ] ],
+  [ 'IframeRole', [ { name: 'iframe' } ] ],
+  [ 'ImageMapRole', [ { name: 'img', attributes: [Object] } ] ],
+  [ 'ImageRole', [ { name: 'img' } ] ],
+  [ 'InlineTextBoxRole', [ { name: 'input' } ] ],
+  [ 'InputTimeRole', [ { name: 'input', attributes: [Object] } ] ],
+  [ 'LabelRole', [ { name: 'label' } ] ],
+  [ 'LegendRole', [ { name: 'legend' } ] ],
+  [ 'LineBreakRole', [ { name: 'br' } ] ],
+  [ 'LinkRole', [ { name: 'a', attributes: [Object] } ] ],
+  [ 'ListBoxOptionRole', [ { name: 'option' } ] ],
+  [ 'ListItemRole', [ { name: 'li' } ] ],
+  [ 'ListRole', [ { name: 'ul' }, { name: 'ol' } ] ],
+  [ 'MainRole', [ { name: 'main' } ] ],
+  [ 'MarkRole', [ { name: 'mark' } ] ],
+  [ 'MarqueeRole', [ { name: 'marquee' } ] ],
+  [ 'MenuItemRole', [ { name: 'menuitem' } ] ],
+  [ 'MenuRole', [ { name: 'menu' } ] ],
+  [ 'MeterRole', [ { name: 'meter' } ] ],
+  [ 'NavigationRole', [ { name: 'nav' } ] ],
+  [ 'ParagraphRole', [ { name: 'p' } ] ],
+  [ 'PreRole', [ { name: 'pre' } ] ],
+  [ 'ProgressIndicatorRole', [ { name: 'progress' } ] ],
+  [ 'RadioButtonRole', [ { name: 'input', attributes: [Object] } ] ],
+  [ 'RowHeaderRole', [ { name: 'th', attributes: [Object] } ] ],
+  [ 'RowRole', [ { name: 'tr' } ] ],
+  [ 'RubyRole', [ { name: 'ruby' } ] ],
+  [ 'SearchBoxRole', [ { name: 'input', attributes: [Object] } ] ],
+  [ 'SliderRole', [ { name: 'input', attributes: [Object] } ] ],
+  [ 'SpinButtonRole', [ { name: 'input', attributes: [Object] } ] ],
+  [ 'TableRole', [ { name: 'table' } ] ],
+  [ 'TextFieldRole', [ { name: 'input' }, { name: 'input', attributes: [Object] } ] ],
+  [ 'TimeRole', [ { name: 'time' } ] ],
+  [ 'VideoRole', [ { name: 'video' ] ],
+]
+```
+
+### AXObject to Role
+
+```javascript
+import { AXObjectRoles } from 'axobject-query';
+```
+
+AXObjects are mapped to their related ARIA concepts..
+
+```javascript
+[
+  [ 'AlertDialogRole', [ { name: 'alertdialog' } ] ],
+  [ 'AlertRole', [ { name: 'alert' } ] ],
+  [ 'ApplicationRole', [ { name: 'application' } ] ],
+  [ 'ArticleRole', [ { name: 'article' } ] ],
+  [ 'BannerRole', [ { name: 'banner' } ] ],
+  [ 'BusyIndicatorRole', [ { attributes: [Object] } ] ],
+  [ 'ButtonRole', [ { name: 'button' } ] ],
+  [ 'CellRole', [ { name: 'cell' }, { name: 'gridcell' } ] ],
+  [ 'CheckBoxRole', [ { name: 'checkbox' } ] ],
+  [ 'ColumnHeaderRole', [ { name: 'columnheader' } ] ],
+  [ 'ComboBoxRole', [ { name: 'combobox' } ] ],
+  [ 'ComplementaryRole', [ { name: 'complementary' } ] ],
+  [ 'ContentInfoRole', [ { name: 'structureinfo' } ] ],
+  [ 'DialogRole', [ { name: 'dialog' } ] ],
+  [ 'DirectoryRole', [ { name: 'directory' } ] ],
+  [ 'DocumentRole', [ { name: 'document' } ] ],
+  [ 'FeedRole', [ { name: 'feed' } ] ],
+  [ 'FigureRole', [ { name: 'figure' } ] ],
+  [ 'FormRole', [ { name: 'form' } ] ],
+  [ 'GridRole', [ { name: 'grid' } ] ],
+  [ 'GroupRole', [ { name: 'group' } ] ],
+  [ 'HeadingRole', [ { name: 'heading' } ] ],
+  [ 'ImageRole', [ { name: 'img' } ] ],
+  [ 'LinkRole', [ { name: 'link' } ] ],
+  [ 'ListBoxOptionRole', [ { name: 'option' } ] ],
+  [ 'ListBoxRole', [ { name: 'listbox' } ] ],
+  [ 'ListItemRole', [ { name: 'listitem' } ] ],
+  [ 'ListRole', [ { name: 'list' } ] ],
+  [ 'LogRole', [ { name: 'log' } ] ],
+  [ 'MainRole', [ { name: 'main' } ] ],
+  [ 'MarqueeRole', [ { name: 'marquee' } ] ],
+  [ 'MathRole', [ { name: 'math' } ] ],
+  [ 'MenuBarRole', [ { name: 'menubar' } ] ],
+  [ 'MenuItemRole', [ { name: 'menuitem' } ] ],
+  [ 'MenuItemCheckBoxRole', [ { name: 'menuitemcheckbox' } ] ],
+  [ 'MenuItemRadioRole', [ { name: 'menuitemradio' } ] ],
+  [ 'MenuRole', [ { name: 'menu' } ] ],
+  [ 'NavigationRole', [ { name: 'navigation' } ] ],
+  [ 'NoneRole', [ { name: 'none' } ] ],
+  [ 'NoteRole', [ { name: 'note' } ] ],
+  [ 'PresentationalRole', [ { name: 'presentation' } ] ],
+  [ 'ProgressIndicatorRole', [ { name: 'progressbar' } ] ],
+  [ 'RadioButtonRole', [ { name: 'radio' } ] ],
+  [ 'RadioGroupRole', [ { name: 'radiogroup' } ] ],
+  [ 'RegionRole', [ { name: 'region' } ] ],
+  [ 'RowHeaderRole', [ { name: 'rowheader' } ] ],
+  [ 'RowRole', [ { name: 'row' } ] ],
+  [ 'ScrollBarRole', [ { name: 'scrollbar' } ] ],
+  [ 'SearchRole', [ { name: 'search' } ] ],
+  [ 'SearchBoxRole', [ { name: 'searchbox' } ] ],
+  [ 'SliderRole', [ { name: 'slider' } ] ],
+  [ 'SpinButtonRole', [ { name: 'spinbutton' } ] ],
+  [ 'SplitterRole', [ { name: 'separator' } ] ],
+  [ 'StatusRole', [ { name: 'status' } ] ],
+  [ 'SwitchRole', [ { name: 'switch' } ] ],
+  [ 'TabGroupRole', [ { name: 'tablist' } ] ],
+  [ 'TabRole', [ { name: 'tab' } ] ],
+  [ 'TableRole', [ { name: 'table' } ] ],
+  [ 'TabListRole', [ { name: 'tablist' } ] ],
+  [ 'TabPanelRole', [ { name: 'tabpanel' } ] ],
+  [ 'TermRole', [ { name: 'term' } ] ],
+  [ 'TextFieldRole', [ { name: 'textbox' } ] ],
+  [ 'TimerRole', [ { name: 'timer' } ] ],
+  [ 'ToggleButtonRole', [ { attributes: [Object] } ] ],
+  [ 'ToolbarRole', [ { name: 'toolbar' } ] ],
+  [ 'TreeRole', [ { name: 'tree' } ] ],
+  [ 'TreeGridRole', [ { name: 'treegrid' } ] ],
+  [ 'TreeItemRole', [ { name: 'treeitem' } ] ],
+  [ 'UserInterfaceTooltipRole', [ { name: 'tooltip' } ] ],
+]
+```
+
+### Element to AXObject
+
+```javascript
+import { elementAXObjects } from 'axobject-query';
+```
+
+HTML elements are mapped to their related AXConcepts concepts.
+
+```javascript
+[
+  [ { name: 'abbr' }, [ 'AbbrRole' ] ],
+  [ { name: 'article' }, [ 'ArticleRole' ] ],
+  [ { name: 'audio' }, [ 'AudioRole' ] ],
+  [ { name: 'blockquote' }, [ 'BlockquoteRole' ] ],
+  [ { name: 'button' }, [ 'ButtonRole' ] ],
+  [ { name: 'canvas' }, [ 'CanvasRole' ] ],
+  [ { name: 'caption' }, [ 'CaptionRole' ] ],
+  [ { name: 'td' }, [ 'CellRole' ] ],
+  [ { name: 'input', attributes: [ [Object] ] }, [ 'CheckBoxRole' ] ],
+  [ { name: 'input', attributes: [ [Object] ] }, [ 'ColorWellRole' ] ],
+  [ { name: 'th' }, [ 'ColumnHeaderRole' ] ],
+  [ { name: 'input', attributes: [ [Object] ] }, [ 'DateRole' ] ],
+  [ { name: 'input', attributes: [ [Object] ] }, [ 'DateTimeRole' ] ],
+  [ { name: 'dfn' }, [ 'DefinitionRole' ] ],
+  [ { name: 'dd' }, [ 'DescriptionListDetailRole' ] ],
+  [ { name: 'dl' }, [ 'DescriptionListRole' ] ],
+  [ { name: 'dt' }, [ 'DescriptionListTermRole' ] ],
+  [ { name: 'details' }, [ 'DetailsRole' ] ],
+  [ { name: 'dialog' }, [ 'DialogRole' ] ],
+  [ { name: 'dir' }, [ 'DirectoryRole' ] ],
+  [ { name: 'div' }, [ 'DivRole' ] ],
+  [ { name: 'embed' }, [ 'EmbeddedObjectRole' ] ],
+  [ { name: 'figcaption' }, [ 'FigcaptionRole' ] ],
+  [ { name: 'figure' }, [ 'FigureRole' ] ],
+  [ { name: 'footer' }, [ 'FooterRole' ] ],
+  [ { name: 'form' }, [ 'FormRole' ] ],
+  [ { name: 'h1' }, [ 'HeadingRole' ] ],
+  [ { name: 'h2' }, [ 'HeadingRole' ] ],
+  [ { name: 'h3' }, [ 'HeadingRole' ] ],
+  [ { name: 'h4' }, [ 'HeadingRole' ] ],
+  [ { name: 'h5' }, [ 'HeadingRole' ] ],
+  [ { name: 'h6' }, [ 'HeadingRole' ] ],
+  [ { name: 'iframe' }, [ 'IframeRole' ] ],
+  [ { name: 'img', attributes: [ [Object] ] }, [ 'ImageMapRole' ] ],
+  [ { name: 'img' }, [ 'ImageRole' ] ],
+  [ { name: 'input' }, [ 'InlineTextBoxRole', 'TextFieldRole' ] ],
+  [ { name: 'input', attributes: [ [Object] ] }, [ 'InputTimeRole' ] ],
+  [ { name: 'label' }, [ 'LabelRole' ] ],
+  [ { name: 'legend' }, [ 'LegendRole' ] ],
+  [ { name: 'br' }, [ 'LineBreakRole' ] ],
+  [ { name: 'a', attributes: [ [Object] ] }, [ 'LinkRole' ] ],
+  [ { name: 'option' }, [ 'ListBoxOptionRole' ] ],
+  [ { name: 'li' }, [ 'ListItemRole' ] ],
+  [ { name: 'ul' }, [ 'ListRole' ] ],
+  [ { name: 'ol' }, [ 'ListRole' ] ],
+  [ { name: 'main' }, [ 'MainRole' ] ],
+  [ { name: 'mark' }, [ 'MarkRole' ] ],
+  [ { name: 'marquee' }, [ 'MarqueeRole' ] ],
+  [ { name: 'menuitem' }, [ 'MenuItemRole' ] ],
+  [ { name: 'menu' }, [ 'MenuRole' ] ],
+  [ { name: 'meter' }, [ 'MeterRole' ] ],
+  [ { name: 'nav' }, [ 'NavigationRole' ] ],
+  [ { name: 'p' }, [ 'ParagraphRole' ] ],
+  [ { name: 'pre' }, [ 'PreRole' ] ],
+  [ { name: 'progress' }, [ 'ProgressIndicatorRole' ] ],
+  [ { name: 'input', attributes: [ [Object] ] }, [ 'RadioButtonRole' ] ],
+  [ { name: 'th', attributes: [ [Object] ] }, [ 'RowHeaderRole' ] ],
+  [ { name: 'tr' }, [ 'RowRole' ] ],
+  [ { name: 'ruby' }, [ 'RubyRole' ] ],
+  [ { name: 'input', attributes: [ [Object] ] }, [ 'SearchBoxRole' ] ],
+  [ { name: 'input', attributes: [ [Object] ] }, [ 'SliderRole' ] ],
+  [ { name: 'input', attributes: [ [Object] ] }, [ 'SpinButtonRole' ] ],
+  [ { name: 'table' }, [ 'TableRole' ] ],
+  [ { name: 'input' }, [ 'InlineTextBoxRole', 'TextFieldRole' ] ],
+  [ { name: 'input', attributes: [ [Object] ] }, [ 'TextFieldRole' ] ],
+  [ { name: 'time' }, [ 'TimeRole' ] ],
+  [ { name: 'video' }, [ 'VideoRole' ] ],
+]
+```
+
+## License
+
+Copyright (c) 2021 A11yance
Index: frontend/node_modules/axobject-query/lib/AXObjectElementMap.js
===================================================================
--- frontend/node_modules/axobject-query/lib/AXObjectElementMap.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/AXObjectElementMap.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,92 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var _iterationDecorator = _interopRequireDefault(require("./util/iterationDecorator"));
+var _AXObjectsMap = _interopRequireDefault(require("./AXObjectsMap"));
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
+function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
+function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
+function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+var AXObjectElements = [];
+var _iterator = _createForOfIteratorHelper(_AXObjectsMap.default.entries()),
+  _step;
+try {
+  var _loop = function _loop() {
+    var _step$value = _slicedToArray(_step.value, 2),
+      name = _step$value[0],
+      def = _step$value[1];
+    var relatedConcepts = def.relatedConcepts;
+    if (Array.isArray(relatedConcepts)) {
+      relatedConcepts.forEach(function (relation) {
+        if (relation.module === 'HTML') {
+          var concept = relation.concept;
+          if (concept) {
+            var index = AXObjectElements.findIndex(function (_ref5) {
+              var _ref6 = _slicedToArray(_ref5, 1),
+                key = _ref6[0];
+              return key === name;
+            });
+            if (index === -1) {
+              AXObjectElements.push([name, []]);
+              index = AXObjectElements.length - 1;
+            }
+            AXObjectElements[index][1].push(concept);
+          }
+        }
+      });
+    }
+  };
+  for (_iterator.s(); !(_step = _iterator.n()).done;) {
+    _loop();
+  }
+} catch (err) {
+  _iterator.e(err);
+} finally {
+  _iterator.f();
+}
+var AXObjectElementMap = {
+  entries: function entries() {
+    return AXObjectElements;
+  },
+  forEach: function forEach(fn) {
+    var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
+    for (var _i = 0, _AXObjectElements = AXObjectElements; _i < _AXObjectElements.length; _i++) {
+      var _AXObjectElements$_i = _slicedToArray(_AXObjectElements[_i], 2),
+        key = _AXObjectElements$_i[0],
+        values = _AXObjectElements$_i[1];
+      fn.call(thisArg, values, key, AXObjectElements);
+    }
+  },
+  get: function get(key) {
+    var item = AXObjectElements.find(function (tuple) {
+      return tuple[0] === key ? true : false;
+    });
+    return item && item[1];
+  },
+  has: function has(key) {
+    return !!AXObjectElementMap.get(key);
+  },
+  keys: function keys() {
+    return AXObjectElements.map(function (_ref) {
+      var _ref2 = _slicedToArray(_ref, 1),
+        key = _ref2[0];
+      return key;
+    });
+  },
+  values: function values() {
+    return AXObjectElements.map(function (_ref3) {
+      var _ref4 = _slicedToArray(_ref3, 2),
+        values = _ref4[1];
+      return values;
+    });
+  }
+};
+var _default = (0, _iterationDecorator.default)(AXObjectElementMap, AXObjectElementMap.entries());
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/AXObjectRoleMap.js
===================================================================
--- frontend/node_modules/axobject-query/lib/AXObjectRoleMap.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/AXObjectRoleMap.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,92 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var _iterationDecorator = _interopRequireDefault(require("./util/iterationDecorator"));
+var _AXObjectsMap = _interopRequireDefault(require("./AXObjectsMap"));
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
+function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
+function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
+function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+var AXObjectRoleElements = [];
+var _iterator = _createForOfIteratorHelper(_AXObjectsMap.default.entries()),
+  _step;
+try {
+  var _loop = function _loop() {
+    var _step$value = _slicedToArray(_step.value, 2),
+      name = _step$value[0],
+      def = _step$value[1];
+    var relatedConcepts = def.relatedConcepts;
+    if (Array.isArray(relatedConcepts)) {
+      relatedConcepts.forEach(function (relation) {
+        if (relation.module === 'ARIA') {
+          var concept = relation.concept;
+          if (concept) {
+            var index = AXObjectRoleElements.findIndex(function (_ref5) {
+              var _ref6 = _slicedToArray(_ref5, 1),
+                key = _ref6[0];
+              return key === name;
+            });
+            if (index === -1) {
+              AXObjectRoleElements.push([name, []]);
+              index = AXObjectRoleElements.length - 1;
+            }
+            AXObjectRoleElements[index][1].push(concept);
+          }
+        }
+      });
+    }
+  };
+  for (_iterator.s(); !(_step = _iterator.n()).done;) {
+    _loop();
+  }
+} catch (err) {
+  _iterator.e(err);
+} finally {
+  _iterator.f();
+}
+var AXObjectRoleMap = {
+  entries: function entries() {
+    return AXObjectRoleElements;
+  },
+  forEach: function forEach(fn) {
+    var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
+    for (var _i = 0, _AXObjectRoleElements = AXObjectRoleElements; _i < _AXObjectRoleElements.length; _i++) {
+      var _AXObjectRoleElements2 = _slicedToArray(_AXObjectRoleElements[_i], 2),
+        key = _AXObjectRoleElements2[0],
+        values = _AXObjectRoleElements2[1];
+      fn.call(thisArg, values, key, AXObjectRoleElements);
+    }
+  },
+  get: function get(key) {
+    var item = AXObjectRoleElements.find(function (tuple) {
+      return tuple[0] === key ? true : false;
+    });
+    return item && item[1];
+  },
+  has: function has(key) {
+    return !!AXObjectRoleMap.get(key);
+  },
+  keys: function keys() {
+    return AXObjectRoleElements.map(function (_ref) {
+      var _ref2 = _slicedToArray(_ref, 1),
+        key = _ref2[0];
+      return key;
+    });
+  },
+  values: function values() {
+    return AXObjectRoleElements.map(function (_ref3) {
+      var _ref4 = _slicedToArray(_ref3, 2),
+        values = _ref4[1];
+      return values;
+    });
+  }
+};
+var _default = (0, _iterationDecorator.default)(AXObjectRoleMap, AXObjectRoleMap.entries());
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/AXObjectsMap.js
===================================================================
--- frontend/node_modules/axobject-query/lib/AXObjectsMap.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/AXObjectsMap.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,178 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var _iterationDecorator = _interopRequireDefault(require("./util/iterationDecorator"));
+var _AbbrRole = _interopRequireDefault(require("./etc/objects/AbbrRole"));
+var _AlertDialogRole = _interopRequireDefault(require("./etc/objects/AlertDialogRole"));
+var _AlertRole = _interopRequireDefault(require("./etc/objects/AlertRole"));
+var _AnnotationRole = _interopRequireDefault(require("./etc/objects/AnnotationRole"));
+var _ApplicationRole = _interopRequireDefault(require("./etc/objects/ApplicationRole"));
+var _ArticleRole = _interopRequireDefault(require("./etc/objects/ArticleRole"));
+var _AudioRole = _interopRequireDefault(require("./etc/objects/AudioRole"));
+var _BannerRole = _interopRequireDefault(require("./etc/objects/BannerRole"));
+var _BlockquoteRole = _interopRequireDefault(require("./etc/objects/BlockquoteRole"));
+var _BusyIndicatorRole = _interopRequireDefault(require("./etc/objects/BusyIndicatorRole"));
+var _ButtonRole = _interopRequireDefault(require("./etc/objects/ButtonRole"));
+var _CanvasRole = _interopRequireDefault(require("./etc/objects/CanvasRole"));
+var _CaptionRole = _interopRequireDefault(require("./etc/objects/CaptionRole"));
+var _CellRole = _interopRequireDefault(require("./etc/objects/CellRole"));
+var _CheckBoxRole = _interopRequireDefault(require("./etc/objects/CheckBoxRole"));
+var _ColorWellRole = _interopRequireDefault(require("./etc/objects/ColorWellRole"));
+var _ColumnHeaderRole = _interopRequireDefault(require("./etc/objects/ColumnHeaderRole"));
+var _ColumnRole = _interopRequireDefault(require("./etc/objects/ColumnRole"));
+var _ComboBoxRole = _interopRequireDefault(require("./etc/objects/ComboBoxRole"));
+var _ComplementaryRole = _interopRequireDefault(require("./etc/objects/ComplementaryRole"));
+var _ContentInfoRole = _interopRequireDefault(require("./etc/objects/ContentInfoRole"));
+var _DateRole = _interopRequireDefault(require("./etc/objects/DateRole"));
+var _DateTimeRole = _interopRequireDefault(require("./etc/objects/DateTimeRole"));
+var _DefinitionRole = _interopRequireDefault(require("./etc/objects/DefinitionRole"));
+var _DescriptionListDetailRole = _interopRequireDefault(require("./etc/objects/DescriptionListDetailRole"));
+var _DescriptionListRole = _interopRequireDefault(require("./etc/objects/DescriptionListRole"));
+var _DescriptionListTermRole = _interopRequireDefault(require("./etc/objects/DescriptionListTermRole"));
+var _DetailsRole = _interopRequireDefault(require("./etc/objects/DetailsRole"));
+var _DialogRole = _interopRequireDefault(require("./etc/objects/DialogRole"));
+var _DirectoryRole = _interopRequireDefault(require("./etc/objects/DirectoryRole"));
+var _DisclosureTriangleRole = _interopRequireDefault(require("./etc/objects/DisclosureTriangleRole"));
+var _DivRole = _interopRequireDefault(require("./etc/objects/DivRole"));
+var _DocumentRole = _interopRequireDefault(require("./etc/objects/DocumentRole"));
+var _EmbeddedObjectRole = _interopRequireDefault(require("./etc/objects/EmbeddedObjectRole"));
+var _FeedRole = _interopRequireDefault(require("./etc/objects/FeedRole"));
+var _FigcaptionRole = _interopRequireDefault(require("./etc/objects/FigcaptionRole"));
+var _FigureRole = _interopRequireDefault(require("./etc/objects/FigureRole"));
+var _FooterRole = _interopRequireDefault(require("./etc/objects/FooterRole"));
+var _FormRole = _interopRequireDefault(require("./etc/objects/FormRole"));
+var _GridRole = _interopRequireDefault(require("./etc/objects/GridRole"));
+var _GroupRole = _interopRequireDefault(require("./etc/objects/GroupRole"));
+var _HeadingRole = _interopRequireDefault(require("./etc/objects/HeadingRole"));
+var _IframePresentationalRole = _interopRequireDefault(require("./etc/objects/IframePresentationalRole"));
+var _IframeRole = _interopRequireDefault(require("./etc/objects/IframeRole"));
+var _IgnoredRole = _interopRequireDefault(require("./etc/objects/IgnoredRole"));
+var _ImageMapLinkRole = _interopRequireDefault(require("./etc/objects/ImageMapLinkRole"));
+var _ImageMapRole = _interopRequireDefault(require("./etc/objects/ImageMapRole"));
+var _ImageRole = _interopRequireDefault(require("./etc/objects/ImageRole"));
+var _InlineTextBoxRole = _interopRequireDefault(require("./etc/objects/InlineTextBoxRole"));
+var _InputTimeRole = _interopRequireDefault(require("./etc/objects/InputTimeRole"));
+var _LabelRole = _interopRequireDefault(require("./etc/objects/LabelRole"));
+var _LegendRole = _interopRequireDefault(require("./etc/objects/LegendRole"));
+var _LineBreakRole = _interopRequireDefault(require("./etc/objects/LineBreakRole"));
+var _LinkRole = _interopRequireDefault(require("./etc/objects/LinkRole"));
+var _ListBoxOptionRole = _interopRequireDefault(require("./etc/objects/ListBoxOptionRole"));
+var _ListBoxRole = _interopRequireDefault(require("./etc/objects/ListBoxRole"));
+var _ListItemRole = _interopRequireDefault(require("./etc/objects/ListItemRole"));
+var _ListMarkerRole = _interopRequireDefault(require("./etc/objects/ListMarkerRole"));
+var _ListRole = _interopRequireDefault(require("./etc/objects/ListRole"));
+var _LogRole = _interopRequireDefault(require("./etc/objects/LogRole"));
+var _MainRole = _interopRequireDefault(require("./etc/objects/MainRole"));
+var _MarkRole = _interopRequireDefault(require("./etc/objects/MarkRole"));
+var _MarqueeRole = _interopRequireDefault(require("./etc/objects/MarqueeRole"));
+var _MathRole = _interopRequireDefault(require("./etc/objects/MathRole"));
+var _MenuBarRole = _interopRequireDefault(require("./etc/objects/MenuBarRole"));
+var _MenuButtonRole = _interopRequireDefault(require("./etc/objects/MenuButtonRole"));
+var _MenuItemRole = _interopRequireDefault(require("./etc/objects/MenuItemRole"));
+var _MenuItemCheckBoxRole = _interopRequireDefault(require("./etc/objects/MenuItemCheckBoxRole"));
+var _MenuItemRadioRole = _interopRequireDefault(require("./etc/objects/MenuItemRadioRole"));
+var _MenuListOptionRole = _interopRequireDefault(require("./etc/objects/MenuListOptionRole"));
+var _MenuListPopupRole = _interopRequireDefault(require("./etc/objects/MenuListPopupRole"));
+var _MenuRole = _interopRequireDefault(require("./etc/objects/MenuRole"));
+var _MeterRole = _interopRequireDefault(require("./etc/objects/MeterRole"));
+var _NavigationRole = _interopRequireDefault(require("./etc/objects/NavigationRole"));
+var _NoneRole = _interopRequireDefault(require("./etc/objects/NoneRole"));
+var _NoteRole = _interopRequireDefault(require("./etc/objects/NoteRole"));
+var _OutlineRole = _interopRequireDefault(require("./etc/objects/OutlineRole"));
+var _ParagraphRole = _interopRequireDefault(require("./etc/objects/ParagraphRole"));
+var _PopUpButtonRole = _interopRequireDefault(require("./etc/objects/PopUpButtonRole"));
+var _PreRole = _interopRequireDefault(require("./etc/objects/PreRole"));
+var _PresentationalRole = _interopRequireDefault(require("./etc/objects/PresentationalRole"));
+var _ProgressIndicatorRole = _interopRequireDefault(require("./etc/objects/ProgressIndicatorRole"));
+var _RadioButtonRole = _interopRequireDefault(require("./etc/objects/RadioButtonRole"));
+var _RadioGroupRole = _interopRequireDefault(require("./etc/objects/RadioGroupRole"));
+var _RegionRole = _interopRequireDefault(require("./etc/objects/RegionRole"));
+var _RootWebAreaRole = _interopRequireDefault(require("./etc/objects/RootWebAreaRole"));
+var _RowHeaderRole = _interopRequireDefault(require("./etc/objects/RowHeaderRole"));
+var _RowRole = _interopRequireDefault(require("./etc/objects/RowRole"));
+var _RubyRole = _interopRequireDefault(require("./etc/objects/RubyRole"));
+var _RulerRole = _interopRequireDefault(require("./etc/objects/RulerRole"));
+var _ScrollAreaRole = _interopRequireDefault(require("./etc/objects/ScrollAreaRole"));
+var _ScrollBarRole = _interopRequireDefault(require("./etc/objects/ScrollBarRole"));
+var _SeamlessWebAreaRole = _interopRequireDefault(require("./etc/objects/SeamlessWebAreaRole"));
+var _SearchRole = _interopRequireDefault(require("./etc/objects/SearchRole"));
+var _SearchBoxRole = _interopRequireDefault(require("./etc/objects/SearchBoxRole"));
+var _SliderRole = _interopRequireDefault(require("./etc/objects/SliderRole"));
+var _SliderThumbRole = _interopRequireDefault(require("./etc/objects/SliderThumbRole"));
+var _SpinButtonRole = _interopRequireDefault(require("./etc/objects/SpinButtonRole"));
+var _SpinButtonPartRole = _interopRequireDefault(require("./etc/objects/SpinButtonPartRole"));
+var _SplitterRole = _interopRequireDefault(require("./etc/objects/SplitterRole"));
+var _StaticTextRole = _interopRequireDefault(require("./etc/objects/StaticTextRole"));
+var _StatusRole = _interopRequireDefault(require("./etc/objects/StatusRole"));
+var _SVGRootRole = _interopRequireDefault(require("./etc/objects/SVGRootRole"));
+var _SwitchRole = _interopRequireDefault(require("./etc/objects/SwitchRole"));
+var _TabGroupRole = _interopRequireDefault(require("./etc/objects/TabGroupRole"));
+var _TabRole = _interopRequireDefault(require("./etc/objects/TabRole"));
+var _TableHeaderContainerRole = _interopRequireDefault(require("./etc/objects/TableHeaderContainerRole"));
+var _TableRole = _interopRequireDefault(require("./etc/objects/TableRole"));
+var _TabListRole = _interopRequireDefault(require("./etc/objects/TabListRole"));
+var _TabPanelRole = _interopRequireDefault(require("./etc/objects/TabPanelRole"));
+var _TermRole = _interopRequireDefault(require("./etc/objects/TermRole"));
+var _TextAreaRole = _interopRequireDefault(require("./etc/objects/TextAreaRole"));
+var _TextFieldRole = _interopRequireDefault(require("./etc/objects/TextFieldRole"));
+var _TimeRole = _interopRequireDefault(require("./etc/objects/TimeRole"));
+var _TimerRole = _interopRequireDefault(require("./etc/objects/TimerRole"));
+var _ToggleButtonRole = _interopRequireDefault(require("./etc/objects/ToggleButtonRole"));
+var _ToolbarRole = _interopRequireDefault(require("./etc/objects/ToolbarRole"));
+var _TreeRole = _interopRequireDefault(require("./etc/objects/TreeRole"));
+var _TreeGridRole = _interopRequireDefault(require("./etc/objects/TreeGridRole"));
+var _TreeItemRole = _interopRequireDefault(require("./etc/objects/TreeItemRole"));
+var _UserInterfaceTooltipRole = _interopRequireDefault(require("./etc/objects/UserInterfaceTooltipRole"));
+var _VideoRole = _interopRequireDefault(require("./etc/objects/VideoRole"));
+var _WebAreaRole = _interopRequireDefault(require("./etc/objects/WebAreaRole"));
+var _WindowRole = _interopRequireDefault(require("./etc/objects/WindowRole"));
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
+function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
+function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
+var AXObjects = [['AbbrRole', _AbbrRole.default], ['AlertDialogRole', _AlertDialogRole.default], ['AlertRole', _AlertRole.default], ['AnnotationRole', _AnnotationRole.default], ['ApplicationRole', _ApplicationRole.default], ['ArticleRole', _ArticleRole.default], ['AudioRole', _AudioRole.default], ['BannerRole', _BannerRole.default], ['BlockquoteRole', _BlockquoteRole.default], ['BusyIndicatorRole', _BusyIndicatorRole.default], ['ButtonRole', _ButtonRole.default], ['CanvasRole', _CanvasRole.default], ['CaptionRole', _CaptionRole.default], ['CellRole', _CellRole.default], ['CheckBoxRole', _CheckBoxRole.default], ['ColorWellRole', _ColorWellRole.default], ['ColumnHeaderRole', _ColumnHeaderRole.default], ['ColumnRole', _ColumnRole.default], ['ComboBoxRole', _ComboBoxRole.default], ['ComplementaryRole', _ComplementaryRole.default], ['ContentInfoRole', _ContentInfoRole.default], ['DateRole', _DateRole.default], ['DateTimeRole', _DateTimeRole.default], ['DefinitionRole', _DefinitionRole.default], ['DescriptionListDetailRole', _DescriptionListDetailRole.default], ['DescriptionListRole', _DescriptionListRole.default], ['DescriptionListTermRole', _DescriptionListTermRole.default], ['DetailsRole', _DetailsRole.default], ['DialogRole', _DialogRole.default], ['DirectoryRole', _DirectoryRole.default], ['DisclosureTriangleRole', _DisclosureTriangleRole.default], ['DivRole', _DivRole.default], ['DocumentRole', _DocumentRole.default], ['EmbeddedObjectRole', _EmbeddedObjectRole.default], ['FeedRole', _FeedRole.default], ['FigcaptionRole', _FigcaptionRole.default], ['FigureRole', _FigureRole.default], ['FooterRole', _FooterRole.default], ['FormRole', _FormRole.default], ['GridRole', _GridRole.default], ['GroupRole', _GroupRole.default], ['HeadingRole', _HeadingRole.default], ['IframePresentationalRole', _IframePresentationalRole.default], ['IframeRole', _IframeRole.default], ['IgnoredRole', _IgnoredRole.default], ['ImageMapLinkRole', _ImageMapLinkRole.default], ['ImageMapRole', _ImageMapRole.default], ['ImageRole', _ImageRole.default], ['InlineTextBoxRole', _InlineTextBoxRole.default], ['InputTimeRole', _InputTimeRole.default], ['LabelRole', _LabelRole.default], ['LegendRole', _LegendRole.default], ['LineBreakRole', _LineBreakRole.default], ['LinkRole', _LinkRole.default], ['ListBoxOptionRole', _ListBoxOptionRole.default], ['ListBoxRole', _ListBoxRole.default], ['ListItemRole', _ListItemRole.default], ['ListMarkerRole', _ListMarkerRole.default], ['ListRole', _ListRole.default], ['LogRole', _LogRole.default], ['MainRole', _MainRole.default], ['MarkRole', _MarkRole.default], ['MarqueeRole', _MarqueeRole.default], ['MathRole', _MathRole.default], ['MenuBarRole', _MenuBarRole.default], ['MenuButtonRole', _MenuButtonRole.default], ['MenuItemRole', _MenuItemRole.default], ['MenuItemCheckBoxRole', _MenuItemCheckBoxRole.default], ['MenuItemRadioRole', _MenuItemRadioRole.default], ['MenuListOptionRole', _MenuListOptionRole.default], ['MenuListPopupRole', _MenuListPopupRole.default], ['MenuRole', _MenuRole.default], ['MeterRole', _MeterRole.default], ['NavigationRole', _NavigationRole.default], ['NoneRole', _NoneRole.default], ['NoteRole', _NoteRole.default], ['OutlineRole', _OutlineRole.default], ['ParagraphRole', _ParagraphRole.default], ['PopUpButtonRole', _PopUpButtonRole.default], ['PreRole', _PreRole.default], ['PresentationalRole', _PresentationalRole.default], ['ProgressIndicatorRole', _ProgressIndicatorRole.default], ['RadioButtonRole', _RadioButtonRole.default], ['RadioGroupRole', _RadioGroupRole.default], ['RegionRole', _RegionRole.default], ['RootWebAreaRole', _RootWebAreaRole.default], ['RowHeaderRole', _RowHeaderRole.default], ['RowRole', _RowRole.default], ['RubyRole', _RubyRole.default], ['RulerRole', _RulerRole.default], ['ScrollAreaRole', _ScrollAreaRole.default], ['ScrollBarRole', _ScrollBarRole.default], ['SeamlessWebAreaRole', _SeamlessWebAreaRole.default], ['SearchRole', _SearchRole.default], ['SearchBoxRole', _SearchBoxRole.default], ['SliderRole', _SliderRole.default], ['SliderThumbRole', _SliderThumbRole.default], ['SpinButtonRole', _SpinButtonRole.default], ['SpinButtonPartRole', _SpinButtonPartRole.default], ['SplitterRole', _SplitterRole.default], ['StaticTextRole', _StaticTextRole.default], ['StatusRole', _StatusRole.default], ['SVGRootRole', _SVGRootRole.default], ['SwitchRole', _SwitchRole.default], ['TabGroupRole', _TabGroupRole.default], ['TabRole', _TabRole.default], ['TableHeaderContainerRole', _TableHeaderContainerRole.default], ['TableRole', _TableRole.default], ['TabListRole', _TabListRole.default], ['TabPanelRole', _TabPanelRole.default], ['TermRole', _TermRole.default], ['TextAreaRole', _TextAreaRole.default], ['TextFieldRole', _TextFieldRole.default], ['TimeRole', _TimeRole.default], ['TimerRole', _TimerRole.default], ['ToggleButtonRole', _ToggleButtonRole.default], ['ToolbarRole', _ToolbarRole.default], ['TreeRole', _TreeRole.default], ['TreeGridRole', _TreeGridRole.default], ['TreeItemRole', _TreeItemRole.default], ['UserInterfaceTooltipRole', _UserInterfaceTooltipRole.default], ['VideoRole', _VideoRole.default], ['WebAreaRole', _WebAreaRole.default], ['WindowRole', _WindowRole.default]];
+var AXObjectsMap = {
+  entries: function entries() {
+    return AXObjects;
+  },
+  forEach: function forEach(fn) {
+    var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
+    for (var _i = 0, _AXObjects = AXObjects; _i < _AXObjects.length; _i++) {
+      var _AXObjects$_i = _slicedToArray(_AXObjects[_i], 2),
+        key = _AXObjects$_i[0],
+        values = _AXObjects$_i[1];
+      fn.call(thisArg, values, key, AXObjects);
+    }
+  },
+  get: function get(key) {
+    var item = AXObjects.find(function (tuple) {
+      return tuple[0] === key ? true : false;
+    });
+    return item && item[1];
+  },
+  has: function has(key) {
+    return !!AXObjectsMap.get(key);
+  },
+  keys: function keys() {
+    return AXObjects.map(function (_ref) {
+      var _ref2 = _slicedToArray(_ref, 1),
+        key = _ref2[0];
+      return key;
+    });
+  },
+  values: function values() {
+    return AXObjects.map(function (_ref3) {
+      var _ref4 = _slicedToArray(_ref3, 2),
+        values = _ref4[1];
+      return values;
+    });
+  }
+};
+var _default = (0, _iterationDecorator.default)(AXObjectsMap, AXObjectsMap.entries());
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/elementAXObjectMap.js
===================================================================
--- frontend/node_modules/axobject-query/lib/elementAXObjectMap.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/elementAXObjectMap.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,128 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var _AXObjectsMap = _interopRequireDefault(require("./AXObjectsMap"));
+var _iterationDecorator = _interopRequireDefault(require("./util/iterationDecorator"));
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
+function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
+function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
+function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+var elementAXObjects = [];
+var _iterator = _createForOfIteratorHelper(_AXObjectsMap.default.entries()),
+  _step;
+try {
+  var _loop = function _loop() {
+    var _step$value = _slicedToArray(_step.value, 2),
+      name = _step$value[0],
+      def = _step$value[1];
+    var relatedConcepts = def.relatedConcepts;
+    if (Array.isArray(relatedConcepts)) {
+      relatedConcepts.forEach(function (relation) {
+        if (relation.module === 'HTML') {
+          var concept = relation.concept;
+          if (concept != null) {
+            var conceptStr = JSON.stringify(concept);
+            var axObjects;
+            var index = 0;
+            for (; index < elementAXObjects.length; index++) {
+              var key = elementAXObjects[index][0];
+              if (JSON.stringify(key) === conceptStr) {
+                axObjects = elementAXObjects[index][1];
+                break;
+              }
+            }
+            if (!Array.isArray(axObjects)) {
+              axObjects = [];
+            }
+            var loc = axObjects.findIndex(function (item) {
+              return item === name;
+            });
+            if (loc === -1) {
+              axObjects.push(name);
+            }
+            if (index < elementAXObjects.length) {
+              elementAXObjects.splice(index, 1, [concept, axObjects]);
+            } else {
+              elementAXObjects.push([concept, axObjects]);
+            }
+          }
+        }
+      });
+    }
+  };
+  for (_iterator.s(); !(_step = _iterator.n()).done;) {
+    _loop();
+  }
+} catch (err) {
+  _iterator.e(err);
+} finally {
+  _iterator.f();
+}
+function deepAxObjectModelRelationshipConceptAttributeCheck(a, b) {
+  if (a === undefined && b !== undefined) {
+    return false;
+  }
+  if (a !== undefined && b === undefined) {
+    return false;
+  }
+  if (a !== undefined && b !== undefined) {
+    if (a.length != b.length) {
+      return false;
+    }
+
+    // dequal checks position equality
+    // https://github.com/lukeed/dequal/blob/5ecd990c4c055c4658c64b4bdfc170f219604eea/src/index.js#L17-L22
+    for (var i = 0; i < a.length; i++) {
+      if (b[i].name !== a[i].name || b[i].value !== a[i].value) {
+        return false;
+      }
+    }
+  }
+  return true;
+}
+var elementAXObjectMap = {
+  entries: function entries() {
+    return elementAXObjects;
+  },
+  forEach: function forEach(fn) {
+    var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
+    for (var _i = 0, _elementAXObjects = elementAXObjects; _i < _elementAXObjects.length; _i++) {
+      var _elementAXObjects$_i = _slicedToArray(_elementAXObjects[_i], 2),
+        key = _elementAXObjects$_i[0],
+        values = _elementAXObjects$_i[1];
+      fn.call(thisArg, values, key, elementAXObjects);
+    }
+  },
+  get: function get(key) {
+    var item = elementAXObjects.find(function (tuple) {
+      return key.name === tuple[0].name && deepAxObjectModelRelationshipConceptAttributeCheck(key.attributes, tuple[0].attributes);
+    });
+    return item && item[1];
+  },
+  has: function has(key) {
+    return !!elementAXObjectMap.get(key);
+  },
+  keys: function keys() {
+    return elementAXObjects.map(function (_ref) {
+      var _ref2 = _slicedToArray(_ref, 1),
+        key = _ref2[0];
+      return key;
+    });
+  },
+  values: function values() {
+    return elementAXObjects.map(function (_ref3) {
+      var _ref4 = _slicedToArray(_ref3, 2),
+        values = _ref4[1];
+      return values;
+    });
+  }
+};
+var _default = (0, _iterationDecorator.default)(elementAXObjectMap, elementAXObjectMap.entries());
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/AbbrRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/AbbrRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/AbbrRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var AbbrRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'abbr'
+    }
+  }],
+  type: 'structure'
+};
+var _default = AbbrRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/AlertDialogRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/AlertDialogRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/AlertDialogRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var AlertDialogRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'alertdialog'
+    }
+  }],
+  type: 'window'
+};
+var _default = AlertDialogRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/AlertRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/AlertRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/AlertRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var AlertRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'alert'
+    }
+  }],
+  type: 'structure'
+};
+var _default = AlertRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/AnnotationRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/AnnotationRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/AnnotationRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var AnnotationRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = AnnotationRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ApplicationRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ApplicationRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ApplicationRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ApplicationRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'application'
+    }
+  }],
+  type: 'window'
+};
+var _default = ApplicationRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ArticleRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ArticleRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ArticleRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ArticleRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'article'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'article'
+    }
+  }],
+  type: 'structure'
+};
+var _default = ArticleRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/AudioRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/AudioRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/AudioRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var AudioRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'audio'
+    }
+  }],
+  type: 'widget'
+};
+var _default = AudioRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/BannerRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/BannerRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/BannerRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var BannerRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'banner'
+    }
+  }],
+  type: 'structure'
+};
+var _default = BannerRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/BlockquoteRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/BlockquoteRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/BlockquoteRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var BlockquoteRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'blockquote'
+    }
+  }],
+  type: 'structure'
+};
+var _default = BlockquoteRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/BusyIndicatorRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/BusyIndicatorRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/BusyIndicatorRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,20 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var BusyIndicatorRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      attributes: [{
+        name: 'aria-busy',
+        value: 'true'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = BusyIndicatorRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ButtonRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ButtonRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ButtonRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ButtonRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'button'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'button'
+    }
+  }],
+  type: 'widget'
+};
+var _default = ButtonRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/CanvasRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/CanvasRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/CanvasRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var CanvasRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'canvas'
+    }
+  }],
+  type: 'widget'
+};
+var _default = CanvasRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/CaptionRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/CaptionRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/CaptionRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var CaptionRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'caption'
+    }
+  }],
+  type: 'structure'
+};
+var _default = CaptionRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/CellRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/CellRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/CellRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,27 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var CellRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'cell'
+    }
+  }, {
+    module: 'ARIA',
+    concept: {
+      name: 'gridcell'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'td'
+    }
+  }],
+  type: 'widget'
+};
+var _default = CellRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/CheckBoxRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/CheckBoxRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/CheckBoxRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,26 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var CheckBoxRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'checkbox'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'input',
+      attributes: [{
+        name: 'type',
+        value: 'checkbox'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = CheckBoxRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ColorWellRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ColorWellRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ColorWellRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,21 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ColorWellRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'input',
+      attributes: [{
+        name: 'type',
+        value: 'color'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = ColorWellRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ColumnHeaderRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ColumnHeaderRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ColumnHeaderRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ColumnHeaderRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'columnheader'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'th'
+    }
+  }],
+  type: 'widget'
+};
+var _default = ColumnHeaderRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ColumnRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ColumnRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ColumnRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ColumnRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = ColumnRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ComboBoxRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ComboBoxRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ComboBoxRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ComboBoxRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'combobox'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'select'
+    }
+  }],
+  type: 'widget'
+};
+var _default = ComboBoxRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ComplementaryRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ComplementaryRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ComplementaryRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ComplementaryRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'complementary'
+    }
+  }],
+  type: 'structure'
+};
+var _default = ComplementaryRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ContentInfoRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ContentInfoRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ContentInfoRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ContentInfoRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'structureinfo'
+    }
+  }],
+  type: 'structure'
+};
+var _default = ContentInfoRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/DateRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/DateRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/DateRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,21 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var DateRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'input',
+      attributes: [{
+        name: 'type',
+        value: 'date'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = DateRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/DateTimeRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/DateTimeRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/DateTimeRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,21 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var DateTimeRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'input',
+      attributes: [{
+        name: 'type',
+        value: 'datetime'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = DateTimeRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/DefinitionRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/DefinitionRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/DefinitionRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var DefinitionRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'dfn'
+    }
+  }],
+  type: 'structure'
+};
+var _default = DefinitionRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/DescriptionListDetailRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/DescriptionListDetailRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/DescriptionListDetailRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var DescriptionListDetailRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'dd'
+    }
+  }],
+  type: 'structure'
+};
+var _default = DescriptionListDetailRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/DescriptionListRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/DescriptionListRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/DescriptionListRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var DescriptionListRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'dl'
+    }
+  }],
+  type: 'structure'
+};
+var _default = DescriptionListRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/DescriptionListTermRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/DescriptionListTermRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/DescriptionListTermRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var DescriptionListTermRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'dt'
+    }
+  }],
+  type: 'structure'
+};
+var _default = DescriptionListTermRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/DetailsRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/DetailsRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/DetailsRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var DetailsRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'details'
+    }
+  }],
+  type: 'structure'
+};
+var _default = DetailsRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/DialogRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/DialogRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/DialogRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var DialogRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'dialog'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'dialog'
+    }
+  }],
+  type: 'window'
+};
+var _default = DialogRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/DirectoryRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/DirectoryRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/DirectoryRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var DirectoryRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'directory'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'dir'
+    }
+  }],
+  type: 'structure'
+};
+var _default = DirectoryRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/DisclosureTriangleRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/DisclosureTriangleRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/DisclosureTriangleRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,18 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var DisclosureTriangleRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      constraints: ['scoped to a details element'],
+      name: 'summary'
+    }
+  }],
+  type: 'widget'
+};
+var _default = DisclosureTriangleRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/DivRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/DivRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/DivRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var DivRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'div'
+    }
+  }],
+  type: 'generic'
+};
+var _default = DivRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/DocumentRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/DocumentRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/DocumentRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var DocumentRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'document'
+    }
+  }],
+  type: 'structure'
+};
+var _default = DocumentRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/EmbeddedObjectRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/EmbeddedObjectRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/EmbeddedObjectRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var EmbeddedObjectRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'embed'
+    }
+  }],
+  type: 'widget'
+};
+var _default = EmbeddedObjectRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/FeedRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/FeedRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/FeedRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var FeedRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'feed'
+    }
+  }],
+  type: 'structure'
+};
+var _default = FeedRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/FigcaptionRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/FigcaptionRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/FigcaptionRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var FigcaptionRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'figcaption'
+    }
+  }],
+  type: 'structure'
+};
+var _default = FigcaptionRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/FigureRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/FigureRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/FigureRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var FigureRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'figure'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'figure'
+    }
+  }],
+  type: 'structure'
+};
+var _default = FigureRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/FooterRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/FooterRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/FooterRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var FooterRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'footer'
+    }
+  }],
+  type: 'structure'
+};
+var _default = FooterRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/FormRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/FormRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/FormRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var FormRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'form'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'form'
+    }
+  }],
+  type: 'structure'
+};
+var _default = FormRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/GridRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/GridRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/GridRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var GridRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'grid'
+    }
+  }],
+  type: 'widget'
+};
+var _default = GridRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/GroupRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/GroupRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/GroupRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var GroupRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'group'
+    }
+  }],
+  type: 'structure'
+};
+var _default = GroupRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/HeadingRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/HeadingRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/HeadingRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,47 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var HeadingRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'heading'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'h1'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'h2'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'h3'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'h4'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'h5'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'h6'
+    }
+  }],
+  type: 'structure'
+};
+var _default = HeadingRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/IframePresentationalRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/IframePresentationalRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/IframePresentationalRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var IframePresentationalRole = {
+  relatedConcepts: [],
+  type: 'window'
+};
+var _default = IframePresentationalRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/IframeRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/IframeRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/IframeRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var IframeRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'iframe'
+    }
+  }],
+  type: 'window'
+};
+var _default = IframeRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/IgnoredRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/IgnoredRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/IgnoredRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var IgnoredRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = IgnoredRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ImageMapLinkRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ImageMapLinkRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ImageMapLinkRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ImageMapLinkRole = {
+  relatedConcepts: [],
+  type: 'widget'
+};
+var _default = ImageMapLinkRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ImageMapRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ImageMapRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ImageMapRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,20 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ImageMapRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'img',
+      attributes: [{
+        name: 'usemap'
+      }]
+    }
+  }],
+  type: 'structure'
+};
+var _default = ImageMapRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ImageRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ImageRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ImageRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ImageRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'img'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'img'
+    }
+  }],
+  type: 'structure'
+};
+var _default = ImageRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/InlineTextBoxRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/InlineTextBoxRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/InlineTextBoxRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var InlineTextBoxRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'input'
+    }
+  }],
+  type: 'widget'
+};
+var _default = InlineTextBoxRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/InputTimeRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/InputTimeRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/InputTimeRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,21 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var InputTimeRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'input',
+      attributes: [{
+        name: 'type',
+        value: 'time'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = InputTimeRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/LabelRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/LabelRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/LabelRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var LabelRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'label'
+    }
+  }],
+  type: 'structure'
+};
+var _default = LabelRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/LegendRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/LegendRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/LegendRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var LegendRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'legend'
+    }
+  }],
+  type: 'structure'
+};
+var _default = LegendRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/LineBreakRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/LineBreakRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/LineBreakRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var LineBreakRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'br'
+    }
+  }],
+  type: 'structure'
+};
+var _default = LineBreakRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/LinkRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/LinkRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/LinkRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,25 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var LinkRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'link'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'a',
+      attributes: [{
+        name: 'href'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = LinkRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ListBoxOptionRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ListBoxOptionRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ListBoxOptionRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ListBoxOptionRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'option'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'option'
+    }
+  }],
+  type: 'widget'
+};
+var _default = ListBoxOptionRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ListBoxRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ListBoxRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ListBoxRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,27 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ListBoxRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'listbox'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'datalist'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'select'
+    }
+  }],
+  type: 'widget'
+};
+var _default = ListBoxRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ListItemRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ListItemRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ListItemRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ListItemRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'listitem'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'li'
+    }
+  }],
+  type: 'structure'
+};
+var _default = ListItemRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ListMarkerRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ListMarkerRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ListMarkerRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ListMarkerRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = ListMarkerRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ListRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ListRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ListRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,27 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ListRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'list'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'ul'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'ol'
+    }
+  }],
+  type: 'structure'
+};
+var _default = ListRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/LogRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/LogRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/LogRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var LogRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'log'
+    }
+  }],
+  type: 'structure'
+};
+var _default = LogRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/MainRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/MainRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/MainRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var MainRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'main'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'main'
+    }
+  }],
+  type: 'structure'
+};
+var _default = MainRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/MarkRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/MarkRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/MarkRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var MarkRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'mark'
+    }
+  }],
+  type: 'structure'
+};
+var _default = MarkRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/MarqueeRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/MarqueeRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/MarqueeRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var MarqueeRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'marquee'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'marquee'
+    }
+  }],
+  type: 'structure'
+};
+var _default = MarqueeRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/MathRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/MathRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/MathRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var MathRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'math'
+    }
+  }],
+  type: 'structure'
+};
+var _default = MathRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/MenuBarRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/MenuBarRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/MenuBarRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var MenuBarRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'menubar'
+    }
+  }],
+  type: 'structure'
+};
+var _default = MenuBarRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/MenuButtonRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/MenuButtonRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/MenuButtonRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var MenuButtonRole = {
+  relatedConcepts: [],
+  type: 'widget'
+};
+var _default = MenuButtonRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/MenuItemCheckBoxRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/MenuItemCheckBoxRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/MenuItemCheckBoxRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var MenuItemCheckBoxRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'menuitemcheckbox'
+    }
+  }],
+  type: 'widget'
+};
+var _default = MenuItemCheckBoxRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/MenuItemRadioRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/MenuItemRadioRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/MenuItemRadioRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var MenuItemRadioRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'menuitemradio'
+    }
+  }],
+  type: 'widget'
+};
+var _default = MenuItemRadioRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/MenuItemRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/MenuItemRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/MenuItemRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var MenuItemRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'menuitem'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'menuitem'
+    }
+  }],
+  type: 'widget'
+};
+var _default = MenuItemRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/MenuListOptionRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/MenuListOptionRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/MenuListOptionRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var MenuListOptionRole = {
+  relatedConcepts: [],
+  type: 'widget'
+};
+var _default = MenuListOptionRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/MenuListPopupRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/MenuListPopupRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/MenuListPopupRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var MenuListPopupRole = {
+  relatedConcepts: [],
+  type: 'widget'
+};
+var _default = MenuListPopupRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/MenuRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/MenuRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/MenuRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var MenuRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'menu'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'menu'
+    }
+  }],
+  type: 'structure'
+};
+var _default = MenuRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/MeterRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/MeterRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/MeterRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var MeterRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'meter'
+    }
+  }],
+  type: 'structure'
+};
+var _default = MeterRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/NavigationRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/NavigationRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/NavigationRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var NavigationRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'navigation'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'nav'
+    }
+  }],
+  type: 'structure'
+};
+var _default = NavigationRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/NoneRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/NoneRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/NoneRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var NoneRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'none'
+    }
+  }],
+  type: 'structure'
+};
+var _default = NoneRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/NoteRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/NoteRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/NoteRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var NoteRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'note'
+    }
+  }],
+  type: 'structure'
+};
+var _default = NoteRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/OutlineRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/OutlineRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/OutlineRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var OutlineRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = OutlineRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ParagraphRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ParagraphRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ParagraphRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ParagraphRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'p'
+    }
+  }],
+  type: 'structure'
+};
+var _default = ParagraphRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/PopUpButtonRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/PopUpButtonRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/PopUpButtonRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var PopUpButtonRole = {
+  relatedConcepts: [],
+  type: 'widget'
+};
+var _default = PopUpButtonRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/PreRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/PreRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/PreRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var PreRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'pre'
+    }
+  }],
+  type: 'structure'
+};
+var _default = PreRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/PresentationalRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/PresentationalRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/PresentationalRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var PresentationalRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'presentation'
+    }
+  }],
+  type: 'structure'
+};
+var _default = PresentationalRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ProgressIndicatorRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ProgressIndicatorRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ProgressIndicatorRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ProgressIndicatorRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'progressbar'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'progress'
+    }
+  }],
+  type: 'structure'
+};
+var _default = ProgressIndicatorRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/RadioButtonRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/RadioButtonRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/RadioButtonRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,26 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var RadioButtonRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'radio'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'input',
+      attributes: [{
+        name: 'type',
+        value: 'radio'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = RadioButtonRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/RadioGroupRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/RadioGroupRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/RadioGroupRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var RadioGroupRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'radiogroup'
+    }
+  }],
+  type: 'structure'
+};
+var _default = RadioGroupRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/RegionRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/RegionRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/RegionRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var RegionRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'region'
+    }
+  }],
+  type: 'structure'
+};
+var _default = RegionRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/RootWebAreaRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/RootWebAreaRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/RootWebAreaRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var RootWebAreaRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = RootWebAreaRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/RowHeaderRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/RowHeaderRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/RowHeaderRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,26 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var RowHeaderRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'rowheader'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'th',
+      attributes: [{
+        name: 'scope',
+        value: 'row'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = RowHeaderRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/RowRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/RowRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/RowRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var RowRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'row'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'tr'
+    }
+  }],
+  type: 'structure'
+};
+var _default = RowRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/RubyRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/RubyRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/RubyRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var RubyRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'ruby'
+    }
+  }],
+  type: 'structure'
+};
+var _default = RubyRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/RulerRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/RulerRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/RulerRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var RulerRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = RulerRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/SVGRootRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/SVGRootRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/SVGRootRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var SVGRootRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = SVGRootRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ScrollAreaRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ScrollAreaRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ScrollAreaRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ScrollAreaRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = ScrollAreaRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ScrollBarRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ScrollBarRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ScrollBarRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ScrollBarRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'scrollbar'
+    }
+  }],
+  type: 'widget'
+};
+var _default = ScrollBarRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/SeamlessWebAreaRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/SeamlessWebAreaRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/SeamlessWebAreaRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var SeamlessWebAreaRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = SeamlessWebAreaRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/SearchBoxRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/SearchBoxRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/SearchBoxRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,26 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var SearchBoxRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'searchbox'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'input',
+      attributes: [{
+        name: 'type',
+        value: 'search'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = SearchBoxRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/SearchRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/SearchRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/SearchRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var SearchRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'search'
+    }
+  }],
+  type: 'structure'
+};
+var _default = SearchRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/SliderRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/SliderRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/SliderRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,26 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var SliderRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'slider'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'input',
+      attributes: [{
+        name: 'type',
+        value: 'range'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = SliderRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/SliderThumbRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/SliderThumbRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/SliderThumbRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var SliderThumbRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = SliderThumbRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/SpinButtonPartRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/SpinButtonPartRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/SpinButtonPartRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var SpinButtonPartRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = SpinButtonPartRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/SpinButtonRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/SpinButtonRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/SpinButtonRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,26 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var SpinButtonRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'spinbutton'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'input',
+      attributes: [{
+        name: 'type',
+        value: 'number'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = SpinButtonRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/SplitterRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/SplitterRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/SplitterRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var SplitterRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'separator'
+    }
+  }],
+  type: 'widget'
+};
+var _default = SplitterRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/StaticTextRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/StaticTextRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/StaticTextRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var StaticTextRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = StaticTextRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/StatusRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/StatusRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/StatusRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var StatusRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'status'
+    }
+  }],
+  type: 'structure'
+};
+var _default = StatusRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/SwitchRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/SwitchRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/SwitchRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,26 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var SwitchRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'switch'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'input',
+      attributes: [{
+        name: 'type',
+        value: 'checkbox'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = SwitchRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TabGroupRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TabGroupRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TabGroupRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TabGroupRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'tablist'
+    }
+  }],
+  type: 'structure'
+};
+var _default = TabGroupRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TabListRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TabListRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TabListRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TabListRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'tablist'
+    }
+  }],
+  type: 'structure'
+};
+var _default = TabListRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TabPanelRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TabPanelRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TabPanelRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TabPanelRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'tabpanel'
+    }
+  }],
+  type: 'structure'
+};
+var _default = TabPanelRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TabRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TabRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TabRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TabRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'tab'
+    }
+  }],
+  type: 'widget'
+};
+var _default = TabRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TableHeaderContainerRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TableHeaderContainerRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TableHeaderContainerRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TableHeaderContainerRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = TableHeaderContainerRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TableRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TableRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TableRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TableRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'table'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'table'
+    }
+  }],
+  type: 'structure'
+};
+var _default = TableRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TermRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TermRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TermRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TermRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'term'
+    }
+  }],
+  type: 'structure'
+};
+var _default = TermRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TextAreaRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TextAreaRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TextAreaRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,26 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TextAreaRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      attributes: [{
+        name: 'aria-multiline',
+        value: 'true'
+      }],
+      name: 'textbox'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'textarea'
+    }
+  }],
+  type: 'widget'
+};
+var _default = TextAreaRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TextFieldRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TextFieldRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TextFieldRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,31 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TextFieldRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'textbox'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'input'
+    }
+  }, {
+    module: 'HTML',
+    concept: {
+      name: 'input',
+      attributes: [{
+        name: 'type',
+        value: 'text'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = TextFieldRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TimeRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TimeRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TimeRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TimeRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'time'
+    }
+  }],
+  type: 'structure'
+};
+var _default = TimeRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TimerRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TimerRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TimerRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TimerRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'timer'
+    }
+  }],
+  type: 'structure'
+};
+var _default = TimerRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ToggleButtonRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ToggleButtonRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ToggleButtonRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,19 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ToggleButtonRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      attributes: [{
+        name: 'aria-pressed'
+      }]
+    }
+  }],
+  type: 'widget'
+};
+var _default = ToggleButtonRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/ToolbarRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/ToolbarRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/ToolbarRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var ToolbarRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'toolbar'
+    }
+  }],
+  type: 'structure'
+};
+var _default = ToolbarRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TreeGridRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TreeGridRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TreeGridRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TreeGridRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'treegrid'
+    }
+  }],
+  type: 'widget'
+};
+var _default = TreeGridRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TreeItemRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TreeItemRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TreeItemRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TreeItemRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'treeitem'
+    }
+  }],
+  type: 'widget'
+};
+var _default = TreeItemRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/TreeRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/TreeRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/TreeRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var TreeRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'tree'
+    }
+  }],
+  type: 'widget'
+};
+var _default = TreeRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/UserInterfaceTooltipRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/UserInterfaceTooltipRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/UserInterfaceTooltipRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var UserInterfaceTooltipRole = {
+  relatedConcepts: [{
+    module: 'ARIA',
+    concept: {
+      name: 'tooltip'
+    }
+  }],
+  type: 'structure'
+};
+var _default = UserInterfaceTooltipRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/VideoRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/VideoRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/VideoRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var VideoRole = {
+  relatedConcepts: [{
+    module: 'HTML',
+    concept: {
+      name: 'video'
+    }
+  }],
+  type: 'widget'
+};
+var _default = VideoRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/WebAreaRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/WebAreaRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/WebAreaRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var WebAreaRole = {
+  relatedConcepts: [],
+  type: 'structure'
+};
+var _default = WebAreaRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/etc/objects/WindowRole.js
===================================================================
--- frontend/node_modules/axobject-query/lib/etc/objects/WindowRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/etc/objects/WindowRole.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,12 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var WindowRole = {
+  relatedConcepts: [],
+  type: 'window'
+};
+var _default = WindowRole;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/lib/index.js
===================================================================
--- frontend/node_modules/axobject-query/lib/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,19 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.elementAXObjects = exports.AXObjects = exports.AXObjectRoles = exports.AXObjectElements = void 0;
+var _AXObjectElementMap = _interopRequireDefault(require("./AXObjectElementMap"));
+var _AXObjectRoleMap = _interopRequireDefault(require("./AXObjectRoleMap"));
+var _AXObjectsMap = _interopRequireDefault(require("./AXObjectsMap"));
+var _elementAXObjectMap = _interopRequireDefault(require("./elementAXObjectMap"));
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+var AXObjectElements = _AXObjectElementMap.default;
+exports.AXObjectElements = AXObjectElements;
+var AXObjectRoles = _AXObjectRoleMap.default;
+exports.AXObjectRoles = AXObjectRoles;
+var AXObjects = _AXObjectsMap.default;
+exports.AXObjects = AXObjects;
+var elementAXObjects = _elementAXObjectMap.default;
+exports.elementAXObjects = elementAXObjects;
Index: frontend/node_modules/axobject-query/lib/util/iterationDecorator.js
===================================================================
--- frontend/node_modules/axobject-query/lib/util/iterationDecorator.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/util/iterationDecorator.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,17 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = iterationDecorator;
+var _iteratorProxy = _interopRequireDefault(require("./iteratorProxy"));
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
+function iterationDecorator(collection, entries) {
+  if (typeof Symbol === 'function' && _typeof(Symbol.iterator) === 'symbol') {
+    Object.defineProperty(collection, Symbol.iterator, {
+      value: _iteratorProxy.default.bind(entries)
+    });
+  }
+  return collection;
+}
Index: frontend/node_modules/axobject-query/lib/util/iteratorProxy.js
===================================================================
--- frontend/node_modules/axobject-query/lib/util/iteratorProxy.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/lib/util/iteratorProxy.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,33 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+// eslint-disable-next-line no-unused-vars
+function iteratorProxy() {
+  var values = this;
+  var index = 0;
+  var iter = {
+    '@@iterator': function iterator() {
+      return iter;
+    },
+    next: function next() {
+      if (index < values.length) {
+        var value = values[index];
+        index = index + 1;
+        return {
+          done: false,
+          value: value
+        };
+      } else {
+        return {
+          done: true
+        };
+      }
+    }
+  };
+  return iter;
+}
+var _default = iteratorProxy;
+exports.default = _default;
Index: frontend/node_modules/axobject-query/package.json
===================================================================
--- frontend/node_modules/axobject-query/package.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/axobject-query/package.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,69 @@
+{
+  "name": "axobject-query",
+  "version": "4.1.0",
+  "description": "Programmatic access to information about the AXObject Model",
+  "main": "lib/index.js",
+  "files": [
+    "lib"
+  ],
+  "scripts": {
+    "build": "rimraf lib && babel src --out-dir lib",
+    "flow": "flow",
+    "lint": "eslint --ext=js,mjs .",
+    "lint:fix": "npm run lint -- --fix",
+    "prepublishOnly": "npm run build",
+    "pretest": "npm run lint:fix && npm run flow",
+    "test": "npm run tests-only",
+    "build:tests": "npm run build && rimraf __tests-built__ && BABEL_ENV=test babel __tests__ --out-dir __tests-built__",
+    "tests-built": "nyc tape '__tests-built__/**/*.js'",
+    "tests-only": "nyc tape -r @babel/register '__tests__/**/*.js'",
+    "prepack": "npm run build"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/A11yance/axobject-query.git"
+  },
+  "keywords": [
+    "accessibility"
+  ],
+  "author": "Jesse Beach <splendidnoise@gmail.com>",
+  "license": "Apache-2.0",
+  "bugs": {
+    "url": "https://github.com/A11yance/axobject-query/issues"
+  },
+  "homepage": "https://github.com/A11yance/axobject-query#readme",
+  "devDependencies": {
+    "@babel/cli": "^7.19.3",
+    "@babel/core": "^7.19.6",
+    "@babel/eslint-parser": "^7.19.1",
+    "@babel/plugin-transform-react-jsx": "^7.24.7",
+    "@babel/preset-env": "^7.19.4",
+    "@babel/preset-flow": "^7.18.6",
+    "@babel/register": "^7.24.6",
+    "babel-plugin-module-resolver": "^5.0.2",
+    "deep-equal-json": "^1.0.0",
+    "encoding": "^0.1.13",
+    "eslint": "^8.26.0",
+    "eslint-config-airbnb-base": "^15.0.0",
+    "eslint-plugin-flowtype": "^8.0.3",
+    "eslint-plugin-import": "^2.26.0",
+    "expect": "^29.2.1",
+    "flow-bin": "^0.190.1",
+    "flow-typed": "^3.8.0",
+    "mock-property": "^1.0.3",
+    "nyc": "^10.3.2",
+    "object-inspect": "^1.13.2",
+    "object.values": "^1.2.0",
+    "rimraf": "^3.0.2",
+    "tape": "^5.8.1"
+  },
+  "browserslist": [
+    ">0.2%",
+    "not dead",
+    "not op_mini all",
+    "ie 11"
+  ],
+  "engines": {
+    "node": ">= 0.4"
+  }
+}
