@qualweb/util 0.6.0-alpha4 → 0.6.0
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.
- package/dist/__webpack/util.bundle.js +1 -0
- package/dist/accessibilityUtils/accessibilityUtils.d.ts +44 -0
- package/dist/accessibilityUtils/accessibilityUtils.d.ts.map +1 -0
- package/dist/accessibilityUtils/accessibilityUtils.js +292 -0
- package/dist/accessibilityUtils/allowsNameFromContent.d.ts +4 -0
- package/dist/accessibilityUtils/allowsNameFromContent.d.ts.map +1 -0
- package/dist/accessibilityUtils/allowsNameFromContent.js +9 -0
- package/dist/accessibilityUtils/ariaAttributesRoles.d.ts +11 -0
- package/dist/accessibilityUtils/ariaAttributesRoles.d.ts.map +1 -0
- package/dist/accessibilityUtils/ariaAttributesRoles.js +293 -0
- package/dist/accessibilityUtils/constants.d.ts +19 -0
- package/dist/accessibilityUtils/constants.d.ts.map +1 -0
- package/dist/accessibilityUtils/constants.js +244 -0
- package/dist/accessibilityUtils/elementHasGlobalARIAPropertyOrAttribute.d.ts +4 -0
- package/dist/accessibilityUtils/elementHasGlobalARIAPropertyOrAttribute.d.ts.map +1 -0
- package/dist/accessibilityUtils/elementHasGlobalARIAPropertyOrAttribute.js +17 -0
- package/dist/accessibilityUtils/elementHasValidRole.d.ts +4 -0
- package/dist/accessibilityUtils/elementHasValidRole.d.ts.map +1 -0
- package/dist/accessibilityUtils/elementHasValidRole.js +22 -0
- package/dist/accessibilityUtils/getAccessibleName.d.ts +4 -0
- package/dist/accessibilityUtils/getAccessibleName.d.ts.map +1 -0
- package/dist/accessibilityUtils/getAccessibleName.js +10 -0
- package/dist/accessibilityUtils/getAccessibleNameRecursion.d.ts +4 -0
- package/dist/accessibilityUtils/getAccessibleNameRecursion.d.ts.map +1 -0
- package/dist/accessibilityUtils/getAccessibleNameRecursion.js +275 -0
- package/dist/accessibilityUtils/getAccessibleNameSVG.d.ts +4 -0
- package/dist/accessibilityUtils/getAccessibleNameSVG.d.ts.map +1 -0
- package/dist/accessibilityUtils/getAccessibleNameSVG.js +10 -0
- package/dist/accessibilityUtils/getAccessibleNameSVGRecursion.d.ts +4 -0
- package/dist/accessibilityUtils/getAccessibleNameSVGRecursion.d.ts.map +1 -0
- package/dist/accessibilityUtils/getAccessibleNameSVGRecursion.js +124 -0
- package/dist/accessibilityUtils/getAccessibleNameSelector.d.ts +4 -0
- package/dist/accessibilityUtils/getAccessibleNameSelector.d.ts.map +1 -0
- package/dist/accessibilityUtils/getAccessibleNameSelector.js +200 -0
- package/dist/accessibilityUtils/getAriaOwner.d.ts +4 -0
- package/dist/accessibilityUtils/getAriaOwner.d.ts.map +1 -0
- package/dist/accessibilityUtils/getAriaOwner.js +21 -0
- package/dist/accessibilityUtils/getDefaultName.d.ts +4 -0
- package/dist/accessibilityUtils/getDefaultName.d.ts.map +1 -0
- package/dist/accessibilityUtils/getDefaultName.js +20 -0
- package/dist/accessibilityUtils/getDisabledWidgets.d.ts +4 -0
- package/dist/accessibilityUtils/getDisabledWidgets.d.ts.map +1 -0
- package/dist/accessibilityUtils/getDisabledWidgets.js +26 -0
- package/dist/accessibilityUtils/getElementRole.d.ts +4 -0
- package/dist/accessibilityUtils/getElementRole.d.ts.map +1 -0
- package/dist/accessibilityUtils/getElementRole.js +7 -0
- package/dist/accessibilityUtils/getElementRoleAName.d.ts +4 -0
- package/dist/accessibilityUtils/getElementRoleAName.d.ts.map +1 -0
- package/dist/accessibilityUtils/getElementRoleAName.js +14 -0
- package/dist/accessibilityUtils/getElementValidExplicitRole.d.ts +4 -0
- package/dist/accessibilityUtils/getElementValidExplicitRole.d.ts.map +1 -0
- package/dist/accessibilityUtils/getElementValidExplicitRole.js +22 -0
- package/dist/accessibilityUtils/getImplicitRole.d.ts +4 -0
- package/dist/accessibilityUtils/getImplicitRole.d.ts.map +1 -0
- package/dist/accessibilityUtils/getImplicitRole.js +187 -0
- package/dist/accessibilityUtils/getLinkContext.d.ts +4 -0
- package/dist/accessibilityUtils/getLinkContext.d.ts.map +1 -0
- package/dist/accessibilityUtils/getLinkContext.js +45 -0
- package/dist/accessibilityUtils/getOwnedElements.d.ts +4 -0
- package/dist/accessibilityUtils/getOwnedElements.d.ts.map +1 -0
- package/dist/accessibilityUtils/getOwnedElements.js +42 -0
- package/dist/accessibilityUtils/getOwnerElement.d.ts +4 -0
- package/dist/accessibilityUtils/getOwnerElement.d.ts.map +1 -0
- package/dist/accessibilityUtils/getOwnerElement.js +19 -0
- package/dist/accessibilityUtils/getTextFromCss.d.ts +4 -0
- package/dist/accessibilityUtils/getTextFromCss.d.ts.map +1 -0
- package/dist/accessibilityUtils/getTextFromCss.js +8 -0
- package/dist/accessibilityUtils/getValueFromEmbeddedControl.d.ts +4 -0
- package/dist/accessibilityUtils/getValueFromEmbeddedControl.d.ts.map +1 -0
- package/dist/accessibilityUtils/getValueFromEmbeddedControl.js +75 -0
- package/dist/accessibilityUtils/implicitRoles.d.ts +10 -0
- package/dist/accessibilityUtils/implicitRoles.d.ts.map +1 -0
- package/dist/accessibilityUtils/implicitRoles.js +494 -0
- package/dist/accessibilityUtils/isDataTable.d.ts +4 -0
- package/dist/accessibilityUtils/isDataTable.d.ts.map +1 -0
- package/dist/accessibilityUtils/isDataTable.js +14 -0
- package/dist/accessibilityUtils/isElementChildPresentational.d.ts +4 -0
- package/dist/accessibilityUtils/isElementChildPresentational.d.ts.map +1 -0
- package/dist/accessibilityUtils/isElementChildPresentational.js +17 -0
- package/dist/accessibilityUtils/isElementChildPresentationalAux.d.ts +4 -0
- package/dist/accessibilityUtils/isElementChildPresentationalAux.d.ts.map +1 -0
- package/dist/accessibilityUtils/isElementChildPresentationalAux.js +17 -0
- package/dist/accessibilityUtils/isElementControl.d.ts +4 -0
- package/dist/accessibilityUtils/isElementControl.d.ts.map +1 -0
- package/dist/accessibilityUtils/isElementControl.js +8 -0
- package/dist/accessibilityUtils/isElementFocusable.d.ts +4 -0
- package/dist/accessibilityUtils/isElementFocusable.d.ts.map +1 -0
- package/dist/accessibilityUtils/isElementFocusable.js +21 -0
- package/dist/accessibilityUtils/isElementFocusableByDefault.d.ts +4 -0
- package/dist/accessibilityUtils/isElementFocusableByDefault.d.ts.map +1 -0
- package/dist/accessibilityUtils/isElementFocusableByDefault.js +47 -0
- package/dist/accessibilityUtils/isElementInAT.d.ts +4 -0
- package/dist/accessibilityUtils/isElementInAT.d.ts.map +1 -0
- package/dist/accessibilityUtils/isElementInAT.js +71 -0
- package/dist/accessibilityUtils/isElementReferencedByAriaLabel.d.ts +4 -0
- package/dist/accessibilityUtils/isElementReferencedByAriaLabel.d.ts.map +1 -0
- package/dist/accessibilityUtils/isElementReferencedByAriaLabel.js +25 -0
- package/dist/accessibilityUtils/isElementWidget.d.ts +4 -0
- package/dist/accessibilityUtils/isElementWidget.d.ts.map +1 -0
- package/dist/accessibilityUtils/isElementWidget.js +8 -0
- package/dist/accessibilityUtils/isFocusableBrowser.d.ts +4 -0
- package/dist/accessibilityUtils/isFocusableBrowser.d.ts.map +1 -0
- package/dist/accessibilityUtils/isFocusableBrowser.js +8 -0
- package/dist/accessibilityUtils/isPartOfSequentialFocusNavigation.d.ts +4 -0
- package/dist/accessibilityUtils/isPartOfSequentialFocusNavigation.d.ts.map +1 -0
- package/dist/accessibilityUtils/isPartOfSequentialFocusNavigation.js +13 -0
- package/dist/accessibilityUtils/landmarkIsTopLevel.d.ts +4 -0
- package/dist/accessibilityUtils/landmarkIsTopLevel.d.ts.map +1 -0
- package/dist/accessibilityUtils/landmarkIsTopLevel.js +16 -0
- package/dist/accessibilityUtils/language.json +8129 -0
- package/dist/accessibilityUtils/roles.d.ts +15 -0
- package/dist/accessibilityUtils/roles.d.ts.map +1 -0
- package/dist/accessibilityUtils/roles.js +2787 -0
- package/dist/applicability/applicability.d.ts +37 -0
- package/dist/applicability/applicability.d.ts.map +1 -0
- package/dist/applicability/applicability.js +490 -0
- package/dist/cache.d.ts +4 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +45 -0
- package/dist/domUtils/audio.json +33 -0
- package/dist/domUtils/constants.d.ts +6 -0
- package/dist/domUtils/constants.d.ts.map +1 -0
- package/dist/domUtils/constants.js +49 -0
- package/dist/domUtils/domUtils.d.ts +28 -0
- package/dist/domUtils/domUtils.d.ts.map +1 -0
- package/dist/domUtils/domUtils.js +124 -0
- package/dist/domUtils/elementHasContent.d.ts +4 -0
- package/dist/domUtils/elementHasContent.d.ts.map +1 -0
- package/dist/domUtils/elementHasContent.js +41 -0
- package/dist/domUtils/elementHasOnePixel.d.ts +4 -0
- package/dist/domUtils/elementHasOnePixel.d.ts.map +1 -0
- package/dist/domUtils/elementHasOnePixel.js +13 -0
- package/dist/domUtils/elementIdIsReferenced.d.ts +4 -0
- package/dist/domUtils/elementIdIsReferenced.d.ts.map +1 -0
- package/dist/domUtils/elementIdIsReferenced.js +13 -0
- package/dist/domUtils/getElementReferencedByHREF.d.ts +4 -0
- package/dist/domUtils/getElementReferencedByHREF.d.ts.map +1 -0
- package/dist/domUtils/getElementReferencedByHREF.js +22 -0
- package/dist/domUtils/getTextSize.d.ts +3 -0
- package/dist/domUtils/getTextSize.d.ts.map +1 -0
- package/dist/domUtils/getTextSize.js +21 -0
- package/dist/domUtils/getTrimmedText.d.ts +4 -0
- package/dist/domUtils/getTrimmedText.d.ts.map +1 -0
- package/dist/domUtils/getTrimmedText.js +13 -0
- package/dist/domUtils/getVideoMetadata.d.ts +4 -0
- package/dist/domUtils/getVideoMetadata.d.ts.map +1 -0
- package/dist/domUtils/getVideoMetadata.js +22 -0
- package/dist/domUtils/image.json +122 -0
- package/dist/domUtils/isElementADescendantOf.d.ts +4 -0
- package/dist/domUtils/isElementADescendantOf.d.ts.map +1 -0
- package/dist/domUtils/isElementADescendantOf.js +23 -0
- package/dist/domUtils/isElementADescendantOfExplicitRole.d.ts +4 -0
- package/dist/domUtils/isElementADescendantOfExplicitRole.d.ts.map +1 -0
- package/dist/domUtils/isElementADescendantOfExplicitRole.js +23 -0
- package/dist/domUtils/isElementHidden.d.ts +4 -0
- package/dist/domUtils/isElementHidden.d.ts.map +1 -0
- package/dist/domUtils/isElementHidden.js +17 -0
- package/dist/domUtils/isElementHiddenByCSS.d.ts +4 -0
- package/dist/domUtils/isElementHiddenByCSS.d.ts.map +1 -0
- package/dist/domUtils/isElementHiddenByCSS.js +15 -0
- package/dist/domUtils/isElementHiddenByCSSAux.d.ts +4 -0
- package/dist/domUtils/isElementHiddenByCSSAux.d.ts.map +1 -0
- package/dist/domUtils/isElementHiddenByCSSAux.js +10 -0
- package/dist/domUtils/isElementVisible.d.ts +4 -0
- package/dist/domUtils/isElementVisible.d.ts.map +1 -0
- package/dist/domUtils/isElementVisible.js +38 -0
- package/dist/domUtils/isHumanLanguage.d.ts +2 -0
- package/dist/domUtils/isHumanLanguage.d.ts.map +1 -0
- package/dist/domUtils/isHumanLanguage.js +10 -0
- package/dist/domUtils/objectElementIsNonText.d.ts +4 -0
- package/dist/domUtils/objectElementIsNonText.d.ts.map +1 -0
- package/dist/domUtils/objectElementIsNonText.js +21 -0
- package/dist/domUtils/textHasTheSameColorOfBackground.d.ts +4 -0
- package/dist/domUtils/textHasTheSameColorOfBackground.d.ts.map +1 -0
- package/dist/domUtils/textHasTheSameColorOfBackground.js +12 -0
- package/dist/domUtils/video.json +490 -0
- package/dist/domUtils/videoElementHasAudio.d.ts +4 -0
- package/dist/domUtils/videoElementHasAudio.d.ts.map +1 -0
- package/dist/domUtils/videoElementHasAudio.js +6 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/package.json +51 -34
- package/LICENSE +0 -15
- package/dist/util.bundle.js +0 -1
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
const isElementReferencedByAriaLabel_1 = __importDefault(require("./isElementReferencedByAriaLabel"));
|
|
8
|
+
function getAccessibleNameSVGRecursion(element, recursion) {
|
|
9
|
+
let AName, ariaLabelBy, tag;
|
|
10
|
+
tag = element.getElementTagName();
|
|
11
|
+
if (!tag)
|
|
12
|
+
tag = '';
|
|
13
|
+
const regex = new RegExp('^fe[a-zA-Z]+');
|
|
14
|
+
ariaLabelBy = element.getElementAttribute('aria-labelledby');
|
|
15
|
+
if (ariaLabelBy !== null && window.qwPage.getElementByID(ariaLabelBy) === null) {
|
|
16
|
+
ariaLabelBy = '';
|
|
17
|
+
}
|
|
18
|
+
const ariaLabel = element.getElementAttribute('aria-label');
|
|
19
|
+
const referencedByAriaLabel = (0, isElementReferencedByAriaLabel_1.default)(element);
|
|
20
|
+
const title = element.getElementChildTextContent('title');
|
|
21
|
+
const titleAtt = element.getElementAttribute('xlink:title');
|
|
22
|
+
const href = element.getElementAttribute('href');
|
|
23
|
+
const roleLink = tag === 'a' && href !== undefined;
|
|
24
|
+
if ((window.DomUtils.isElementHidden(element) ||
|
|
25
|
+
hasParentOfName(element, constants_1.noAccessibleObjectOrChild) ||
|
|
26
|
+
constants_1.noAccessibleObject.indexOf(tag) >= 0 ||
|
|
27
|
+
constants_1.noAccessibleObjectOrChild.indexOf(tag) >= 0 ||
|
|
28
|
+
regex.test(tag)) &&
|
|
29
|
+
!recursion) {
|
|
30
|
+
}
|
|
31
|
+
else if (ariaLabelBy && ariaLabelBy !== '' && !(referencedByAriaLabel && recursion)) {
|
|
32
|
+
AName = getAccessibleNameFromAriaLabelledBy(element, ariaLabelBy);
|
|
33
|
+
}
|
|
34
|
+
else if (constants_1.elementsLikeHtml.indexOf(tag) >= 0) {
|
|
35
|
+
AName = window.AccessibilityUtils.getAccessibleName(element);
|
|
36
|
+
}
|
|
37
|
+
else if (ariaLabel && ariaLabel.trim() !== '') {
|
|
38
|
+
AName = ariaLabel;
|
|
39
|
+
}
|
|
40
|
+
else if (title && title.trim() !== '') {
|
|
41
|
+
AName = title;
|
|
42
|
+
}
|
|
43
|
+
else if (titleAtt && titleAtt.trim() !== '' && roleLink) {
|
|
44
|
+
AName = titleAtt;
|
|
45
|
+
}
|
|
46
|
+
else if (roleLink) {
|
|
47
|
+
AName = getTextFromCss(element);
|
|
48
|
+
}
|
|
49
|
+
else if (tag && (tag === 'text' || tag === 'desc' || tag === 'title')) {
|
|
50
|
+
AName = window.DomUtils.getTrimmedText(element);
|
|
51
|
+
}
|
|
52
|
+
return AName;
|
|
53
|
+
}
|
|
54
|
+
function hasParentOfName(element, name) {
|
|
55
|
+
const parent = element.getElementParent();
|
|
56
|
+
if (parent) {
|
|
57
|
+
const parentName = parent.getElementTagName();
|
|
58
|
+
return (parentName && name.indexOf(parentName) >= 0) || hasParentOfName(parent, name);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function getAccessibleNameFromAriaLabelledBy(element, ariaLabelId) {
|
|
65
|
+
const ListIdRefs = ariaLabelId.split(' ');
|
|
66
|
+
let result;
|
|
67
|
+
let accessNameFromId;
|
|
68
|
+
let elem;
|
|
69
|
+
const elementID = element.getElementAttribute('id');
|
|
70
|
+
for (const id of ListIdRefs) {
|
|
71
|
+
if (id !== '' && elementID !== id)
|
|
72
|
+
elem = window.qwPage.getElementByID(id);
|
|
73
|
+
if (elem)
|
|
74
|
+
accessNameFromId = getAccessibleNameSVGRecursion(elem, true);
|
|
75
|
+
if (accessNameFromId) {
|
|
76
|
+
if (result) {
|
|
77
|
+
result += accessNameFromId;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
result = accessNameFromId;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
function getAccessibleNameFromChildren(element) {
|
|
87
|
+
let aName;
|
|
88
|
+
const children = element.getElementChildren();
|
|
89
|
+
const elementAnames = new Array();
|
|
90
|
+
if (children) {
|
|
91
|
+
for (const child of children) {
|
|
92
|
+
const name = child.getElementTagName();
|
|
93
|
+
if (constants_1.textContainer.indexOf(name) >= 0) {
|
|
94
|
+
aName = getAccessibleNameSVGRecursion(child, true);
|
|
95
|
+
if (aName) {
|
|
96
|
+
elementAnames.push(aName);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
elementAnames.push('');
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return elementAnames;
|
|
105
|
+
}
|
|
106
|
+
function getTextFromCss(element) {
|
|
107
|
+
let before = element.getElementStyleProperty('content', ':before');
|
|
108
|
+
let after = element.getElementStyleProperty('content', ':after');
|
|
109
|
+
const aNameList = getAccessibleNameFromChildren(element);
|
|
110
|
+
const textValue = getConcatenatedText(aNameList);
|
|
111
|
+
if (after === 'none')
|
|
112
|
+
after = '';
|
|
113
|
+
if (before === 'none')
|
|
114
|
+
before = '';
|
|
115
|
+
return before.replace(/["']/g, '') + textValue + after.replace(/["']/g, '');
|
|
116
|
+
}
|
|
117
|
+
function getConcatenatedText(aNames) {
|
|
118
|
+
let result = '';
|
|
119
|
+
for (const aName of aNames) {
|
|
120
|
+
result += aName;
|
|
121
|
+
}
|
|
122
|
+
return result;
|
|
123
|
+
}
|
|
124
|
+
exports.default = getAccessibleNameSVGRecursion;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAccessibleNameSelector.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/getAccessibleNameSelector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,iBAAS,yBAAyB,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAEpF;AA4MD,eAAe,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const constants_1 = require("./constants");
|
|
4
|
+
function getAccessibleNameSelector(element) {
|
|
5
|
+
return getAccessibleNameRecursion(element, false, false);
|
|
6
|
+
}
|
|
7
|
+
function getAccessibleNameRecursion(element, recursion, isWidget) {
|
|
8
|
+
let AName;
|
|
9
|
+
let ariaLabelBy;
|
|
10
|
+
const elementSelector = element.getElementSelector();
|
|
11
|
+
const name = element.getElementTagName();
|
|
12
|
+
const allowNameFromContent = window.AccessibilityUtils.allowsNameFromContent(element);
|
|
13
|
+
ariaLabelBy = element.getElementAttribute('aria-labelledby');
|
|
14
|
+
if (ariaLabelBy !== null && !verifyAriaLabel(ariaLabelBy)) {
|
|
15
|
+
ariaLabelBy = '';
|
|
16
|
+
}
|
|
17
|
+
const ariaLabel = element.getElementAttribute('aria-label') ? [elementSelector] : null;
|
|
18
|
+
const attrType = element.getElementAttribute('type');
|
|
19
|
+
const title = element.getElementAttribute('title') ? [elementSelector] : null;
|
|
20
|
+
const alt = element.getElementAttribute('alt') ? [elementSelector] : null;
|
|
21
|
+
const value = element.getElementAttribute('value') ? [elementSelector] : null;
|
|
22
|
+
const placeholder = element.getElementAttribute('placeholder') ? [elementSelector] : null;
|
|
23
|
+
const id = element.getElementAttribute('id');
|
|
24
|
+
const defaultName = window.AccessibilityUtils.getDefaultName(element) ? ['default'] : null;
|
|
25
|
+
const referencedByAriaLabel = window.AccessibilityUtils.isElementReferencedByAriaLabel(element);
|
|
26
|
+
if (ariaLabelBy && ariaLabelBy !== '' && !(referencedByAriaLabel && recursion)) {
|
|
27
|
+
AName = getAccessibleNameFromAriaLabelledBy(element, ariaLabelBy);
|
|
28
|
+
}
|
|
29
|
+
else if (ariaLabel) {
|
|
30
|
+
AName = ariaLabel;
|
|
31
|
+
}
|
|
32
|
+
else if (isWidget && window.AccessibilityUtils.isElementControl(element)) {
|
|
33
|
+
const valueFromEmbeddedControl = window.AccessibilityUtils.getValueFromEmbeddedControl(element)
|
|
34
|
+
? elementSelector
|
|
35
|
+
: null;
|
|
36
|
+
AName = getFirstNotUndefined(valueFromEmbeddedControl, title);
|
|
37
|
+
}
|
|
38
|
+
else if (name === 'area' || (name === 'input' && attrType === 'image')) {
|
|
39
|
+
AName = getFirstNotUndefined(alt, title);
|
|
40
|
+
}
|
|
41
|
+
else if (name === 'img') {
|
|
42
|
+
AName = getFirstNotUndefined(alt, title);
|
|
43
|
+
}
|
|
44
|
+
else if (name === 'input' && (attrType === 'button' || attrType === 'submit' || attrType === 'reset')) {
|
|
45
|
+
AName = getFirstNotUndefined(value, defaultName, title);
|
|
46
|
+
}
|
|
47
|
+
else if (name === 'input' && (!attrType || constants_1.typesWithLabel.indexOf(attrType) >= 0)) {
|
|
48
|
+
if (!recursion) {
|
|
49
|
+
AName = getFirstNotUndefined(getValueFromLabel(element, id), title, placeholder);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
AName = getFirstNotUndefined(title, placeholder);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else if (name && constants_1.formElements.indexOf(name) >= 0) {
|
|
56
|
+
if (!recursion) {
|
|
57
|
+
AName = getFirstNotUndefined(getValueFromLabel(element, id), title);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
AName = getFirstNotUndefined(title);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else if (name === 'textarea') {
|
|
64
|
+
if (!recursion) {
|
|
65
|
+
AName = getFirstNotUndefined(getValueFromLabel(element, id), title, placeholder);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
AName = getFirstNotUndefined(getTextFromCss(element, isWidget), title, placeholder);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else if (name === 'figure') {
|
|
72
|
+
AName = getFirstNotUndefined(...(getValueFromSpecialLabel(element, 'figcaption') || []), title);
|
|
73
|
+
}
|
|
74
|
+
else if (name === 'table') {
|
|
75
|
+
AName = getFirstNotUndefined(...(getValueFromSpecialLabel(element, 'caption') || []), title);
|
|
76
|
+
}
|
|
77
|
+
else if (name === 'fieldset') {
|
|
78
|
+
AName = getFirstNotUndefined(...(getValueFromSpecialLabel(element, 'legend') || []), title);
|
|
79
|
+
}
|
|
80
|
+
else if (allowNameFromContent) {
|
|
81
|
+
AName = getFirstNotUndefined(...getTextFromCss(element, isWidget), title);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
AName = getFirstNotUndefined(title);
|
|
85
|
+
}
|
|
86
|
+
return AName;
|
|
87
|
+
}
|
|
88
|
+
function getFirstNotUndefined(...args) {
|
|
89
|
+
let result;
|
|
90
|
+
let i = 0;
|
|
91
|
+
let arg;
|
|
92
|
+
let end = false;
|
|
93
|
+
while (i < args.length && !end) {
|
|
94
|
+
arg = args[i];
|
|
95
|
+
if (arg !== undefined && arg !== null) {
|
|
96
|
+
result = arg;
|
|
97
|
+
if (String(arg).trim() !== '') {
|
|
98
|
+
end = true;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
i++;
|
|
102
|
+
}
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
105
|
+
function getValueFromSpecialLabel(element, label) {
|
|
106
|
+
const labelElement = element.getElement(label);
|
|
107
|
+
let accessNameFromLabel, result;
|
|
108
|
+
if (labelElement)
|
|
109
|
+
accessNameFromLabel = getAccessibleNameRecursion(labelElement, true, false);
|
|
110
|
+
if (accessNameFromLabel)
|
|
111
|
+
result = [element.getElementSelector()];
|
|
112
|
+
return result;
|
|
113
|
+
}
|
|
114
|
+
function getValueFromLabel(element, id) {
|
|
115
|
+
const referencedByLabelList = new Array();
|
|
116
|
+
const referencedByLabel = window.qwPage.getElements(`label[for="${id}"]`, element);
|
|
117
|
+
if (referencedByLabel) {
|
|
118
|
+
referencedByLabelList.push(...referencedByLabel);
|
|
119
|
+
}
|
|
120
|
+
const parent = element.getElementParent();
|
|
121
|
+
const isWidget = window.AccessibilityUtils.isElementWidget(element);
|
|
122
|
+
if (parent && parent.getElementTagName() === 'label' && !isElementPresent(parent, referencedByLabelList)) {
|
|
123
|
+
referencedByLabelList.push(parent);
|
|
124
|
+
}
|
|
125
|
+
const result = new Array();
|
|
126
|
+
for (const label of referencedByLabelList) {
|
|
127
|
+
const accessNameFromLabel = getAccessibleNameRecursion(label, true, isWidget);
|
|
128
|
+
if (accessNameFromLabel) {
|
|
129
|
+
result.push(label.getElementSelector());
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return result;
|
|
133
|
+
}
|
|
134
|
+
function isElementPresent(element, listElement) {
|
|
135
|
+
let result = false;
|
|
136
|
+
let i = 0;
|
|
137
|
+
const elementSelector = element.getElementSelector();
|
|
138
|
+
while (i < listElement.length && !result) {
|
|
139
|
+
result = elementSelector === listElement[i].getElementSelector();
|
|
140
|
+
i++;
|
|
141
|
+
}
|
|
142
|
+
return result;
|
|
143
|
+
}
|
|
144
|
+
function getAccessibleNameFromAriaLabelledBy(element, ariaLabelId) {
|
|
145
|
+
const ListIdRefs = ariaLabelId.split(' ');
|
|
146
|
+
const result = new Array();
|
|
147
|
+
let accessNameFromId;
|
|
148
|
+
const isWidget = window.AccessibilityUtils.isElementWidget(element);
|
|
149
|
+
const elementID = element.getElementAttribute('id');
|
|
150
|
+
for (const id of ListIdRefs || []) {
|
|
151
|
+
if (id !== '' && elementID !== id) {
|
|
152
|
+
const elem = window.qwPage.getElementByID(id);
|
|
153
|
+
if (elem) {
|
|
154
|
+
accessNameFromId = getAccessibleNameRecursion(elem, true, isWidget);
|
|
155
|
+
if (accessNameFromId) {
|
|
156
|
+
result.push(elem.getElementSelector());
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return result;
|
|
162
|
+
}
|
|
163
|
+
function getTextFromCss(element, isWidget) {
|
|
164
|
+
const aNameList = getAccessibleNameFromChildren(element, isWidget);
|
|
165
|
+
const textValue = getConcatenatedText(element, []) ? element.getElementSelector() : null;
|
|
166
|
+
if (textValue)
|
|
167
|
+
aNameList.push(textValue);
|
|
168
|
+
return aNameList;
|
|
169
|
+
}
|
|
170
|
+
function getConcatenatedText(element, aNames) {
|
|
171
|
+
return element.concatANames(aNames);
|
|
172
|
+
}
|
|
173
|
+
function getAccessibleNameFromChildren(element, isWidget) {
|
|
174
|
+
if (!isWidget) {
|
|
175
|
+
isWidget = window.AccessibilityUtils.isElementWidget(element);
|
|
176
|
+
}
|
|
177
|
+
const children = element.getElementChildren();
|
|
178
|
+
const result = new Array();
|
|
179
|
+
let aName;
|
|
180
|
+
if (children) {
|
|
181
|
+
for (const child of children) {
|
|
182
|
+
aName = getAccessibleNameRecursion(child, true, isWidget);
|
|
183
|
+
if (aName) {
|
|
184
|
+
result.push(child.getElementSelector());
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return result;
|
|
189
|
+
}
|
|
190
|
+
function verifyAriaLabel(ariaLabelBy) {
|
|
191
|
+
const elementIds = ariaLabelBy.split(' ');
|
|
192
|
+
let result = false;
|
|
193
|
+
for (const id of elementIds) {
|
|
194
|
+
if (!result) {
|
|
195
|
+
result = window.qwPage.getElementByID(id) !== null;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return result;
|
|
199
|
+
}
|
|
200
|
+
exports.default = getAccessibleNameSelector;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAriaOwner.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/getAriaOwner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,iBAAS,YAAY,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAiB1D;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function getAriaOwner(element) {
|
|
4
|
+
const id = element.getElementAttribute('id');
|
|
5
|
+
const ariaOwns = window.qwPage.getElements('[aria-owns]', element);
|
|
6
|
+
let index = 0;
|
|
7
|
+
let ariaOwner;
|
|
8
|
+
while (id && index < ariaOwns.length && !!ariaOwns) {
|
|
9
|
+
const ariaElement = ariaOwns[index];
|
|
10
|
+
const ariaOwnsAttribute = ariaElement.getElementAttribute('aria-owns');
|
|
11
|
+
if (ariaOwnsAttribute) {
|
|
12
|
+
const idArray = ariaOwnsAttribute.split(' ');
|
|
13
|
+
if (idArray.includes(id) && window.AccessibilityUtils.isElementInAT(ariaElement)) {
|
|
14
|
+
ariaOwner = ariaElement;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
index++;
|
|
18
|
+
}
|
|
19
|
+
return ariaOwner !== null && ariaOwner !== void 0 ? ariaOwner : null;
|
|
20
|
+
}
|
|
21
|
+
exports.default = getAriaOwner;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDefaultName.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/getDefaultName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,iBAAS,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAmBlD;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function getDefaultName(element) {
|
|
4
|
+
let name = element.getElementTagName();
|
|
5
|
+
if (!name)
|
|
6
|
+
name = '';
|
|
7
|
+
let type;
|
|
8
|
+
let result = '';
|
|
9
|
+
if (name === 'input') {
|
|
10
|
+
type = element.getElementAttribute('type');
|
|
11
|
+
}
|
|
12
|
+
if (type === 'submit') {
|
|
13
|
+
result = 'Reset';
|
|
14
|
+
}
|
|
15
|
+
else if (type === 'reset') {
|
|
16
|
+
result = 'Reset';
|
|
17
|
+
}
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
exports.default = getDefaultName;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDisabledWidgets.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/getDisabledWidgets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,iBAAS,kBAAkB,IAAI,KAAK,CAAC,SAAS,CAAC,CAsB9C;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function getDisabledWidgets() {
|
|
4
|
+
const elements = window.qwPage.getElements('*');
|
|
5
|
+
const disabledElements = new Array();
|
|
6
|
+
let disable, ariaDisable, parent, parentTag;
|
|
7
|
+
for (const element of elements) {
|
|
8
|
+
const isWidget = window.AccessibilityUtils.isElementWidget(element);
|
|
9
|
+
disable = element.getElementAttribute('disabled') !== null;
|
|
10
|
+
ariaDisable = element.getElementAttribute('aria-disabled') === 'true';
|
|
11
|
+
parent = element.getElementParent();
|
|
12
|
+
if (parent && !(disable || ariaDisable)) {
|
|
13
|
+
parentTag = parent.getElementTagName();
|
|
14
|
+
if (parentTag === 'label') {
|
|
15
|
+
parent = parent.getElementParent();
|
|
16
|
+
disable = (parent === null || parent === void 0 ? void 0 : parent.getElementAttribute('disabled')) !== null;
|
|
17
|
+
ariaDisable = (parent === null || parent === void 0 ? void 0 : parent.getElementAttribute('aria-disabled')) === 'true';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if (isWidget && (disable || ariaDisable)) {
|
|
21
|
+
disabledElements.push(element);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return disabledElements;
|
|
25
|
+
}
|
|
26
|
+
exports.default = getDisabledWidgets;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getElementRole.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/getElementRole.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,iBAAS,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function getElementRole(element) {
|
|
4
|
+
const aName = window.AccessibilityUtils.getAccessibleName(element);
|
|
5
|
+
return window.AccessibilityUtils.getElementRoleAName(element, aName);
|
|
6
|
+
}
|
|
7
|
+
exports.default = getElementRole;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getElementRoleAName.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/getElementRoleAName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,iBAAS,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAazF;AAED,SAAS,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
function getElementRoleAName(element, aName) {
|
|
3
|
+
const explicitRole = element.getElementAttribute('role');
|
|
4
|
+
let role = explicitRole;
|
|
5
|
+
if (explicitRole === null ||
|
|
6
|
+
((explicitRole === 'none' || explicitRole === 'presentation') &&
|
|
7
|
+
(window.AccessibilityUtils.isElementFocusable(element) ||
|
|
8
|
+
window.AccessibilityUtils.elementHasGlobalARIAPropertyOrAttribute(element)))) {
|
|
9
|
+
const implicitRole = window.AccessibilityUtils.getImplicitRole(element, aName);
|
|
10
|
+
role = implicitRole || explicitRole;
|
|
11
|
+
}
|
|
12
|
+
return role;
|
|
13
|
+
}
|
|
14
|
+
module.exports = getElementRoleAName;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getElementValidExplicitRole.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/getElementValidExplicitRole.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,iBAAS,2BAA2B,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAiBtE;AAED,eAAe,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const roles_1 = require("./roles");
|
|
4
|
+
function getElementValidExplicitRole(element) {
|
|
5
|
+
const role = element.getElementAttribute('role');
|
|
6
|
+
let validRole = null;
|
|
7
|
+
if (role) {
|
|
8
|
+
if (role.trim().includes(' ')) {
|
|
9
|
+
for (const r of role.trim().split(' ')) {
|
|
10
|
+
validRole = Object.keys(roles_1.roles).includes(r) ? r : null;
|
|
11
|
+
if (validRole) {
|
|
12
|
+
break;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
validRole = Object.keys(roles_1.roles).includes(role) ? role : null;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return validRole;
|
|
21
|
+
}
|
|
22
|
+
exports.default = getElementValidExplicitRole;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getImplicitRole.d.ts","sourceRoot":"","sources":["../../src/accessibilityUtils/getImplicitRole.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,iBAAS,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CA2D9F;AAmID,eAAe,eAAe,CAAC"}
|