diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index e6bcab554..1a6fea574 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -2404,89 +2404,89 @@ interface ANGLE_instanced_arrays { interface ARIAMixin { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaAtomic) */ - ariaAtomic: string | null; + ariaAtomic: "false" | "true" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaAutoComplete) */ - ariaAutoComplete: string | null; + ariaAutoComplete: "inline" | "list" | "both" | "none" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBrailleLabel) */ ariaBrailleLabel: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBrailleRoleDescription) */ ariaBrailleRoleDescription: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBusy) */ - ariaBusy: string | null; + ariaBusy: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaChecked) */ - ariaChecked: string | null; + ariaChecked: "true" | "mixed" | "false" | "undefined" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColCount) */ - ariaColCount: string | null; + ariaColCount: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColIndex) */ - ariaColIndex: string | null; + ariaColIndex: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColIndexText) */ ariaColIndexText: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColSpan) */ - ariaColSpan: string | null; + ariaColSpan: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaCurrent) */ - ariaCurrent: string | null; + ariaCurrent: "page" | "step" | "location" | "date" | "time" | "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDescription) */ ariaDescription: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDisabled) */ - ariaDisabled: string | null; + ariaDisabled: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaExpanded) */ - ariaExpanded: string | null; + ariaExpanded: "true" | "false" | "undefined" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaHasPopup) */ - ariaHasPopup: string | null; + ariaHasPopup: "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaHidden) */ - ariaHidden: string | null; - ariaInvalid: string | null; + ariaHidden: "true" | "false" | "undefined" | null; + ariaInvalid: "true" | "false" | "grammar" | "spelling" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaKeyShortcuts) */ ariaKeyShortcuts: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLabel) */ ariaLabel: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLevel) */ - ariaLevel: string | null; + ariaLevel: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLive) */ - ariaLive: string | null; + ariaLive: "assertive" | "off" | "polite" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaModal) */ - ariaModal: string | null; + ariaModal: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaMultiLine) */ - ariaMultiLine: string | null; + ariaMultiLine: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaMultiSelectable) */ - ariaMultiSelectable: string | null; + ariaMultiSelectable: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaOrientation) */ - ariaOrientation: string | null; + ariaOrientation: "horizontal" | "vertical" | "undefined" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPlaceholder) */ ariaPlaceholder: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPosInSet) */ - ariaPosInSet: string | null; + ariaPosInSet: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPressed) */ - ariaPressed: string | null; + ariaPressed: "true" | "false" | "mixed" | "undefined" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaReadOnly) */ - ariaReadOnly: string | null; + ariaReadOnly: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRequired) */ - ariaRequired: string | null; + ariaRequired: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRoleDescription) */ ariaRoleDescription: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowCount) */ - ariaRowCount: string | null; + ariaRowCount: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowIndex) */ - ariaRowIndex: string | null; + ariaRowIndex: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowIndexText) */ ariaRowIndexText: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowSpan) */ - ariaRowSpan: string | null; + ariaRowSpan: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSelected) */ - ariaSelected: string | null; + ariaSelected: "true" | "false" | "undefined" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSetSize) */ - ariaSetSize: string | null; + ariaSetSize: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSort) */ - ariaSort: string | null; + ariaSort: "ascending" | "descending" | "none" | "other" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueMax) */ - ariaValueMax: string | null; + ariaValueMax: `${number}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueMin) */ - ariaValueMin: string | null; + ariaValueMin: `${number}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueNow) */ - ariaValueNow: string | null; + ariaValueNow: `${number}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueText) */ ariaValueText: string | null; - role: string | null; + role: ARIARole | null; } /** @@ -28947,6 +28947,7 @@ type Uint32List = Uint32Array | GLuint[]; type VibratePattern = number | number[]; type WindowProxy = Window; type XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string; +type ARIARole = "alert" | "alertdialog" | "application" | "article" | "banner" | "blockquote" | "button" | "caption" | "cell" | "checkbox" | "code" | "columnheader" | "combobox" | "comment" | "complementary" | "contentinfo" | "definition" | "deletion" | "dialog" | "document" | "emphasis" | "feed" | "figure" | "form" | "generic" | "grid" | "gridcell" | "group" | "heading" | "image" | "img" | "insertion" | "link" | "list" | "listbox" | "listitem" | "log" | "main" | "mark" | "marquee" | "math" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "meter" | "navigation" | "none" | "note" | "option" | "paragraph" | "presentation" | "progressbar" | "radio" | "radiogroup" | "region" | "row" | "rowgroup" | "rowheader" | "scrollbar" | "search" | "searchbox" | "separator" | "slider" | "spinbutton" | "status" | "strong" | "subscript" | "suggestion" | "superscript" | "switch" | "tab" | "table" | "tablist" | "tabpanel" | "term" | "textbox" | "time" | "timer" | "toolbar" | "tooltip" | "tree" | "treegrid" | "treeitem"; type AlignSetting = "center" | "end" | "left" | "right" | "start"; type AlphaOption = "discard" | "keep"; type AnimationPlayState = "finished" | "idle" | "paused" | "running"; diff --git a/baselines/ts5.5/dom.generated.d.ts b/baselines/ts5.5/dom.generated.d.ts index a32b8e889..d399e823a 100644 --- a/baselines/ts5.5/dom.generated.d.ts +++ b/baselines/ts5.5/dom.generated.d.ts @@ -2404,89 +2404,89 @@ interface ANGLE_instanced_arrays { interface ARIAMixin { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaAtomic) */ - ariaAtomic: string | null; + ariaAtomic: "false" | "true" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaAutoComplete) */ - ariaAutoComplete: string | null; + ariaAutoComplete: "inline" | "list" | "both" | "none" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBrailleLabel) */ ariaBrailleLabel: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBrailleRoleDescription) */ ariaBrailleRoleDescription: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBusy) */ - ariaBusy: string | null; + ariaBusy: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaChecked) */ - ariaChecked: string | null; + ariaChecked: "true" | "mixed" | "false" | "undefined" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColCount) */ - ariaColCount: string | null; + ariaColCount: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColIndex) */ - ariaColIndex: string | null; + ariaColIndex: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColIndexText) */ ariaColIndexText: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColSpan) */ - ariaColSpan: string | null; + ariaColSpan: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaCurrent) */ - ariaCurrent: string | null; + ariaCurrent: "page" | "step" | "location" | "date" | "time" | "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDescription) */ ariaDescription: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDisabled) */ - ariaDisabled: string | null; + ariaDisabled: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaExpanded) */ - ariaExpanded: string | null; + ariaExpanded: "true" | "false" | "undefined" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaHasPopup) */ - ariaHasPopup: string | null; + ariaHasPopup: "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaHidden) */ - ariaHidden: string | null; - ariaInvalid: string | null; + ariaHidden: "true" | "false" | "undefined" | null; + ariaInvalid: "true" | "false" | "grammar" | "spelling" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaKeyShortcuts) */ ariaKeyShortcuts: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLabel) */ ariaLabel: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLevel) */ - ariaLevel: string | null; + ariaLevel: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLive) */ - ariaLive: string | null; + ariaLive: "assertive" | "off" | "polite" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaModal) */ - ariaModal: string | null; + ariaModal: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaMultiLine) */ - ariaMultiLine: string | null; + ariaMultiLine: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaMultiSelectable) */ - ariaMultiSelectable: string | null; + ariaMultiSelectable: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaOrientation) */ - ariaOrientation: string | null; + ariaOrientation: "horizontal" | "vertical" | "undefined" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPlaceholder) */ ariaPlaceholder: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPosInSet) */ - ariaPosInSet: string | null; + ariaPosInSet: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPressed) */ - ariaPressed: string | null; + ariaPressed: "true" | "false" | "mixed" | "undefined" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaReadOnly) */ - ariaReadOnly: string | null; + ariaReadOnly: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRequired) */ - ariaRequired: string | null; + ariaRequired: "true" | "false" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRoleDescription) */ ariaRoleDescription: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowCount) */ - ariaRowCount: string | null; + ariaRowCount: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowIndex) */ - ariaRowIndex: string | null; + ariaRowIndex: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowIndexText) */ ariaRowIndexText: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowSpan) */ - ariaRowSpan: string | null; + ariaRowSpan: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSelected) */ - ariaSelected: string | null; + ariaSelected: "true" | "false" | "undefined" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSetSize) */ - ariaSetSize: string | null; + ariaSetSize: `${bigint}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSort) */ - ariaSort: string | null; + ariaSort: "ascending" | "descending" | "none" | "other" | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueMax) */ - ariaValueMax: string | null; + ariaValueMax: `${number}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueMin) */ - ariaValueMin: string | null; + ariaValueMin: `${number}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueNow) */ - ariaValueNow: string | null; + ariaValueNow: `${number}` | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueText) */ ariaValueText: string | null; - role: string | null; + role: ARIARole | null; } /** @@ -28928,6 +28928,7 @@ type Uint32List = Uint32Array | GLuint[]; type VibratePattern = number | number[]; type WindowProxy = Window; type XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string; +type ARIARole = "alert" | "alertdialog" | "application" | "article" | "banner" | "blockquote" | "button" | "caption" | "cell" | "checkbox" | "code" | "columnheader" | "combobox" | "comment" | "complementary" | "contentinfo" | "definition" | "deletion" | "dialog" | "document" | "emphasis" | "feed" | "figure" | "form" | "generic" | "grid" | "gridcell" | "group" | "heading" | "image" | "img" | "insertion" | "link" | "list" | "listbox" | "listitem" | "log" | "main" | "mark" | "marquee" | "math" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "meter" | "navigation" | "none" | "note" | "option" | "paragraph" | "presentation" | "progressbar" | "radio" | "radiogroup" | "region" | "row" | "rowgroup" | "rowheader" | "scrollbar" | "search" | "searchbox" | "separator" | "slider" | "spinbutton" | "status" | "strong" | "subscript" | "suggestion" | "superscript" | "switch" | "tab" | "table" | "tablist" | "tabpanel" | "term" | "textbox" | "time" | "timer" | "toolbar" | "tooltip" | "tree" | "treegrid" | "treeitem"; type AlignSetting = "center" | "end" | "left" | "right" | "start"; type AlphaOption = "discard" | "keep"; type AnimationPlayState = "finished" | "idle" | "paused" | "running"; diff --git a/inputfiles/addedTypes.jsonc b/inputfiles/addedTypes.jsonc index 89274967d..2e654100a 100644 --- a/inputfiles/addedTypes.jsonc +++ b/inputfiles/addedTypes.jsonc @@ -445,6 +445,96 @@ "value": [ "webauthn" ] + }, + "ARIARole": { + "name": "ARIARole", + "value": [ + "alert", + "alertdialog", + "application", + "article", + "banner", + "blockquote", + "button", + "caption", + "cell", + "checkbox", + "code", + "columnheader", + "combobox", + "comment", + "complementary", + "contentinfo", + "definition", + "deletion", + "dialog", + "document", + "emphasis", + "feed", + "figure", + "form", + "generic", + "grid", + "gridcell", + "group", + "heading", + "image", + "img", + "insertion", + "link", + "list", + "listbox", + "listitem", + "log", + "main", + "mark", + "marquee", + "math", + "menu", + "menubar", + "menuitem", + "menuitemcheckbox", + "menuitemradio", + "meter", + "navigation", + "none", + "note", + "option", + "paragraph", + "presentation", + "progressbar", + "radio", + "radiogroup", + "region", + "row", + "rowgroup", + "rowheader", + "scrollbar", + "search", + "searchbox", + "separator", + "slider", + "spinbutton", + "status", + "strong", + "subscript", + "suggestion", + "superscript", + "switch", + "tab", + "table", + "tablist", + "tabpanel", + "term", + "textbox", + "time", + "timer", + "toolbar", + "tooltip", + "tree", + "treegrid", + "treeitem" + ] } } }, diff --git a/inputfiles/overridingTypes.jsonc b/inputfiles/overridingTypes.jsonc index 3a59532c6..70f086c92 100644 --- a/inputfiles/overridingTypes.jsonc +++ b/inputfiles/overridingTypes.jsonc @@ -286,6 +286,111 @@ } } } + }, + "ARIAMixin": { + "properties": { + "property": { + "ariaColCount": { + "overrideType": "`${bigint}`" + }, + "ariaColIndex": { + "overrideType": "`${bigint}`" + }, + "ariaColSpan": { + "overrideType": "`${bigint}`" + }, + "ariaCurrent": { + "overrideType": "\"page\" | \"step\" | \"location\" | \"date\" | \"time\" | \"true\" | \"false\"" + }, + "ariaAtomic": { + "overrideType": "\"false\" | \"true\"" + }, + "ariaAutoComplete": { + "overrideType": "\"inline\" | \"list\" | \"both\" | \"none\"" + }, + "ariaBusy": { + "overrideType": "\"true\" | \"false\"" + }, + "ariaChecked": { + "overrideType": "\"true\" | \"mixed\" | \"false\" | \"undefined\"" + }, + "ariaDisabled": { + "overrideType": "\"true\" | \"false\"" + }, + "ariaExpanded": { + "overrideType": "\"true\" | \"false\" | \"undefined\"" + }, + "ariaHasPopup": { + "overrideType": "\"false\" | \"true\" | \"menu\" | \"listbox\" | \"tree\" | \"grid\" | \"dialog\"" + }, + "ariaHidden": { + "overrideType": "\"true\" | \"false\" | \"undefined\"" + }, + "ariaInvalid": { + "overrideType": "\"true\" | \"false\" | \"grammar\" | \"spelling\"" + }, + "ariaLevel": { + "overrideType": "`${bigint}`" + }, + "ariaLive": { + "overrideType": "\"assertive\" | \"off\" | \"polite\"" + }, + "ariaModal": { + "overrideType": "\"true\" | \"false\"" + }, + "ariaMultiLine": { + "overrideType": "\"true\" | \"false\"" + }, + "ariaMultiSelectable": { + "overrideType": "\"true\" | \"false\"" + }, + "ariaOrientation": { + "overrideType": "\"horizontal\" | \"vertical\" | \"undefined\"" + }, + "ariaPosInSet": { + "overrideType": "`${bigint}`" + }, + "ariaPressed": { + "overrideType": "\"true\" | \"false\" | \"mixed\" | \"undefined\"" + }, + "ariaReadOnly": { + "overrideType": "\"true\" | \"false\"" + }, + "ariaRequired": { + "overrideType": "\"true\" | \"false\"" + }, + "ariaRowCount": { + "overrideType": "`${bigint}`" + }, + "ariaRowIndex": { + "overrideType": "`${bigint}`" + }, + "ariaRowSpan": { + "overrideType": "`${bigint}`" + }, + "ariaSelected": { + "overrideType": "\"true\" | \"false\" | \"undefined\"" + }, + "ariaSetSize": { + "overrideType": "`${bigint}`" + }, + "ariaSort": { + "overrideType": "\"ascending\" | \"descending\" | \"none\" | \"other\"" + }, + "ariaValueMax": { + "overrideType": "`${number}`" + }, + "ariaValueMin": { + "overrideType": "`${number}`" + }, + "ariaValueNow": { + "overrideType": "`${number}`" + }, + "role": { + "type": "ARIARole" + } + } + } } } }, diff --git a/unittests/files/aria.ts b/unittests/files/aria.ts new file mode 100644 index 000000000..455b2d691 --- /dev/null +++ b/unittests/files/aria.ts @@ -0,0 +1,407 @@ +switch (document.body.ariaAtomic) { + case "true": + case "false": + case null: + break; + default: + document.body.ariaAtomic satisfies never; +} + +switch (document.body.ariaAutoComplete) { + case "both": + case "inline": + case "list": + case "none": + case null: + break; + default: + document.body.ariaAutoComplete satisfies never; +} + +document.body.ariaBrailleLabel = "abc"; +document.body.ariaBrailleLabel = null; + +document.body.ariaBrailleRoleDescription = "abc"; +document.body.ariaBrailleRoleDescription = null; + +switch (document.body.ariaBusy) { + case "true": + case "false": + case null: + break; + default: + document.body.ariaBusy satisfies never; +} + +switch (document.body.ariaChecked) { + case "true": + case "mixed": + case "false": + case "undefined": + case null: + break; + default: + document.body.ariaChecked satisfies never; +} + +document.body.ariaColCount = "1"; +document.body.ariaColCount = null; +/// @ts-expect-error does not accept float type +document.body.ariaColCount = "1.1"; +/// @ts-expect-error does not accept empty string +document.body.ariaColCount = ""; + +document.body.ariaColIndex = "1"; +document.body.ariaColIndex = null; +/// @ts-expect-error does not accept float type +document.body.ariaColIndex = "1.1"; +/// @ts-expect-error does not accept empty string +document.body.ariaColIndex = ""; + +document.body.ariaColIndexText = "abc"; +document.body.ariaColCount = null; + +document.body.ariaColSpan = "1"; +document.body.ariaColSpan = null; +/// @ts-expect-error does not accept float type +document.body.ariaColSpan = "1.1"; +/// @ts-expect-error does not accept empty string +document.body.ariaColSpan = ""; + +switch (document.body.ariaCurrent) { + case "true": + case "false": + case "date": + case "location": + case "page": + case "step": + case "time": + case null: + break; + default: + document.body.ariaCurrent satisfies never; +} + +document.body.ariaDescription = "abc"; +document.body.ariaDescription = null; + +switch (document.body.ariaDisabled) { + case "true": + case "false": + case null: + break; + default: + document.body.ariaDisabled satisfies never; +} + +switch (document.body.ariaExpanded) { + case "true": + case "false": + case "undefined": + case null: + break; + default: + document.body.ariaExpanded satisfies never; +} + +switch (document.body.ariaHasPopup) { + case "true": + case "false": + case "dialog": + case "grid": + case "listbox": + case "menu": + case "tree": + case null: + break; + default: + document.body.ariaHasPopup satisfies never; +} + +switch (document.body.ariaHidden) { + case "true": + case "false": + case "undefined": + case null: + break; + default: + document.body.ariaHidden satisfies never; +} + +switch (document.body.ariaInvalid) { + case "true": + case "false": + case "grammar": + case "spelling": + case null: + break; + default: + document.body.ariaInvalid satisfies never; +} + +document.body.ariaKeyShortcuts = "Alt+Enter"; +document.body.ariaKeyShortcuts = null; + +document.body.ariaLabel = "abc"; +document.body.ariaLabel = null; + +document.body.ariaLevel = "1"; +document.body.ariaLevel = null; +/// @ts-expect-error does not accept float type +document.body.ariaLevel = "1.1"; +/// @ts-expect-error does not accept empty string +document.body.ariaLevel = ""; + +switch (document.body.ariaLive) { + case "assertive": + case "off": + case "polite": + case null: + break; + default: + document.body.ariaLive satisfies never; +} + +switch (document.body.ariaModal) { + case "true": + case "false": + case null: + break; + default: + document.body.ariaModal satisfies never; +} + +switch (document.body.ariaMultiLine) { + case "true": + case "false": + case null: + break; + default: + document.body.ariaMultiLine satisfies never; +} + +switch (document.body.ariaMultiSelectable) { + case "true": + case "false": + case null: + break; + default: + document.body.ariaMultiSelectable satisfies never; +} + +switch (document.body.ariaOrientation) { + case "horizontal": + case "undefined": + case "vertical": + case null: + break; + default: + document.body.ariaOrientation satisfies never; +} + +document.body.ariaPlaceholder = "abc"; +document.body.ariaPlaceholder = null; + +document.body.ariaPosInSet = "1"; +document.body.ariaPosInSet = null; +/// @ts-expect-error does not accept float type +document.body.ariaPosInSet = "1.1"; +/// @ts-expect-error does not accept empty string +document.body.ariaPosInSet = ""; + +switch (document.body.ariaPressed) { + case "false": + case "mixed": + case "true": + case "undefined": + case null: + break; + default: + document.body.ariaPressed satisfies never; +} + +switch (document.body.ariaReadOnly) { + case "false": + case "true": + case null: + break; + default: + document.body.ariaReadOnly satisfies never; +} + +switch (document.body.ariaRequired) { + case "false": + case "true": + case null: + break; + default: + document.body.ariaRequired satisfies never; +} + +document.body.ariaRoleDescription = "abc"; +document.body.ariaRoleDescription = null; + +document.body.ariaRowCount = "1"; +document.body.ariaRowCount = null; +/// @ts-expect-error does not accept float type +document.body.ariaRowCount = "1.1"; +/// @ts-expect-error does not accept empty string +document.body.ariaRowCount = ""; + +document.body.ariaRowIndex = "1"; +document.body.ariaRowIndex = null; +/// @ts-expect-error does not accept float type +document.body.ariaRowIndex = "1.1"; +/// @ts-expect-error does not accept empty string +document.body.ariaRowIndex = ""; + +document.body.ariaRowIndexText = "abc"; +document.body.ariaRowIndexText = null; + +document.body.ariaRowSpan = "1"; +document.body.ariaRowSpan = null; +/// @ts-expect-error does not accept float type +document.body.ariaRowSpan = "1.1"; +/// @ts-expect-error does not accept empty string +document.body.ariaRowSpan = ""; + +switch (document.body.ariaSelected) { + case "true": + case "false": + case "undefined": + case null: + break; + default: + document.body.ariaSelected satisfies never; +} + +document.body.ariaSetSize = "1"; +document.body.ariaSetSize = null; +/// @ts-expect-error does not accept float type +document.body.ariaSetSize = "1.1"; +/// @ts-expect-error does not accept empty string +document.body.ariaSetSize = ""; + +switch (document.body.ariaSort) { + case "ascending": + case "descending": + case "none": + case "other": + case null: + break; + default: + document.body.ariaSort satisfies never; +} + +document.body.ariaValueMax = "1"; +document.body.ariaValueMax = "1.1"; +document.body.ariaValueMax = null; +/// @ts-expect-error does not accept empty string +document.body.ariaValueMax = ""; + +document.body.ariaValueMin = "1"; +document.body.ariaValueMin = "1.1"; +document.body.ariaValueMin = null; +/// @ts-expect-error does not accept empty string +document.body.ariaValueMin = ""; + +document.body.ariaValueNow = "1"; +document.body.ariaValueNow = "1.1"; +document.body.ariaValueNow = null; +/// @ts-expect-error does not accept empty string +document.body.ariaValueNow = ""; + +document.body.ariaValueText = "abc"; +document.body.ariaValueText = null; + +switch (document.body.role) { + case "alert": + case "alertdialog": + case "application": + case "article": + case "banner": + case "blockquote": + case "button": + case "caption": + case "cell": + case "checkbox": + case "code": + case "columnheader": + case "combobox": + case "comment": + case "complementary": + case "contentinfo": + case "definition": + case "deletion": + case "dialog": + case "document": + case "emphasis": + case "feed": + case "figure": + case "form": + case "generic": + case "grid": + case "gridcell": + case "group": + case "heading": + case "image": + case "img": + case "insertion": + case "link": + case "list": + case "listbox": + case "listitem": + case "log": + case "main": + case "mark": + case "marquee": + case "math": + case "menu": + case "menubar": + case "menuitem": + case "menuitemcheckbox": + case "menuitemradio": + case "meter": + case "navigation": + case "none": + case "note": + case "option": + case "paragraph": + case "presentation": + case "progressbar": + case "radio": + case "radiogroup": + case "region": + case "row": + case "rowgroup": + case "rowheader": + case "scrollbar": + case "search": + case "searchbox": + case "separator": + case "slider": + case "spinbutton": + case "status": + case "strong": + case "subscript": + case "suggestion": + case "superscript": + case "switch": + case "tab": + case "table": + case "tablist": + case "tabpanel": + case "term": + case "textbox": + case "time": + case "timer": + case "toolbar": + case "tooltip": + case "tree": + case "treegrid": + case "treeitem": + case null: + break; + default: + document.body.role satisfies never; +}