@qualweb/util 0.0.0-develop-20231124154536 → 0.0.0-develop-20241204121833

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/dist/__webpack/util.bundle.js +1 -0
  2. package/dist/accessibilityUtils/accessibilityUtils.d.ts +44 -0
  3. package/dist/accessibilityUtils/accessibilityUtils.d.ts.map +1 -0
  4. package/dist/accessibilityUtils/accessibilityUtils.js +292 -0
  5. package/dist/accessibilityUtils/allowsNameFromContent.d.ts +4 -0
  6. package/dist/accessibilityUtils/allowsNameFromContent.d.ts.map +1 -0
  7. package/dist/accessibilityUtils/allowsNameFromContent.js +9 -0
  8. package/dist/accessibilityUtils/ariaAttributesRoles.d.ts +11 -0
  9. package/dist/accessibilityUtils/ariaAttributesRoles.d.ts.map +1 -0
  10. package/dist/accessibilityUtils/ariaAttributesRoles.js +293 -0
  11. package/dist/accessibilityUtils/constants.d.ts +19 -0
  12. package/dist/accessibilityUtils/constants.d.ts.map +1 -0
  13. package/dist/accessibilityUtils/constants.js +244 -0
  14. package/dist/accessibilityUtils/elementHasGlobalARIAPropertyOrAttribute.d.ts +4 -0
  15. package/dist/accessibilityUtils/elementHasGlobalARIAPropertyOrAttribute.d.ts.map +1 -0
  16. package/dist/accessibilityUtils/elementHasGlobalARIAPropertyOrAttribute.js +17 -0
  17. package/dist/accessibilityUtils/elementHasValidRole.d.ts +4 -0
  18. package/dist/accessibilityUtils/elementHasValidRole.d.ts.map +1 -0
  19. package/dist/accessibilityUtils/elementHasValidRole.js +22 -0
  20. package/dist/accessibilityUtils/getAccessibleName.d.ts +4 -0
  21. package/dist/accessibilityUtils/getAccessibleName.d.ts.map +1 -0
  22. package/dist/accessibilityUtils/getAccessibleName.js +10 -0
  23. package/dist/accessibilityUtils/getAccessibleNameRecursion.d.ts +4 -0
  24. package/dist/accessibilityUtils/getAccessibleNameRecursion.d.ts.map +1 -0
  25. package/dist/accessibilityUtils/getAccessibleNameRecursion.js +275 -0
  26. package/dist/accessibilityUtils/getAccessibleNameSVG.d.ts +4 -0
  27. package/dist/accessibilityUtils/getAccessibleNameSVG.d.ts.map +1 -0
  28. package/dist/accessibilityUtils/getAccessibleNameSVG.js +10 -0
  29. package/dist/accessibilityUtils/getAccessibleNameSVGRecursion.d.ts +4 -0
  30. package/dist/accessibilityUtils/getAccessibleNameSVGRecursion.d.ts.map +1 -0
  31. package/dist/accessibilityUtils/getAccessibleNameSVGRecursion.js +124 -0
  32. package/dist/accessibilityUtils/getAccessibleNameSelector.d.ts +4 -0
  33. package/dist/accessibilityUtils/getAccessibleNameSelector.d.ts.map +1 -0
  34. package/dist/accessibilityUtils/getAccessibleNameSelector.js +200 -0
  35. package/dist/accessibilityUtils/getAriaOwner.d.ts +4 -0
  36. package/dist/accessibilityUtils/getAriaOwner.d.ts.map +1 -0
  37. package/dist/accessibilityUtils/getAriaOwner.js +21 -0
  38. package/dist/accessibilityUtils/getDefaultName.d.ts +4 -0
  39. package/dist/accessibilityUtils/getDefaultName.d.ts.map +1 -0
  40. package/dist/accessibilityUtils/getDefaultName.js +20 -0
  41. package/dist/accessibilityUtils/getDisabledWidgets.d.ts +4 -0
  42. package/dist/accessibilityUtils/getDisabledWidgets.d.ts.map +1 -0
  43. package/dist/accessibilityUtils/getDisabledWidgets.js +26 -0
  44. package/dist/accessibilityUtils/getElementRole.d.ts +4 -0
  45. package/dist/accessibilityUtils/getElementRole.d.ts.map +1 -0
  46. package/dist/accessibilityUtils/getElementRole.js +7 -0
  47. package/dist/accessibilityUtils/getElementRoleAName.d.ts +4 -0
  48. package/dist/accessibilityUtils/getElementRoleAName.d.ts.map +1 -0
  49. package/dist/accessibilityUtils/getElementRoleAName.js +14 -0
  50. package/dist/accessibilityUtils/getElementValidExplicitRole.d.ts +4 -0
  51. package/dist/accessibilityUtils/getElementValidExplicitRole.d.ts.map +1 -0
  52. package/dist/accessibilityUtils/getElementValidExplicitRole.js +22 -0
  53. package/dist/accessibilityUtils/getImplicitRole.d.ts +4 -0
  54. package/dist/accessibilityUtils/getImplicitRole.d.ts.map +1 -0
  55. package/dist/accessibilityUtils/getImplicitRole.js +187 -0
  56. package/dist/accessibilityUtils/getLinkContext.d.ts +4 -0
  57. package/dist/accessibilityUtils/getLinkContext.d.ts.map +1 -0
  58. package/dist/accessibilityUtils/getLinkContext.js +45 -0
  59. package/dist/accessibilityUtils/getOwnedElements.d.ts +4 -0
  60. package/dist/accessibilityUtils/getOwnedElements.d.ts.map +1 -0
  61. package/dist/accessibilityUtils/getOwnedElements.js +42 -0
  62. package/dist/accessibilityUtils/getOwnerElement.d.ts +4 -0
  63. package/dist/accessibilityUtils/getOwnerElement.d.ts.map +1 -0
  64. package/dist/accessibilityUtils/getOwnerElement.js +19 -0
  65. package/dist/accessibilityUtils/getTextFromCss.d.ts +4 -0
  66. package/dist/accessibilityUtils/getTextFromCss.d.ts.map +1 -0
  67. package/dist/accessibilityUtils/getTextFromCss.js +8 -0
  68. package/dist/accessibilityUtils/getValueFromEmbeddedControl.d.ts +4 -0
  69. package/dist/accessibilityUtils/getValueFromEmbeddedControl.d.ts.map +1 -0
  70. package/dist/accessibilityUtils/getValueFromEmbeddedControl.js +75 -0
  71. package/dist/accessibilityUtils/implicitRoles.d.ts +10 -0
  72. package/dist/accessibilityUtils/implicitRoles.d.ts.map +1 -0
  73. package/dist/accessibilityUtils/implicitRoles.js +494 -0
  74. package/dist/accessibilityUtils/isDataTable.d.ts +4 -0
  75. package/dist/accessibilityUtils/isDataTable.d.ts.map +1 -0
  76. package/dist/accessibilityUtils/isDataTable.js +14 -0
  77. package/dist/accessibilityUtils/isElementChildPresentational.d.ts +4 -0
  78. package/dist/accessibilityUtils/isElementChildPresentational.d.ts.map +1 -0
  79. package/dist/accessibilityUtils/isElementChildPresentational.js +17 -0
  80. package/dist/accessibilityUtils/isElementChildPresentationalAux.d.ts +4 -0
  81. package/dist/accessibilityUtils/isElementChildPresentationalAux.d.ts.map +1 -0
  82. package/dist/accessibilityUtils/isElementChildPresentationalAux.js +17 -0
  83. package/dist/accessibilityUtils/isElementControl.d.ts +4 -0
  84. package/dist/accessibilityUtils/isElementControl.d.ts.map +1 -0
  85. package/dist/accessibilityUtils/isElementControl.js +8 -0
  86. package/dist/accessibilityUtils/isElementFocusable.d.ts +4 -0
  87. package/dist/accessibilityUtils/isElementFocusable.d.ts.map +1 -0
  88. package/dist/accessibilityUtils/isElementFocusable.js +21 -0
  89. package/dist/accessibilityUtils/isElementFocusableByDefault.d.ts +4 -0
  90. package/dist/accessibilityUtils/isElementFocusableByDefault.d.ts.map +1 -0
  91. package/dist/accessibilityUtils/isElementFocusableByDefault.js +47 -0
  92. package/dist/accessibilityUtils/isElementInAT.d.ts +4 -0
  93. package/dist/accessibilityUtils/isElementInAT.d.ts.map +1 -0
  94. package/dist/accessibilityUtils/isElementInAT.js +71 -0
  95. package/dist/accessibilityUtils/isElementReferencedByAriaLabel.d.ts +4 -0
  96. package/dist/accessibilityUtils/isElementReferencedByAriaLabel.d.ts.map +1 -0
  97. package/dist/accessibilityUtils/isElementReferencedByAriaLabel.js +25 -0
  98. package/dist/accessibilityUtils/isElementWidget.d.ts +4 -0
  99. package/dist/accessibilityUtils/isElementWidget.d.ts.map +1 -0
  100. package/dist/accessibilityUtils/isElementWidget.js +8 -0
  101. package/dist/accessibilityUtils/isFocusableBrowser.d.ts +4 -0
  102. package/dist/accessibilityUtils/isFocusableBrowser.d.ts.map +1 -0
  103. package/dist/accessibilityUtils/isFocusableBrowser.js +8 -0
  104. package/dist/accessibilityUtils/isPartOfSequentialFocusNavigation.d.ts +4 -0
  105. package/dist/accessibilityUtils/isPartOfSequentialFocusNavigation.d.ts.map +1 -0
  106. package/dist/accessibilityUtils/isPartOfSequentialFocusNavigation.js +13 -0
  107. package/dist/accessibilityUtils/landmarkIsTopLevel.d.ts +4 -0
  108. package/dist/accessibilityUtils/landmarkIsTopLevel.d.ts.map +1 -0
  109. package/dist/accessibilityUtils/landmarkIsTopLevel.js +16 -0
  110. package/dist/accessibilityUtils/language.json +8129 -0
  111. package/dist/accessibilityUtils/roles.d.ts +15 -0
  112. package/dist/accessibilityUtils/roles.d.ts.map +1 -0
  113. package/dist/accessibilityUtils/roles.js +2787 -0
  114. package/dist/applicability/applicability.d.ts +37 -0
  115. package/dist/applicability/applicability.d.ts.map +1 -0
  116. package/dist/applicability/applicability.js +490 -0
  117. package/dist/cache.d.ts +4 -0
  118. package/dist/cache.d.ts.map +1 -0
  119. package/dist/cache.js +45 -0
  120. package/dist/domUtils/audio.json +33 -0
  121. package/dist/domUtils/constants.d.ts +6 -0
  122. package/dist/domUtils/constants.d.ts.map +1 -0
  123. package/dist/domUtils/constants.js +49 -0
  124. package/dist/domUtils/domUtils.d.ts +28 -0
  125. package/dist/domUtils/domUtils.d.ts.map +1 -0
  126. package/dist/domUtils/domUtils.js +124 -0
  127. package/dist/domUtils/elementHasContent.d.ts +4 -0
  128. package/dist/domUtils/elementHasContent.d.ts.map +1 -0
  129. package/dist/domUtils/elementHasContent.js +41 -0
  130. package/dist/domUtils/elementHasOnePixel.d.ts +4 -0
  131. package/dist/domUtils/elementHasOnePixel.d.ts.map +1 -0
  132. package/dist/domUtils/elementHasOnePixel.js +13 -0
  133. package/dist/domUtils/elementIdIsReferenced.d.ts +4 -0
  134. package/dist/domUtils/elementIdIsReferenced.d.ts.map +1 -0
  135. package/dist/domUtils/elementIdIsReferenced.js +13 -0
  136. package/dist/domUtils/getElementReferencedByHREF.d.ts +4 -0
  137. package/dist/domUtils/getElementReferencedByHREF.d.ts.map +1 -0
  138. package/dist/domUtils/getElementReferencedByHREF.js +22 -0
  139. package/dist/domUtils/getTextSize.d.ts +3 -0
  140. package/dist/domUtils/getTextSize.d.ts.map +1 -0
  141. package/dist/domUtils/getTextSize.js +21 -0
  142. package/dist/domUtils/getTrimmedText.d.ts +4 -0
  143. package/dist/domUtils/getTrimmedText.d.ts.map +1 -0
  144. package/dist/domUtils/getTrimmedText.js +13 -0
  145. package/dist/domUtils/getVideoMetadata.d.ts +4 -0
  146. package/dist/domUtils/getVideoMetadata.d.ts.map +1 -0
  147. package/dist/domUtils/getVideoMetadata.js +22 -0
  148. package/dist/domUtils/image.json +122 -0
  149. package/dist/domUtils/isElementADescendantOf.d.ts +4 -0
  150. package/dist/domUtils/isElementADescendantOf.d.ts.map +1 -0
  151. package/dist/domUtils/isElementADescendantOf.js +23 -0
  152. package/dist/domUtils/isElementADescendantOfExplicitRole.d.ts +4 -0
  153. package/dist/domUtils/isElementADescendantOfExplicitRole.d.ts.map +1 -0
  154. package/dist/domUtils/isElementADescendantOfExplicitRole.js +23 -0
  155. package/dist/domUtils/isElementHidden.d.ts +4 -0
  156. package/dist/domUtils/isElementHidden.d.ts.map +1 -0
  157. package/dist/domUtils/isElementHidden.js +17 -0
  158. package/dist/domUtils/isElementHiddenByCSS.d.ts +4 -0
  159. package/dist/domUtils/isElementHiddenByCSS.d.ts.map +1 -0
  160. package/dist/domUtils/isElementHiddenByCSS.js +15 -0
  161. package/dist/domUtils/isElementHiddenByCSSAux.d.ts +4 -0
  162. package/dist/domUtils/isElementHiddenByCSSAux.d.ts.map +1 -0
  163. package/dist/domUtils/isElementHiddenByCSSAux.js +10 -0
  164. package/dist/domUtils/isElementVisible.d.ts +4 -0
  165. package/dist/domUtils/isElementVisible.d.ts.map +1 -0
  166. package/dist/domUtils/isElementVisible.js +38 -0
  167. package/dist/domUtils/isHumanLanguage.d.ts +2 -0
  168. package/dist/domUtils/isHumanLanguage.d.ts.map +1 -0
  169. package/dist/domUtils/isHumanLanguage.js +10 -0
  170. package/dist/domUtils/objectElementIsNonText.d.ts +4 -0
  171. package/dist/domUtils/objectElementIsNonText.d.ts.map +1 -0
  172. package/dist/domUtils/objectElementIsNonText.js +21 -0
  173. package/dist/domUtils/textHasTheSameColorOfBackground.d.ts +4 -0
  174. package/dist/domUtils/textHasTheSameColorOfBackground.d.ts.map +1 -0
  175. package/dist/domUtils/textHasTheSameColorOfBackground.js +12 -0
  176. package/dist/domUtils/video.json +490 -0
  177. package/dist/domUtils/videoElementHasAudio.d.ts +4 -0
  178. package/dist/domUtils/videoElementHasAudio.d.ts.map +1 -0
  179. package/dist/domUtils/videoElementHasAudio.js +6 -0
  180. package/dist/index.d.ts +15 -0
  181. package/dist/index.d.ts.map +1 -0
  182. package/dist/index.js +13 -0
  183. package/package.json +45 -30
  184. package/dist/util.bundle.js +0 -1
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const implicitRoles_1 = require("./implicitRoles");
4
+ function getImplicitRole(element, accessibleName) {
5
+ const name = element.getElementTagName();
6
+ let attributes;
7
+ let role = null;
8
+ if (name) {
9
+ const roleValues = implicitRoles_1.implicitRoles[name.toLocaleLowerCase()];
10
+ if (roleValues !== undefined) {
11
+ for (const roleValue of roleValues) {
12
+ const special = roleValue['special'];
13
+ attributes = roleValue['attributes'];
14
+ if (attributes.length === 0 || isInList(attributes, element)) {
15
+ if (!special) {
16
+ role = roleValue['role'];
17
+ }
18
+ else {
19
+ const heading = new RegExp('h[1-6]');
20
+ if (name === 'footer' || name === 'header') {
21
+ role = getRoleHeaderFooter(element, roleValue);
22
+ }
23
+ else if (name === 'form' || name === 'section') {
24
+ if (accessibleName !== undefined) {
25
+ role = roleValue['role'];
26
+ }
27
+ }
28
+ else if (heading.test(name)) {
29
+ role = getRoleHeading(element, roleValue);
30
+ }
31
+ else if (name === 'img') {
32
+ role = getRoleImg(element, roleValue);
33
+ }
34
+ else if (name === 'a') {
35
+ role = getRoleA(element, roleValue);
36
+ }
37
+ else if (name === 'input') {
38
+ role = getRoleInput(element, roleValue);
39
+ }
40
+ else if (name === 'li') {
41
+ role = getRoleLi(element, roleValue);
42
+ }
43
+ else if (name === 'option') {
44
+ role = getRoleOption(element, roleValue);
45
+ }
46
+ else if (name === 'select') {
47
+ role = getRoleSelect(element, roleValue);
48
+ }
49
+ else if (name === 'td') {
50
+ if (window.DomUtils.isElementADescendantOfExplicitRole(element, ['table'], [])) {
51
+ role = roleValue['role'];
52
+ }
53
+ else if (window.DomUtils.isElementADescendantOfExplicitRole(element, ['grid', 'treegrid'], [])) {
54
+ role = 'gridcell';
55
+ }
56
+ }
57
+ else if (name === 'th') {
58
+ if (window.DomUtils.isElementADescendantOfExplicitRole(element, ['table', 'grid', 'treegrid'], [])) {
59
+ role = roleValue['role'];
60
+ }
61
+ }
62
+ else if (name === 'area') {
63
+ if (attributes.length === 0) {
64
+ role = 'generic';
65
+ }
66
+ else if (isInList(attributes, element)) {
67
+ role = roleValue['role'];
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
75
+ return role;
76
+ }
77
+ function getRoleHeading(element, roleValue) {
78
+ const ariaLevel = element.getElementAttribute('aria-level');
79
+ if (ariaLevel === null || parseInt(ariaLevel) > 0) {
80
+ return roleValue.role;
81
+ }
82
+ return null;
83
+ }
84
+ function getRoleSelect(element, roleValue) {
85
+ const size = element.getElementAttribute('size');
86
+ const multiple = element.getElementAttribute('multiple');
87
+ let role;
88
+ if (multiple !== null && size !== null && parseInt(size, 10) > 1) {
89
+ role = 'listbox';
90
+ }
91
+ else {
92
+ role = roleValue.role;
93
+ }
94
+ return role;
95
+ }
96
+ function getRoleHeaderFooter(element, roleValue) {
97
+ let role;
98
+ if (!window.DomUtils.isElementADescendantOfExplicitRole(element, ['article', 'aside', 'main', 'nav', 'section'], ['article', 'complementary', 'main', 'navigation', 'region'])) {
99
+ role = roleValue['role'];
100
+ }
101
+ else {
102
+ role = 'generic';
103
+ }
104
+ return role;
105
+ }
106
+ function getRoleInput(element, roleValue) {
107
+ const list = element.getElementAttribute('list');
108
+ const type = element.getElementAttribute('type');
109
+ let role;
110
+ if (list !== null) {
111
+ role = roleValue['role'];
112
+ }
113
+ else if (type === 'search') {
114
+ role = 'searchbox';
115
+ }
116
+ else {
117
+ role = 'textbox';
118
+ }
119
+ return role;
120
+ }
121
+ function getRoleOption(element, roleValue) {
122
+ const parent = element.getElementParent();
123
+ let parentName;
124
+ if (parent !== null)
125
+ parentName = parent.getElementTagName();
126
+ if (parentName === 'datalist') {
127
+ return roleValue.role;
128
+ }
129
+ return null;
130
+ }
131
+ function getRoleImg(element, roleValue) {
132
+ const alt = element.getElementAttribute('alt');
133
+ const ariaLabelledBy = element.getElementAttribute('aria-labelledby');
134
+ const id = element.getElementAttribute('id');
135
+ let role = '';
136
+ if (alt !== '' || (ariaLabelledBy !== null && verifyAriaLabel(ariaLabelledBy, id))) {
137
+ role = roleValue.role;
138
+ }
139
+ else if (element.elementHasAttribute('alt') &&
140
+ !(window.AccessibilityUtils.isElementFocusable(element) ||
141
+ window.AccessibilityUtils.elementHasGlobalARIAPropertyOrAttribute(element))) {
142
+ role = 'presentation';
143
+ }
144
+ return role;
145
+ }
146
+ function getRoleA(element, roleValue) {
147
+ let role;
148
+ if (element.elementHasAttribute('href')) {
149
+ role = roleValue['role'];
150
+ }
151
+ else {
152
+ role = 'generic';
153
+ }
154
+ return role;
155
+ }
156
+ function getRoleLi(element, roleValue) {
157
+ const parent = element.getElementParent();
158
+ const parentNames = ['ol', 'ul', 'menu'];
159
+ const parentName = parent === null || parent === void 0 ? void 0 : parent.getElementTagName();
160
+ if (parentName && parentNames.includes(parentName)) {
161
+ return roleValue.role;
162
+ }
163
+ return null;
164
+ }
165
+ function isInList(attributes, element) {
166
+ let result;
167
+ for (let i = 0; i < attributes.length; i++) {
168
+ const attribute = attributes[i];
169
+ const key = attribute[0];
170
+ const value = attribute[1];
171
+ const roleSpecificATT = element.getElementAttribute(key);
172
+ if (roleSpecificATT === value || (value === '' && roleSpecificATT !== null))
173
+ result = true;
174
+ }
175
+ return result;
176
+ }
177
+ function verifyAriaLabel(ariaLabelBy, elementID) {
178
+ const elementIds = ariaLabelBy.split(' ');
179
+ let result = false;
180
+ for (const id of elementIds) {
181
+ if (!result && id !== '' && elementID !== id) {
182
+ result = window.qwPage.getElementByID(id) !== null;
183
+ }
184
+ }
185
+ return result;
186
+ }
187
+ exports.default = getImplicitRole;
@@ -0,0 +1,4 @@
1
+ import type { QWElement } from '@qualweb/qw-element';
2
+ declare function getLinkContext(element: QWElement): Array<string>;
3
+ export default getLinkContext;
4
+ //# sourceMappingURL=getLinkContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLinkContext.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/getLinkContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,iBAAS,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAwBzD;AAuBD,eAAe,cAAc,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function getLinkContext(element) {
4
+ const context = new Array();
5
+ const parent = element.getElementParent();
6
+ const ariaDescribedByATT = element.getElementAttribute('aria-describedby');
7
+ let ariaDescribedBy = new Array();
8
+ if (ariaDescribedByATT)
9
+ ariaDescribedBy = ariaDescribedByATT.split(' ');
10
+ if (parent) {
11
+ const role = window.AccessibilityUtils.getElementRole(parent);
12
+ const inAT = window.AccessibilityUtils.isElementInAT(parent);
13
+ const tagName = parent.getElementTagName();
14
+ const id = parent.getElementAttribute('id');
15
+ if (inAT &&
16
+ (tagName === 'p' ||
17
+ role === 'cell' ||
18
+ role === 'gridcell' ||
19
+ role === 'listitem' ||
20
+ (id && ariaDescribedBy.includes(id)))) {
21
+ context.push(parent.getElementSelector());
22
+ }
23
+ getLinkContextAux(parent, ariaDescribedBy, context);
24
+ }
25
+ return context;
26
+ }
27
+ function getLinkContextAux(element, ariaDescribedBy, context) {
28
+ const parent = element.getElementParent();
29
+ if (parent) {
30
+ const role = window.AccessibilityUtils.getElementRole(parent);
31
+ const inAT = window.AccessibilityUtils.isElementInAT(parent);
32
+ const tagName = parent.getElementTagName();
33
+ const id = parent.getElementAttribute('id');
34
+ if (inAT &&
35
+ (tagName === 'p' ||
36
+ role === 'cell' ||
37
+ role === 'gridcell' ||
38
+ role === 'listitem' ||
39
+ (id && ariaDescribedBy.includes(id)))) {
40
+ context.push(parent.getElementSelector());
41
+ }
42
+ getLinkContextAux(parent, ariaDescribedBy, context);
43
+ }
44
+ }
45
+ exports.default = getLinkContext;
@@ -0,0 +1,4 @@
1
+ import type { QWElement } from '@qualweb/qw-element';
2
+ declare function getOwnedElements(element: QWElement): Array<QWElement>;
3
+ export default getOwnedElements;
4
+ //# sourceMappingURL=getOwnedElements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOwnedElements.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/getOwnedElements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,iBAAS,gBAAgB,CAAC,OAAO,EAAE,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAS9D;AAkCD,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function getOwnedElements(element) {
4
+ const children = element.getElementChildren();
5
+ const result = new Array();
6
+ const ariaOwnedElements = getAriaOwnedElements(element);
7
+ result.push(...ariaOwnedElements);
8
+ for (const child of children !== null && children !== void 0 ? children : []) {
9
+ result.push(...getOwnedElementsAux(child, element.getElementSelector()));
10
+ }
11
+ return result;
12
+ }
13
+ function getOwnedElementsAux(element, ownerSelector) {
14
+ let ariaOwner = window.AccessibilityUtils.getAriaOwner(element);
15
+ if (window.AccessibilityUtils.isElementInAT(element) &&
16
+ (!ariaOwner || (!!ariaOwner && ariaOwner.getElementSelector() === ownerSelector))) {
17
+ return [element];
18
+ }
19
+ else {
20
+ let children = element.getElementChildren();
21
+ let result = new Array();
22
+ for (const child of children !== null && children !== void 0 ? children : []) {
23
+ result.push(...getOwnedElementsAux(child, ownerSelector));
24
+ }
25
+ return result;
26
+ }
27
+ }
28
+ function getAriaOwnedElements(element) {
29
+ const ariaOwns = element.getElementAttribute('aria-owns');
30
+ const elements = new Array();
31
+ if (ariaOwns) {
32
+ const splitted = ariaOwns.split(',');
33
+ for (const id of splitted !== null && splitted !== void 0 ? splitted : []) {
34
+ const elem = window.qwPage.getElementByID(id);
35
+ if (!!elem) {
36
+ elements.push(elem);
37
+ }
38
+ }
39
+ }
40
+ return elements;
41
+ }
42
+ exports.default = getOwnedElements;
@@ -0,0 +1,4 @@
1
+ import type { QWElement } from '@qualweb/qw-element';
2
+ declare function getOwnerElement(element: QWElement): QWElement | null;
3
+ export default getOwnerElement;
4
+ //# sourceMappingURL=getOwnerElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOwnerElement.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/getOwnerElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,iBAAS,eAAe,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAc7D;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function getOwnerElement(element) {
4
+ const ariaOwner = window.AccessibilityUtils.getAriaOwner(element);
5
+ let ownerElement;
6
+ if (ariaOwner) {
7
+ ownerElement = ariaOwner;
8
+ }
9
+ else {
10
+ let parent = element.getElementParent();
11
+ while (!!parent && !ownerElement) {
12
+ if (window.AccessibilityUtils.isElementInAT(parent))
13
+ ownerElement = parent;
14
+ parent = parent.getElementParent();
15
+ }
16
+ }
17
+ return ownerElement || null;
18
+ }
19
+ exports.default = getOwnerElement;
@@ -0,0 +1,4 @@
1
+ import type { QWElement } from '@qualweb/qw-element';
2
+ declare function getTextFromCss(element: QWElement, textContent: string): string;
3
+ export default getTextFromCss;
4
+ //# sourceMappingURL=getTextFromCss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTextFromCss.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/getTextFromCss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,iBAAS,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAKvE;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function getTextFromCss(element, textContent) {
4
+ const before = element.getElementStyleProperty('computed-style-before', 'content');
5
+ const after = element.getElementStyleProperty('computed-style-after', 'content');
6
+ return before + textContent + after;
7
+ }
8
+ exports.default = getTextFromCss;
@@ -0,0 +1,4 @@
1
+ import type { QWElement } from '@qualweb/qw-element';
2
+ declare function getValueFromEmbeddedControl(element: QWElement): string;
3
+ export default getValueFromEmbeddedControl;
4
+ //# sourceMappingURL=getValueFromEmbeddedControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getValueFromEmbeddedControl.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/getValueFromEmbeddedControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,iBAAS,2BAA2B,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAwE/D;AAED,eAAe,2BAA2B,CAAC"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function getValueFromEmbeddedControl(element) {
4
+ var _a;
5
+ const role = window.AccessibilityUtils.getElementRoleAName(element, '');
6
+ const name = (_a = element.getElementTagName()) !== null && _a !== void 0 ? _a : '';
7
+ let value = '';
8
+ if (role === 'textbox') {
9
+ const valueAT = element.getElementAttribute('value');
10
+ value = valueAT ? valueAT : '';
11
+ }
12
+ else if (role === 'combobox') {
13
+ const referencedByLabel = element.getElement(`[aria-activedescendant]`);
14
+ let aria_descendant, selectedElement, optionSelected;
15
+ if (referencedByLabel) {
16
+ aria_descendant = referencedByLabel.getElementAttribute('role');
17
+ selectedElement = element.getElement(`[id="${aria_descendant}"]`);
18
+ }
19
+ if (name === 'select') {
20
+ optionSelected = element.getElement(`[selected]`);
21
+ }
22
+ const aria_owns = element.getElementAttribute('[aria-owns]');
23
+ const elementsToSelect = window.qwPage.getElement(`[id="${aria_owns}"]`);
24
+ let elementWithAriaSelected = null;
25
+ if (elementsToSelect) {
26
+ elementWithAriaSelected = elementsToSelect.getElement(`[aria-selected="true"]`);
27
+ }
28
+ if (optionSelected) {
29
+ value = window.DomUtils.getTrimmedText(optionSelected);
30
+ }
31
+ else if (selectedElement) {
32
+ value = window.DomUtils.getTrimmedText(selectedElement);
33
+ }
34
+ else if (elementWithAriaSelected) {
35
+ value = window.DomUtils.getTrimmedText(elementWithAriaSelected);
36
+ }
37
+ }
38
+ else if (role === 'listbox') {
39
+ const elementsWithId = element.getElements(`[id]`);
40
+ const elementWithAriaSelected = element.getElement(`[aria-selected="true"]`);
41
+ let selectedElement;
42
+ let optionSelected;
43
+ for (const elementWithId of elementsWithId) {
44
+ if (selectedElement) {
45
+ const id = elementWithId.getElementAttribute('id');
46
+ selectedElement = element.getElement(`[aria-activedescendant="${id}"]`);
47
+ }
48
+ }
49
+ if (name === 'select') {
50
+ optionSelected = element.getElement(`[selected]`);
51
+ }
52
+ if (selectedElement)
53
+ value = window.DomUtils.getTrimmedText(elementsWithId[0]);
54
+ else if (elementWithAriaSelected) {
55
+ value = window.DomUtils.getTrimmedText(elementWithAriaSelected);
56
+ }
57
+ else if (optionSelected) {
58
+ value = window.DomUtils.getTrimmedText(optionSelected);
59
+ }
60
+ }
61
+ else if (role === 'range' ||
62
+ role === 'progressbar' ||
63
+ role === 'scrollbar' ||
64
+ role === 'slider' ||
65
+ role === 'spinbutton') {
66
+ const valueTextVar = element.getElementAttribute('aria-valuetext');
67
+ const valuenowVar = element.getElementAttribute('aria-valuenow');
68
+ if (valueTextVar)
69
+ value = valueTextVar;
70
+ else if (valuenowVar)
71
+ value = valuenowVar;
72
+ }
73
+ return value;
74
+ }
75
+ exports.default = getValueFromEmbeddedControl;
@@ -0,0 +1,10 @@
1
+ export type ImplicitRoleInfo = {
2
+ attributes: (string | null)[][];
3
+ role: string;
4
+ special?: boolean;
5
+ };
6
+ export type ImplicitRoles = {
7
+ [element: string]: ImplicitRoleInfo[];
8
+ };
9
+ export declare const implicitRoles: ImplicitRoles;
10
+ //# sourceMappingURL=implicitRoles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implicitRoles.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/implicitRoles.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aA0e3B,CAAC"}