@uuv/a11y 0.0.1 → 1.0.0-beta.10
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/CHANGELOG.md +123 -0
- package/CONTRIBUTING.md +46 -0
- package/LICENSE +1 -1
- package/README.md +49 -69
- package/STRUCTURE.md +10 -0
- package/bundle/uuv-a11y.bundle.js +2 -2
- package/bundle/uuv-a11y.bundle.js.LICENSE.txt +1 -19
- package/dist/CHANGELOG.md +116 -0
- package/dist/CONTRIBUTING.md +46 -0
- package/dist/README.md +49 -69
- package/dist/STRUCTURE.md +10 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +17 -17
- package/dist/lib/engine/engine.d.ts +12 -12
- package/dist/lib/engine/engine.js +135 -123
- package/dist/lib/index.d.ts +3 -3
- package/dist/lib/index.js +19 -19
- package/dist/lib/model/checker.d.ts +14 -14
- package/dist/lib/model/checker.js +35 -35
- package/dist/lib/model/index.d.ts +4 -4
- package/dist/lib/model/index.js +20 -20
- package/dist/lib/model/reference.d.ts +55 -55
- package/dist/lib/model/reference.js +66 -66
- package/dist/lib/model/result.d.ts +58 -57
- package/dist/lib/model/result.js +144 -144
- package/dist/lib/model/rule.d.ts +92 -99
- package/dist/lib/model/rule.js +51 -53
- package/dist/lib/query/00-query.d.ts +9 -4
- package/dist/lib/query/00-query.js +12 -2
- package/dist/lib/query/accessible-name.query.d.ts +8 -8
- package/dist/lib/query/accessible-name.query.js +31 -34
- package/dist/lib/query/by-role.query.d.ts +9 -8
- package/dist/lib/query/by-role.query.js +43 -27
- package/dist/lib/query/by-sibling.query.d.ts +12 -0
- package/dist/lib/query/by-sibling.query.js +100 -0
- package/dist/lib/query/by-tag.query.d.ts +7 -7
- package/dist/lib/query/by-tag.query.js +19 -20
- package/dist/lib/query/compliant-attributes/attribut-specification.d.ts +25 -0
- package/dist/lib/query/compliant-attributes/attribut-specification.js +71 -0
- package/dist/lib/query/compliant-attributes/attribute-checker.d.ts +35 -0
- package/dist/lib/query/compliant-attributes/attribute-checker.js +55 -0
- package/dist/lib/query/compliant-attributes/compliant-attributes.query.d.ts +9 -0
- package/dist/lib/query/compliant-attributes/compliant-attributes.query.js +24 -0
- package/dist/lib/query/doctype.query.d.ts +5 -5
- package/dist/lib/query/doctype.query.js +16 -15
- package/dist/lib/query/form.query.d.ts +8 -8
- package/dist/lib/query/form.query.js +87 -87
- package/dist/lib/query/index.d.ts +13 -6
- package/dist/lib/query/index.js +29 -22
- package/dist/lib/query/operators/and-query.d.ts +8 -0
- package/dist/lib/query/operators/and-query.js +25 -0
- package/dist/lib/query/operators/operator-query.d.ts +8 -0
- package/dist/lib/query/operators/operator-query.js +14 -0
- package/dist/lib/query/operators/or-query.d.ts +8 -0
- package/dist/lib/query/operators/or-query.js +24 -0
- package/dist/lib/reference/alix/alix-checker.js +82 -82
- package/dist/lib/reference/alix/alix-rules.js +1028 -1028
- package/dist/lib/reference/alix/index.js +3 -3
- package/dist/lib/reference/index.d.ts +1 -1
- package/dist/lib/reference/index.js +18 -18
- package/dist/lib/reference/rgaa/common.d.ts +2 -2
- package/dist/lib/reference/rgaa/common.js +5 -5
- package/dist/lib/reference/rgaa/coverage/coverage-helper.d.ts +2 -2
- package/dist/lib/reference/rgaa/coverage/coverage-helper.js +100 -100
- package/dist/lib/reference/rgaa/coverage/coverage-statement.json +110 -90
- package/dist/lib/reference/rgaa/index.d.ts +2 -2
- package/dist/lib/reference/rgaa/index.js +18 -18
- package/dist/lib/reference/rgaa/rgaa-checker.d.ts +8 -8
- package/dist/lib/reference/rgaa/rgaa-checker.js +31 -31
- package/dist/lib/reference/rgaa/rgaa-reference.d.ts +2 -2
- package/dist/lib/reference/rgaa/rgaa-reference.js +44 -44
- package/dist/lib/reference/rgaa/rgaa_4.1.criteres.json +4144 -4144
- package/dist/lib/reference/rgaa/rules/1-image.d.ts +13 -14
- package/dist/lib/reference/rgaa/rules/1-image.js +618 -644
- package/dist/lib/reference/rgaa/rules/10-display.d.ts +2 -2
- package/dist/lib/reference/rgaa/rules/10-display.js +3 -3
- package/dist/lib/reference/rgaa/rules/11-form.d.ts +13 -14
- package/dist/lib/reference/rgaa/rules/11-form.js +15 -16
- package/dist/lib/reference/rgaa/rules/12-navigation.d.ts +2 -2
- package/dist/lib/reference/rgaa/rules/12-navigation.js +3 -3
- package/dist/lib/reference/rgaa/rules/13-visit.d.ts +2 -2
- package/dist/lib/reference/rgaa/rules/13-visit.js +3 -3
- package/dist/lib/reference/rgaa/rules/2-frame.d.ts +13 -14
- package/dist/lib/reference/rgaa/rules/2-frame.js +35 -34
- package/dist/lib/reference/rgaa/rules/3-color.d.ts +13 -14
- package/dist/lib/reference/rgaa/rules/3-color.js +47 -50
- package/dist/lib/reference/rgaa/rules/4-multimedia.d.ts +2 -2
- package/dist/lib/reference/rgaa/rules/4-multimedia.js +3 -3
- package/dist/lib/reference/rgaa/rules/5-table.d.ts +13 -2
- package/dist/lib/reference/rgaa/rules/5-table.js +294 -3
- package/dist/lib/reference/rgaa/rules/6-link.d.ts +2 -2
- package/dist/lib/reference/rgaa/rules/6-link.js +3 -3
- package/dist/lib/reference/rgaa/rules/7-script.d.ts +2 -2
- package/dist/lib/reference/rgaa/rules/7-script.js +3 -3
- package/dist/lib/reference/rgaa/rules/8-required-element.d.ts +13 -14
- package/dist/lib/reference/rgaa/rules/8-required-element.js +72 -78
- package/dist/lib/reference/rgaa/rules/9-structure.d.ts +2 -2
- package/dist/lib/reference/rgaa/rules/9-structure.js +3 -3
- package/dist/lib/reference/rgaa/selector-helper.d.ts +56 -17
- package/dist/lib/reference/rgaa/selector-helper.js +105 -33
- package/dist/package.json +15 -3
- package/docs/diagram-a11y-rgaa.excalidraw +1654 -0
- package/docs/diagram-a11y-rgaa.png +0 -0
- package/package.json +15 -3
|
@@ -1,123 +1,135 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Engine = void 0;
|
|
4
|
-
const rxjs_1 = require("rxjs");
|
|
5
|
-
const model_1 = require("../model/");
|
|
6
|
-
class Engine {
|
|
7
|
-
targetUrl;
|
|
8
|
-
reference;
|
|
9
|
-
constructor(targetUrl, reference) {
|
|
10
|
-
this.targetUrl = targetUrl;
|
|
11
|
-
this.reference = reference;
|
|
12
|
-
}
|
|
13
|
-
buildCheckListItemFromRule(rule) {
|
|
14
|
-
return new rxjs_1.Observable(observer => {
|
|
15
|
-
const foundElements = rule.query.execute();
|
|
16
|
-
const result = this.getRuleResult(rule, foundElements);
|
|
17
|
-
observer.next(result);
|
|
18
|
-
observer.complete();
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
getRuleResult(rule,
|
|
22
|
-
if (rule.check === model_1.RuleCheckEnum.MANUAL) {
|
|
23
|
-
return this.buildResultForManualCheck(rule,
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
// Then we are considering rule as RuleCheckEnum.AUTO
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
validation.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
validation
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
validation
|
|
54
|
-
validation.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
validation
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const
|
|
68
|
-
validation
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Engine = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const model_1 = require("../model/");
|
|
6
|
+
class Engine {
|
|
7
|
+
targetUrl;
|
|
8
|
+
reference;
|
|
9
|
+
constructor(targetUrl, reference) {
|
|
10
|
+
this.targetUrl = targetUrl;
|
|
11
|
+
this.reference = reference;
|
|
12
|
+
}
|
|
13
|
+
buildCheckListItemFromRule(rule) {
|
|
14
|
+
return new rxjs_1.Observable(observer => {
|
|
15
|
+
const foundElements = rule.query.execute();
|
|
16
|
+
const result = this.getRuleResult(rule, foundElements);
|
|
17
|
+
observer.next(result);
|
|
18
|
+
observer.complete();
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
getRuleResult(rule, queryResults) {
|
|
22
|
+
if (rule.check === model_1.RuleCheckEnum.MANUAL) {
|
|
23
|
+
return this.buildResultForManualCheck(rule, queryResults);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
// Then we are considering rule as RuleCheckEnum.AUTO
|
|
27
|
+
const domNodes = queryResults.map((element) => element.domNode);
|
|
28
|
+
return this.buildResultForAutoCheck(rule, domNodes);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
buildResultForAutoCheck(rule, $el) {
|
|
32
|
+
const a11YRuleresult = new model_1.A11yRuleResult(this.targetUrl, rule);
|
|
33
|
+
if (rule.shouldNotExist) {
|
|
34
|
+
if ($el?.length > 0) {
|
|
35
|
+
for (const element of $el) {
|
|
36
|
+
const selector = this.getSelector(element);
|
|
37
|
+
const validation = a11YRuleresult.getOrAddValidation(rule.criterion);
|
|
38
|
+
validation.errorNodes.push({
|
|
39
|
+
node: element,
|
|
40
|
+
selector: selector,
|
|
41
|
+
html: element.outerHTML
|
|
42
|
+
});
|
|
43
|
+
validation.status = model_1.A11yResultStatus.ERROR;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const validation = a11YRuleresult.getOrAddValidation(rule.criterion);
|
|
48
|
+
validation.status = model_1.A11yResultStatus.SUCCESS;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
if ($el.length === 0 && !rule.elementType.includes("warning") && !rule.elementType.includes("obsolete")) {
|
|
53
|
+
const validation = a11YRuleresult.getOrAddValidation(rule.criterion);
|
|
54
|
+
validation.status = model_1.A11yResultStatus.ERROR;
|
|
55
|
+
validation.errorNodes.push({
|
|
56
|
+
selector: rule.query.getSelector(),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
const validation = a11YRuleresult.getOrAddValidation(rule.criterion);
|
|
61
|
+
validation.status = model_1.A11yResultStatus.SUCCESS;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return a11YRuleresult;
|
|
65
|
+
}
|
|
66
|
+
buildResultForManualCheck(rule, queryResults) {
|
|
67
|
+
const a11YRuleResult = new model_1.A11yRuleResult(this.targetUrl, rule);
|
|
68
|
+
const validation = a11YRuleResult.getOrAddValidation(rule.criterion);
|
|
69
|
+
validation.status = model_1.A11yResultStatus.SUCCESS;
|
|
70
|
+
for (const element of queryResults) {
|
|
71
|
+
const domNode = element.domNode;
|
|
72
|
+
const selector = this.getSelector(domNode);
|
|
73
|
+
const attributesToCheck = [];
|
|
74
|
+
rule.attributes.forEach((attribute) => {
|
|
75
|
+
const childData = attribute.split(":");
|
|
76
|
+
if (childData.length > 1) {
|
|
77
|
+
domNode.childNodes.forEach((childNode) => {
|
|
78
|
+
if (childNode.nodeName === childData[1]) {
|
|
79
|
+
attributesToCheck.push(`${attribute}=${childNode.textContent}`);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
const attributeFilledWithInformation = domNode.getAttribute(attribute);
|
|
85
|
+
if (attributeFilledWithInformation) {
|
|
86
|
+
attributesToCheck.push(`${attribute}=${attributeFilledWithInformation}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
const manualValidation = a11YRuleResult.getOrAddValidation(rule.criterion);
|
|
91
|
+
manualValidation.status = model_1.A11yResultStatus.MANUAL;
|
|
92
|
+
manualValidation.nodesToCheckManually.push({
|
|
93
|
+
node: element,
|
|
94
|
+
selector: selector,
|
|
95
|
+
attributes: attributesToCheck.join(", "),
|
|
96
|
+
html: domNode.outerHTML,
|
|
97
|
+
help: rule.id ? `${this.reference.getRuleUrl(rule.id)}` : ""
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
return a11YRuleResult;
|
|
101
|
+
}
|
|
102
|
+
getSelector(element) {
|
|
103
|
+
const path = [];
|
|
104
|
+
while (element.nodeType === Node.ELEMENT_NODE) {
|
|
105
|
+
let selector = element.nodeName.toLowerCase();
|
|
106
|
+
if (element.id) {
|
|
107
|
+
selector += "#" + element.id;
|
|
108
|
+
path.unshift(selector);
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
else if (element.getAttribute("data-testid")) {
|
|
112
|
+
selector += `[data-testid=${element.getAttribute("data-testid")}]`;
|
|
113
|
+
path.unshift(selector);
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
let sibling = element.previousSibling;
|
|
118
|
+
let index = 1;
|
|
119
|
+
while (sibling) {
|
|
120
|
+
if (sibling.nodeType === Node.ELEMENT_NODE && sibling.nodeName.toLowerCase() === selector) {
|
|
121
|
+
index++;
|
|
122
|
+
}
|
|
123
|
+
sibling = sibling.previousSibling;
|
|
124
|
+
}
|
|
125
|
+
if (index > 1 || element.nextSibling) {
|
|
126
|
+
selector += ":nth-of-type(" + index + ")";
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
path.unshift(selector);
|
|
130
|
+
element = element.parentNode;
|
|
131
|
+
}
|
|
132
|
+
return path.join(" > ");
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.Engine = Engine;
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./reference";
|
|
2
|
-
export * from "./model";
|
|
3
|
-
export * from "./query";
|
|
1
|
+
export * from "./reference";
|
|
2
|
+
export * from "./model";
|
|
3
|
+
export * from "./query";
|
package/dist/lib/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./reference"), exports);
|
|
18
|
-
__exportStar(require("./model"), exports);
|
|
19
|
-
__exportStar(require("./query"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./reference"), exports);
|
|
18
|
+
__exportStar(require("./model"), exports);
|
|
19
|
+
__exportStar(require("./query"), exports);
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { A11yReference } from "./reference";
|
|
2
|
-
import { Observable } from "rxjs";
|
|
3
|
-
import { A11yResult } from "./result";
|
|
4
|
-
import { A11yRule } from "./rule";
|
|
5
|
-
import { Engine } from "../engine/engine";
|
|
6
|
-
export declare abstract class A11yChecker {
|
|
7
|
-
readonly url: string;
|
|
8
|
-
readonly engine: Engine;
|
|
9
|
-
readonly reference: A11yReference;
|
|
10
|
-
protected constructor(url: string, engine: Engine, reference: A11yReference);
|
|
11
|
-
abstract rules(): A11yRule[];
|
|
12
|
-
validate(): Observable<A11yResult>;
|
|
13
|
-
private buildCheckList;
|
|
14
|
-
}
|
|
1
|
+
import { A11yReference } from "./reference";
|
|
2
|
+
import { Observable } from "rxjs";
|
|
3
|
+
import { A11yResult } from "./result";
|
|
4
|
+
import { A11yRule } from "./rule";
|
|
5
|
+
import { Engine } from "../engine/engine";
|
|
6
|
+
export declare abstract class A11yChecker {
|
|
7
|
+
readonly url: string;
|
|
8
|
+
readonly engine: Engine;
|
|
9
|
+
readonly reference: A11yReference;
|
|
10
|
+
protected constructor(url: string, engine: Engine, reference: A11yReference);
|
|
11
|
+
abstract rules(): A11yRule[];
|
|
12
|
+
validate(): Observable<A11yResult>;
|
|
13
|
+
private buildCheckList;
|
|
14
|
+
}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.A11yChecker = void 0;
|
|
4
|
-
const rxjs_1 = require("rxjs");
|
|
5
|
-
const result_1 = require("./result");
|
|
6
|
-
class A11yChecker {
|
|
7
|
-
url;
|
|
8
|
-
engine;
|
|
9
|
-
reference;
|
|
10
|
-
constructor(url, engine, reference) {
|
|
11
|
-
this.url = url;
|
|
12
|
-
this.engine = engine;
|
|
13
|
-
this.reference = reference;
|
|
14
|
-
}
|
|
15
|
-
validate() {
|
|
16
|
-
const result = new result_1.A11yResult(this.url, this.reference);
|
|
17
|
-
const rules = this.rules();
|
|
18
|
-
const checkList = this.buildCheckList(rules);
|
|
19
|
-
return (0, rxjs_1.forkJoin)(checkList)
|
|
20
|
-
.pipe((0, rxjs_1.map)((ruleResults) => {
|
|
21
|
-
result.ruleResults = ruleResults;
|
|
22
|
-
result.computeStatus();
|
|
23
|
-
return result;
|
|
24
|
-
}), (0, rxjs_1.tap)(result => {
|
|
25
|
-
console.debug("result");
|
|
26
|
-
console.debug(result);
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
29
|
-
buildCheckList(rules) {
|
|
30
|
-
const checkList = [];
|
|
31
|
-
rules.forEach(rule => checkList.push(this.engine.buildCheckListItemFromRule(rule)));
|
|
32
|
-
return checkList;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
exports.A11yChecker = A11yChecker;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.A11yChecker = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const result_1 = require("./result");
|
|
6
|
+
class A11yChecker {
|
|
7
|
+
url;
|
|
8
|
+
engine;
|
|
9
|
+
reference;
|
|
10
|
+
constructor(url, engine, reference) {
|
|
11
|
+
this.url = url;
|
|
12
|
+
this.engine = engine;
|
|
13
|
+
this.reference = reference;
|
|
14
|
+
}
|
|
15
|
+
validate() {
|
|
16
|
+
const result = new result_1.A11yResult(this.url, this.reference);
|
|
17
|
+
const rules = this.rules();
|
|
18
|
+
const checkList = this.buildCheckList(rules);
|
|
19
|
+
return (0, rxjs_1.forkJoin)(checkList)
|
|
20
|
+
.pipe((0, rxjs_1.map)((ruleResults) => {
|
|
21
|
+
result.ruleResults = ruleResults;
|
|
22
|
+
result.computeStatus();
|
|
23
|
+
return result;
|
|
24
|
+
}), (0, rxjs_1.tap)(result => {
|
|
25
|
+
console.debug("result");
|
|
26
|
+
console.debug(result);
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
buildCheckList(rules) {
|
|
30
|
+
const checkList = [];
|
|
31
|
+
rules.forEach(rule => checkList.push(this.engine.buildCheckListItemFromRule(rule)));
|
|
32
|
+
return checkList;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.A11yChecker = A11yChecker;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from "./
|
|
2
|
-
export * from "./
|
|
3
|
-
export * from "./result";
|
|
4
|
-
export * from "./rule";
|
|
1
|
+
export * from "./reference";
|
|
2
|
+
export * from "./checker";
|
|
3
|
+
export * from "./result";
|
|
4
|
+
export * from "./rule";
|
package/dist/lib/model/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
18
|
-
__exportStar(require("./
|
|
19
|
-
__exportStar(require("./result"), exports);
|
|
20
|
-
__exportStar(require("./rule"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./reference"), exports);
|
|
18
|
+
__exportStar(require("./checker"), exports);
|
|
19
|
+
__exportStar(require("./result"), exports);
|
|
20
|
+
__exportStar(require("./rule"), exports);
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { A11yRule } from "./rule";
|
|
2
|
-
export interface A11yReference {
|
|
3
|
-
name: string;
|
|
4
|
-
version: string;
|
|
5
|
-
rules: A11yRule[];
|
|
6
|
-
url: string;
|
|
7
|
-
/**
|
|
8
|
-
* Build complete coverage
|
|
9
|
-
*/
|
|
10
|
-
coverage(): A11yReferenceCoverage;
|
|
11
|
-
/**
|
|
12
|
-
* Returns online rule url related to a ruleId
|
|
13
|
-
* @param ruleId
|
|
14
|
-
*/
|
|
15
|
-
getRuleUrl(ruleId: string): string;
|
|
16
|
-
}
|
|
17
|
-
export declare enum A11yReferenceEnum {
|
|
18
|
-
RGAA = "RGAA",
|
|
19
|
-
WCAG_WEB = "WCAG-WEB",
|
|
20
|
-
WCAG_ANDROID = "WCAG-ANDROID",
|
|
21
|
-
WCAG_IOS = "WCAG-IOS"
|
|
22
|
-
}
|
|
23
|
-
export declare class Comments {
|
|
24
|
-
info?: string;
|
|
25
|
-
warning?: string;
|
|
26
|
-
danger?: string;
|
|
27
|
-
}
|
|
28
|
-
export declare abstract class Coverage {
|
|
29
|
-
id: string;
|
|
30
|
-
name?: string;
|
|
31
|
-
auto: number;
|
|
32
|
-
partial: number;
|
|
33
|
-
wontBeImplemented: number;
|
|
34
|
-
manual: number;
|
|
35
|
-
inProgress: number;
|
|
36
|
-
testsCount: number;
|
|
37
|
-
comments?: Comments;
|
|
38
|
-
autoPercentage(): number;
|
|
39
|
-
}
|
|
40
|
-
export declare class A11yReferenceCoverage {
|
|
41
|
-
name: string;
|
|
42
|
-
topics: A11yReferenceTopicCoverage[];
|
|
43
|
-
constructor(name: string);
|
|
44
|
-
}
|
|
45
|
-
export declare class A11yReferenceTopicCoverage extends Coverage {
|
|
46
|
-
criterias: A11yReferenceCriteriaCoverage[];
|
|
47
|
-
constructor(id: any, name: any);
|
|
48
|
-
}
|
|
49
|
-
export declare class A11yReferenceCriteriaCoverage extends Coverage {
|
|
50
|
-
tests: A11yReferenceTestCoverage[];
|
|
51
|
-
constructor(id: any, name: any);
|
|
52
|
-
}
|
|
53
|
-
export declare class A11yReferenceTestCoverage extends Coverage {
|
|
54
|
-
constructor(id: any, name: any);
|
|
55
|
-
}
|
|
1
|
+
import { A11yRule } from "./rule";
|
|
2
|
+
export interface A11yReference {
|
|
3
|
+
name: string;
|
|
4
|
+
version: string;
|
|
5
|
+
rules: A11yRule[];
|
|
6
|
+
url: string;
|
|
7
|
+
/**
|
|
8
|
+
* Build complete coverage
|
|
9
|
+
*/
|
|
10
|
+
coverage(): A11yReferenceCoverage;
|
|
11
|
+
/**
|
|
12
|
+
* Returns online rule url related to a ruleId
|
|
13
|
+
* @param ruleId
|
|
14
|
+
*/
|
|
15
|
+
getRuleUrl(ruleId: string): string;
|
|
16
|
+
}
|
|
17
|
+
export declare enum A11yReferenceEnum {
|
|
18
|
+
RGAA = "RGAA",
|
|
19
|
+
WCAG_WEB = "WCAG-WEB",
|
|
20
|
+
WCAG_ANDROID = "WCAG-ANDROID",
|
|
21
|
+
WCAG_IOS = "WCAG-IOS"
|
|
22
|
+
}
|
|
23
|
+
export declare class Comments {
|
|
24
|
+
info?: string;
|
|
25
|
+
warning?: string;
|
|
26
|
+
danger?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare abstract class Coverage {
|
|
29
|
+
id: string;
|
|
30
|
+
name?: string;
|
|
31
|
+
auto: number;
|
|
32
|
+
partial: number;
|
|
33
|
+
wontBeImplemented: number;
|
|
34
|
+
manual: number;
|
|
35
|
+
inProgress: number;
|
|
36
|
+
testsCount: number;
|
|
37
|
+
comments?: Comments;
|
|
38
|
+
autoPercentage(): number;
|
|
39
|
+
}
|
|
40
|
+
export declare class A11yReferenceCoverage {
|
|
41
|
+
name: string;
|
|
42
|
+
topics: A11yReferenceTopicCoverage[];
|
|
43
|
+
constructor(name: string);
|
|
44
|
+
}
|
|
45
|
+
export declare class A11yReferenceTopicCoverage extends Coverage {
|
|
46
|
+
criterias: A11yReferenceCriteriaCoverage[];
|
|
47
|
+
constructor(id: any, name: any);
|
|
48
|
+
}
|
|
49
|
+
export declare class A11yReferenceCriteriaCoverage extends Coverage {
|
|
50
|
+
tests: A11yReferenceTestCoverage[];
|
|
51
|
+
constructor(id: any, name: any);
|
|
52
|
+
}
|
|
53
|
+
export declare class A11yReferenceTestCoverage extends Coverage {
|
|
54
|
+
constructor(id: any, name: any);
|
|
55
|
+
}
|