86 lines
2 KiB
HTML
86 lines
2 KiB
HTML
<!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>
|