summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/custom-elements/ElementInternals-accessibility.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/custom-elements/ElementInternals-accessibility.html')
-rw-r--r--testing/web-platform/tests/custom-elements/ElementInternals-accessibility.html80
1 files changed, 80 insertions, 0 deletions
diff --git a/testing/web-platform/tests/custom-elements/ElementInternals-accessibility.html b/testing/web-platform/tests/custom-elements/ElementInternals-accessibility.html
new file mode 100644
index 0000000000..8a8f1c9aea
--- /dev/null
+++ b/testing/web-platform/tests/custom-elements/ElementInternals-accessibility.html
@@ -0,0 +1,80 @@
+<!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",
+ "ariaBusy",
+ "ariaChecked",
+ "ariaColCount",
+ "ariaColIndex",
+ "ariaColSpan",
+ "ariaControlsElements",
+ "ariaCurrent",
+ "ariaDescribedByElements",
+ "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",
+ "ariaRowSpan",
+ "ariaSelected",
+ "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>