@qualweb/cui-checks 0.1.1 → 0.2.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/CuiChecksModule.d.ts +10 -0
- package/dist/CuiChecksModule.d.ts.map +1 -0
- package/dist/CuiChecksModule.js +19 -0
- package/dist/CuiChecksRunner.d.ts +9 -0
- package/dist/CuiChecksRunner.d.ts.map +1 -0
- package/dist/CuiChecksRunner.js +18 -0
- package/dist/__webpack/cui.bundle.js +1 -0
- package/dist/checks/QW-CUI-C1.d.ts +7 -0
- package/dist/checks/QW-CUI-C1.d.ts.map +1 -0
- package/dist/checks/QW-CUI-C1.js +32 -0
- package/dist/checks/index.d.ts +2 -0
- package/dist/checks/index.d.ts.map +1 -0
- package/dist/checks/index.js +17 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/lib/CUIChecksTester.object.d.ts +9 -0
- package/dist/lib/CUIChecksTester.object.d.ts.map +1 -0
- package/dist/lib/CUIChecksTester.object.js +71 -0
- package/dist/lib/Check.object.d.ts +21 -0
- package/dist/lib/Check.object.d.ts.map +1 -0
- package/dist/lib/Check.object.js +76 -0
- package/dist/lib/checks.json +25 -0
- package/dist/lib/mapping.d.ts +5 -0
- package/dist/lib/mapping.d.ts.map +1 -0
- package/dist/lib/mapping.js +5 -0
- package/package.json +24 -20
- package/.mocharc.js +0 -3
- package/CHANGELOG.md +0 -11
- package/compile-rules.js +0 -23
- package/cui-checks.schema.json +0 -115
- package/dist/cui.bundle.js +0 -1
- package/src/index.ts +0 -121
- package/src/lib/Check.object.ts +0 -105
- package/src/lib/Test.object.ts +0 -40
- package/src/lib/decorator.ts +0 -463
- package/src/lib/rules.json +0 -25
- package/src/lib/rules.ts +0 -5
- package/src/rules/QW-CUI-C1.ts +0 -46
- package/tsconfig.json +0 -43
- package/tsconfig.prod.json +0 -20
- package/validate-rules.js +0 -42
- package/webpack.config.js +0 -30
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.QW_CUI_C1 = void 0;
|
|
13
|
+
const applicability_1 = require("@qualweb/util/applicability");
|
|
14
|
+
const evaluation_1 = require("@qualweb/core/evaluation");
|
|
15
|
+
const Check_object_1 = require("../lib/Check.object");
|
|
16
|
+
class QW_CUI_C1 extends Check_object_1.Check {
|
|
17
|
+
execute(element) {
|
|
18
|
+
const test = new evaluation_1.Test();
|
|
19
|
+
console.log(element);
|
|
20
|
+
test.verdict = evaluation_1.Verdict.WARNING;
|
|
21
|
+
test.resultCode = 'W1';
|
|
22
|
+
test.addElement(element);
|
|
23
|
+
this.addTestResult(test);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
__decorate([
|
|
27
|
+
applicability_1.ElementExists,
|
|
28
|
+
__metadata("design:type", Function),
|
|
29
|
+
__metadata("design:paramtypes", [Function]),
|
|
30
|
+
__metadata("design:returntype", void 0)
|
|
31
|
+
], QW_CUI_C1.prototype, "execute", null);
|
|
32
|
+
exports.QW_CUI_C1 = QW_CUI_C1;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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("./QW-CUI-C1"), exports);
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CUIChecksRunner = exports.CUIChecks = void 0;
|
|
4
|
+
var CuiChecksModule_1 = require("./CuiChecksModule");
|
|
5
|
+
Object.defineProperty(exports, "CUIChecks", { enumerable: true, get: function () { return CuiChecksModule_1.CUIChecksModule; } });
|
|
6
|
+
var CuiChecksRunner_1 = require("./CuiChecksRunner");
|
|
7
|
+
Object.defineProperty(exports, "CUIChecksRunner", { enumerable: true, get: function () { return CuiChecksRunner_1.CUIChecksRunner; } });
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ModuleTranslator } from '@qualweb/core/locale';
|
|
2
|
+
import { Tester } from '@qualweb/core/evaluation';
|
|
3
|
+
export declare class CUIChecksTester extends Tester {
|
|
4
|
+
init(translator: ModuleTranslator): this;
|
|
5
|
+
execute(): void;
|
|
6
|
+
private executeChecks;
|
|
7
|
+
private executeCheck;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=CUIChecksTester.object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CUIChecksTester.object.d.ts","sourceRoot":"","sources":["../../src/lib/CUIChecksTester.object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAIlD,qBAAa,eAAgB,SAAQ,MAAM;IAClC,IAAI,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IASxC,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,YAAY;CAcrB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.CUIChecksTester = void 0;
|
|
30
|
+
const evaluation_1 = require("@qualweb/core/evaluation");
|
|
31
|
+
const mapping_1 = __importDefault(require("./mapping"));
|
|
32
|
+
const checks = __importStar(require("../checks"));
|
|
33
|
+
class CUIChecksTester extends evaluation_1.Tester {
|
|
34
|
+
init(translator) {
|
|
35
|
+
for (const check in checks) {
|
|
36
|
+
const checkObject = new checks[check](translator);
|
|
37
|
+
this.assertions.set(checkObject.getCode(), checkObject);
|
|
38
|
+
this.toExecute[checkObject.getCode()] = true;
|
|
39
|
+
}
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
execute() {
|
|
43
|
+
this.executeChecks();
|
|
44
|
+
}
|
|
45
|
+
executeChecks() {
|
|
46
|
+
var _a;
|
|
47
|
+
const selectors = Object.keys(mapping_1.default);
|
|
48
|
+
for (const selector of selectors !== null && selectors !== void 0 ? selectors : []) {
|
|
49
|
+
for (const check of (_a = mapping_1.default[selector]) !== null && _a !== void 0 ? _a : []) {
|
|
50
|
+
if (this.toExecute[check]) {
|
|
51
|
+
this.executeCheck(check, selector);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
executeCheck(check, selector) {
|
|
57
|
+
var _a;
|
|
58
|
+
const checkObject = this.assertions.get(check);
|
|
59
|
+
if (checkObject) {
|
|
60
|
+
const elements = window.qwPage.getElements(selector);
|
|
61
|
+
if (elements.length > 0) {
|
|
62
|
+
elements.forEach((element) => { var _a; return (_a = checkObject.execute) === null || _a === void 0 ? void 0 : _a.call(checkObject, element); });
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
(_a = checkObject.execute) === null || _a === void 0 ? void 0 : _a.call(checkObject);
|
|
66
|
+
}
|
|
67
|
+
this.report.addAssertionResult(checkObject);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.CUIChecksTester = CUIChecksTester;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ModuleTranslator } from '@qualweb/core/locale';
|
|
2
|
+
import type { TranslationValues } from '@qualweb/locale';
|
|
3
|
+
import type { QWElement } from '@qualweb/qw-element';
|
|
4
|
+
import type { Assertion, Level, Principle, Test } from '@qualweb/core/evaluation';
|
|
5
|
+
import { Guideline } from '@qualweb/core/evaluation';
|
|
6
|
+
declare abstract class Check extends Guideline {
|
|
7
|
+
protected readonly check: Assertion;
|
|
8
|
+
protected readonly translator: ModuleTranslator;
|
|
9
|
+
constructor(translator: ModuleTranslator);
|
|
10
|
+
protected translate(resultCode: string, values?: TranslationValues): string;
|
|
11
|
+
getCode(): string;
|
|
12
|
+
getMapping(): string;
|
|
13
|
+
hasPrincipleAndLevels(principles: Principle[], levels: Level[]): boolean;
|
|
14
|
+
abstract execute(element?: QWElement): void;
|
|
15
|
+
getFinalResults(): Assertion;
|
|
16
|
+
protected addTestResult(test: Test): void;
|
|
17
|
+
private generateOutcome;
|
|
18
|
+
private addDescription;
|
|
19
|
+
}
|
|
20
|
+
export { Check };
|
|
21
|
+
//# sourceMappingURL=Check.object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Check.object.d.ts","sourceRoot":"","sources":["../../src/lib/Check.object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAc,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAW,MAAM,0BAA0B,CAAC;AAI9D,uBAAe,KAAM,SAAQ,SAAS;IACpC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;gBAEpC,UAAU,EAAE,gBAAgB;IAexC,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM;IAIpE,OAAO,IAAI,MAAM;IAIjB,UAAU,IAAI,MAAM;IAIpB,qBAAqB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO;aAM/D,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI;IAE3C,eAAe,IAAI,SAAS;IAKnC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAYzC,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,cAAc;CAQvB;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
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
|
+
exports.Check = void 0;
|
|
7
|
+
const evaluation_1 = require("@qualweb/core/evaluation");
|
|
8
|
+
const checks_json_1 = __importDefault(require("./checks.json"));
|
|
9
|
+
class Check extends evaluation_1.Guideline {
|
|
10
|
+
constructor(translator) {
|
|
11
|
+
super();
|
|
12
|
+
this.translator = translator;
|
|
13
|
+
const check = checks_json_1.default[new.target.name];
|
|
14
|
+
check.metadata.passed = 0;
|
|
15
|
+
check.metadata.warning = 0;
|
|
16
|
+
check.metadata.failed = 0;
|
|
17
|
+
check.metadata.inapplicable = 0;
|
|
18
|
+
check.metadata.outcome = evaluation_1.Verdict.INAPPLICABLE;
|
|
19
|
+
check.results = new Array();
|
|
20
|
+
this.check = check;
|
|
21
|
+
this.translator.translateAssertion(this.check);
|
|
22
|
+
}
|
|
23
|
+
translate(resultCode, values) {
|
|
24
|
+
return this.translator.translateTest(this.check.code, resultCode, values);
|
|
25
|
+
}
|
|
26
|
+
getCode() {
|
|
27
|
+
return this.check.code;
|
|
28
|
+
}
|
|
29
|
+
getMapping() {
|
|
30
|
+
return this.check.mapping;
|
|
31
|
+
}
|
|
32
|
+
hasPrincipleAndLevels(principles, levels) {
|
|
33
|
+
return this.check.metadata['success-criteria'].some((sc) => principles.includes(sc.principle) && levels.includes(sc.level));
|
|
34
|
+
}
|
|
35
|
+
getFinalResults() {
|
|
36
|
+
this.generateOutcome();
|
|
37
|
+
return this.check;
|
|
38
|
+
}
|
|
39
|
+
addTestResult(test) {
|
|
40
|
+
if (!test.description || test.description.trim() === '') {
|
|
41
|
+
test.description = this.translate(test.resultCode);
|
|
42
|
+
}
|
|
43
|
+
this.check.results.push(test);
|
|
44
|
+
if (test.verdict && test.verdict !== evaluation_1.Verdict.INAPPLICABLE) {
|
|
45
|
+
this.check.metadata[test.verdict]++;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
generateOutcome() {
|
|
49
|
+
if (this.check.metadata.failed) {
|
|
50
|
+
this.check.metadata.outcome = evaluation_1.Verdict.FAILED;
|
|
51
|
+
}
|
|
52
|
+
else if (this.check.metadata.warning) {
|
|
53
|
+
this.check.metadata.outcome = evaluation_1.Verdict.WARNING;
|
|
54
|
+
}
|
|
55
|
+
else if (this.check.metadata.passed) {
|
|
56
|
+
this.check.metadata.outcome = evaluation_1.Verdict.PASSED;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
this.check.metadata.outcome = evaluation_1.Verdict.INAPPLICABLE;
|
|
60
|
+
this.check.metadata.inapplicable = 1;
|
|
61
|
+
}
|
|
62
|
+
if (this.check.results.length > 0) {
|
|
63
|
+
this.addDescription();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
addDescription() {
|
|
67
|
+
var _a;
|
|
68
|
+
for (const result of (_a = this.check.results) !== null && _a !== void 0 ? _a : []) {
|
|
69
|
+
if (result.verdict === this.check.metadata.outcome) {
|
|
70
|
+
this.check.metadata.description = result.description;
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.Check = Check;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"QW_CUI_C1": {
|
|
3
|
+
"name": "Testing check",
|
|
4
|
+
"code": "QW-CUI-C1",
|
|
5
|
+
"description": "This is a test.",
|
|
6
|
+
"metadata": {
|
|
7
|
+
"target": {
|
|
8
|
+
"element": "title"
|
|
9
|
+
},
|
|
10
|
+
"success-criteria": [
|
|
11
|
+
{
|
|
12
|
+
"name": "2.4.2",
|
|
13
|
+
"level": "A",
|
|
14
|
+
"principle": "Operable",
|
|
15
|
+
"url": "https://www.w3.org/WAI/WCAG21/Understanding/page-titled",
|
|
16
|
+
"url_tr": "https://www.w3.org/TR/WCAG21/#page-titled"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"related": ["G88", "H25"],
|
|
20
|
+
"url": "https://www.w3.org/WAI/standards-guidelines/act/rules/2779a5/",
|
|
21
|
+
"type": ["ACTRule", "TestCase"],
|
|
22
|
+
"a11yReq": ["WCAG21:title"]
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../src/lib/mapping.ts"],"names":[],"mappings":";;;AAAA,wBAEE"}
|
package/package.json
CHANGED
|
@@ -1,46 +1,50 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qualweb/cui-checks",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Accessibility tests for conversational user interfaces",
|
|
5
|
-
"
|
|
5
|
+
"files": [
|
|
6
|
+
"dist/*"
|
|
7
|
+
],
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"require": "./dist/__webpack/cui.bundle.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./lib/*": {
|
|
14
|
+
"require": "./dist/lib/*"
|
|
15
|
+
},
|
|
16
|
+
"./CuiChecksModule": {
|
|
17
|
+
"require": "./dist/CuiChecksModule.js",
|
|
18
|
+
"types": "./dist/CuiChecksModule.d.ts"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
6
21
|
"scripts": {
|
|
7
22
|
"tsc": "tsc",
|
|
8
23
|
"test": "mocha",
|
|
9
|
-
"
|
|
10
|
-
"compile:rules": "node compile-rules.js",
|
|
11
|
-
"lint": "eslint src --ext .ts",
|
|
12
|
-
"lint:fix": "eslint src --ext .ts --fix",
|
|
24
|
+
"lint": "eslint",
|
|
13
25
|
"format": "prettier src/**/*.ts --write",
|
|
14
|
-
"
|
|
15
|
-
"build": "npm run prebuild && rimraf dist && webpack --mode production && rimraf prebuild",
|
|
26
|
+
"build": "rimraf dist && tsc --build tsconfig.prod.json && webpack",
|
|
16
27
|
"prepublishOnly": "npm run build"
|
|
17
28
|
},
|
|
18
29
|
"author": "",
|
|
19
30
|
"license": "ISC",
|
|
20
31
|
"devDependencies": {
|
|
21
|
-
"@qualweb/
|
|
22
|
-
"@qualweb/locale": "0.
|
|
23
|
-
"@qualweb/qw-page": "0.
|
|
24
|
-
"@qualweb/
|
|
25
|
-
"@qualweb/util": "0.5.41",
|
|
32
|
+
"@qualweb/core": "^0.8.0",
|
|
33
|
+
"@qualweb/locale": "0.2.0",
|
|
34
|
+
"@qualweb/qw-page": "0.3.0",
|
|
35
|
+
"@qualweb/util": "0.6.0",
|
|
26
36
|
"@tsconfig/recommended": "^1.0.3",
|
|
27
37
|
"@types/mocha": "^10.0.6",
|
|
28
38
|
"@types/node": "^16.11.11",
|
|
29
39
|
"@types/node-fetch": "^2.6.11",
|
|
30
|
-
"ajv": "^6.12.6",
|
|
31
40
|
"chai": "^4.4.1",
|
|
32
|
-
"eslint": "^8.56.0",
|
|
33
41
|
"mocha": "^10.2.0",
|
|
34
|
-
"node-fetch": "^2.6.7",
|
|
35
42
|
"prettier": "^3.1.1",
|
|
36
|
-
"puppeteer": "^
|
|
43
|
+
"puppeteer": "^22.12.1",
|
|
37
44
|
"rimraf": "^5.0.5",
|
|
38
45
|
"ts-node": "^10.9.2",
|
|
39
46
|
"typescript": "^4.7.4",
|
|
40
47
|
"webpack": "^5.89.0",
|
|
41
48
|
"webpack-cli": "^4.9.1"
|
|
42
|
-
},
|
|
43
|
-
"dependencies": {
|
|
44
|
-
"@qualweb/cui-checks": "^0.1.1"
|
|
45
49
|
}
|
|
46
50
|
}
|
package/.mocharc.js
DELETED
package/CHANGELOG.md
DELETED
package/compile-rules.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const fs = require('fs');
|
|
2
|
-
|
|
3
|
-
const rules = fs.readdirSync('./src/rules');
|
|
4
|
-
|
|
5
|
-
fs.writeFileSync('./src/lib/rules.ts', '');
|
|
6
|
-
|
|
7
|
-
const stream = fs.createWriteStream('./src/lib/rules.ts', { flags: 'a' })
|
|
8
|
-
|
|
9
|
-
for (const rule of rules || []) {
|
|
10
|
-
const _rule = rule.split('.')[0].replace(/-/g, '_');
|
|
11
|
-
stream.write(`import ${_rule} from '../rules/${rule.split('.')[0]}';\n`);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
stream.write('\nexport {\n');
|
|
15
|
-
|
|
16
|
-
for (const rule of rules || []) {
|
|
17
|
-
const _rule = rule.split('.')[0].replace(/-/g, '_');
|
|
18
|
-
stream.write(` ${_rule},\n`);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
stream.write('};\n');
|
|
22
|
-
|
|
23
|
-
stream.end();
|
package/cui-checks.schema.json
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
-
"title": "CUI Checks for Qualweb schema",
|
|
5
|
-
"description": "Defines the valid structure of CUI Checks for use in Qualweb",
|
|
6
|
-
"type": "object",
|
|
7
|
-
"allOf": [{
|
|
8
|
-
"patternProperties": {
|
|
9
|
-
"^QW_CUI_C\\d+$": {
|
|
10
|
-
"type": "object",
|
|
11
|
-
"additionalProperties": false,
|
|
12
|
-
"required": [
|
|
13
|
-
"name",
|
|
14
|
-
"code",
|
|
15
|
-
"description",
|
|
16
|
-
"metadata"
|
|
17
|
-
],
|
|
18
|
-
"properties": {
|
|
19
|
-
"name": {
|
|
20
|
-
"type": "string"
|
|
21
|
-
},
|
|
22
|
-
"code": {
|
|
23
|
-
"type": "string",
|
|
24
|
-
"pattern": "^QW-CUI-C\\d+$"
|
|
25
|
-
},
|
|
26
|
-
"description": {
|
|
27
|
-
"type": "string"
|
|
28
|
-
},
|
|
29
|
-
"metadata": {
|
|
30
|
-
"type": "object",
|
|
31
|
-
"additionalProperties": false,
|
|
32
|
-
"properties": {
|
|
33
|
-
"required": [
|
|
34
|
-
"target",
|
|
35
|
-
"success-criteria",
|
|
36
|
-
"related",
|
|
37
|
-
"url",
|
|
38
|
-
"type",
|
|
39
|
-
"a11yReq"
|
|
40
|
-
],
|
|
41
|
-
"target": {
|
|
42
|
-
"type": "object",
|
|
43
|
-
"additionalProperties": false,
|
|
44
|
-
"properties": {
|
|
45
|
-
"required": ["element"],
|
|
46
|
-
"element": {
|
|
47
|
-
"type": ["string", "array"],
|
|
48
|
-
"items": {
|
|
49
|
-
"type": "string"
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
"attributes": {
|
|
53
|
-
"type": ["string", "array"],
|
|
54
|
-
"items": {
|
|
55
|
-
"type": "string"
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
"success-criteria": {
|
|
61
|
-
"type": "array",
|
|
62
|
-
"items": {
|
|
63
|
-
"type": "object",
|
|
64
|
-
"additionalProperties": false,
|
|
65
|
-
"required": ["name", "level", "principle", "url"],
|
|
66
|
-
"properties": {
|
|
67
|
-
"name": {
|
|
68
|
-
"type": "string",
|
|
69
|
-
"pattern": "^\\d+\\.\\d+\\.\\d+$"
|
|
70
|
-
},
|
|
71
|
-
"level": {
|
|
72
|
-
"type": "string",
|
|
73
|
-
"enum": ["A", "AA", "AAA"]
|
|
74
|
-
},
|
|
75
|
-
"principle": {
|
|
76
|
-
"type": "string",
|
|
77
|
-
"enum": ["Perceivable", "Operable", "Understandable", "Robust"]
|
|
78
|
-
},
|
|
79
|
-
"url": {
|
|
80
|
-
"type": "string"
|
|
81
|
-
},
|
|
82
|
-
"url_tr": {
|
|
83
|
-
"type": "string"
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
"related": {
|
|
89
|
-
"type": "array",
|
|
90
|
-
"items": {
|
|
91
|
-
"type": "string"
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
"url": {
|
|
95
|
-
"type": "string"
|
|
96
|
-
},
|
|
97
|
-
"type": {
|
|
98
|
-
"type": "array",
|
|
99
|
-
"items": {
|
|
100
|
-
"type": "string"
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
"a11yReq": {
|
|
104
|
-
"type": "array",
|
|
105
|
-
"items": {
|
|
106
|
-
"type": "string"
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}]
|
|
115
|
-
}
|
package/dist/cui.bundle.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var e={160:function(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var l=Object.getOwnPropertyDescriptor(t,n);l&&!("get"in l?!t.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,l)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),l=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return l(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.CUIChecks=void 0;const r=s(n(526));t.CUIChecks=class CUIChecks{constructor(e,t){this.rules={},this.rulesToExecute={},this.report={type:"cui-checks",metadata:{passed:0,warning:0,failed:0,inapplicable:0},assertions:{}};for(const t of Object.keys(r)||[]){const n=t.replace(/_/g,"-");this.rules[n]=new r[t](e),this.rulesToExecute[n]=!0}t&&this.configure(t)}configure(e){var t,n,i;this.resetConfiguration(),e.rules&&(e.rules=e.rules.map((e=>e.toLowerCase().startsWith("qw")?e.toUpperCase().trim():e.trim()))),e.exclude&&(e.exclude=e.exclude.map((e=>e.toLowerCase().startsWith("qw")?e.toUpperCase().trim():e.trim())));for(const l of Object.keys(this.rules)||[])e.principles&&0!==e.principles.length?e.levels&&0!==e.levels.length?this.rules[l].hasPrincipleAndLevels(e.principles,e.levels)||(this.rulesToExecute[l]=!1):this.rules[l].hasPrincipleAndLevels(e.principles,["A","AA","AAA"])||(this.rulesToExecute[l]=!1):e.levels&&0!==e.levels.length&&(this.rules[l].hasPrincipleAndLevels(["Perceivable","Operable","Understandable","Robust"],e.levels)||(this.rulesToExecute[l]=!1)),e.principles||e.levels?e.rules&&0!==e.rules.length&&(e.rules.includes(l)||e.rules.includes(null===(n=this.rules[l])||void 0===n?void 0:n.getRuleMapping()))&&(this.rulesToExecute[l]=!0):e.rules&&0!==e.rules.length&&(e.rules.includes(l)||e.rules.includes(null===(t=this.rules[l])||void 0===t?void 0:t.getRuleMapping())?this.rulesToExecute[l]=!0:this.rulesToExecute[l]=!1),e.exclude&&0!==e.exclude.length&&(e.exclude.includes(l)||e.exclude.includes(null===(i=this.rules[l])||void 0===i?void 0:i.getRuleMapping()))&&(this.rulesToExecute[l]=!1)}resetConfiguration(){var e;for(const t in null!==(e=this.rulesToExecute)&&void 0!==e?e:{})this.rulesToExecute[t]=!0}executeRule(e,t){const n=window.qwPage.getElements(t);if(n.length>0)for(const t of null!=n?n:[])this.rules[e].execute(t);else this.rules[e].execute(void 0);this.report.assertions[e]=this.rules[e].getFinalResults(),this.report.metadata[this.report.assertions[e].metadata.outcome]++}getReport(){return this.report}}},168:e=>{e.exports=class Check{constructor(e,t){this.rule=e,this.locale=t}getRuleMapping(){return this.rule.mapping}hasPrincipleAndLevels(e,t){var n;let i=!1;for(const l of null!==(n=this.rule.metadata["success-criteria"])&&void 0!==n?n:[])e.includes(l.principle)&&t.includes(l.level)&&(i=!0);return i}getFinalResults(){return this.outcomeRule(),this.rule}getNumberOfPassedResults(){return this.rule.metadata.passed}getNumberOfWarningResults(){return this.rule.metadata.warning}getNumberOfFailedResults(){return this.rule.metadata.failed}addTestResult(e){e.description&&""!==e.description.trim()||(e.description=this.getTranslation(e.resultCode)),this.rule.results.push(e),e.verdict&&"inapplicable"!==e.verdict&&this.rule.metadata[e.verdict]++}getTranslation(e,t){var n,i,l,s,r,o;let u="";if(u=(null===(l=null===(i=null===(n=this.locale.translate["act-rules"])||void 0===n?void 0:n[this.rule.code])||void 0===i?void 0:i.results)||void 0===l?void 0:l[e])?null===(s=this.locale.translate["act-rules"][this.rule.code].results)||void 0===s?void 0:s[e]:null===(o=null===(r=this.locale.fallback["act-rules"])||void 0===r?void 0:r[this.rule.code].results)||void 0===o?void 0:o[e],t)for(const e of Object.keys(t)||[])u=u.replace(new RegExp(`{${e}}`,"g"),t[e].toString());return u}outcomeRule(){this.rule.metadata.failed>0?this.rule.metadata.outcome="failed":this.rule.metadata.warning>0?this.rule.metadata.outcome="warning":this.rule.metadata.passed>0?this.rule.metadata.outcome="passed":(this.rule.metadata.outcome="inapplicable",this.rule.metadata.inapplicable=1),this.rule.results.length>0&&this.addDescription()}addDescription(){var e;for(const t of null!==(e=this.rule.results)&&void 0!==e?e:[])if(t.verdict===this.rule.metadata.outcome){this.rule.metadata.description=t.description;break}}}},911:e=>{e.exports=class Test{constructor(e,t,n){this.verdict=null!=e?e:"inapplicable",this.description=null!=t?t:"",this.resultCode=null!=n?n:"I1",this.elements=new Array,this.attributes=new Array}addElement(e,t=!0,n=!1,i){const l=e.getElementHtmlCode(t,n),s=e.getElementSelector();let r;i&&(r=window.AccessibilityUtils.getAccessibleName(e)),this.elements.push({htmlCode:l,pointer:s,accessibleName:r})}addElements(e,t=!0,n=!1,i){for(const l of null!=e?e:[])this.addElement(l,t,n,i)}}},175:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ElementIsNotInert=t.ElementIsSemanticLink=t.ElementIsNonText=t.ElementIsImage=t.ElementHasCSSRules=t.ElementHasNegativeTabIndex=t.ElementIsVisibleOrInAccessibilityTree=t.ElementIsNotHidden=t.isInMainContext=t.IsLangSubTagValid=t.IsHTMLDocument=t.ElementAllowsNameFromContent=t.ElementIsNotWidget=t.ElementIsWidget=t.ElementHasOneOfTheFollowingRoles=t.ElementIsNot=t.ElementIsVisible=t.ElementSrcAttributeFilenameEqualsAccessibleName=t.ElementIsInAccessibilityTree=t.ElementHasTextNode=t.ElementHasText=t.ElementHasNonEmptyAttribute=t.IfElementHasTagNameMustHaveAttributeRole=t.ElementHasAttributeValue=t.ElementHasAttributeRole=t.ElementHasAttribute=t.ElementHasAttributes=t.ElementIsHTMLElement=t.ElementExists=t.CUICheckDecorator=void 0;const l=i(n(354));t.CUICheckDecorator=function(e){const t=function(){var t,n,i,s,r,o,u,a,c,d,f,m,p,v,h,g;const E=arguments[0],b=l.default[e.name];b.metadata.passed=0,b.metadata.warning=0,b.metadata.failed=0,b.metadata.inapplicable=0,b.metadata.outcome="inapplicable";try{b.name=null!==(i=null===(n=null===(t=E.translate["act-rules"])||void 0===t?void 0:t[b.code])||void 0===n?void 0:n.name)&&void 0!==i?i:null===(r=null===(s=E.fallback["act-rules"])||void 0===s?void 0:s[b.code])||void 0===r?void 0:r.name,b.description=null!==(a=null===(u=null===(o=E.translate["act-rules"])||void 0===o?void 0:o[b.code])||void 0===u?void 0:u.description)&&void 0!==a?a:null===(d=null===(c=E.fallback["act-rules"])||void 0===c?void 0:c[b.code])||void 0===d?void 0:d.description,b.metadata.description=null!==(v=null===(p=null===(m=null===(f=E.translate["act-rules"])||void 0===f?void 0:f[b.code])||void 0===m?void 0:m.results)||void 0===p?void 0:p.I1)&&void 0!==v?v:null===(g=null===(h=E.fallback["act-rules"])||void 0===h?void 0:h[b.code].results)||void 0===g?void 0:g.I1}catch(e){console.error(e)}b.results=new Array;const w=function(){return new e(b,E)};return w.prototype=e.prototype,new w};return t.prototype=e.prototype,t},t.ElementExists=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0])return i.apply(this,arguments)}},t.ElementIsHTMLElement=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0].isElementHTMLElement())return i.apply(this,arguments)}},t.ElementHasAttributes=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0].elementHasAttributes())return i.apply(this,arguments)}},t.ElementHasAttribute=function(e){return function(t,n,i){const l=i.value;i.value=function(){if(arguments[0].elementHasAttribute(e))return l.apply(this,arguments)}}},t.ElementHasNonEmptyAttribute=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=arguments[0].getElementAttribute(e);if(t&&t.trim())return l.apply(this,arguments)}}},t.ElementHasAttributeRole=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=window.AccessibilityUtils.getElementRole(arguments[0]);if(!t||t===e)return l.apply(this,arguments)}}},t.ElementHasAttributeValue=function(e,t){return function(n,i,l){const s=l.value;l.value=function(){const n=arguments[0].getElementAttribute(e);if(n&&n===t)return s.apply(this,arguments)}}},t.IfElementHasTagNameMustHaveAttributeRole=function(e,t){return function(n,i,l){const s=l.value;l.value=function(){if(arguments[0].getElementTagName()!==e)return s.apply(this,arguments);{const e=arguments[0].getElementAttribute("role");if(!e||e===t)return s.apply(this,arguments)}}}},t.ElementHasText=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0];if(""!==window.DomUtils.getTrimmedText(e))return i.apply(this,arguments)}},t.ElementHasTextNode=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0].elementHasTextNode())return i.apply(this,arguments)}},t.ElementIsInAccessibilityTree=function(e,t,n){const i=n.value;n.value=function(){if(window.AccessibilityUtils.isElementInAT(arguments[0]))return i.apply(this,arguments)}},t.ElementHasNegativeTabIndex=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0].getElementAttribute("tabindex");if(e&&parseInt(e)<=-1)return i.apply(this,arguments)}},t.ElementIsNotInert=function(e,t,n){const i=n.value;n.value=function(){let e=!0;if(arguments[0].elementHasAttribute("inert")){if("false"!==arguments[0].getElementAttribute("inert")&&(e=!1),!e)return}let t=!0,n=arguments[0].getElementParent();for(;n;){const e=n.getElementAttribute("inert");e&&"true"===e&&(t=!1),n=n.getElementParent()}if(t&&!window.qwPage.pageHasOpenDialog())return i.apply(this,arguments)}},t.ElementIsVisibleOrInAccessibilityTree=function(e,t,n){const i=n.value;n.value=function(){if(window.qwPage.getElements("*").filter((e=>e.hasTextNode()&&(window.DomUtils.isElementVisible(e)||window.AccessibilityUtils.isElementInAT(e)))).length>0)return i.apply(this,arguments)}},t.ElementIsNotHidden=function(e,t,n){const i=n.value;n.value=function(){if(!window.DomUtils.isElementHidden(arguments[0]))return i.apply(this,arguments)}},t.ElementSrcAttributeFilenameEqualsAccessibleName=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0].getElementAttribute("src"),t=arguments[0].getElementAttribute("srcset"),n=arguments[0].getElementParent();let l=new Array;if(e){const t=e.split("/");l=[t[t.length-1].trim().toLowerCase()]}if(t){const e=t.split(",");for(const t of e||[]){const e=t.split(" ")[0].split("/");l.push(e[e.length-1].trim().toLowerCase())}}if(n){if("picture"===n.getElementTagName()){const e=n.getElements("source");for(const t of e){const e=t.getElementAttribute("srcset");if(e){const t=e.split("/");l.push(t[t.length-1].trim().toLowerCase())}}}}const s=window.AccessibilityUtils.getAccessibleName(arguments[0]);if(s&&l&&l.includes(s.toLowerCase()))return i.apply(this,arguments)}},t.isInMainContext=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0].getElementAttribute("_documentSelector");if(!e||!e.includes(">"))return i.apply(this,arguments)}},t.ElementIsVisible=function(e,t,n){const i=n.value;n.value=function(){if(window.DomUtils.isElementVisible(arguments[0]))return i.apply(this,arguments)}},t.ElementIsNot=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=arguments[0].getElementTagName();if(t&&!e.includes(t))return l.apply(this,arguments)}}},t.ElementHasOneOfTheFollowingRoles=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=window.AccessibilityUtils.getElementRole(arguments[0]);if(t&&e.includes(t))return l.apply(this,arguments)}}},t.ElementIsWidget=function(e,t,n){const i=n.value;n.value=function(){if(window.AccessibilityUtils.isElementWidget(arguments[0]))return i.apply(this,arguments)}},t.ElementIsNotWidget=function(e,t,n){const i=n.value;n.value=function(){if(!window.AccessibilityUtils.isElementWidget(arguments[0]))return i.apply(this,arguments)}},t.ElementAllowsNameFromContent=function(e,t,n){const i=n.value;n.value=function(){if(window.AccessibilityUtils.allowsNameFromContent(arguments[0]))return i.apply(this,arguments)}},t.IsHTMLDocument=function(e,t,n){const i=n.value;n.value=function(){let e=!1;const t=window.qwPage.getElement("html");if(t&&(e="true"===t.getElementAttribute("nonHTMLPage")),!e)return i.apply(this,arguments)}},t.ElementHasCSSRules=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0].getCSSRules())return i.apply(this,arguments)}},t.IsLangSubTagValid=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=arguments[0].getElementAttribute(e);if(t&&(n=t.split("-")[0],window.AccessibilityUtils.languages.hasOwnProperty(n.toLowerCase())))return l.apply(this,arguments);var n}}},t.ElementIsImage=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0],t=window.AccessibilityUtils.getElementRole(e);if("img"===e.getElementTagName()||"img"===t)return i.apply(this,arguments)}},t.ElementIsNonText=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0];if(window.DomUtils.objectElementIsNonText(e))return i.apply(this,arguments)}};const s=["link","doc-backlink","doc-biblioref","doc-glossref","doc-noteref"];t.ElementIsSemanticLink=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0],t=window.AccessibilityUtils.getElementRole(e);if(t&&s.includes(t))return i.apply(this,arguments)}}},526:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.QW_CUI_C1=void 0;const l=i(n(153));t.QW_CUI_C1=l.default},153:function(e,t,n){var i=this&&this.__decorate||function(e,t,n,i){var l,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var o=e.length-1;o>=0;o--)(l=e[o])&&(r=(s<3?l(r):s>3?l(t,n,r):l(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};const r=n(175),o=s(n(911)),u=s(n(168));let a=class QW_CUI_C1 extends u.default{constructor(e,t){super(e,t)}execute(e){if(super.getNumberOfPassedResults()+super.getNumberOfFailedResults()===0){const t=new o.default;e?e.getElementText()&&""!==e.getElementText().trim()?e.getElementAttribute("_documentSelector")?(t.verdict="failed",t.resultCode="F3"):(t.verdict="passed",t.resultCode="P1"):(t.verdict="failed",t.resultCode="F2"):(t.verdict="failed",t.resultCode="F1"),e&&t.addElement(e),super.addTestResult(t)}}};i([r.IsHTMLDocument,l("design:type",Function),l("design:paramtypes",[Object]),l("design:returntype",void 0)],a.prototype,"execute",null),a=i([r.CUICheckDecorator,l("design:paramtypes",[Object,Object])],a),e.exports=a},354:e=>{e.exports=JSON.parse('{"QW_CUI_C1":{"name":"Testing check","code":"QW-CUI-C1","description":"This is a test.","metadata":{"target":{"element":"title"},"success-criteria":[{"name":"2.4.2","level":"A","principle":"Operable","url":"https://www.w3.org/WAI/WCAG21/Understanding/page-titled","url_tr":"https://www.w3.org/TR/WCAG21/#page-titled"}],"related":["G88","H25"],"url":"https://www.w3.org/WAI/standards-guidelines/act/rules/2779a5/","type":["ACTRule","TestCase"],"a11yReq":["WCAG21:title"]}}}')}},t={};var n=function n(i){var l=t[i];if(void 0!==l)return l.exports;var s=t[i]={exports:{}};return e[i].call(s.exports,s,s.exports,n),s.exports}(160);for(var i in n)this[i]=n[i];n.__esModule&&Object.defineProperty(this,"__esModule",{value:!0})})();
|