// Type definitions for aria-query 4.2 // Project: https://github.com/A11yance/aria-query#readme // Definitions by: Sebastian Silbermann // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 3.0 // index.js export type ARIARoleDefintionKey = ARIAAbstractRole | ARIARole | ARIADPubRole; export const aria: Map; export interface DOMDefinition { reserved?: boolean | undefined; interactive?: boolean | undefined; } export const dom: Map; export const elementRoles: Map>; export const roles: Map; export const roleElements: Map>; // types export type ARIAAbstractRole = | 'command' | 'composite' | 'input' | 'landmark' | 'range' | 'roletype' | 'section' | 'sectionhead' | 'select' | 'structure' | 'widget' | 'window'; export type ARIAWidgetRole = | 'button' | 'checkbox' | 'gridcell' | 'link' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'option' | 'progressbar' | 'radio' | 'scrollbar' | 'searchbox' | 'slider' | 'spinbutton' | 'switch' | 'tab' | 'tabpanel' | 'textbox' | 'treeitem'; export type ARIACompositeWidgetRole = | 'combobox' | 'grid' | 'listbox' | 'menu' | 'menubar' | 'radiogroup' | 'tablist' | 'tree' | 'treegrid'; export type ARIADocumentStructureRole = | 'application' | 'article' | 'blockquote' | 'caption' | 'cell' | 'columnheader' | 'definition' | 'deletion' | 'directory' | 'document' | 'emphasis' | 'feed' | 'figure' | 'generic' | 'group' | 'heading' | 'img' | 'insertion' | 'list' | 'listitem' | 'math' | 'meter' | 'none' | 'note' | 'paragraph' | 'presentation' | 'row' | 'rowgroup' | 'rowheader' | 'separator' | 'strong' | 'subscript' | 'superscript' | 'table' | 'term' | 'time' | 'toolbar' | 'tooltip'; export type ARIALandmarkRole = | 'banner' | 'complementary' | 'contentinfo' | 'form' | 'main' | 'navigation' | 'region' | 'search'; export type ARIALiveRegionRole = 'alert' | 'log' | 'marquee' | 'status' | 'timer'; export type ARIAWindowRole = 'alertdialog' | 'dialog'; export type ARIAUncategorizedRole = 'code'; export type ARIADPubRole = | 'doc-abstract' | 'doc-acknowledgments' | 'doc-afterword' | 'doc-appendix' | 'doc-backlink' | 'doc-biblioentry' | 'doc-bibliography' | 'doc-biblioref' | 'doc-chapter' | 'doc-colophon' | 'doc-conclusion' | 'doc-cover' | 'doc-credit' | 'doc-credits' | 'doc-dedication' | 'doc-endnote' | 'doc-endnotes' | 'doc-epigraph' | 'doc-epilogue' | 'doc-errata' | 'doc-example' | 'doc-footnote' | 'doc-foreword' | 'doc-glossary' | 'doc-glossref' | 'doc-index' | 'doc-introduction' | 'doc-noteref' | 'doc-notice' | 'doc-pagebreak' | 'doc-pagelist' | 'doc-part' | 'doc-preface' | 'doc-prologue' | 'doc-pullquote' | 'doc-qna' | 'doc-subtitle' | 'doc-tip' | 'doc-toc'; export type ARIARole = | ARIAWidgetRole | ARIACompositeWidgetRole | ARIADocumentStructureRole | ARIALandmarkRole | ARIALiveRegionRole | ARIAWindowRole | ARIAUncategorizedRole; export interface ARIARoleDefinition { /* Abstract roles may not be used in HTML. */ abstract: boolean; /* The concepts in related domains that inform behavior mappings. */ baseConcepts: ARIARoleRelation[]; /* Child presentational roles strip child nodes of roles and flatten the * content to text. */ childrenPresentational: boolean; /* aria-* properties and states disallowed on this role. */ prohibitedProps: ARIAPropertyMap; /* aria-* properties and states allowed on this role. */ props: ARIAPropertyMap; /* The concepts in related domains that inform behavior mappings. */ relatedConcepts: ARIARoleRelation[]; /* aria-* properties and states required on this role. */ requiredProps: ARIAPropertyMap; /* An array or super class "stacks." Each stack contains a LIFO list of * strings correspond to a super class in the inheritance chain of this * role. Roles may have more than one inheritance chain, which is why * this property is an array of arrays and not a single array. */ superClass: Array>; } export type ARIAState = | 'aria-busy' | 'aria-checked' | 'aria-disabled' | 'aria-expanded' | 'aria-grabbed' | 'aria-hidden' | 'aria-invalid' | 'aria-pressed' | 'aria-selected'; export type ARIAProperty = | 'aria-activedescendant' | 'aria-atomic' | 'aria-autocomplete' | 'aria-colcount' | 'aria-colindex' | 'aria-colspan' | 'aria-controls' | 'aria-current' | 'aria-describedat' | 'aria-describedby' | 'aria-details' | 'aria-dropeffect' | 'aria-errormessage' | 'aria-flowto' | 'aria-haspopup' | 'aria-keyshortcuts' | 'aria-label' | 'aria-labelledby' | 'aria-level' | 'aria-live' | 'aria-modal' | 'aria-multiline' | 'aria-multiselectable' | 'aria-orientation' | 'aria-owns' | 'aria-placeholder' | 'aria-posinset' | 'aria-readonly' | 'aria-relevant' | 'aria-required' | 'aria-roledescription' | 'aria-rowcount' | 'aria-rowindex' | 'aria-rowspan' | 'aria-setsize' | 'aria-sort' | 'aria-valuemax' | 'aria-valuemin' | 'aria-valuenow' | 'aria-valuetext' | ARIAState; export interface ARIAPropertyMap { 'aria-busy'?: unknown | undefined; 'aria-checked'?: unknown | undefined; 'aria-disabled'?: unknown | undefined; 'aria-expanded'?: unknown | undefined; 'aria-grabbed'?: unknown | undefined; 'aria-hidden'?: unknown | undefined; 'aria-invalid'?: unknown | undefined; 'aria-pressed'?: unknown | undefined; 'aria-selected'?: unknown | undefined; 'aria-activedescendant'?: unknown | undefined; 'aria-atomic'?: unknown | undefined; 'aria-autocomplete'?: unknown | undefined; 'aria-colcount'?: unknown | undefined; 'aria-colindex'?: unknown | undefined; 'aria-colspan'?: unknown | undefined; 'aria-controls'?: unknown | undefined; 'aria-current'?: ARIAPropertyCurrent | null | undefined; 'aria-describedat'?: unknown | undefined; 'aria-describedby'?: unknown | undefined; 'aria-details'?: unknown | undefined; 'aria-dropeffect'?: unknown | undefined; 'aria-errormessage'?: unknown | undefined; 'aria-flowto'?: unknown | undefined; 'aria-haspopup'?: unknown | undefined; 'aria-keyshortcuts'?: unknown | undefined; 'aria-label'?: unknown | undefined; 'aria-labelledby'?: unknown | undefined; 'aria-level'?: unknown | undefined; 'aria-live'?: unknown | undefined; 'aria-modal'?: unknown | undefined; 'aria-multiline'?: unknown | undefined; 'aria-multiselectable'?: unknown | undefined; 'aria-orientation'?: unknown | undefined; 'aria-owns'?: unknown | undefined; 'aria-placeholder'?: unknown | undefined; 'aria-posinset'?: unknown | undefined; 'aria-readonly'?: unknown | undefined; 'aria-relevant'?: unknown | undefined; 'aria-required'?: unknown | undefined; 'aria-roledescription'?: unknown | undefined; 'aria-rowcount'?: unknown | undefined; 'aria-rowindex'?: unknown | undefined; 'aria-rowspan'?: unknown | undefined; 'aria-setsize'?: unknown | undefined; 'aria-sort'?: unknown | undefined; 'aria-valuemax'?: unknown | undefined; 'aria-valuemin'?: unknown | undefined; 'aria-valuenow'?: unknown | undefined; 'aria-valuetext'?: unknown | undefined; } export interface ARIAPropertyDefinition { type: 'string' | 'id' | 'idlist' | 'integer' | 'number' | 'boolean' | 'token' | 'tokenlist' | 'tristate'; values?: Array | undefined; allowundefined?: boolean | undefined; } export type ARIAPropertyCurrent = 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false' | true | false; export interface ARIARoleRelation { module?: string | undefined; concept?: ARIARoleRelationConcept | undefined; } /* The concept in a related domain that informs behavior mappings. * Related domains include: HTML, "Device Independence Delivery Unit", XForms, * and ARIA to name a few. */ export interface ARIARoleRelationConcept { name: string; attributes?: ARIARoleRelationConceptAttribute[] | undefined; // These constraints are drawn from the mapping between ARIA and HTML: // https://www.w3.org/TR/html-aria constraints?: Array< | 'direct descendant of document' | 'direct descendant of ol, ul or menu' | 'direct descendant of details element with the open attribute defined' | 'descendant of table' > | undefined; } export interface ARIARoleRelationConceptAttribute { name: string; value?: string | number | undefined; // These constraints are drawn from the mapping between ARIA and HTML: // https://www.w3.org/TR/html-aria constraints?: Array<'unset' | '>1'> | undefined; }