summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/custom-elements/ElementInternals-accessibility.html
blob: 8a8f1c9aea08466dbf5182159c307a6e79e7cbb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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>