| <!DOCTYPE HTML> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script> | |
| class TestElement extends HTMLElement { | |
| constructor() { | |
| super(); | |
| this._internals = this.attachInternals(); | |
| } | |
| get internals() { | |
| return this._internals; | |
| } | |
| set internals(val) { | |
| throw "Can't set internals!"; | |
| } | |
| } | |
| customElements.define("test-element", TestElement); | |
| </script> | |
| <test-element id= "testElement"></test-element> | |
| <script> | |
| const element = document.getElementById("testElement"); | |
| const properties = [ | |
| "role", | |
| "ariaActiveDescendantElement", | |
| "ariaAtomic", | |
| "ariaAutoComplete", | |
| "ariaBrailleLabel", | |
| "ariaBrailleRoleDescription", | |
| "ariaBusy", | |
| "ariaChecked", | |
| "ariaColCount", | |
| "ariaColIndex", | |
| // "ariaColIndexText", // tentative -> ElementInternals-accessibility.tentative.html | |
| "ariaColSpan", | |
| "ariaControlsElements", | |
| "ariaCurrent", | |
| "ariaDescribedByElements", | |
| // "ariaDescription", // tentative -> ElementInternals-accessibility.tentative.html | |
| "ariaDetailsElements", | |
| "ariaDisabled", | |
| "ariaErrorMessageElements", | |
| "ariaExpanded", | |
| "ariaFlowToElements", | |
| "ariaHasPopup", | |
| "ariaHidden", | |
| "ariaInvalid", | |
| "ariaKeyShortcuts", | |
| "ariaLabel", | |
| "ariaLabelledByElements", | |
| "ariaLevel", | |
| "ariaLive", | |
| "ariaModal", | |
| "ariaMultiLine", | |
| "ariaMultiSelectable", | |
| "ariaOrientation", | |
| "ariaOwnsElements", | |
| "ariaPlaceholder", | |
| "ariaPosInSet", | |
| "ariaPressed", | |
| "ariaReadOnly", | |
| "ariaRelevant", | |
| "ariaRequired", | |
| "ariaRoleDescription", | |
| "ariaRowCount", | |
| "ariaRowIndex", | |
| // "ariaRowIndexText", // tentative -> ElementInternals-accessibility.tentative.html | |
| "ariaRowSpan", | |
| "ariaSelected", | |
| "ariaSetSize", | |
| "ariaSort", | |
| "ariaValueMax", | |
| "ariaValueMin", | |
| "ariaValueNow", | |
| "ariaValueText" | |
| ]; | |
| for (const property of properties) { | |
| test(() => { | |
| assert_inherits(element.internals, property); | |
| }, property + " is defined in ElementInternals"); | |
| } | |
| test(() => assert_false('ariaErrorMessageElement' in element.internals), 'ariaErrorMessageElement is not defined in ElementInternals') | |
| </script> |