{"version":3,"file":"index.mjs","sources":["../src/lib/aria-roles.ts","../src/lib/html.ts","../src/lib/util.ts","../src/tags/aside.ts","../src/tags/footer.ts","../src/tags/header.ts","../src/tags/input.ts","../src/tags/li.ts","../src/tags/select.ts","../src/tags/svg.ts","../src/tags/td.ts","../src/tags/th.ts","../src/get-role.ts","../src/is-interactive.ts","../src/is-name-required.ts","../src/get-elements.ts","../src/get-required-attributes.ts","../src/lib/aria-attributes.ts","../src/get-supported-attributes.ts","../src/get-supported-roles.ts"],"sourcesContent":["import type {\n  ARIAAttribute,\n  ARIARole,\n  AbstractRole,\n  DigitalPublishingRole,\n  DocumentStructureRole,\n  GraphicsRole,\n  LandmarkRole,\n  LiveRegionRole,\n  VirtualElement,\n  WidgetRole,\n  WindowRole,\n} from '../types.js';\n\nexport type RoleType =\n  | 'abstract'\n  | 'widget'\n  | 'document'\n  | 'landmark'\n  | 'liveregion'\n  | 'window'\n  | 'graphics'\n  | 'digitalpublishing';\n\n// note: all fields required to be monomorphic\nexport interface RoleData {\n  /**\n   * A list of roles which are allowed on an accessibility child (simplified as \"child\") of the element with this role.\n   * @see https://w3c.github.io/aria/#mustContain\n   */\n  allowedChildRoles: ARIARole[];\n  /**\n   * The DOM descendants are presentational.\n   * @see https://w3c.github.io/aria/#childrenArePresentational\n   */\n  childrenPresentational: boolean;\n  /**\n   * Default values for role supported ARIA attributes (if any)\n   * @see https://www.w3.org/TR/wai-aria-1.3/#implictValueForRole\n   *\n   * OR\n   *\n   * Fallback values for role required ARIA attributes (if any)\n   * @see https://www.w3.org/TR/wai-aria-1.3/#document-handling_author-errors_states-properties\n   *\n   * ARIA attribute defaults independent of role constraints are not exposed here.\n   */\n  defaultAttributeValues: Record<string, boolean | number | string>;\n  /** Which HTML elements inherit this role, if any (note: attributes may be necessary) */\n  elements: VirtualElement[];\n  name: ARIARole;\n  /**\n   * @see https://w3c.github.io/aria/#namefromauthor\n   * @see https://w3c.github.io/aria/#namefromcontent\n   * @see https://w3c.github.io/aria/#namefromprohibited\n   */\n  nameFrom: 'author' | 'authorAndContents' | 'contents' | 'prohibited';\n  /** Role that require an accessible name. */\n  nameRequired: boolean;\n  /**\n   * aria-* attributes that are explicitly prohibited for this role, and are considered an error if set.\n   * @see https://www.w3.org/TR/wai-aria-1.3/#prohibitedattributes\n   */\n  prohibited: ARIAAttribute[];\n  /**\n   * If given, states that this role can only exist within this container\n   * @see https://www.w3.org/TR/wai-aria-1.3/#scope\n   */\n  requiredParentRoles: ARIARole[];\n  /**\n   * aria-* attributes that MUST be set for this role.\n   * @see https://www.w3.org/TR/wai-aria-1.3/#requiredState\n   */\n  required: ARIAAttribute[];\n  superclasses: (ARIARole | AbstractRole)[]; // ignores abstract roles\n  subclasses: (ARIARole | AbstractRole)[]; // ignores abstract roles\n  /**\n   * aria-* attributes that MAY be set for this role.\n   * Note: this includes required attributes, supported attributes, and inherited attributes from superclass role types.\n   * @see https://www.w3.org/TR/wai-aria-1.3/#supportedState\n   * @see https://www.w3.org/TR/wai-aria-1.3/#inheritedattributes\n   */\n  supported: ARIAAttribute[];\n  type: RoleType[];\n}\n\nexport const widgetRoles: Record<WidgetRole, RoleData> = {\n  /** An input that allows for user-triggered actions when clicked or pressed. See related link. */\n  button: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'button' }],\n    name: 'button',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['command'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-pressed', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A checkable input that has three possible values: true, false, or mixed. */\n  checkbox: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {\n      'aria-checked': false,\n    },\n    elements: [{ tagName: 'input', attributes: { type: 'checkbox' } }],\n    name: 'checkbox',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: ['aria-checked'],\n    requiredParentRoles: [],\n    subclasses: ['switch'],\n    superclasses: ['input'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-checked', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** An input that controls another element, such as a listbox or grid, that can dynamically pop up to help the user set the value of the input. */\n  combobox: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {\n      'aria-haspopup': 'listbox',\n      'aria-expanded': false,\n    },\n    elements: [{ tagName: 'select' }],\n    name: 'combobox',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    // Note: aria-controls isn’t required by ARIA 1.3, but AAM requires aria-controls for most implementations of comboboxes\n    // @see https://www.w3.org/TR/html-aam-1.0/#el-input-textetc-autocomplete\n    required: ['aria-controls', 'aria-expanded'],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['input'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-autocomplete', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A composite widget containing a collection of one or more rows with one or more cells where some or all cells in the grid are focusable by using methods of two-dimensional navigation, such as directional arrow keys. */\n  grid: {\n    allowedChildRoles: ['caption', 'row', 'rowgroup'],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'table', attributes: { role: 'grid' } }],\n    name: 'grid',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['treegrid'],\n    superclasses: ['composite', 'table'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-colcount', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-multiselectable', 'aria-owns', 'aria-readonly', 'aria-relevant', 'aria-roledescription', 'aria-rowcount'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A cell in a grid or treegrid. */\n  gridcell: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [\n      { tagName: 'td', attributes: { role: 'gridcell' } },\n      { tagName: 'th', attributes: { role: 'gridcell' } },\n    ],\n    name: 'gridcell',\n    nameFrom: 'authorAndContents',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: ['row'],\n    subclasses: ['columnheader', 'rowheader'],\n    superclasses: ['cell', 'widget'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-colindex', 'aria-colindextext', 'aria-colspan', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription', 'aria-rowindex', 'aria-rowindextext', 'aria-rowspan', 'aria-selected'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** An interactive reference to an internal or external resource that, when activated, causes the user agent to navigate to that resource. See related button. */\n  link: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'a' }, { tagName: 'area' }],\n    name: 'link',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['doc-backlink', 'doc-biblioref', 'doc-glossref', 'doc-noteref'],\n    superclasses: ['command'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A widget that allows the user to select one or more items from a list of choices. See related combobox and list. */\n  listbox: {\n    allowedChildRoles: ['group', 'option'],\n    childrenPresentational: false,\n    defaultAttributeValues: {\n      'aria-orientation': 'vertical',\n    },\n    elements: [{ tagName: 'select', attributes: { multiple: true } }],\n    name: 'listbox',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['select'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-multiselectable', 'aria-orientation', 'aria-owns', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A type of widget that offers a list of choices to the user. */\n  menu: {\n    allowedChildRoles: ['group', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'separator'],\n    childrenPresentational: false,\n    defaultAttributeValues: {\n      'aria-orientation': 'vertical',\n    },\n    elements: [],\n    name: 'menu',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['menubar'],\n    superclasses: ['select'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-orientation', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A presentation of menu that usually remains visible and is usually presented horizontally. */\n  menubar: {\n    allowedChildRoles: ['group', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'separator'],\n    childrenPresentational: false,\n    defaultAttributeValues: {\n      'aria-orientation': 'horizontal',\n    },\n    elements: [],\n    name: 'menubar',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['menu'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-orientation', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** An option in a set of choices contained by a menu or menubar. */\n  menuitem: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'menuitem',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: ['menu', 'menubar', 'group'],\n    subclasses: ['menuitemcheckbox', 'menuitemradio'],\n    superclasses: ['command'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-posinset', 'aria-relevant', 'aria-roledescription', 'aria-setsize'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A menuitem with a checkable state whose possible values are true, false, or mixed. */\n  menuitemcheckbox: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {\n      'aria-checked': false,\n    },\n    elements: [],\n    name: 'menuitemcheckbox',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: ['aria-checked'],\n    requiredParentRoles: ['menu', 'menubar', 'group'],\n    subclasses: [],\n    superclasses: ['menuitem'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-checked', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-posinset', 'aria-relevant', 'aria-roledescription', 'aria-setsize'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A checkable menuitem in a set of elements with the same role, only one of which can be checked at a time. */\n  menuitemradio: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {\n      'aria-checked': false,\n    },\n    elements: [],\n    name: 'menuitemradio',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: ['aria-checked'],\n    requiredParentRoles: ['menu', 'menubar', 'group'],\n    subclasses: [],\n    superclasses: ['menuitem'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-checked', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-posinset', 'aria-relevant', 'aria-roledescription', 'aria-setsize'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** An item in a listbox. */\n  option: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'option' }],\n    name: 'option',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: ['listbox', 'group'],\n    subclasses: ['treeitem'],\n    superclasses: ['input'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-checked', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-posinset', 'aria-relevant', 'aria-roledescription', 'aria-selected', 'aria-setsize'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** An element that displays the progress status for tasks that take a long time. */\n  progressbar: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {\n      'aria-valuemax': 100,\n      'aria-valuemin': 0,\n    },\n    elements: [{ tagName: 'progress' }],\n    name: 'progressbar',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['range', 'widget'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A checkable input in a group of elements with the same role, only one of which can be checked at a time. */\n  radio: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {\n      'aria-checked': false,\n    },\n    elements: [{ tagName: 'input', attributes: { type: 'radio' } }],\n    name: 'radio',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: ['aria-checked'],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['input'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-checked', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-posinset', 'aria-relevant', 'aria-roledescription', 'aria-setsize'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A group of radio buttons. */\n  radiogroup: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'radiogroup',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['select'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-orientation', 'aria-owns', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A row of cells in a tabular container. */\n  row: {\n    allowedChildRoles: ['cell', 'columnheader', 'gridcell', 'rowheader'],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'tr' }],\n    name: 'row',\n    nameFrom: 'authorAndContents',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: ['grid', 'table', 'treegrid', 'rowgroup'],\n    subclasses: [],\n    superclasses: ['group', 'widget'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-colindex', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-level', 'aria-live', 'aria-owns', 'aria-posinset', 'aria-relevant', 'aria-roledescription', 'aria-rowindex', 'aria-rowindextext', 'aria-selected', 'aria-setsize'], // biome-ignore format: long list\n    type: ['document', 'widget'],\n  },\n  /** A graphical object that controls the scrolling of content within a viewing area, regardless of whether the content is fully displayed within the viewing area. */\n  scrollbar: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {\n      'aria-orientation': 'vertical',\n      'aria-valuemax': 100,\n      'aria-valuemin': 0,\n      // If missing or not a number,(aria-valuemax - aria-valuemin) / 2. If present but less than aria-valuemin, the value of aria-valuemin. If present but greater than aria-valuemax, the value of aria-valuemax.\n      // 'aria-valuenow': TBD\n    },\n    elements: [],\n    name: 'scrollbar',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: ['aria-controls', 'aria-valuenow'],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['range', 'widget'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-orientation', 'aria-owns', 'aria-relevant', 'aria-roledescription', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A type of textbox intended for specifying search criteria. See related textbox and search. */\n  searchbox: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'input', attributes: { type: 'search' } }],\n    name: 'searchbox',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['textbox'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-autocomplete', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-multiline', 'aria-owns', 'aria-placeholder', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A divider that separates and distinguishes sections of content or groups of menuitems. */\n  separator: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {\n      'aria-orientation': 'horizontal',\n      'aria-valuemax': 100,\n      'aria-valuemin': 0,\n      // If missing or not a number,(aria-valuemax - aria-valuemin) / 2. If present but less than aria-valuemin, the value of aria-valuemin. If present but greater than aria-valuemax, the value of aria-valuemax.\n      // 'aria-valuenow': TBD\n    },\n    elements: [{ tagName: 'hr' }],\n    name: 'separator',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [], // aria-valuenow (if focusable)\n    requiredParentRoles: [],\n    subclasses: ['doc-pagebreak'],\n    superclasses: ['structure', 'widget'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-orientation', 'aria-owns', 'aria-relevant', 'aria-roledescription', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext'], // biome-ignore format: long list\n    type: ['widget', 'document'],\n  },\n  /** An input where the user selects a value from within a given range. */\n  slider: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {\n      'aria-orientation': 'horizontal',\n      'aria-valuemax': 100,\n      'aria-valuemin': 0,\n      // If missing or not a number,(aria-valuemax - aria-valuemin) / 2. If present but less than aria-valuemin, the value of aria-valuemin. If present but greater than aria-valuemax, the value of aria-valuemax.\n      // 'aria-valuenow': TBD\n    },\n    elements: [{ tagName: 'input', attributes: { type: 'range' } }],\n    name: 'slider',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: ['aria-valuenow'],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['input', 'range'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-orientation', 'aria-owns', 'aria-readonly', 'aria-relevant', 'aria-roledescription', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A form of range that expects the user to select from among discrete choices. */\n  spinbutton: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'input', attributes: { type: 'number' } }],\n    name: 'spinbutton',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['composite', 'input', 'range'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A type of checkbox that represents on/off values, as opposed to checked/unchecked values. See related checkbox. */\n  switch: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {\n      'aria-checked': false,\n    },\n    elements: [{ tagName: 'input', attributes: { type: 'checkbox', role: 'switch' } }],\n    name: 'switch',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: ['aria-checked'],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['checkbox'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-checked', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A grouping label providing a mechanism for selecting the tab content that is to be rendered to the user. */\n  tab: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {\n      'aria-selected': false,\n    },\n    elements: [{ tagName: 'button', attributes: { type: 'button', role: 'tab' } }],\n    name: 'tab',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: ['tablist'],\n    subclasses: [],\n    superclasses: ['sectionhead', 'widget'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-posinset', 'aria-relevant', 'aria-roledescription', 'aria-selected', 'aria-setsize'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A list of tab elements, which are references to tabpanel elements. */\n  tablist: {\n    allowedChildRoles: ['tab'],\n    childrenPresentational: false,\n    defaultAttributeValues: {\n      'aria-orientation': 'horizontal',\n    },\n    elements: [\n      { tagName: 'menu', attributes: { role: 'tablist' } },\n      { tagName: 'ol', attributes: { role: 'tablist' } },\n      { tagName: 'ul', attributes: { role: 'tablist' } },\n    ],\n    name: 'tablist',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['composite'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-multiselectable', 'aria-orientation', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A container for the resources associated with a tab, where each tab is contained in a tablist. */\n  tabpanel: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'tabpanel',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A type of input that allows free-form text as its value. */\n  textbox: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'input', attributes: { type: 'text' } }],\n    name: 'textbox',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['searchbox'],\n    superclasses: ['input'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-autocomplete', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-multiline', 'aria-owns', 'aria-placeholder', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A widget that allows the user to select one or more items from a hierarchically organized collection. */\n  tree: {\n    allowedChildRoles: ['group', 'treeitem'],\n    childrenPresentational: false,\n    defaultAttributeValues: {\n      'aria-orientation': 'vertical',\n    },\n    elements: [\n      { tagName: 'menu', attributes: { role: 'tree' } },\n      { tagName: 'ol', attributes: { role: 'tree' } },\n      { tagName: 'ul', attributes: { role: 'tree' } },\n    ],\n    name: 'tree',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['treegrid'],\n    superclasses: ['select'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-multiselectable', 'aria-orientation', 'aria-owns', 'aria-relevant', 'aria-required', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** A grid whose rows can be expanded and collapsed in the same manner as for a tree. */\n  treegrid: {\n    allowedChildRoles: ['caption', 'row', 'rowgroup'],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'table', attributes: { role: 'treegrid' } }],\n    name: 'treegrid',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['grid', 'tree'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-colcount', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-multiselectable', 'aria-orientation', 'aria-owns', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription', 'aria-rowcount'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n  /** An item in a tree. */\n  treeitem: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'treeitem',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: ['tree', 'group'],\n    subclasses: [],\n    superclasses: ['listitem', 'option'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-checked', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-level', 'aria-live', 'aria-owns', 'aria-posinset', 'aria-relevant', 'aria-roledescription', 'aria-selected', 'aria-setsize'], // biome-ignore format: long list\n    type: ['widget'],\n  },\n};\n\nexport const documentRoles: Record<DocumentStructureRole, RoleData> = {\n  /** A structure containing one or more focusable elements requiring user input, such as keyboard or gesture events, that do not follow a standard interaction pattern supported by a widget role. */\n  application: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'application',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['structure'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A section of a page that consists of a composition that forms an independent part of a document, page, or site. */\n  article: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'article' }],\n    name: 'article',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['comment'],\n    superclasses: ['document'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-posinset', 'aria-relevant', 'aria-roledescription', 'aria-setsize'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A section of content that is quoted from another source. */\n  blockquote: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'blockquote' }],\n    name: 'blockquote',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** Visible content that names, or describes a figure, grid, group, radiogroup, table or treegrid. */\n  caption: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'caption' }, { tagName: 'figcaption' }],\n    name: 'caption',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: ['figure', 'grid', 'group', 'radiogroup', 'table', 'treegrid'],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A cell in a tabular container. See related gridcell. */\n  cell: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'td' }],\n    name: 'cell',\n    nameFrom: 'authorAndContents',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: ['row'],\n    subclasses: ['columnheader', 'gridcell', 'rowheader'],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-colindex', 'aria-colindextext', 'aria-colspan', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription', 'aria-rowindex', 'aria-rowindextext', 'aria-rowspan'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A section whose content represents a fragment of computer code. */\n  code: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'code' }],\n    name: 'code',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A cell containing header information for a column. */\n  columnheader: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'th', attributes: { scope: 'col' } }],\n    name: 'columnheader',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: ['row'],\n    subclasses: [],\n    superclasses: ['cell', 'gridcell', 'sectionhead'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-colindex', 'aria-colindextext', 'aria-colspan', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription', 'aria-rowindex', 'aria-rowindextext', 'aria-rowspan', 'aria-selected', 'aria-sort'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A comment contains content expressing reaction to other content. */\n  comment: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'comment',\n    nameFrom: 'authorAndContents',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['article'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-level', 'aria-live', 'aria-owns', 'aria-posinset', 'aria-relevant', 'aria-roledescription', 'aria-setsize'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A definition of a term or concept. See related term. */\n  definition: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'definition',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A deletion represents content that is marked as removed, content that is being suggested for removal, or content that is no longer relevant in the context of its accompanying content. See related insertion. */\n  deletion: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'del' }],\n    name: 'deletion',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /**\n   * A list of references to members of a group, such as a static table of contents.\n   * @deprecated in ARIA 1.2\n   */\n  directory: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'directory',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['list'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** An element containing content that assistive technology users might want to browse in a reading mode. */\n  document: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'html' }],\n    name: 'document',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['article', 'graphics-document'],\n    superclasses: ['structure'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** One or more emphasized characters. See related strong. */\n  emphasis: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'em' }],\n    name: 'emphasis',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A scrollable list of articles where scrolling might cause articles to be added to or removed from either end of the list. */\n  feed: {\n    allowedChildRoles: ['article'],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'feed',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['list'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A perceivable section of content that typically contains a graphical document, images, media player, code snippets, or example text. The parts of a figure MAY be user-navigable. */\n  figure: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'figure' }],\n    name: 'figure',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['doc-example'],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A nameless container element that has no semantic meaning on its own. */\n  generic: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'b' }, { tagName: 'i' }, { tagName: 'pre' }, { tagName: 'q' }, { tagName: 'samp' }, { tagName: 'small' }, { tagName: 'span' }, { tagName: 'u' }], // biome-ignore format: long list\n    name: 'generic',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-brailleroledescription', 'aria-label', 'aria-labelledby', 'aria-roledescription'], // biome-ignore format: long list\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['structure'],\n    supported: ['aria-atomic', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A set of user interface objects that is not intended to be included in a page summary or table of contents by assistive technologies. */\n  group: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'fieldset' }, { tagName: 'address' }, { tagName: 'details' },  { tagName: 'hgroup' }, { tagName: 'optgroup' }], // biome-ignore format: long list\n    name: 'group',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['graphics-object', 'row', 'select', 'toolbar'],\n    superclasses: ['section'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A heading for a section of the page. */\n  heading: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {\n      'aria-level': 2,\n    },\n    elements: [{ tagName: 'h1' }, { tagName: 'h2' }, { tagName: 'h3' }, { tagName: 'h4' }, { tagName: 'h5' }, { tagName: 'h6' }], // biome-ignore format: long list\n    name: 'heading',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: ['aria-level'],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['sectionhead'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-level', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** Synonym of img. */\n  image: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'img' }],\n    name: 'image',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['doc-cover', 'graphics-symbol'],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A container for a collection of elements that form an image. See synonym image. */\n  img: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'img' }],\n    name: 'img',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['doc-cover', 'graphics-symbol'],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** An insertion contains content that is marked as added or content that is being suggested for addition. See related deletion. */\n  insertion: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'ins' }],\n    name: 'insertion',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A section containing listitem elements. See related listbox. */\n  list: {\n    allowedChildRoles: ['listitem'],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'ul' }, { tagName: 'ol' }, { tagName: 'menu' }],\n    name: 'list',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['directory', 'feed'],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A single item in a list or directory. */\n  listitem: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'li' }],\n    name: 'listitem',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: ['directory', 'list'],\n    subclasses: ['doc-biblioentry', 'doc-endnote', 'treeitem'],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-posinset', 'aria-relevant', 'aria-roledescription', 'aria-setsize'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** Content which is marked or highlighted for reference or notation purposes, due to the content's relevance in the enclosing context. */\n  mark: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'mark' }],\n    name: 'mark',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** Content that represents a mathematical expression. */\n  math: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'math' }],\n    name: 'math',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** An element that represents a scalar measurement within a known range, or a fractional value. See related progressbar. */\n  meter: {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {\n      'aria-valuemin': 0,\n      'aria-valuemax': 100,\n      // A value matching the implicit or explicitly set aria-valuemin.\n      // 'aria-valuenow': TBD\n    },\n    elements: [],\n    name: 'meter',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: ['aria-valuenow'],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['range'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** An element whose implicit native role semantics will not be mapped to the accessibility API. See synonym presentation. */\n  none: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'none',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['structure'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A section whose content represents additional information or parenthetical context to the primary content it supplements. */\n  note: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'note',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['doc-notice', 'doc-tip'],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A paragraph of content. */\n  paragraph: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'p' }],\n    name: 'paragraph',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** Synonym of none */\n  presentation: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'presentation',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['structure'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A row of cells in a tabular container. */\n  row: widgetRoles.row,\n  /** A structure containing one or more row elements in a tabular container. */\n  rowgroup: {\n    allowedChildRoles: ['row'],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'tbody' }, { tagName: 'tfoot' }, { tagName: 'thead' }],\n    name: 'rowgroup',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: ['grid', 'table', 'treegrid'],\n    subclasses: [],\n    superclasses: ['structure'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A cell containing header information for a row. */\n  rowheader: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'th', attributes: { scope: 'row' } }],\n    name: 'rowheader',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: ['row'],\n    subclasses: [],\n    superclasses: ['cell', 'gridcell', 'sectionhead'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-colindex', 'aria-colindextext', 'aria-colspan', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription', 'aria-rowindex', 'aria-rowindextext', 'aria-rowspan', 'aria-selected', 'aria-sort'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A set of user interface objects and information representing information about its closest ancestral content group. */\n  sectionfooter: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'sectionfooter',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A set of user interface objects and information that represents a collection of introductory items for the element's closest ancestral content group. */\n  sectionheader: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'sectionheader',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A divider that separates and distinguishes sections of content or groups of menuitems. */\n  separator: widgetRoles.separator,\n  /** Content that is important, serious, or urgent. See related emphasis. */\n  strong: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'strong' }],\n    name: 'strong',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** One or more subscripted characters. See related superscript. */\n  subscript: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'sub' }],\n    name: 'subscript',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A single proposed change to content. */\n  suggestion: {\n    allowedChildRoles: ['insertion', 'deletion'],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'suggestion',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** One or more superscripted characters. See related superscript. */\n  superscript: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'sup' }],\n    name: 'superscript',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A section containing data arranged in rows and columns. See related grid. */\n  table: {\n    allowedChildRoles: ['caption', 'row', 'rowgroup'],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'table' }],\n    name: 'table',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['grid'],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-colcount', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription', 'aria-rowcount'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A word or phrase with an optional corresponding definition. See related definition. */\n  term: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'dfn' }, { tagName: 'dt' }],\n    name: 'term',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** An element that represents a specific point in time. */\n  time: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'time' }],\n    name: 'time',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: ['aria-braillelabel', 'aria-label', 'aria-labelledby'],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A collection of commonly used function buttons or controls represented in compact visual form. */\n  toolbar: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {\n      'aria-orientation': 'horizontal',\n    },\n    elements: [\n      { tagName: 'menu', attributes: { role: 'toolbar' } },\n      { tagName: 'ol', attributes: { role: 'toolbar' } },\n      { tagName: 'ul', attributes: { role: 'toolbar' } },\n    ],\n    name: 'toolbar',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['group'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-orientation', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n  /** A contextual popup that displays a description for an element. */\n  tooltip: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'tooltip',\n    nameFrom: 'authorAndContents',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['document'],\n  },\n};\n\nexport const landmarkRoles: Record<LandmarkRole, RoleData> = {\n  /** A landmark that contains mostly site-oriented content, rather than page-specific content. */\n  banner: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'header' }],\n    name: 'banner',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['landmark'],\n  },\n  /** A landmark that is designed to be complementary to the main content that it is a sibling to, or a direct descendant of. The contents of a complementary landmark would be expected to remain meaningful if it were to be separated from the main content it is relevant to. */\n  complementary: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'aside' }],\n    name: 'complementary',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['landmark'],\n  },\n  /** A landmark that contains information about the parent document. */\n  contentinfo: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'footer' }],\n    name: 'contentinfo',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['landmark'],\n  },\n  /** A landmark region that contains a collection of items and objects that, as a whole, combine to create a form. See related search. */\n  form: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'form' }],\n    name: 'form',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['landmark'],\n  },\n  /** A landmark containing the main content of a document. */\n  main: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'main' }],\n    name: 'main',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['landmark'],\n  },\n  /** A landmark containing a collection of navigational elements (usually links) for navigating the document or related documents. */\n  navigation: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'nav' }],\n    name: 'navigation',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['doc-index', 'doc-pagelist', 'doc-toc'],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['landmark'],\n  },\n  /** A landmark containing content that is relevant to a specific, author-specified purpose and sufficiently important that users will likely want to be able to navigate to the section easily and to have it listed in a summary of the page. Such a page summary could be generated dynamically by a user agent or assistive technology. */\n  region: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'section' }],\n    name: 'region',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['landmark'],\n  },\n  /** A landmark region that contains a collection of items and objects that, as a whole, combine to create a search facility. See related form and searchbox. */\n  search: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'search' }],\n    name: 'search',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['landmark'],\n  },\n};\n\nexport const liveRegionRoles: Record<LiveRegionRole, RoleData> = {\n  /** A type of live region with important, and usually time-sensitive, information. See related alertdialog and status. */\n  alert: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {\n      'aria-live': 'assertive',\n      'aria-atomic': true,\n    },\n    elements: [],\n    name: 'alert',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['alertdialog'],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['liveregion'],\n  },\n  /** A type of live region where new information is added in meaningful order and old information can disappear. See related marquee. */\n  log: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {\n      'aria-live': 'polite',\n    },\n    elements: [],\n    name: 'log',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['liveregion'],\n  },\n  /** A type of live region where non-essential information changes frequently. See related log. */\n  marquee: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'marquee',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['liveregion'],\n  },\n  /** A type of live region whose content is advisory information for the user but is not important enough to justify an alert, often but not necessarily presented as a status bar. */\n  status: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {\n      'aria-live': 'polite',\n      'aria-atomic': true,\n    },\n    elements: [{ tagName: 'output' }],\n    name: 'status',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['timer'],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['liveregion'],\n  },\n  /** A type of live region containing a numerical counter which indicates an amount of elapsed time from a start point, or the time remaining until an end point. */\n  timer: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {\n      'aria-live': 'off',\n    },\n    elements: [],\n    name: 'timer',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['status'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['liveregion'],\n  },\n};\n\nexport const windowRoles: Record<WindowRole, RoleData> = {\n  /** A type of dialog that contains an alert message, where initial focus goes to an element within the dialog. See related alert and dialog. */\n  alertdialog: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'alertdialog',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['alert', 'dialog'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-modal', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['window'],\n  },\n  /** A dialog is a descendant window of the primary window of a web application. For HTML pages, the primary application window is the entire web document, i.e., the body element. */\n  dialog: {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'dialog' }],\n    name: 'dialog',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: ['alertdialog'],\n    superclasses: ['window'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-modal', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['window'],\n  },\n};\n\n// graphics extensions from https://www.w3.org/TR/graphics-aam-1.0/\nexport const graphicsRoles: Record<GraphicsRole, RoleData> = {\n  /** A type of document in which the visual appearance or layout of content conveys meaning. */\n  'graphics-document': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'svg', attributes: { role: 'graphics-document document' } }],\n    name: 'graphics-document',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['document'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['graphics'],\n  },\n  'graphics-object': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'g', attributes: { role: 'graphics-object' } }],\n    name: 'graphics-object',\n    nameFrom: 'authorAndContents',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['group'],\n    supported: ['aria-activedescendant', 'aria-atomic', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['graphics'],\n  },\n  'graphics-symbol': {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {},\n    elements: [{ tagName: 'svg', attributes: { role: 'graphics-symbol img' } }],\n    name: 'graphics-symbol',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['image', 'img'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['graphics'],\n  },\n};\n\n// digital publishing extensions from https://www.w3.org/TR/dpub-aam-1.1/\nexport const digitalPublishingRoles: Record<DigitalPublishingRole, RoleData> = {\n  /** A short summary of the principal ideas, concepts, and conclusions of the work, or of a section or excerpt within it. */\n  'doc-abstract': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-abstract',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A section or statement that acknowledges significant contributions by persons, organizations, governments, and other entities to the realization of the work. */\n  'doc-acknowledgments': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-acknowledgments',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A closing statement from the author or a person of importance, typically providing insight into how the content came to be written, its significance, or related events that have transpired since its timeline. */\n  'doc-afterword': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-afterword',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A section of supplemental information located after the primary content that informs the content but is not central to it. */\n  'doc-appendix': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-appendix',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A link that allows the user to return to a related location in the content (e.g., from a footnote to its reference or from a glossary definition to where a term is used). */\n  'doc-backlink': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-backlink',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['link'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /**\n   * A single reference to an external source in a bibliography. A biblioentry typically provides more detailed information than its reference(s) in the content (e.g., full title, author(s), publisher, publication date, etc.).\n   * @deprecated [Deprecated in DPUB-ARIA 1.1]\n   */\n  'doc-biblioentry': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-biblioentry',\n    nameFrom: 'author',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['listitem'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect',  'aria-flowto', 'aria-grabbed', 'aria-hidden',   'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-posinset', 'aria-relevant', 'aria-roledescription', 'aria-setsize'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A list of external references cited in the work, which may be to print or digital sources. */\n  'doc-bibliography': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-bibliography',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A reference to a bibliography entry. */\n  'doc-biblioref': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-biblioref',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['link'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A major thematic section of content in a work. */\n  'doc-chapter': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-chapter',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A short section of production notes particular to the edition (e.g., describing the typeface used), often located at the end of a work. */\n  'doc-colophon': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-colophon',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A concluding section or statement that summarizes the work or wraps up the narrative. */\n  'doc-conclusion': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-conclusion',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** An image that sets the mood or tone for the work and typically includes the title and author. */\n  'doc-cover': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-cover',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['image', 'img'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** An acknowledgment of the source of integrated content from third-party sources, such as photos. Typically identifies the creator, copyright, and any restrictions on reuse. */\n  'doc-credit': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-credit',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A collection of credits. */\n  'doc-credits': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-credits',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** An inscription at the front of the work, typically addressed in tribute to one or more persons close to the author. */\n  'doc-dedication': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-dedication',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /**\n   * One of a collection of notes that occur at the end of a work, or a section within it, that provides additional context to a referenced passage of text.\n   * @deprecated [Deprecated in DPUB-ARIA 1.1]\n   */\n  'doc-endnote': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-endnote',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['listitem'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-posinset', 'aria-relevant', 'aria-roledescription', 'aria-setsize'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A collection of notes at the end of a work or a section within it. */\n  'doc-endnotes': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-endnotes',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A quotation set at the start of the work or a section that establishes the theme or sets the mood. */\n  'doc-epigraph': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-epigraph',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A concluding section of narrative that wraps up or comments on the actions and events of the work, typically from a future perspective. */\n  'doc-epilogue': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-epilogue',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A set of corrections discovered after initial publication of the work, sometimes referred to as corrigenda. */\n  'doc-errata': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-errata',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** An illustration of a key concept of the work, such as a code listing, case study or problem. */\n  'doc-example': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-example',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['figure'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** Ancillary information, such as a citation or commentary, that provides additional context to a referenced passage of text. */\n  'doc-footnote': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-footnote',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** An introductory section that precedes the work, typically not written by the author of the work. */\n  'doc-foreword': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-foreword',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A brief dictionary of new, uncommon, or specialized terms used in the content. */\n  'doc-glossary': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-glossary',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A reference to a glossary definition. */\n  'doc-glossref': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-glossref',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['link'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A navigational aid that provides a detailed list of links to key subjects, names and other important topics covered in the work. */\n  'doc-index': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-index',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['navigation'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A preliminary section that typically introduces the scope or nature of the work. */\n  'doc-introduction': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-introduction',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A reference to a footnote or endnote, typically appearing as a superscripted number or symbol in the main body of text. */\n  'doc-noteref': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-noteref',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['link'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** Notifies the user of consequences that might arise from an action or event. Examples include warnings, cautions and dangers. */\n  'doc-notice': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-notice',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['note'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A separator denoting the position before which a break occurs between two contiguous pages in a statically paginated version of the content. */\n  'doc-pagebreak': {\n    allowedChildRoles: [],\n    childrenPresentational: true,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-pagebreak',\n    nameFrom: 'authorAndContents',\n    nameRequired: true,\n    prohibited: [],\n    required: ['aria-valuenow'],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['separator'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-orientation', 'aria-owns', 'aria-relevant', 'aria-roledescription', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A section of text appearing at the bottom of a page that provides context about the current work and location within it. The page footer is distinct from the body text and normally follows a repeating template that contains (possibly truncated) items such as the document title, current section, author name(s), and page number.  */\n  'doc-pagefooter': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-pagefooter',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A section of text appearing at the top of a page that provides context about the current work and location within it. The page header is distinct from the body text and normally follows a repeating template that contains (possibly truncated) items such as the document title, current section, author name(s), and page number.  */\n  'doc-pageheader': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-pageheader',\n    nameFrom: 'prohibited',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A navigational aid that provides a list of links to the page breaks in the content. */\n  'doc-pagelist': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-pagelist',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['navigation'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A major structural division in a work that contains a set of related sections dealing with a particular subject, narrative arc, or similar encapsulated theme. */\n  'doc-part': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-part',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** An introductory section that precedes the work, typically written by the author of the work. */\n  'doc-preface': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-preface',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** An introductory section that sets the background to a work, typically part of the narrative. */\n  'doc-prologue': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-prologue',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['landmark'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A distinctively placed or highlighted quotation from the current content designed to draw attention to a topic or highlight a key point. */\n  'doc-pullquote': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-pullquote',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A section of content structured as a series of questions and answers, such as an interview or list of frequently asked questions. */\n  'doc-qna': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-qna',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['section'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** An explanatory or alternate title for the work, or a section or component within it. */\n  'doc-subtitle': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-subtitle',\n    nameFrom: 'authorAndContents',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['sectionhead'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** Helpful information that clarifies some aspect of the content or assists in its comprehension. */\n  'doc-tip': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-tip',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['note'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n  /** A navigational aid that provides an ordered list of links to the major sectional headings in the content. A table of contents may cover an entire work, or only a smaller section of it.  */\n  'doc-toc': {\n    allowedChildRoles: [],\n    childrenPresentational: false,\n    defaultAttributeValues: {},\n    elements: [],\n    name: 'doc-toc',\n    nameFrom: 'author',\n    nameRequired: false,\n    prohibited: [],\n    required: [],\n    requiredParentRoles: [],\n    subclasses: [],\n    superclasses: ['navigation'],\n    supported: ['aria-atomic', 'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-hidden', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-live', 'aria-owns', 'aria-relevant', 'aria-roledescription'], // biome-ignore format: long list\n    type: ['digitalpublishing'],\n  },\n};\n\n// Note: this would throw a type error if we missed any!\nexport const roles: Record<ARIARole, RoleData> = {\n  ...widgetRoles,\n  ...documentRoles,\n  ...landmarkRoles,\n  ...liveRegionRoles,\n  ...windowRoles,\n  ...graphicsRoles,\n  ...digitalPublishingRoles,\n};\n\nexport const ALL_ROLES = Object.keys(roles).sort((a, b) => a.localeCompare(b)) as ARIARole[];\nexport const NO_ROLES: ARIARole[] = []; // explicitly no roles are allowed\n","import type { ARIAAttribute, ARIARole, TagName } from '../types.js';\nimport { ALL_ROLES, NO_ROLES } from './aria-roles.js';\n\nexport const NO_CORRESPONDING_ROLE = undefined;\n\nexport interface TagInfo {\n  /**\n   * Note: this is very likely to be overridden by custom logic! This won’t even\n   * apply for half of elements since they are influenced by attribute and\n   * Accessibility Tree ancestors.\n   */\n  defaultRole: ARIARole | undefined;\n  /**\n   * ⚠️ This is the default set of allowed roles. Many elements have special conditioning\n   * that narrow the allowed roles, that’s not easily serializable. That logic can be found\n   * in getSupportedRoles().\n   */\n  supportedRoles: ARIARole[];\n  /**\n   * If this conflicts with the role’s allowed attributes, this takes precedence.\n   */\n  supportedAttributesOverride: ARIAAttribute[] | undefined;\n  /**\n   * If this element doesn’t allow aria-label and related attributes by\n   * default (Note: if a `role` is specified, this is ignored!)\n   */\n  namingProhibited: boolean;\n}\n\n/**\n * SVG elements that are always hidden from screenreaders.\n * @see https://www.w3.org/TR/svg-aam-1.0/#include_elements\n */\nconst SVG_ALWAYS_INACCESSIBLE_ELEMENT: TagInfo = {\n  defaultRole: 'none',\n  namingProhibited: true,\n  supportedRoles: [],\n  supportedAttributesOverride: [],\n};\n/**\n * SVG elements that by default aren’t added to the a11y tree, but MAY be included if certain criteria are met.\n * @see https://www.w3.org/TR/svg-aam-1.0/#include_elements\n */\nconst SVG_MAYBE_ACCESSIBLE_ELEMENT: TagInfo = {\n  defaultRole: 'none', // ⚠️ these elements will get different default roles if they have an accessible name, but they all default to 'none'\n  namingProhibited: true,\n  supportedRoles: ALL_ROLES,\n  supportedAttributesOverride: undefined,\n};\n\nexport const tags: Record<TagName, TagInfo> = {\n  // Main root\n  html: {\n    defaultRole: 'document',\n    namingProhibited: false,\n    supportedRoles: ['document'],\n    supportedAttributesOverride: [],\n  },\n\n  // Document metadata\n  base: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: NO_ROLES,\n    supportedAttributesOverride: [],\n  },\n  head: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: [],\n    supportedAttributesOverride: [],\n  },\n  link: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: [],\n    supportedAttributesOverride: [],\n  },\n  meta: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: [],\n    supportedAttributesOverride: [],\n  },\n  style: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: [],\n    supportedAttributesOverride: [],\n  },\n  title: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: [],\n    supportedAttributesOverride: [],\n  },\n\n  // Sectioning root\n  body: {\n    defaultRole: 'generic',\n    namingProhibited: true,\n    supportedRoles: ['generic'],\n    // <body> supports all global + generic aria-* attributes EXCEPT aria-hidden\n    supportedAttributesOverride: ['aria-atomic', 'aria-busy', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-description', 'aria-details', 'aria-dropeffect', 'aria-flowto', 'aria-grabbed', 'aria-keyshortcuts', 'aria-live', 'aria-owns', 'aria-relevant'], // biome-ignore format: long list\n  },\n\n  // Content sectioning\n  address: {\n    defaultRole: 'group',\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  article: {\n    defaultRole: 'article',\n    namingProhibited: false,\n    supportedRoles: ['article', 'application', 'document', 'feed', 'main', 'none', 'presentation', 'region'], // biome-ignore format: long list\n    supportedAttributesOverride: undefined,\n  },\n  aside: {\n    defaultRole: 'complementary',\n    namingProhibited: false,\n    supportedRoles: ['complementary', 'feed', 'none', 'note', 'presentation', 'region', 'search'],\n    supportedAttributesOverride: undefined,\n  },\n  footer: {\n    defaultRole: 'contentinfo',\n    namingProhibited: false,\n    supportedRoles: ['contentinfo', 'generic', 'group', 'none', 'presentation'],\n    supportedAttributesOverride: undefined,\n  },\n  header: {\n    defaultRole: 'banner',\n    namingProhibited: false,\n    supportedRoles: ['banner', 'generic', 'group', 'none', 'presentation'],\n    supportedAttributesOverride: undefined,\n  },\n  h1: {\n    defaultRole: 'heading',\n    namingProhibited: false,\n    supportedRoles: ['heading', 'none', 'presentation', 'tab'],\n    supportedAttributesOverride: undefined,\n  },\n  h2: {\n    defaultRole: 'heading',\n    namingProhibited: false,\n    supportedRoles: ['heading', 'none', 'presentation', 'tab'],\n    supportedAttributesOverride: undefined,\n  },\n  h3: {\n    defaultRole: 'heading',\n    namingProhibited: false,\n    supportedRoles: ['heading', 'none', 'presentation', 'tab'],\n    supportedAttributesOverride: undefined,\n  },\n  h4: {\n    defaultRole: 'heading',\n    namingProhibited: false,\n    supportedRoles: ['heading', 'none', 'presentation', 'tab'],\n    supportedAttributesOverride: undefined,\n  },\n  h5: {\n    defaultRole: 'heading',\n    namingProhibited: false,\n    supportedRoles: ['heading', 'none', 'presentation', 'tab'],\n    supportedAttributesOverride: undefined,\n  },\n  h6: {\n    defaultRole: 'heading',\n    namingProhibited: false,\n    supportedRoles: ['heading', 'none', 'presentation', 'tab'],\n    supportedAttributesOverride: undefined,\n  },\n  hgroup: {\n    defaultRole: 'group',\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  main: {\n    defaultRole: 'main',\n    namingProhibited: false,\n    supportedRoles: ['main'],\n    supportedAttributesOverride: undefined,\n  },\n  nav: {\n    defaultRole: 'navigation',\n    namingProhibited: false,\n    supportedRoles: ['menu', 'menubar', 'navigation', 'none', 'presentation', 'tablist'],\n    supportedAttributesOverride: undefined,\n  },\n  section: {\n    defaultRole: 'region', // note: for <section>, we can’t determine the accessible name without scanning the entire document. Assume it’s \"region\".\n    namingProhibited: false,\n    supportedRoles: ['alert', 'alertdialog', 'application', 'banner', 'complementary', 'contentinfo', 'dialog', 'document', 'feed', 'generic', 'group', 'log', 'main', 'marquee', 'navigation', 'none', 'note', 'presentation', 'region', 'search', 'status', 'tabpanel'], // biome-ignore format: long list\n    supportedAttributesOverride: undefined,\n  },\n  search: {\n    defaultRole: 'search',\n    namingProhibited: false,\n    supportedRoles: ['form', 'group', 'none', 'presentation', 'region', 'search'],\n    supportedAttributesOverride: undefined,\n  },\n\n  // Text content\n  blockquote: {\n    defaultRole: 'blockquote',\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  dd: {\n    // - html-aria: no corresponding role\n    // - AAM: definition\n    // - Chrome, Firefox, Safari: definition\n    defaultRole: 'definition',\n    namingProhibited: false,\n    supportedRoles: ['definition'],\n    supportedAttributesOverride: undefined,\n  },\n  div: {\n    defaultRole: 'generic',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  dl: {\n    // - html-aria: no corresponding role\n    // - AAM: list\n    // - Chrome: Definitionlist, Firefox: definitionlist, Safari: no corresponding role\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: ['group', 'list', 'none', 'presentation'],\n    supportedAttributesOverride: undefined,\n  },\n  dt: {\n    // - html-aria: no corresponding role\n    // - AAM: term\n    // - Chrome, Firefox, Safari: term\n    defaultRole: 'term',\n    namingProhibited: false,\n    supportedRoles: ['listitem', 'term'],\n    supportedAttributesOverride: undefined,\n  },\n  figcaption: {\n    // - html-aria: no corresponding role\n    // - AAM: caption\n    // - Chrome, Firefox, Safari: caption\n    defaultRole: 'caption',\n    namingProhibited: true,\n    supportedRoles: ['caption', 'group', 'none', 'presentation'],\n    supportedAttributesOverride: undefined,\n  },\n  figure: {\n    defaultRole: 'figure',\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES, // Note: there are some minor behavioral quirks here which we gloss over\n    supportedAttributesOverride: undefined,\n  },\n  hr: {\n    defaultRole: 'separator',\n    namingProhibited: false,\n    supportedRoles: ['none', 'presentation', 'separator'],\n    supportedAttributesOverride: undefined,\n  },\n  li: {\n    defaultRole: 'listitem',\n    namingProhibited: false,\n    supportedRoles: ['listitem'],\n    supportedAttributesOverride: undefined,\n  },\n  menu: {\n    defaultRole: 'list',\n    namingProhibited: false,\n    supportedRoles: ['group', 'list', 'listbox', 'menu', 'menubar', 'none', 'presentation', 'radiogroup', 'tablist', 'toolbar', 'tree'], // biome-ignore format: long list\n    supportedAttributesOverride: undefined,\n  },\n  ol: {\n    defaultRole: 'list',\n    namingProhibited: false,\n    supportedRoles: ['group', 'list', 'listbox', 'menu', 'menubar', 'none', 'presentation', 'radiogroup', 'tablist', 'toolbar', 'tree'], // biome-ignore format: long list\n    supportedAttributesOverride: undefined,\n  },\n  p: {\n    defaultRole: 'paragraph',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  pre: {\n    defaultRole: 'generic',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  ul: {\n    defaultRole: 'list',\n    namingProhibited: false,\n    supportedRoles: ['group', 'list', 'listbox', 'menu', 'menubar', 'none', 'presentation', 'radiogroup', 'tablist', 'toolbar', 'tree'], // biome-ignore format: long list\n    supportedAttributesOverride: undefined,\n  },\n\n  // Inline text semantics\n  a: {\n    defaultRole: 'link',\n    namingProhibited: false,\n    supportedRoles: ['button', 'checkbox', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'switch', 'tab', 'treeitem'], // biome-ignore format: long list\n    supportedAttributesOverride: undefined,\n  },\n  abbr: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  b: {\n    defaultRole: 'generic',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  bdi: {\n    defaultRole: 'generic',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  bdo: {\n    defaultRole: 'generic',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  br: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: ['none', 'presentation'],\n    supportedAttributesOverride: ['aria-hidden'],\n  },\n  cite: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  code: {\n    defaultRole: 'code',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  data: {\n    defaultRole: 'generic',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  dfn: {\n    defaultRole: 'term',\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  em: {\n    defaultRole: 'emphasis',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  i: {\n    defaultRole: 'generic',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  kbd: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  mark: {\n    defaultRole: 'mark',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  q: {\n    defaultRole: 'generic',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  rp: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  rt: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  ruby: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  s: {\n    defaultRole: 'deletion',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  samp: {\n    defaultRole: 'generic',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  small: {\n    defaultRole: 'generic',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  span: {\n    defaultRole: 'generic',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  strong: {\n    defaultRole: 'strong',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  sub: {\n    defaultRole: 'subscript',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  sup: {\n    defaultRole: 'superscript',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  time: {\n    defaultRole: 'time',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  u: {\n    defaultRole: 'generic',\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  var: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: true,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  wbr: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: ['none', 'presentation'],\n    supportedAttributesOverride: ['aria-hidden'],\n  },\n\n  // Image and multimedia\n  area: {\n    defaultRole: 'link',\n    namingProhibited: false,\n    supportedRoles: ['link'],\n    supportedAttributesOverride: undefined,\n  },\n  audio: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: ['application'],\n    supportedAttributesOverride: undefined,\n  },\n  img: {\n    defaultRole: 'none',\n    namingProhibited: false,\n    supportedRoles: ['img', 'image', 'none', 'presentation'],\n    supportedAttributesOverride: undefined,\n  },\n  map: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: [],\n    supportedAttributesOverride: [],\n  },\n  track: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: [],\n    supportedAttributesOverride: [],\n  },\n  video: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: ['application'],\n    supportedAttributesOverride: undefined,\n  },\n\n  // Embedded content\n  embed: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: ['application', 'document', 'img', 'image', 'none', 'presentation'],\n    supportedAttributesOverride: undefined,\n  },\n  iframe: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: ['application', 'document', 'img', 'image', 'none', 'presentation'], // biome-ignore format: long list\n    supportedAttributesOverride: undefined,\n  },\n  object: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: ['application', 'document', 'img', 'image'],\n    supportedAttributesOverride: undefined,\n  },\n  picture: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: [],\n    supportedAttributesOverride: ['aria-hidden'],\n  },\n  source: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: [],\n    supportedAttributesOverride: [],\n  },\n\n  // SVG and MathML\n  svg: {\n    defaultRole: 'graphics-document',\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  math: {\n    defaultRole: 'math',\n    namingProhibited: false,\n    supportedRoles: ['math'],\n    supportedAttributesOverride: undefined,\n  },\n\n  // Scripting\n  canvas: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  noscript: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: [],\n    supportedAttributesOverride: [],\n  },\n  script: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: [],\n    supportedAttributesOverride: [],\n  },\n\n  del: {\n    defaultRole: 'deletion',\n    supportedRoles: ALL_ROLES,\n    namingProhibited: true,\n    supportedAttributesOverride: undefined,\n  },\n  ins: {\n    defaultRole: 'insertion',\n    supportedRoles: ALL_ROLES,\n    namingProhibited: true,\n    supportedAttributesOverride: undefined,\n  },\n\n  // Table content\n  caption: {\n    defaultRole: 'caption',\n    supportedRoles: ['caption'],\n    namingProhibited: true,\n    supportedAttributesOverride: undefined,\n  },\n  col: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: NO_ROLES,\n    supportedAttributesOverride: [],\n  },\n  colgroup: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: NO_ROLES,\n    supportedAttributesOverride: [],\n  },\n  table: {\n    defaultRole: 'table',\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  tbody: {\n    defaultRole: 'rowgroup',\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  td: {\n    defaultRole: 'cell',\n    namingProhibited: false,\n    supportedRoles: ['cell'],\n    supportedAttributesOverride: undefined,\n  },\n  tfoot: {\n    defaultRole: 'rowgroup',\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  th: {\n    defaultRole: 'columnheader',\n    namingProhibited: false,\n    supportedRoles: ['cell', 'columnheader', 'gridcell', 'rowheader'],\n    supportedAttributesOverride: undefined,\n  },\n  thead: {\n    defaultRole: 'rowgroup',\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  tr: {\n    defaultRole: 'row',\n    namingProhibited: false,\n    supportedRoles: ['row'],\n    supportedAttributesOverride: undefined,\n  },\n\n  // Forms\n  button: {\n    defaultRole: 'button',\n    namingProhibited: false,\n    supportedRoles: ['button', 'checkbox', 'combobox', 'gridcell', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'separator', 'slider', 'switch', 'tab', 'treeitem'], // biome-ignore format: long list\n    supportedAttributesOverride: undefined,\n  },\n  datalist: {\n    defaultRole: 'listbox',\n    namingProhibited: false,\n    supportedRoles: ['listbox'],\n    supportedAttributesOverride: [],\n  },\n  fieldset: {\n    defaultRole: 'group',\n    namingProhibited: false,\n    supportedRoles: ['group', 'none', 'presentation', 'radiogroup'],\n    supportedAttributesOverride: undefined,\n  },\n  form: {\n    defaultRole: 'form',\n    namingProhibited: false,\n    supportedRoles: ['form', 'none', 'presentation', 'search'],\n    supportedAttributesOverride: undefined,\n  },\n  input: {\n    defaultRole: 'textbox',\n    namingProhibited: false,\n    supportedRoles: ['combobox', 'searchbox', 'spinbutton', 'textbox'],\n    supportedAttributesOverride: undefined,\n  },\n  label: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: true,\n    supportedRoles: [],\n    supportedAttributesOverride: undefined,\n  },\n  legend: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: true,\n    supportedRoles: [],\n    supportedAttributesOverride: undefined,\n  },\n  meter: {\n    defaultRole: 'meter',\n    namingProhibited: false,\n    supportedRoles: ['meter'],\n    supportedAttributesOverride: undefined,\n  },\n  optgroup: {\n    defaultRole: 'group',\n    namingProhibited: false,\n    supportedRoles: ['group'],\n    supportedAttributesOverride: undefined,\n  },\n  option: {\n    defaultRole: 'option',\n    namingProhibited: false,\n    supportedRoles: ['option'],\n    supportedAttributesOverride: undefined,\n  },\n  output: {\n    defaultRole: 'status',\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  progress: {\n    defaultRole: 'progressbar',\n    namingProhibited: false,\n    supportedRoles: ['progressbar'],\n    supportedAttributesOverride: undefined,\n  },\n  select: {\n    defaultRole: 'combobox',\n    namingProhibited: false,\n    supportedRoles: ['combobox', 'menu'],\n    supportedAttributesOverride: undefined,\n  },\n  textarea: {\n    defaultRole: 'textbox',\n    namingProhibited: false,\n    supportedRoles: ['textbox'],\n    supportedAttributesOverride: undefined,\n  },\n\n  // Interactive elements\n  details: {\n    defaultRole: 'group',\n    namingProhibited: false,\n    supportedRoles: ['group'],\n    supportedAttributesOverride: undefined,\n  },\n  dialog: {\n    defaultRole: 'dialog',\n    namingProhibited: false,\n    supportedRoles: ['alertdialog', 'dialog'],\n    supportedAttributesOverride: undefined,\n  },\n  summary: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n\n  // Web Components\n  slot: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: [],\n    supportedAttributesOverride: [],\n  },\n  template: {\n    defaultRole: NO_CORRESPONDING_ROLE,\n    namingProhibited: false,\n    supportedRoles: [],\n    supportedAttributesOverride: [],\n  },\n\n  // SVG\n  // @see https://www.w3.org/TR/svg-aam-1.0/#mapping_role_table\n  // a: (use HTML <a>)\n  animate: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  animateMotion: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  animateTransform: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  // audio: (use HTML <audio>)\n  // canvas: (use HTML <canvas>)\n  circle: SVG_MAYBE_ACCESSIBLE_ELEMENT,\n  clipPath: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  defs: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  desc: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  ellipse: SVG_MAYBE_ACCESSIBLE_ELEMENT,\n  feBlend: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feColorMatrix: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feComponentTransfer: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feComposite: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feConvolveMatrix: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feDiffuseLighting: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feDisplacementMap: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feDistantLight: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feDropShadow: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feFlood: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feFuncA: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feFuncB: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feFuncG: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feFuncR: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feGaussianBlur: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feImage: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feMerge: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feMergeNode: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feMorphology: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feOffset: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  fePointLight: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feSpecularLighting: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feSpotLight: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feTile: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  feTurbulence: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  filter: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  foreignObject: SVG_MAYBE_ACCESSIBLE_ELEMENT,\n  g: SVG_MAYBE_ACCESSIBLE_ELEMENT,\n  image: SVG_MAYBE_ACCESSIBLE_ELEMENT,\n  line: SVG_MAYBE_ACCESSIBLE_ELEMENT,\n  linearGradient: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  marker: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  mask: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  metadata: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  mpath: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  path: SVG_MAYBE_ACCESSIBLE_ELEMENT,\n  pattern: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  polygon: SVG_MAYBE_ACCESSIBLE_ELEMENT,\n  polyline: SVG_MAYBE_ACCESSIBLE_ELEMENT,\n  radialGradient: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  rect: SVG_MAYBE_ACCESSIBLE_ELEMENT,\n  set: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  stop: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  // style: (use HTML <style>)\n  switch: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  symbol: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n  // Note: text is the ONLY SVG element that defaults to \"group\" unconditionally\n  // because it contains text nodes by its nature.\n  text: {\n    defaultRole: 'group',\n    namingProhibited: false,\n    supportedRoles: ALL_ROLES,\n    supportedAttributesOverride: undefined,\n  },\n  textPath: SVG_MAYBE_ACCESSIBLE_ELEMENT,\n  // title: (use HTML <title>)\n  // track: (use HTML <track>)\n  tspan: SVG_MAYBE_ACCESSIBLE_ELEMENT,\n  use: SVG_MAYBE_ACCESSIBLE_ELEMENT,\n  // video: (use HTML <video>)\n  view: SVG_ALWAYS_INACCESSIBLE_ELEMENT,\n};\n","import type {\n  ARIAAttribute,\n  ARIARole,\n  LandmarkRole,\n  NameProhibitedAttributes,\n  TagName,\n  VirtualAncestorList,\n  VirtualElement,\n} from '../types.js';\nimport { type RoleData, landmarkRoles } from './aria-roles.js';\n\n/** Parse a list of roles, e.g. role=\"graphics-symbol img\" */\nexport function parseTokenList(tokenList: string): string[] {\n  return tokenList.toLocaleLowerCase().split(' ').filter(Boolean);\n}\n\n/**\n * Get the first matching value in a tokenlist\n *\n * Note: according to the spec, `role` can not only be a list of\n * spring-separated values; it can contain fallbacks the browser may not\n * understand. According to spec, an arbitrary role is to be ignored, so we take\n * the first match (if any), or `undefined`.\n * @see\n */\nexport function firstMatchingToken<T>(tokenList: string, validValues: T[]): T | undefined {\n  return parseTokenList(tokenList).find((value) => validValues.includes(value as T)) as T | undefined;\n}\n\nexport function getTagName(element: Element | VirtualElement): TagName {\n  // JSDOM bug: feDropShadow gets converted to fedropshadow. Since this library is often used in JSDOM contexts, we should handle this at runtime, cheaply\n  if (element.tagName === 'fedropshadow') {\n    return 'feDropShadow';\n  }\n\n  // note: HTML is case-insensitive, but SVG is not. Browsers will normalize case-insensitive\n  // names to UPPERCASE (e.g. `BUTTON`), and leave SVG in its original camelCase format.\n  const caseInsensitive = /^[A-Z]/.test(element.tagName);\n  return (caseInsensitive ? element.tagName.toLowerCase() : element.tagName) as TagName;\n}\n\n/**\n * Get attribute from any type of element. Optimized for performance.\n */\nexport function attr(element: Element | VirtualElement, attribute: string) {\n  // Note: this is type-safe; don’t add more runtime checks to satify TypeScript\n  return typeof (element as Element).getAttribute === 'function'\n    ? (element as Element).getAttribute(attribute)\n    : (element as VirtualElement).attributes?.[attribute];\n}\n\n/**\n * Determine accessible names for SOME tags (not all)\n * @see https://www.w3.org/TR/wai-aria-1.3/#namecalculation\n */\nexport function calculateAccessibleName(element: Element | VirtualElement, role: RoleData): string | undefined {\n  if (role.nameFrom === 'prohibited') {\n    return;\n  }\n  if (role.nameFrom === 'contents') {\n    return 'innerText' in (element as HTMLElement) ? (element as HTMLElement).innerText : undefined;\n  }\n\n  // for author + authorAndContents, handle special cases first\n  const tagName = getTagName(element);\n  switch (tagName) {\n    /**\n     * @see https://www.w3.org/TR/html-aam-1.0/#img-element-accessible-name-computation\n     */\n    case 'img': {\n      const label =\n        (attr(element, 'aria-label') as string | undefined)?.trim() ||\n        (attr(element, 'aria-labelledby') as string | undefined)?.trim();\n\n      if (label) {\n        return label;\n      }\n\n      const alt = attr(element, 'alt');\n\n      if (typeof alt !== 'undefined') {\n        return alt as string;\n      }\n\n      return (attr(element, 'title') as string | undefined) || undefined;\n    }\n  }\n\n  return (\n    (attr(element, 'aria-label') as string | undefined)?.trim() ||\n    (attr(element, 'aria-labelledby') as string | undefined)?.trim() ||\n    (attr(element, 'title') as string | undefined) ||\n    (role.nameFrom === 'authorAndContents' &&\n      'innerText' in (element as HTMLElement) &&\n      (element as HTMLElement).innerText) ||\n    undefined\n  );\n}\n\nexport const NAME_PROHIBITED_ATTRIBUTES = new Set<string>([\n  'aria-braillelabel',\n  'aria-label',\n  'aria-labelledby',\n] satisfies NameProhibitedAttributes[]);\n\nconst LANDMARK_ROLES = Object.keys(landmarkRoles) as LandmarkRole[];\nconst LANDMARK_ELEMENTS: TagName[] = ['article', 'aside', 'main', 'nav', 'section'];\nconst LANDMARK_CSS_SELECTOR = LANDMARK_ROLES.map((role) => `[role=${role}]`)\n  .concat(...LANDMARK_ELEMENTS.map((el) => `${el}:not([role])`))\n  .join(',');\n\n/** Logic shared by <header> and <footer> when determining role */\nexport function hasLandmarkParent(element: Element | VirtualElement, ancestors?: VirtualAncestorList): boolean {\n  if (typeof Element !== 'undefined' && element instanceof Element) {\n    return !!element.parentElement?.closest(LANDMARK_CSS_SELECTOR);\n  }\n  return !!ancestors?.some(\n    (el) => LANDMARK_ELEMENTS.includes(el.tagName) || LANDMARK_ROLES.includes(attr(el, 'role') as LandmarkRole),\n  );\n}\n\nconst LIST_ELEMENTS: TagName[] = ['ul', 'ol', 'menu'];\nconst LIST_ROLES: ARIARole[] = ['list'];\nconst LIST_CSS_SELECTOR = LIST_ROLES.map((role) => `[role=${role}]`)\n  .concat(...LIST_ELEMENTS.map((el) => `${el}:not([role])`))\n  .join(',');\n\nexport function hasListParent(element: Element | VirtualElement, ancestors?: VirtualAncestorList): boolean {\n  if (typeof Element !== 'undefined' && element instanceof Element) {\n    return !!element.parentElement?.closest(LIST_CSS_SELECTOR);\n  }\n  // special behavior: outside the DOM, if we’re testing a list-like element, assume it’s within a list\n  if (ancestors?.length !== 0 && element.tagName === 'li') {\n    return true;\n  }\n  return !!ancestors?.some(\n    (el) => LIST_ELEMENTS.includes(el.tagName) || (LIST_ROLES as string[]).includes(attr(el, 'role') as string),\n  );\n}\n\nconst GRID_ROLES: ARIARole[] = ['grid', 'treegrid'];\nconst GRID_CSS_SELECTOR = GRID_ROLES.map((role) => `[role=${role}]`).join(',');\n\n/** Logic shared by <td> and <th> when determining role */\nexport function hasGridParent(element: Element | VirtualElement, ancestors?: VirtualAncestorList): boolean {\n  if (typeof Element !== 'undefined' && element instanceof Element) {\n    return !!element.parentElement?.closest(GRID_CSS_SELECTOR);\n  }\n  return !!ancestors?.some((el) => GRID_ROLES.includes(attr(el, 'role')! as (typeof GRID_ROLES)[number]));\n}\n\nexport interface RemoveProhibitedOptions<P extends ARIAAttribute[]> {\n  nameProhibited?: boolean;\n  prohibited?: P;\n}\n\nexport function hasTableParent(element: Element | VirtualElement, ancestors?: VirtualAncestorList): boolean {\n  if (typeof Element !== 'undefined' && element instanceof Element) {\n    return !!element.parentElement?.closest('table,[role=table]');\n  }\n  // special behavior: outside the DOM, if we’re testing a table-like element, assume it’s within a table\n  if (\n    ancestors?.length !== 0 &&\n    ['tbody', 'thead', 'tfoot', 'tr', 'td', 'th', 'col', 'colgroup', 'rowgroup'].includes(element.tagName)\n  ) {\n    return true;\n  }\n  return !!ancestors?.some((el) => el.tagName === 'table' || attr(el, 'role') === 'table');\n}\n\nconst SECTIONING_CONTENT_ROLES: ARIARole[] = ['article', 'complementary', 'navigation', 'region'];\nconst SECTIONING_CONTENT_ELEMENTS: TagName[] = ['article', 'aside', 'nav', 'section'];\nconst SECTIONING_CONTENT_CSS_SELECTOR = SECTIONING_CONTENT_ROLES.map((role) => `[role=${role}]`)\n  .concat(...SECTIONING_CONTENT_ELEMENTS.map((el) => `${el}:not([role])`))\n  .join(',');\n\n/**\n * Has sectioning content parent\n * @see https://html.spec.whatwg.org/multipage/dom.html#sectioning-content\n */\nexport function hasSectioningContentParent(\n  element: Element | VirtualElement,\n  ancestors?: VirtualAncestorList,\n): boolean {\n  if (typeof Element !== 'undefined' && element instanceof Element) {\n    return !!element.parentElement?.closest(SECTIONING_CONTENT_CSS_SELECTOR);\n  }\n  return !!ancestors?.some(\n    (el) =>\n      SECTIONING_CONTENT_ELEMENTS.includes(el.tagName) ||\n      (SECTIONING_CONTENT_ROLES as string[]).includes(attr(el, 'role') as string),\n  );\n}\n\n/** Remove prohibited aria-* attributes from a list */\nexport function removeProhibited<T extends ARIAAttribute[], P extends ARIAAttribute[]>(\n  attributeList: T,\n  options?: RemoveProhibitedOptions<P>,\n): Exclude<T, keyof P> {\n  if (!options || (!options.nameProhibited && !options.prohibited)) {\n    return attributeList as Exclude<T, keyof P>;\n  }\n  return attributeList.filter((attr) => {\n    const isProhibited =\n      (options.nameProhibited && NAME_PROHIBITED_ATTRIBUTES.has(attr)) || options.prohibited?.includes(attr);\n    return !isProhibited;\n  }) as Exclude<T, keyof P>;\n}\n\n/** Inject new items into an array */\nexport function concatDedupeAndSort<T extends string>(list: T[], newItems: T[]): T[] {\n  const newList = [...new Set([...list, ...newItems])];\n  newList.sort((a, b) => a.localeCompare(b));\n  return newList;\n}\n\n/** Is this element disabled? */\nexport function isDisabled(element: Element | VirtualElement): boolean {\n  const disabled = String(attr(element, 'disabled'));\n  if (disabled === '' || disabled === 'true') {\n    return true;\n  }\n  const ariaDisabled = String(attr(element, 'aria-disabled'));\n  return ariaDisabled === '' || ariaDisabled === 'true';\n}\n","import { type RoleData, roles } from '../lib/aria-roles.js';\nimport { tags } from '../lib/html.js';\nimport { hasSectioningContentParent } from '../lib/util.js';\nimport type { VirtualAncestorList, VirtualElement } from '../types.js';\n\n/**\n * @see https://www.w3.org/TR/html-aam-1.0/#el-aside-ancestorbodymain\n * @see https://www.w3.org/TR/html-aam-1.0/#el-aside\n */\nexport function getAsideRole(\n  element: Element | VirtualElement,\n  options?: { ancestors?: VirtualAncestorList },\n): RoleData | undefined {\n  return hasSectioningContentParent(element, options?.ancestors) ? roles.generic : roles[tags.aside.defaultRole!];\n}\n","import { type RoleData, roles } from '../lib/aria-roles.js';\nimport { tags } from '../lib/html.js';\nimport { hasLandmarkParent } from '../lib/util.js';\nimport type { VirtualAncestorList, VirtualElement } from '../types.js';\n\nexport function getFooterRole(\n  element: Element | VirtualElement,\n  options?: { ancestors?: VirtualAncestorList },\n): RoleData | undefined {\n  return hasLandmarkParent(element, options?.ancestors) ? roles.generic : roles[tags.footer.defaultRole!];\n}\n","import { type RoleData, roles } from '../lib/aria-roles.js';\nimport { tags } from '../lib/html.js';\nimport { hasLandmarkParent } from '../lib/util.js';\nimport type { VirtualAncestorList, VirtualElement } from '../types.js';\n\nexport function getHeaderRole(\n  element: Element | VirtualElement,\n  options?: { ancestors?: VirtualAncestorList },\n): RoleData | undefined {\n  return hasLandmarkParent(element, options?.ancestors) ? roles.generic : roles[tags.header.defaultRole!];\n}\n","import { type RoleData, roles } from '../lib/aria-roles.js';\nimport { NO_CORRESPONDING_ROLE, tags } from '../lib/html.js';\nimport { attr } from '../lib/util.js';\nimport type { ARIARole, VirtualElement } from '../types.js';\n\nexport type InputType =\n  | 'button'\n  | 'checkbox'\n  | 'color'\n  | 'date'\n  | 'datetime-local'\n  | 'email'\n  | 'file'\n  | 'hidden'\n  | 'image'\n  | 'month'\n  | 'number'\n  | 'password'\n  | 'radio'\n  | 'range'\n  | 'reset'\n  | 'search'\n  | 'submit'\n  | 'tel'\n  | 'text'\n  | 'time'\n  | 'url'\n  | 'week';\n\nexport const INPUT_ROLE_MAP: Record<InputType, RoleData | undefined> = {\n  button: roles.button,\n  checkbox: roles.checkbox,\n  color: NO_CORRESPONDING_ROLE,\n  date: NO_CORRESPONDING_ROLE,\n  'datetime-local': NO_CORRESPONDING_ROLE,\n  email: roles.textbox,\n  file: NO_CORRESPONDING_ROLE,\n  hidden: NO_CORRESPONDING_ROLE,\n  image: roles.button,\n  month: NO_CORRESPONDING_ROLE,\n  number: roles.spinbutton,\n  password: NO_CORRESPONDING_ROLE,\n  radio: roles.radio,\n  range: roles.slider,\n  reset: roles.button,\n  search: roles.searchbox,\n  submit: roles.button,\n  tel: roles.textbox,\n  text: roles.textbox,\n  time: NO_CORRESPONDING_ROLE,\n  url: roles.textbox,\n  week: NO_CORRESPONDING_ROLE,\n};\n\nexport function getInputRole(element: Element | VirtualElement): RoleData | undefined {\n  // For ARIA purposes, missing or invalid types are treated as \"text\"\n  let type = attr(element, 'type') as InputType;\n  if (!type || !(type in INPUT_ROLE_MAP)) {\n    type = 'text';\n  }\n\n  const role = type in INPUT_ROLE_MAP ? INPUT_ROLE_MAP[type as InputType] : INPUT_ROLE_MAP.text;\n\n  // handle combobox behavior for textbox-type inputs\n  // @see https://www.w3.org/TR/html-aria/#el-input-text-list\n  const list = attr(element, 'list');\n  if (list && (role?.name === 'textbox' || role?.name === 'searchbox')) {\n    return roles.combobox;\n  }\n\n  return role;\n}\n\nexport const INPUT_SUPPORTED_ROLES_MAP: Record<InputType, ARIARole[]> = {\n  button: ['button', 'checkbox', 'combobox', 'gridcell', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'separator', 'slider', 'switch', 'tab', 'treeitem'], // biome-ignore format: long list\n  checkbox: ['checkbox', 'menuitemcheckbox', 'option', 'switch'],\n  color: [],\n  date: [],\n  'datetime-local': [],\n  email: ['textbox'],\n  file: [],\n  hidden: [],\n  image: ['button', 'checkbox', 'gridcell', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'separator', 'slider', 'switch', 'tab', 'treeitem'], // biome-ignore format: long list\n  month: [],\n  number: ['spinbutton'],\n  password: [],\n  radio: ['menuitemradio', 'radio'],\n  range: ['slider'],\n  reset: ['button', 'checkbox', 'combobox', 'gridcell', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'separator', 'slider', 'switch', 'tab', 'treeitem'], // biome-ignore format: long list\n  search: ['searchbox'],\n  submit: ['button', 'checkbox', 'combobox', 'gridcell', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'separator', 'slider', 'switch', 'tab', 'treeitem'], // biome-ignore format: long list\n  tel: ['textbox'],\n  text: tags.input.supportedRoles,\n  time: [],\n  url: ['textbox'],\n  week: [],\n};\n\nexport function getInputSupportedRoles(element: Element | VirtualElement): ARIARole[] {\n  // For ARIA purposes, missing or invalid types are treated as \"text\"\n  let type = attr(element, 'type') as InputType;\n  if (!type || !(type in INPUT_SUPPORTED_ROLES_MAP)) {\n    type = 'text';\n  }\n\n  // special behavior: checkboxes\n  // @see https://www.w3.org/TR/html-aria/#el-input-checkbox\n  if (type === 'checkbox' && attr(element, 'aria-pressed')) {\n    return ['button', ...INPUT_SUPPORTED_ROLES_MAP.checkbox];\n  }\n\n  const supportedRoles = INPUT_SUPPORTED_ROLES_MAP[type as InputType] ?? INPUT_SUPPORTED_ROLES_MAP.text;\n\n  // handle combobox behavior for textbox-type inputs\n  const list = attr(element, 'list');\n  if (list && supportedRoles.some((name) => name === 'textbox' || name === 'searchbox')) {\n    return ['combobox'];\n  }\n\n  return supportedRoles;\n}\n","import { type RoleData, roles } from '../lib/aria-roles.js';\nimport { hasListParent } from '../lib/util.js';\nimport type { VirtualAncestorList, VirtualElement } from '../types.js';\n\nexport function getLIRole(\n  element: Element | VirtualElement,\n  options?: { ancestors?: VirtualAncestorList },\n): RoleData | undefined {\n  return hasListParent(element, options?.ancestors) ? roles.listitem : roles.generic;\n}\n","import { type RoleData, roles } from '../lib/aria-roles.js';\nimport { tags } from '../lib/html.js';\nimport { attr } from '../lib/util.js';\nimport type { ARIARole, VirtualElement } from '../types.js';\n\nexport function getSelectRole(element: Element | VirtualElement): RoleData | undefined {\n  const size = normalizeSize(attr(element, 'size'));\n  const multiple = attr(element, 'multiple');\n  if ((size && size > 1) || typeof multiple === 'string' || typeof multiple === 'boolean') {\n    return roles.listbox;\n  }\n  return roles[tags.select.defaultRole!];\n}\n\nexport function getSelectSupportedRoles(element: Element | VirtualElement): ARIARole[] {\n  const size = normalizeSize(attr(element, 'size'));\n  const multiple = attr(element, 'multiple');\n  if ((size && size > 1) || typeof multiple === 'string' || typeof multiple === 'boolean') {\n    return ['listbox'];\n  }\n  return tags.select.supportedRoles;\n}\n\nfunction normalizeSize(size: unknown): number | undefined {\n  if (typeof size === 'number') {\n    return size;\n  }\n  if (typeof size === 'string' && size !== '') {\n    return Number.parseFloat(size) || 0;\n  }\n  return undefined;\n}\n","import { type RoleData, roles } from '../lib/aria-roles.js';\nimport { tags } from '../lib/html.js';\nimport { attr, getTagName } from '../lib/util.js';\nimport type { VirtualElement } from '../types.js';\n\n// ONLY applied if it meets the criteria\nconst SVG_ACCESSIBLE_ROLE_MAPPING = {\n  circle: roles['graphics-symbol'],\n  ellipse: roles['graphics-symbol'],\n  foreignObject: roles.group,\n  g: roles.group,\n  line: roles['graphics-symbol'],\n  image: roles.image,\n  path: roles['graphics-symbol'],\n  polygon: roles['graphics-symbol'],\n  polyline: roles['graphics-symbol'],\n  rect: roles['graphics-symbol'],\n  // Note: open issue https://www.w3.org/TR/svg-aam-1.0/#textpath-tspan-mappings-issue\n  textPath: roles.group,\n  // Note: open issue https://www.w3.org/TR/svg-aam-1.0/#textpath-tspan-mappings-issue\n  tspan: roles.group,\n  use: roles['graphics-object'],\n};\n\n/**\n * Handles role mapping for all SVG elements (<circle>, <rect>, <polygon>, etc.). because they\n * share logic.\n * @see https://www.w3.org/TR/svg-aam-1.0/#include_elements\n */\nexport function getSvgElementRole(element: Element | VirtualElement): RoleData | undefined {\n  const tagName = getTagName(element);\n  const defaultRole = roles[tags[tagName]?.defaultRole!];\n  if (!(tagName in SVG_ACCESSIBLE_ROLE_MAPPING)) {\n    return defaultRole;\n  }\n\n  const accessibleRole = SVG_ACCESSIBLE_ROLE_MAPPING[tagName as keyof typeof SVG_ACCESSIBLE_ROLE_MAPPING];\n\n  const ariaHidden = attr(element, 'aria-hidden');\n  const isHidden = ariaHidden === '' || String(ariaHidden) === 'true';\n\n  // <image> tags: treat as img if it has a src\n  if (!isHidden && tagName === 'image' && attr(element, 'src')) {\n    return accessibleRole;\n  }\n\n  // Name step 1: look for name attributes on element\n  const hasLabel =\n    !isHidden &&\n    (attr(element, 'aria-label') ||\n      attr(element, 'aria-labelledby') ||\n      attr(element, 'aria-describedby') ||\n      attr(element, 'aria-roledescription'));\n  if (hasLabel) {\n    return accessibleRole;\n  }\n\n  // Name step 2: look for <title> or <desc> children (that aren’t empty whitespace)\n  const hasTextChild = 'querySelector' in element && element.querySelector('title,desc')?.textContent?.trim().length;\n  if (hasTextChild) {\n    return accessibleRole;\n  }\n\n  return defaultRole;\n}\n","import { type RoleData, roles } from '../lib/aria-roles.js';\nimport { NO_CORRESPONDING_ROLE } from '../lib/html.js';\nimport { hasGridParent, hasTableParent } from '../lib/util.js';\nimport type { VirtualAncestorList, VirtualElement } from '../types.js';\n\n/** Special behavior for <td> element */\nexport function getTDRole(\n  element: Element | VirtualElement,\n  options?: { ancestors?: VirtualAncestorList },\n): RoleData | undefined {\n  if (hasGridParent(element, options?.ancestors)) {\n    return roles.gridcell;\n  }\n  if (hasTableParent(element, options?.ancestors)) {\n    return roles.cell;\n  }\n  return NO_CORRESPONDING_ROLE;\n}\n","import { type RoleData, roles } from '../lib/aria-roles.js';\nimport { NO_CORRESPONDING_ROLE } from '../lib/html.js';\nimport { attr, hasGridParent, hasTableParent } from '../lib/util.js';\nimport type { VirtualAncestorList, VirtualElement } from '../types.js';\n\n/** Special behavior for <th> element */\nexport function getTHRole(\n  element: Element | VirtualElement,\n  options?: {\n    ancestors?: VirtualAncestorList;\n  },\n): RoleData | undefined {\n  // Note: Chrome 135/Firefox 137/Safari 18.4 currently ignore \"scope\" attr,\n  // We still respect it all the same, because it’s unlikely this is being\n  // explicitly set only to be ignored\n  const scope = attr(element, 'scope');\n  switch (scope) {\n    /** @see https://www.w3.org/TR/html-aam-1.0/#el-th-columnheader */\n    case 'col':\n    case 'colgroup': {\n      return roles.columnheader;\n    }\n    /** @see https://www.w3.org/TR/html-aam-1.0/#el-th-rowheader */\n    case 'row':\n    case 'rowgroup': {\n      return roles.rowheader;\n    }\n  }\n\n  /** @see https://www.w3.org/TR/html-aam-1.0/#el-th-gridcell */\n  if (hasGridParent(element, options?.ancestors)) {\n    return roles.gridcell;\n  }\n\n  // Role determination is a bit dicey per-browser:\n  // - Chrome 135/Firefox 137: <th> in a table is columnheader, unless there’s a sibling <td> then it’s rowheader\n  // - Safari 18.4: <th> is columnheader in <thead>, rowheader in <tbody>/<tfoot> (unless it’s not the first element in row)\n  // We also align with WPT tests (https://github.com/web-platform-tests/wpt/blob/master/html-aam/table-roles.html#L29)\n  // but try and find a balance with the best support for everything\n  if (hasTableParent(element, options?.ancestors)) {\n    // DOM behavior; follow Chrome/Firefox behavior (look for <td> sibling, regardless of group, also look behind element)\n    if (typeof Element !== 'undefined') {\n      const hasTDSibling = (element as Element).parentElement?.querySelector('td');\n      return hasTDSibling ? roles.rowheader : roles.columnheader;\n    }\n    // non-DOM behavior: follow Safari behavior (look for <thead>/<tbody> ancestor)\n    // TODO: if sibling behavior is implemented, use that\n    return options?.ancestors?.some((el) => el.tagName === 'thead') ? roles.columnheader : roles.rowheader;\n  }\n\n  // See previous comment r.e. special behaviour.\n  return NO_CORRESPONDING_ROLE;\n}\n","import { ALL_ROLES, type RoleData, roles } from './lib/aria-roles.js';\nimport { tags } from './lib/html.js';\nimport { attr, calculateAccessibleName, firstMatchingToken, getTagName } from './lib/util.js';\nimport { getAsideRole } from './tags/aside.js';\nimport { getFooterRole } from './tags/footer.js';\nimport { getHeaderRole } from './tags/header.js';\nimport { getInputRole } from './tags/input.js';\nimport { getLIRole } from './tags/li.js';\nimport { getSelectRole } from './tags/select.js';\nimport { getSvgElementRole } from './tags/svg.js';\nimport { getTDRole } from './tags/td.js';\nimport { getTHRole } from './tags/th.js';\nimport type { VirtualAncestorList, VirtualElement } from './types.js';\n\nexport interface GetRoleOptions {\n  /**\n   * Not needed in DOM environments.\n   * For Node.js, when we can’t traverse the DOM, provide the hierarchy upward, going from closest to furthest.\n   * E.g. the following HTML:\n   *\n   * ```html\n   * <table>\n   *   <tbody>\n   *     <tr>\n   *       <td></td>\n   *     </tr>\n   *   </tbody>\n   * </table>\n   * ```\n   * Could be represented as:\n   *\n   * ```ts\n   * getRole(\n   *   { tagName: 'td' },\n   *   { ancestors: [{ tagName: 'tr' }, { tagName: 'tbody' }, { tagName: 'table' }] },\n   * );\n   * ```\n   *\n   * Note: This list does _not_ have to be complete; simply listing out the significant elements that\n   * affect a11y.\n   * @see https://github.com/drwpow/html-aria/tree/dom-support#nodejs-vs-dom-behavior\n   */\n  ancestors?: VirtualAncestorList;\n  /** Ignore role attribute in calculation to get the intrinsic role. Needed in some fallback scenarios. */\n  ignoreRoleAttribute?: boolean;\n}\n\n/**\n * Get the corresponding ARIA role for a given HTML element.\n * `undefined` means “no corresponding role”.\n * This traverses the DOM when available.\n * @see https://www.w3.org/TR/html-aria/\n */\nexport function getRole(element: Element | VirtualElement, options?: GetRoleOptions): RoleData | undefined {\n  const tagName = getTagName(element);\n  const tagData = tags[tagName];\n  const role = attr(element, 'role') as string | undefined;\n\n  // explicit role: use if valid\n  if (role && options?.ignoreRoleAttribute !== true) {\n    const firstRole = firstMatchingToken(role, ALL_ROLES);\n    // Note: according to the spec, certain roles aren’t allowed on certain\n    // elements. However, most browsers ignore this, and accept the role at face\n    // value. So don’t ignore certain combinations of roles; just accept the\n    // role attribute regardless of tag name.\n    return roles[firstRole!];\n  }\n\n  // If custom element (unknown HTML element), assume generic\n  if (!tagData) {\n    return roles.generic;\n  }\n\n  const defaultRole = roles[tagData.defaultRole!];\n\n  switch (tagName) {\n    case 'a':\n    case 'area': {\n      const href = attr(element, 'href') || attr(element, 'xlink:href'); // note: xlink:href only for SVG, but assume it’s used in correct context\n      return typeof href === 'string' ? defaultRole : roles.generic;\n    }\n    case 'aside': {\n      const name = calculateAccessibleName(element, roles.complementary);\n      return name ? defaultRole : getAsideRole(element, options);\n    }\n    case 'header': {\n      return getHeaderRole(element, options);\n    }\n    case 'img': {\n      const name = calculateAccessibleName(element, roles.image);\n\n      if (name) {\n        return roles.image;\n      }\n\n      const alt = attr(element, 'alt');\n\n      return alt === '' ? roles.none : roles.image;\n    }\n    case 'li': {\n      return getLIRole(element, options);\n    }\n    case 'input': {\n      return getInputRole(element);\n    }\n    case 'footer': {\n      return getFooterRole(element, options);\n    }\n    case 'section': {\n      const name = calculateAccessibleName(element, roles.region);\n      return name ? defaultRole : roles.generic;\n    }\n    case 'select': {\n      return getSelectRole(element);\n    }\n    case 'td': {\n      return getTDRole(element, options);\n    }\n    case 'th': {\n      return getTHRole(element, options);\n    }\n    case 'tr': {\n      return roles.row;\n    }\n\n    // @see https://www.w3.org/TR/svg-aam-1.0/#include_elements\n    case 'circle':\n    case 'ellipse':\n    case 'foreignObject':\n    case 'g':\n    case 'image':\n    case 'line':\n    case 'path':\n    case 'polygon':\n    case 'polyline':\n    case 'rect':\n    case 'textPath':\n    case 'tspan':\n    case 'use': {\n      return getSvgElementRole(element);\n    }\n  }\n\n  return defaultRole;\n}\n","import { type GetRoleOptions, getRole } from './get-role.js';\nimport { tags } from './lib/html.js';\nimport { attr, getTagName, isDisabled } from './lib/util.js';\nimport { getTDRole } from './tags/td.js';\nimport type { VirtualElement } from './types.js';\n\n/** Given HTML, can this element be interacted with? */\nexport function isInteractive(element: Element | VirtualElement, options?: GetRoleOptions): boolean {\n  const tagName = getTagName(element);\n\n  // if tag doesn’t support any roles, this can’t be interactive\n  if (tags[tagName]?.supportedRoles.length === 0) {\n    return false;\n  }\n\n  const role = getRole(element, options);\n\n  // separator is a special case, and does NOT care about the HTML element\n  // @see https://www.w3.org/TR/wai-aria-1.3/#separator\n  if (role?.name === 'separator') {\n    const tabindex = attr(element, 'tabindex');\n    const ariaValuenow = attr(element, 'aria-valuenow');\n    return (\n      (typeof tabindex === 'string' || typeof tabindex === 'number') &&\n      (typeof ariaValuenow === 'string' || typeof ariaValuenow === 'number')\n    );\n  }\n  // row is another special case, where it has \"widget\" as a superclass,\n  // but that only applies for grid and treegrid\n  if (role?.name === 'row') {\n    const parentTreeGrid = ['grid', 'treegrid'].includes(getTDRole(element, options)?.name as string);\n    return parentTreeGrid && !!attr(element, 'tabindex');\n  }\n\n  if (!role) {\n    // exception: all <input> tags are interactive, even for nonstandard types\n    const tagName = getTagName(element);\n    if (tagName === 'input' && attr(element, 'type') !== 'hidden') {\n      return true;\n    }\n    return false;\n  }\n\n  // alertdialog and dialog are interactive & receive focus\n  if (role.type.includes('window')) {\n    return true;\n  }\n\n  if (role.type.includes('widget')) {\n    if (isDisabled(element)) {\n      return false;\n    }\n\n    const intrinsicRole = getRole(element, { ...options, ignoreRoleAttribute: true }); // ignore explicit role, but OTHER attributes may influence decision\n    // if the element is not intrinsically a widget role, ALSO require tabindex\n    if (!intrinsicRole || !intrinsicRole?.type.includes('widget')) {\n      const tabindex = attr(element, 'tabindex');\n      return typeof tabindex === 'string' || typeof tabindex === 'number';\n    }\n    return true;\n  }\n\n  return false;\n}\n","import { roles } from './lib/aria-roles.js';\nimport type { ARIARole } from './types.js';\n\n/**\n * Given an ARIA role, return whether or not an accessible name is required.\n * @see https://www.w3.org/TR/wai-aria-1.3/#namecalculation\n */\nexport function isNameRequired(role: ARIARole): boolean {\n  return roles[role]?.nameRequired ?? false;\n}\n","import { roles } from './lib/aria-roles.js';\nimport type { ARIARole, VirtualElement } from './types.js';\n\n/**\n * Return the representation(s) of a role in HTML, if any.\n */\nexport function getElements(role: ARIARole): VirtualElement[] | undefined {\n  const elements = roles[role]?.elements;\n  return elements?.length ? elements : undefined;\n}\n","import { roles } from './lib/aria-roles.js';\nimport type { ARIAAttribute, ARIARole } from './types.js';\n\n/** Given an HTML element, returns a list of required aria-* attributes for that element */\nexport function getRequiredAttributes(role: ARIARole): ARIAAttribute[] {\n  return roles[role]?.required ?? [];\n}\n\n/** Helper function for getRequiredttributes that returns a boolean instead */\nexport function isRequiredAttribute(attribute: string, role: ARIARole): boolean {\n  return getRequiredAttributes(role).includes(attribute as ARIAAttribute);\n}\n","import type {\n  ARIAAttribute,\n  AttributeData,\n  DragAndDropAttribute,\n  GlobalAttribute,\n  LiveRegionAttribute,\n  RelationshipAttribute,\n  WidgetAttribute,\n} from '../types.js';\n\n// note: all fields required to be monomorphic\nexport const globalAttributes: Record<GlobalAttribute, AttributeData> = {\n  'aria-atomic': { category: ['global', 'liveregion'], type: 'true/false', default: false },\n  'aria-braillelabel': { category: ['global'], type: 'string', default: undefined },\n  'aria-brailleroledescription': { category: ['global'], type: 'string', default: undefined },\n  'aria-busy': { category: ['global', 'liveregion'], type: 'true/false', default: false },\n  'aria-controls': { category: ['global', 'relationship'], type: 'string', default: undefined },\n  'aria-current': { category: ['global'], type: 'string', default: undefined },\n  'aria-describedby': { category: ['global', 'relationship'], type: 'string', default: undefined },\n  'aria-description': { category: ['global'], type: 'string', default: undefined },\n  'aria-details': { category: ['global', 'relationship'], type: 'string', default: undefined },\n  'aria-dropeffect': { category: ['global', 'draganddrop'], type: 'string', default: undefined },\n  'aria-flowto': { category: ['global', 'relationship'], type: 'string', default: undefined },\n  'aria-grabbed': { category: ['global', 'draganddrop'], type: 'true/false/undefined', default: undefined },\n  'aria-hidden': { category: ['global', 'widget'], type: 'true/false/undefined', default: undefined },\n  'aria-keyshortcuts': { category: ['global'], type: 'string', default: undefined },\n  'aria-label': { category: ['global', 'widget'], type: 'string', default: undefined },\n  'aria-labelledby': { category: ['global', 'relationship'], type: 'string', default: undefined },\n  'aria-live': {\n    category: ['global', 'liveregion'],\n    type: 'token',\n    default: 'off',\n    values: ['assertive', 'off', 'polite'],\n  },\n  'aria-owns': { category: ['global', 'relationship'], type: 'idRefList' },\n  'aria-relevant': {\n    category: ['global', 'liveregion'],\n    type: 'tokenList',\n    default: 'additions text',\n    values: ['additions', 'removals', 'text', 'all'],\n  },\n  'aria-roledescription': { category: ['global'], type: 'string', default: undefined },\n};\n\nexport const widgetAttributes: Record<WidgetAttribute, AttributeData> = {\n  'aria-autocomplete': {\n    category: ['widget'],\n    type: 'token',\n    default: 'none',\n    values: ['inline', 'list', 'both', 'none'],\n  },\n  'aria-checked': { category: ['widget'], type: 'tristate', default: undefined },\n  'aria-disabled': { category: ['widget'], type: 'true/false', default: false },\n  'aria-errormessage': { category: ['widget', 'relationship'], type: 'string', default: undefined },\n  'aria-expanded': { category: ['widget'], type: 'true/false/undefined', default: undefined },\n  'aria-haspopup': {\n    category: ['widget'],\n    type: 'token',\n    default: 'false',\n    values: ['false', 'true', 'menu', 'listbox', 'tree', 'grid', 'dialog'],\n  },\n  'aria-hidden': globalAttributes['aria-hidden'],\n  'aria-invalid': {\n    category: ['widget'],\n    type: 'token',\n    default: 'false',\n    values: ['grammar', 'false', 'spelling', 'true'],\n  },\n  'aria-label': globalAttributes['aria-label'],\n  'aria-level': { category: ['widget'], type: 'integer' },\n  'aria-modal': { category: ['widget'], type: 'true/false', default: false },\n  'aria-multiline': { category: ['widget'], type: 'true/false', default: false },\n  'aria-multiselectable': { category: ['widget'], type: 'true/false', default: false },\n  'aria-orientation': { category: ['widget'], type: 'token', default: undefined, values: ['horizontal', 'vertical'] },\n  'aria-placeholder': { category: ['widget'], type: 'string' },\n  'aria-pressed': { category: ['widget'], type: 'tristate', default: undefined },\n  'aria-readonly': { category: ['widget'], type: 'true/false', default: false },\n  'aria-required': { category: ['widget'], type: 'true/false', default: false },\n  'aria-selected': { category: ['widget'], type: 'true/false/undefined', default: undefined },\n  'aria-sort': {\n    category: ['widget'],\n    type: 'token',\n    default: 'none',\n    values: ['ascending', 'descending', 'none', 'other'],\n  },\n  'aria-valuemax': { category: ['widget'], type: 'number', default: undefined },\n  'aria-valuemin': { category: ['widget'], type: 'number' },\n  'aria-valuenow': { category: ['widget'], type: 'number' },\n  'aria-valuetext': { category: ['widget'], type: 'string', default: undefined },\n};\n\nexport const liveregionAttributes: Record<LiveRegionAttribute, AttributeData> = {\n  'aria-atomic': globalAttributes['aria-atomic'],\n  'aria-busy': globalAttributes['aria-busy'],\n  'aria-live': globalAttributes['aria-live'],\n  'aria-relevant': globalAttributes['aria-relevant'],\n};\n\nexport const draganddropAttributes: Record<DragAndDropAttribute, AttributeData> = {\n  'aria-dropeffect': globalAttributes['aria-dropeffect'],\n  'aria-grabbed': globalAttributes['aria-grabbed'],\n};\n\nexport const relationshipAttributes: Record<RelationshipAttribute, AttributeData> = {\n  'aria-activedescendant': { category: ['relationship'], type: 'idRef' },\n  'aria-colcount': { category: ['relationship'], type: 'integer' },\n  'aria-colindex': { category: ['relationship'], type: 'integer' },\n  'aria-colindextext': { category: ['relationship'], type: 'string' },\n  'aria-colspan': { category: ['relationship'], type: 'integer' },\n  'aria-controls': globalAttributes['aria-controls'],\n  'aria-describedby': globalAttributes['aria-describedby'],\n  'aria-details': globalAttributes['aria-details'],\n  'aria-errormessage': widgetAttributes['aria-errormessage'],\n  'aria-flowto': globalAttributes['aria-flowto'],\n  'aria-labelledby': globalAttributes['aria-labelledby'],\n  'aria-owns': globalAttributes['aria-owns'],\n  'aria-posinset': { category: ['relationship'], type: 'integer' },\n  'aria-rowcount': { category: ['relationship'], type: 'integer' },\n  'aria-rowindex': { category: ['relationship'], type: 'integer' },\n  'aria-rowindextext': { category: ['relationship'], type: 'string' },\n  'aria-rowspan': { category: ['relationship'], type: 'integer' },\n  'aria-setsize': { category: ['relationship'], type: 'integer' },\n};\n\n// Note: this would also throw a type error if we missed any!\nexport const attributes: Record<ARIAAttribute, AttributeData> = {\n  ...globalAttributes,\n  ...widgetAttributes,\n  ...liveregionAttributes,\n  ...draganddropAttributes,\n  ...relationshipAttributes,\n};\n\nexport const ALL_ATTRIBUTES = Object.keys(attributes).sort((a, b) => a.localeCompare(b)) as ARIAAttribute[];\nexport const NO_ATTRIBUTES: ARIAAttribute[] = [];\n","import { type GetRoleOptions, getRole } from './get-role.js';\nimport { attributes, globalAttributes } from './lib/aria-attributes.js';\nimport { roles } from './lib/aria-roles.js';\nimport { tags } from './lib/html.js';\nimport {\n  attr,\n  calculateAccessibleName,\n  concatDedupeAndSort,\n  getTagName,\n  parseTokenList,\n  removeProhibited,\n} from './lib/util.js';\nimport type { ARIAAttribute, VirtualElement } from './types.js';\n\nconst GLOBAL_ATTRIBUTES = Object.keys(globalAttributes) as ARIAAttribute[];\n\n/**\n * Given an ARIA role returns a list of supported/inherited aria-* attributes.\n */\nexport function getSupportedAttributes(element: Element | VirtualElement, options?: GetRoleOptions): ARIAAttribute[] {\n  const role = getRole(element, options);\n  const roleData = roles[role?.name!];\n  const tagName = getTagName(element);\n  const tagData = tags[tagName];\n  if (!tagData) {\n    return roleData?.supported ?? GLOBAL_ATTRIBUTES;\n  }\n\n  // Note: DON’T check for length! Often an empty array is used\n  // to mean “no aria-* attributes supported\n  if (tagData.supportedAttributesOverride) {\n    return tagData.supportedAttributesOverride;\n  }\n\n  // special cases\n  switch (tagName) {\n    // <audio> and <video> allow application aria-* attributes despite not\n    // being given the role by default\n    case 'audio':\n    case 'video': {\n      return roles.application.supported;\n    }\n    case 'img': {\n      const name = calculateAccessibleName(element, roles.image);\n      // if no accessible name, only aria-hidden allowed\n      return name && roleData?.supported?.length ? roleData.supported : ['aria-hidden'];\n    }\n    case 'input': {\n      const type = attr(element, 'type');\n      switch (type) {\n        case 'checkbox':\n        case 'radio': {\n          if (roleData) {\n            return roleData?.supported.filter((a) => a !== 'aria-checked');\n          }\n          break;\n        }\n        case 'color': {\n          return concatDedupeAndSort(GLOBAL_ATTRIBUTES, ['aria-disabled']);\n        }\n        case 'file': {\n          return concatDedupeAndSort(GLOBAL_ATTRIBUTES, ['aria-disabled', 'aria-invalid', 'aria-required']);\n        }\n        case 'hidden': {\n          return [];\n        }\n        default: {\n          return roleData?.supported ?? roles.textbox.supported;\n        }\n      }\n      break;\n    }\n    case 'summary': {\n      const supported = roleData?.supported ?? GLOBAL_ATTRIBUTES;\n      return concatDedupeAndSort(supported, ['aria-disabled', 'aria-haspopup']);\n    }\n  }\n\n  const attrList: ARIAAttribute[] = [];\n  if (roleData) {\n    attrList.push(...roleData.supported);\n  } else {\n    attrList.push(...GLOBAL_ATTRIBUTES);\n  }\n\n  // This is confusing, but if the element has manually specified a role, then\n  // namingProhibited is ignored, and the role’s supported attributes are taken\n  // as-is (even if a name would have been prohibited before)\n  // @see https://www.w3.org/TR/html-aria/#dfn-naming-prohibited\n  const hasManualValidRole = attr(element, 'role') && !!roleData;\n  if (hasManualValidRole) {\n    return attrList;\n  }\n\n  return removeProhibited(attrList, {\n    nameProhibited: roleData?.nameFrom === 'prohibited' || tagData.namingProhibited,\n    prohibited: roleData?.prohibited?.length ? roleData.prohibited : undefined,\n  });\n}\n\n/**\n * Helper function for getSupportedAttributes that returns a boolean instead\n */\nexport function isSupportedAttribute(\n  attribute: ARIAAttribute,\n  element: Element | VirtualElement,\n  options?: GetRoleOptions,\n): boolean {\n  return getSupportedAttributes(element, options).includes(attribute as ARIAAttribute);\n}\n\n/**\n * Given an ARIA attribute, is the following value valid? Note that for most\n * non-enum attributes, this will probably return true.\n *\n * - `undefined` and `null` return false, as they are non-values.\n * - Numbers will be coerced into strings, and will return true for most non-enum attributes (this library isn’t concerned with number validation).\n */\nexport function isValidAttributeValue(attribute: ARIAAttribute, value: unknown): boolean {\n  if (attribute === undefined || attribute === null || typeof attribute === 'object') {\n    return false;\n  }\n\n  const attributeData = attributes[attribute];\n  if (!attributeData) {\n    throw new Error(`${attribute} isn’t a valid ARIA attribute`);\n  }\n\n  switch (attributeData.type) {\n    case 'true/false': {\n      // Note: \"\" = true\n      return ['true', 'false', ''].includes(String(value));\n    }\n    case 'true/false/undefined': {\n      // Note: \"\" = true\n      return ['true', 'false', 'undefined', ''].includes(String(value));\n    }\n    case 'tristate': {\n      return ['true', 'false', 'mixed'].includes(String(value));\n    }\n    case 'idRef':\n    case 'idRefList': {\n      return typeof value === 'string' && value.length > 0;\n    }\n    case 'integer': {\n      const numVal = Number.parseFloat(String(value));\n      return Number.isInteger(numVal);\n    }\n    case 'number': {\n      const numVal = Number.parseFloat(String(value));\n      return Number.isFinite(numVal);\n    }\n    case 'token': {\n      return attributeData.values.includes(String(value));\n    }\n    case 'tokenList': {\n      const values = parseTokenList(String(value));\n      return values.length > 0 && values.every((v) => attributeData.values.includes(v));\n    }\n  }\n\n  return true; // if we can’t prove that it’s invalid, assume valid\n}\n","import { ALL_ROLES, roles } from './lib/aria-roles.js';\nimport { tags } from './lib/html.js';\nimport { attr, calculateAccessibleName, getTagName, hasListParent, hasTableParent } from './lib/util.js';\nimport { getFooterRole } from './tags/footer.js';\nimport { getInputSupportedRoles } from './tags/input.js';\nimport { getSelectSupportedRoles } from './tags/select.js';\nimport { getTDRole } from './tags/td.js';\nimport type { ARIARole, VirtualAncestorList, VirtualElement } from './types.js';\n\nexport interface SupportedRoleOptions {\n  /**\n   * Much like getRole(), the ancestors determines the intrinsic role. But ancestors\n   * also determine _valid_ roles—certain roles MUST NOT contain certain children.\n   * For example:\n   *\n   * - <td> with ancestors ['table'] MAY ONLY be a ['cell'] (all other roles are not supported)\n   * - <td> with ancestors ['grid'] or ['treegrid'] MAY ONLY be a ['gridcell'] (all other roles are not supported)\n   * - <td> with NO ancestors ([]) will allow any role\n   */\n  ancestors?: VirtualAncestorList;\n}\n\n/**\n * Given an HTML element, returns a list of supported ARIA roles for that element.\n * An empty array means no roles are supported (which is true for some elements!)\n */\nexport function getSupportedRoles(element: Element | VirtualElement, options?: SupportedRoleOptions): ARIARole[] {\n  const tagName = getTagName(element);\n  const tagData = tags[tagName];\n  if (!tagData) {\n    return ALL_ROLES;\n  }\n\n  // special cases: some HTML elements require unique logic to determine supported roles based on attributes, etc.\n  switch (tagName) {\n    case 'a': {\n      const href = attr(element, 'href');\n      return typeof href === 'string' ? tagData.supportedRoles : ALL_ROLES;\n    }\n    case 'area': {\n      const href = attr(element, 'href');\n      return typeof href === 'string' ? tagData.supportedRoles : ['button', 'generic', 'link'];\n    }\n    case 'footer':\n    case 'header': {\n      const role = getFooterRole(element, options);\n      return role?.name === 'generic' ? ['generic', 'group', 'none', 'presentation'] : tagData.supportedRoles;\n    }\n    case 'div': {\n      const DL_PARENT_ROLES: ARIARole[] = ['none', 'presentation'];\n      if (typeof Element !== 'undefined' && element instanceof Element) {\n        return element.parentElement?.closest('dl:not([role])') ? DL_PARENT_ROLES : tagData.supportedRoles;\n      }\n      return options?.ancestors?.[0]?.tagName === 'dl' ? DL_PARENT_ROLES : tagData.supportedRoles;\n    }\n    case 'img': {\n      const name = calculateAccessibleName(element, roles.image);\n      if (name) {\n        /** @see https://www.w3.org/TR/html-aria/#el-img */\n        return ['button', 'checkbox', 'image', 'img', 'link', 'math', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'meter', 'option', 'progressbar', 'radio', 'scrollbar', 'separator', 'slider', 'switch', 'tab', 'treeitem']; // biome-ignore format: long list\n      }\n      return tagData.supportedRoles;\n    }\n    case 'li': {\n      return hasListParent(element, options?.ancestors) ? ['listitem'] : ALL_ROLES;\n    }\n    case 'input': {\n      return getInputSupportedRoles(element);\n    }\n    case 'select': {\n      return getSelectSupportedRoles(element);\n    }\n    case 'summary': {\n      if (typeof Element !== 'undefined' && element instanceof Element) {\n        return element.parentElement?.closest('details:not([role])') ? [] : tagData.supportedRoles;\n      }\n      return options?.ancestors?.some((a) => a.tagName === 'details') ? [] : tagData.supportedRoles;\n    }\n    case 'td': {\n      const role = getTDRole(element, options);\n      switch (role?.name) {\n        case 'cell': {\n          return ['cell'];\n        }\n        case 'gridcell': {\n          return ['gridcell'];\n        }\n        default: {\n          return ALL_ROLES;\n        }\n      }\n    }\n    case 'th': {\n      return hasTableParent(element, options?.ancestors) ? tagData.supportedRoles : ALL_ROLES;\n    }\n    case 'tr': {\n      return hasTableParent(element, options?.ancestors) ? tagData.supportedRoles : ALL_ROLES;\n    }\n  }\n\n  return tagData.supportedRoles;\n}\n\n/** Helper function for getSupportedRoles that returns a boolean instead */\nexport function isSupportedRole(\n  role: string,\n  element: Element | VirtualElement,\n  options?: SupportedRoleOptions,\n): boolean {\n  return getSupportedRoles(element, options).includes(role as ARIARole);\n}\n"],"names":["attr","tagName"],"mappings":"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"}