@qualweb/act-rules 0.6.39 → 0.7.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/README.md +38 -2
- package/dist/ACTRulesModule.d.ts +11 -0
- package/dist/ACTRulesModule.d.ts.map +1 -0
- package/dist/ACTRulesModule.js +65 -0
- package/dist/ACTRulesRunner.d.ts +14 -0
- package/dist/ACTRulesRunner.d.ts.map +1 -0
- package/dist/ACTRulesRunner.js +44 -0
- package/dist/__webpack/act.bundle.js +1 -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/ACTRulesTester.object.d.ts +15 -0
- package/dist/lib/ACTRulesTester.object.d.ts.map +1 -0
- package/dist/lib/ACTRulesTester.object.js +150 -0
- package/dist/lib/AtomicRule.object.d.ts +7 -0
- package/dist/lib/AtomicRule.object.d.ts.map +1 -0
- package/dist/lib/AtomicRule.object.js +7 -0
- package/dist/lib/CompositeRule.object.d.ts +13 -0
- package/dist/lib/CompositeRule.object.d.ts.map +1 -0
- package/dist/lib/CompositeRule.object.js +80 -0
- package/dist/lib/Rule.object.d.ts +19 -0
- package/dist/lib/Rule.object.d.ts.map +1 -0
- package/dist/lib/Rule.object.js +76 -0
- package/dist/lib/mapping.d.ts +36 -0
- package/dist/lib/mapping.d.ts.map +1 -0
- package/dist/lib/mapping.js +38 -0
- package/dist/lib/mappingComposite.d.ts +39 -0
- package/dist/lib/mappingComposite.d.ts.map +1 -0
- package/dist/lib/mappingComposite.js +23 -0
- package/dist/lib/rules.json +1523 -0
- package/dist/lib/types.d.ts +15 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +2 -0
- package/dist/rules/QW-ACT-R1.d.ts +7 -0
- package/dist/rules/QW-ACT-R1.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R1.js +49 -0
- package/dist/rules/QW-ACT-R10.d.ts +8 -0
- package/dist/rules/QW-ACT-R10.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R10.js +98 -0
- package/dist/rules/QW-ACT-R11.d.ts +7 -0
- package/dist/rules/QW-ACT-R11.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R11.js +40 -0
- package/dist/rules/QW-ACT-R12.d.ts +7 -0
- package/dist/rules/QW-ACT-R12.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R12.js +40 -0
- package/dist/rules/QW-ACT-R13.d.ts +9 -0
- package/dist/rules/QW-ACT-R13.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R13.js +76 -0
- package/dist/rules/QW-ACT-R14.d.ts +7 -0
- package/dist/rules/QW-ACT-R14.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R14.js +73 -0
- package/dist/rules/QW-ACT-R15.d.ts +6 -0
- package/dist/rules/QW-ACT-R15.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R15.js +26 -0
- package/dist/rules/QW-ACT-R16.d.ts +7 -0
- package/dist/rules/QW-ACT-R16.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R16.js +52 -0
- package/dist/rules/QW-ACT-R17.d.ts +7 -0
- package/dist/rules/QW-ACT-R17.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R17.js +52 -0
- package/dist/rules/QW-ACT-R19.d.ts +7 -0
- package/dist/rules/QW-ACT-R19.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R19.js +42 -0
- package/dist/rules/QW-ACT-R2.d.ts +7 -0
- package/dist/rules/QW-ACT-R2.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R2.js +40 -0
- package/dist/rules/QW-ACT-R20.d.ts +7 -0
- package/dist/rules/QW-ACT-R20.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R20.js +39 -0
- package/dist/rules/QW-ACT-R21.d.ts +8 -0
- package/dist/rules/QW-ACT-R21.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R21.js +50 -0
- package/dist/rules/QW-ACT-R22.d.ts +9 -0
- package/dist/rules/QW-ACT-R22.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R22.js +69 -0
- package/dist/rules/QW-ACT-R23.d.ts +6 -0
- package/dist/rules/QW-ACT-R23.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R23.js +26 -0
- package/dist/rules/QW-ACT-R24.d.ts +12 -0
- package/dist/rules/QW-ACT-R24.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R24.js +298 -0
- package/dist/rules/QW-ACT-R25.d.ts +7 -0
- package/dist/rules/QW-ACT-R25.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R25.js +67 -0
- package/dist/rules/QW-ACT-R26.d.ts +6 -0
- package/dist/rules/QW-ACT-R26.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R26.js +26 -0
- package/dist/rules/QW-ACT-R27.d.ts +7 -0
- package/dist/rules/QW-ACT-R27.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R27.js +55 -0
- package/dist/rules/QW-ACT-R28.d.ts +7 -0
- package/dist/rules/QW-ACT-R28.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R28.js +83 -0
- package/dist/rules/QW-ACT-R29.d.ts +6 -0
- package/dist/rules/QW-ACT-R29.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R29.js +26 -0
- package/dist/rules/QW-ACT-R30.d.ts +9 -0
- package/dist/rules/QW-ACT-R30.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R30.js +69 -0
- package/dist/rules/QW-ACT-R31.d.ts +6 -0
- package/dist/rules/QW-ACT-R31.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R31.js +26 -0
- package/dist/rules/QW-ACT-R32.d.ts +6 -0
- package/dist/rules/QW-ACT-R32.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R32.js +26 -0
- package/dist/rules/QW-ACT-R33.d.ts +8 -0
- package/dist/rules/QW-ACT-R33.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R33.js +89 -0
- package/dist/rules/QW-ACT-R34.d.ts +7 -0
- package/dist/rules/QW-ACT-R34.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R34.js +112 -0
- package/dist/rules/QW-ACT-R35.d.ts +7 -0
- package/dist/rules/QW-ACT-R35.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R35.js +40 -0
- package/dist/rules/QW-ACT-R36.d.ts +7 -0
- package/dist/rules/QW-ACT-R36.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R36.js +108 -0
- package/dist/rules/QW-ACT-R37.d.ts +23 -0
- package/dist/rules/QW-ACT-R37.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R37.js +358 -0
- package/dist/rules/QW-ACT-R38.d.ts +9 -0
- package/dist/rules/QW-ACT-R38.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R38.js +100 -0
- package/dist/rules/QW-ACT-R39.d.ts +8 -0
- package/dist/rules/QW-ACT-R39.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R39.js +155 -0
- package/dist/rules/QW-ACT-R4.d.ts +8 -0
- package/dist/rules/QW-ACT-R4.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R4.js +85 -0
- package/dist/rules/QW-ACT-R40.d.ts +7 -0
- package/dist/rules/QW-ACT-R40.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R40.js +58 -0
- package/dist/rules/QW-ACT-R41.d.ts +7 -0
- package/dist/rules/QW-ACT-R41.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R41.js +42 -0
- package/dist/rules/QW-ACT-R42.d.ts +7 -0
- package/dist/rules/QW-ACT-R42.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R42.js +40 -0
- package/dist/rules/QW-ACT-R43.d.ts +8 -0
- package/dist/rules/QW-ACT-R43.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R43.js +98 -0
- package/dist/rules/QW-ACT-R44.d.ts +8 -0
- package/dist/rules/QW-ACT-R44.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R44.js +92 -0
- package/dist/rules/QW-ACT-R48.d.ts +7 -0
- package/dist/rules/QW-ACT-R48.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R48.js +38 -0
- package/dist/rules/QW-ACT-R49.d.ts +8 -0
- package/dist/rules/QW-ACT-R49.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R49.js +81 -0
- package/dist/rules/QW-ACT-R5.d.ts +8 -0
- package/dist/rules/QW-ACT-R5.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R5.js +44 -0
- package/dist/rules/QW-ACT-R50.d.ts +8 -0
- package/dist/rules/QW-ACT-R50.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R50.js +72 -0
- package/dist/rules/QW-ACT-R51.d.ts +7 -0
- package/dist/rules/QW-ACT-R51.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R51.js +41 -0
- package/dist/rules/QW-ACT-R53.d.ts +7 -0
- package/dist/rules/QW-ACT-R53.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R53.js +41 -0
- package/dist/rules/QW-ACT-R54.d.ts +7 -0
- package/dist/rules/QW-ACT-R54.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R54.js +41 -0
- package/dist/rules/QW-ACT-R55.d.ts +7 -0
- package/dist/rules/QW-ACT-R55.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R55.js +41 -0
- package/dist/rules/QW-ACT-R56.d.ts +7 -0
- package/dist/rules/QW-ACT-R56.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R56.js +41 -0
- package/dist/rules/QW-ACT-R58.d.ts +7 -0
- package/dist/rules/QW-ACT-R58.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R58.js +33 -0
- package/dist/rules/QW-ACT-R59.d.ts +7 -0
- package/dist/rules/QW-ACT-R59.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R59.js +33 -0
- package/dist/rules/QW-ACT-R6.d.ts +7 -0
- package/dist/rules/QW-ACT-R6.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R6.js +40 -0
- package/dist/rules/QW-ACT-R60.d.ts +7 -0
- package/dist/rules/QW-ACT-R60.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R60.js +41 -0
- package/dist/rules/QW-ACT-R61.d.ts +7 -0
- package/dist/rules/QW-ACT-R61.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R61.js +41 -0
- package/dist/rules/QW-ACT-R62.d.ts +7 -0
- package/dist/rules/QW-ACT-R62.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R62.js +37 -0
- package/dist/rules/QW-ACT-R63.d.ts +8 -0
- package/dist/rules/QW-ACT-R63.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R63.js +60 -0
- package/dist/rules/QW-ACT-R64.d.ts +8 -0
- package/dist/rules/QW-ACT-R64.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R64.js +60 -0
- package/dist/rules/QW-ACT-R65.d.ts +7 -0
- package/dist/rules/QW-ACT-R65.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R65.js +58 -0
- package/dist/rules/QW-ACT-R66.d.ts +7 -0
- package/dist/rules/QW-ACT-R66.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R66.js +40 -0
- package/dist/rules/QW-ACT-R67.d.ts +12 -0
- package/dist/rules/QW-ACT-R67.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R67.js +94 -0
- package/dist/rules/QW-ACT-R68.d.ts +14 -0
- package/dist/rules/QW-ACT-R68.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R68.js +117 -0
- package/dist/rules/QW-ACT-R69.d.ts +12 -0
- package/dist/rules/QW-ACT-R69.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R69.js +94 -0
- package/dist/rules/QW-ACT-R7.d.ts +14 -0
- package/dist/rules/QW-ACT-R7.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R7.js +167 -0
- package/dist/rules/QW-ACT-R70.d.ts +7 -0
- package/dist/rules/QW-ACT-R70.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R70.js +52 -0
- package/dist/rules/QW-ACT-R71.d.ts +8 -0
- package/dist/rules/QW-ACT-R71.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R71.js +81 -0
- package/dist/rules/QW-ACT-R73.d.ts +8 -0
- package/dist/rules/QW-ACT-R73.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R73.js +60 -0
- package/dist/rules/QW-ACT-R74.d.ts +8 -0
- package/dist/rules/QW-ACT-R74.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R74.js +80 -0
- package/dist/rules/QW-ACT-R75.d.ts +6 -0
- package/dist/rules/QW-ACT-R75.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R75.js +27 -0
- package/dist/rules/QW-ACT-R76.d.ts +23 -0
- package/dist/rules/QW-ACT-R76.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R76.js +336 -0
- package/dist/rules/QW-ACT-R77.d.ts +7 -0
- package/dist/rules/QW-ACT-R77.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R77.js +53 -0
- package/dist/rules/QW-ACT-R9.d.ts +7 -0
- package/dist/rules/QW-ACT-R9.d.ts.map +1 -0
- package/dist/rules/QW-ACT-R9.js +87 -0
- package/dist/rules/index.d.ts +69 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +84 -0
- package/package.json +23 -18
- package/dist/act.bundle.js +0 -1
|
@@ -0,0 +1,85 @@
|
|
|
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_ACT_R4 = void 0;
|
|
13
|
+
const applicability_1 = require("@qualweb/util/applicability");
|
|
14
|
+
const evaluation_1 = require("@qualweb/core/evaluation");
|
|
15
|
+
const AtomicRule_object_1 = require("../lib/AtomicRule.object");
|
|
16
|
+
class QW_ACT_R4 extends AtomicRule_object_1.AtomicRule {
|
|
17
|
+
execute(element) {
|
|
18
|
+
const content = element.getElementAttribute('content');
|
|
19
|
+
if (this.rule.metadata.passed + this.rule.metadata.failed > 0) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
let n = -1;
|
|
23
|
+
const indexOf = content.indexOf(';');
|
|
24
|
+
if (indexOf === -1) {
|
|
25
|
+
if (this.checkIfIsNumber(content) && Number.isInteger(parseInt(content, 0))) {
|
|
26
|
+
n = Number(content);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
const split = content.split(';');
|
|
31
|
+
if (split.length === 2 &&
|
|
32
|
+
split[0].trim() !== '' &&
|
|
33
|
+
split[1].trim() !== '' &&
|
|
34
|
+
this.checkIfIsNumber(split[0]) &&
|
|
35
|
+
Number.isInteger(parseInt(split[0], 0))) {
|
|
36
|
+
n = Number(split[0]);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (n >= 0) {
|
|
40
|
+
const test = new evaluation_1.Test();
|
|
41
|
+
if (n === 0) {
|
|
42
|
+
test.verdict = evaluation_1.Verdict.PASSED;
|
|
43
|
+
test.resultCode = 'P1';
|
|
44
|
+
}
|
|
45
|
+
else if (n > 72000) {
|
|
46
|
+
test.verdict = evaluation_1.Verdict.PASSED;
|
|
47
|
+
test.resultCode = 'P2';
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
test.verdict = evaluation_1.Verdict.FAILED;
|
|
51
|
+
if (indexOf === -1) {
|
|
52
|
+
test.description = this.translate('F1', { seconds: n });
|
|
53
|
+
test.resultCode = 'F1';
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
test.description = this.translate('F2', { seconds: n });
|
|
57
|
+
test.resultCode = 'F2';
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
test.addElement(element);
|
|
61
|
+
this.addTestResult(test);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
checkIfIsNumber(num) {
|
|
65
|
+
let success = true;
|
|
66
|
+
for (const n of num || []) {
|
|
67
|
+
if (isNaN(parseInt(n, 0))) {
|
|
68
|
+
success = false;
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return success;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.QW_ACT_R4 = QW_ACT_R4;
|
|
76
|
+
__decorate([
|
|
77
|
+
applicability_1.ElementExists,
|
|
78
|
+
(0, applicability_1.ElementHasAttribute)('content'),
|
|
79
|
+
(0, applicability_1.ElementHasNonEmptyAttribute)('content'),
|
|
80
|
+
(0, applicability_1.ElementHasAttribute)('http-equiv'),
|
|
81
|
+
(0, applicability_1.ElementHasNonEmptyAttribute)('http-equiv'),
|
|
82
|
+
__metadata("design:type", Function),
|
|
83
|
+
__metadata("design:paramtypes", [Function]),
|
|
84
|
+
__metadata("design:returntype", void 0)
|
|
85
|
+
], QW_ACT_R4.prototype, "execute", null);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QW-ACT-R40.d.ts","sourceRoot":"","sources":["../../src/rules/QW-ACT-R40.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,cAAM,UAAW,SAAQ,UAAU;IAIjC,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;CAwClC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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_ACT_R40 = void 0;
|
|
13
|
+
const applicability_1 = require("@qualweb/util/applicability");
|
|
14
|
+
const evaluation_1 = require("@qualweb/core/evaluation");
|
|
15
|
+
const AtomicRule_object_1 = require("../lib/AtomicRule.object");
|
|
16
|
+
class QW_ACT_R40 extends AtomicRule_object_1.AtomicRule {
|
|
17
|
+
execute(element) {
|
|
18
|
+
let isApplicable = false;
|
|
19
|
+
let parent = element;
|
|
20
|
+
while (parent && parent.getElementTagName().toLowerCase() !== 'html') {
|
|
21
|
+
if (parent.getElementTagName().toLowerCase() === 'svg') {
|
|
22
|
+
isApplicable = false;
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
const of = parent.getElementStyleProperty('overflow', null);
|
|
26
|
+
const ofx = parent.getElementStyleProperty('overflow-x', null);
|
|
27
|
+
const ofy = parent.getElementStyleProperty('overflow-y', null);
|
|
28
|
+
if (of === 'hidden' ||
|
|
29
|
+
of === 'clip' ||
|
|
30
|
+
ofx === 'hidden' ||
|
|
31
|
+
ofx === 'clip' ||
|
|
32
|
+
ofy === 'hidden' ||
|
|
33
|
+
ofy === 'clip') {
|
|
34
|
+
isApplicable = true;
|
|
35
|
+
}
|
|
36
|
+
const ariaHidden = parent.getElementAttribute('aria-hidden');
|
|
37
|
+
if (ariaHidden !== null && ariaHidden === 'true') {
|
|
38
|
+
isApplicable = false;
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
parent = parent.getElementParent();
|
|
42
|
+
}
|
|
43
|
+
if (isApplicable) {
|
|
44
|
+
const test = new evaluation_1.Test(evaluation_1.Verdict.WARNING, undefined, 'W1');
|
|
45
|
+
test.addElement(element);
|
|
46
|
+
this.addTestResult(test);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.QW_ACT_R40 = QW_ACT_R40;
|
|
51
|
+
__decorate([
|
|
52
|
+
applicability_1.ElementExists,
|
|
53
|
+
applicability_1.ElementHasTextNode,
|
|
54
|
+
applicability_1.ElementIsVisible,
|
|
55
|
+
__metadata("design:type", Function),
|
|
56
|
+
__metadata("design:paramtypes", [Function]),
|
|
57
|
+
__metadata("design:returntype", void 0)
|
|
58
|
+
], QW_ACT_R40.prototype, "execute", null);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QW-ACT-R41.d.ts","sourceRoot":"","sources":["../../src/rules/QW-ACT-R41.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,cAAM,UAAW,SAAQ,UAAU;IAejC,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;CAKlC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
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_ACT_R41 = void 0;
|
|
13
|
+
const applicability_1 = require("@qualweb/util/applicability");
|
|
14
|
+
const evaluation_1 = require("@qualweb/core/evaluation");
|
|
15
|
+
const AtomicRule_object_1 = require("../lib/AtomicRule.object");
|
|
16
|
+
class QW_ACT_R41 extends AtomicRule_object_1.AtomicRule {
|
|
17
|
+
execute(element) {
|
|
18
|
+
const test = new evaluation_1.Test(evaluation_1.Verdict.WARNING, undefined, 'W1');
|
|
19
|
+
test.addElement(element);
|
|
20
|
+
this.addTestResult(test);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.QW_ACT_R41 = QW_ACT_R41;
|
|
24
|
+
__decorate([
|
|
25
|
+
applicability_1.ElementExists,
|
|
26
|
+
(0, applicability_1.ElementHasOneOfTheFollowingRoles)([
|
|
27
|
+
'checkbox',
|
|
28
|
+
'combobox',
|
|
29
|
+
'listbox',
|
|
30
|
+
'menuitemcheckbox',
|
|
31
|
+
'menuitemradio',
|
|
32
|
+
'radio',
|
|
33
|
+
'searchbox',
|
|
34
|
+
'slider',
|
|
35
|
+
'spinbutton',
|
|
36
|
+
'switch',
|
|
37
|
+
'textbox'
|
|
38
|
+
]),
|
|
39
|
+
__metadata("design:type", Function),
|
|
40
|
+
__metadata("design:paramtypes", [Function]),
|
|
41
|
+
__metadata("design:returntype", void 0)
|
|
42
|
+
], QW_ACT_R41.prototype, "execute", null);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QW-ACT-R42.d.ts","sourceRoot":"","sources":["../../src/rules/QW-ACT-R42.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,cAAM,UAAW,SAAQ,UAAU;IAIjC,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;CAelC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
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_ACT_R42 = void 0;
|
|
13
|
+
const applicability_1 = require("@qualweb/util/applicability");
|
|
14
|
+
const evaluation_1 = require("@qualweb/core/evaluation");
|
|
15
|
+
const AtomicRule_object_1 = require("../lib/AtomicRule.object");
|
|
16
|
+
class QW_ACT_R42 extends AtomicRule_object_1.AtomicRule {
|
|
17
|
+
execute(element) {
|
|
18
|
+
const test = new evaluation_1.Test();
|
|
19
|
+
const accessibleName = window.AccessibilityUtils.getAccessibleName(element);
|
|
20
|
+
if (accessibleName && accessibleName.trim() !== '') {
|
|
21
|
+
test.verdict = evaluation_1.Verdict.PASSED;
|
|
22
|
+
test.resultCode = 'P1';
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
test.verdict = evaluation_1.Verdict.FAILED;
|
|
26
|
+
test.resultCode = 'F1';
|
|
27
|
+
}
|
|
28
|
+
test.addElement(element, true, false, true);
|
|
29
|
+
this.addTestResult(test);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.QW_ACT_R42 = QW_ACT_R42;
|
|
33
|
+
__decorate([
|
|
34
|
+
applicability_1.ElementExists,
|
|
35
|
+
applicability_1.ElementIsInAccessibilityTree,
|
|
36
|
+
applicability_1.ElementIsNonText,
|
|
37
|
+
__metadata("design:type", Function),
|
|
38
|
+
__metadata("design:paramtypes", [Function]),
|
|
39
|
+
__metadata("design:returntype", void 0)
|
|
40
|
+
], QW_ACT_R42.prototype, "execute", null);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { QWElement } from '@qualweb/qw-element';
|
|
2
|
+
import { AtomicRule } from '../lib/AtomicRule.object';
|
|
3
|
+
declare class QW_ACT_R43 extends AtomicRule {
|
|
4
|
+
execute(element: QWElement): void;
|
|
5
|
+
private isInSequentialFocusNavigation;
|
|
6
|
+
}
|
|
7
|
+
export { QW_ACT_R43 };
|
|
8
|
+
//# sourceMappingURL=QW-ACT-R43.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QW-ACT-R43.d.ts","sourceRoot":"","sources":["../../src/rules/QW-ACT-R43.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,cAAM,UAAW,SAAQ,UAAU;IAGjC,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAqEjC,OAAO,CAAC,6BAA6B;CAetC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
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_ACT_R43 = void 0;
|
|
13
|
+
const applicability_1 = require("@qualweb/util/applicability");
|
|
14
|
+
const evaluation_1 = require("@qualweb/core/evaluation");
|
|
15
|
+
const AtomicRule_object_1 = require("../lib/AtomicRule.object");
|
|
16
|
+
class QW_ACT_R43 extends AtomicRule_object_1.AtomicRule {
|
|
17
|
+
execute(element) {
|
|
18
|
+
if (element.getElementTagName().toLowerCase() === 'iframe') {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
let hasVisibleChildren = false;
|
|
22
|
+
let isApplicable = false;
|
|
23
|
+
for (const child of element.getElementChildren()) {
|
|
24
|
+
if (window.DomUtils.isElementVisible(child)) {
|
|
25
|
+
hasVisibleChildren = true;
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (hasVisibleChildren) {
|
|
30
|
+
const of = element.getElementStyleProperty('overflow', null);
|
|
31
|
+
const ofx = element.getElementStyleProperty('overflow-x', null);
|
|
32
|
+
const ofy = element.getElementStyleProperty('overflow-y', null);
|
|
33
|
+
if (of === 'auto' ||
|
|
34
|
+
of === 'clip' ||
|
|
35
|
+
of === 'scroll' ||
|
|
36
|
+
ofx === 'auto' ||
|
|
37
|
+
ofx === 'clip' ||
|
|
38
|
+
ofx === 'scroll' ||
|
|
39
|
+
ofy === 'auto' ||
|
|
40
|
+
ofy === 'clip' ||
|
|
41
|
+
ofy === 'scroll') {
|
|
42
|
+
const scrollWidth = element.getElementProperty('scrollWidth');
|
|
43
|
+
const clientWidth = element.getElementProperty('clientWidth');
|
|
44
|
+
const differenceWidth = parseInt(scrollWidth) - parseInt(clientWidth);
|
|
45
|
+
const scrollHeight = element.getElementProperty('scrollHeight');
|
|
46
|
+
const clientHeight = element.getElementProperty('clientHeight');
|
|
47
|
+
const differenceHeight = parseInt(scrollHeight) - parseInt(clientHeight);
|
|
48
|
+
const paddingLeft = element.getElementStyleProperty('padding-left', null);
|
|
49
|
+
const paddingRight = element.getElementStyleProperty('padding-right', null);
|
|
50
|
+
const paddingTop = element.getElementStyleProperty('padding-top', null);
|
|
51
|
+
const paddingBottom = element.getElementStyleProperty('padding-bottom', null);
|
|
52
|
+
isApplicable =
|
|
53
|
+
differenceWidth > parseInt(paddingLeft) ||
|
|
54
|
+
differenceWidth > parseInt(paddingRight) ||
|
|
55
|
+
differenceHeight > parseInt(paddingTop) ||
|
|
56
|
+
differenceHeight > parseInt(paddingBottom);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (isApplicable) {
|
|
60
|
+
const test = new evaluation_1.Test();
|
|
61
|
+
if (this.isInSequentialFocusNavigation(element)) {
|
|
62
|
+
test.verdict = evaluation_1.Verdict.PASSED;
|
|
63
|
+
test.resultCode = 'P1';
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
test.verdict = evaluation_1.Verdict.FAILED;
|
|
67
|
+
test.resultCode = 'F1';
|
|
68
|
+
}
|
|
69
|
+
test.addElement(element);
|
|
70
|
+
this.addTestResult(test);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
isInSequentialFocusNavigation(element) {
|
|
74
|
+
if (window.AccessibilityUtils.isPartOfSequentialFocusNavigation(element)) {
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
let result = false;
|
|
79
|
+
for (const child of element.getElementChildren()) {
|
|
80
|
+
if (window.AccessibilityUtils.isPartOfSequentialFocusNavigation(child)) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
result = result || this.isInSequentialFocusNavigation(child);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return result;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.QW_ACT_R43 = QW_ACT_R43;
|
|
92
|
+
__decorate([
|
|
93
|
+
applicability_1.ElementExists,
|
|
94
|
+
applicability_1.ElementIsVisible,
|
|
95
|
+
__metadata("design:type", Function),
|
|
96
|
+
__metadata("design:paramtypes", [Function]),
|
|
97
|
+
__metadata("design:returntype", void 0)
|
|
98
|
+
], QW_ACT_R43.prototype, "execute", null);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { QWElement } from '@qualweb/qw-element';
|
|
2
|
+
import { AtomicRule } from '../lib/AtomicRule.object';
|
|
3
|
+
declare class QW_ACT_R44 extends AtomicRule {
|
|
4
|
+
execute(element: QWElement): void;
|
|
5
|
+
private isInListExceptIndex;
|
|
6
|
+
}
|
|
7
|
+
export { QW_ACT_R44 };
|
|
8
|
+
//# sourceMappingURL=QW-ACT-R44.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QW-ACT-R44.d.ts","sourceRoot":"","sources":["../../src/rules/QW-ACT-R44.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,cAAM,UAAW,SAAQ,UAAU;IAEjC,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAgEjC,OAAO,CAAC,mBAAmB;CAiB5B;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
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_ACT_R44 = void 0;
|
|
13
|
+
const applicability_1 = require("@qualweb/util/applicability");
|
|
14
|
+
const evaluation_1 = require("@qualweb/core/evaluation");
|
|
15
|
+
const AtomicRule_object_1 = require("../lib/AtomicRule.object");
|
|
16
|
+
class QW_ACT_R44 extends AtomicRule_object_1.AtomicRule {
|
|
17
|
+
execute(element) {
|
|
18
|
+
const links = element.getElements('a[href], [role="link"]');
|
|
19
|
+
const linkDataList = new Array();
|
|
20
|
+
for (const link of links || []) {
|
|
21
|
+
let aName;
|
|
22
|
+
if (window.DomUtils.isElementADescendantOf(link, ['svg'], [])) {
|
|
23
|
+
aName = window.AccessibilityUtils.getAccessibleNameSVG(link);
|
|
24
|
+
}
|
|
25
|
+
else if (window.AccessibilityUtils.isElementInAT(link)) {
|
|
26
|
+
aName = window.AccessibilityUtils.getAccessibleName(link);
|
|
27
|
+
}
|
|
28
|
+
const href = link.getElementAttribute('href');
|
|
29
|
+
const context = window.AccessibilityUtils.getLinkContext(link);
|
|
30
|
+
if (aName) {
|
|
31
|
+
linkDataList.push({
|
|
32
|
+
context,
|
|
33
|
+
href,
|
|
34
|
+
aName,
|
|
35
|
+
link
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
let counter = 0;
|
|
40
|
+
const blacklist = new Array();
|
|
41
|
+
for (const linkData of linkDataList || []) {
|
|
42
|
+
const test = new evaluation_1.Test();
|
|
43
|
+
const elementList = new Array();
|
|
44
|
+
if (blacklist.indexOf(counter) >= 0) {
|
|
45
|
+
}
|
|
46
|
+
else if (!!linkData.aName && linkData.aName !== '') {
|
|
47
|
+
const hasEqualAn = this.isInListExceptIndex(linkData, linkDataList, counter);
|
|
48
|
+
if (hasEqualAn.length > 0) {
|
|
49
|
+
blacklist.push(...hasEqualAn);
|
|
50
|
+
let hasEqualHref = false;
|
|
51
|
+
for (const index of hasEqualAn) {
|
|
52
|
+
hasEqualHref =
|
|
53
|
+
linkDataList[index].href === linkDataList[counter].href && linkDataList[counter].href !== null;
|
|
54
|
+
elementList.push(linkDataList[index].link);
|
|
55
|
+
}
|
|
56
|
+
elementList.push(linkDataList[counter].link);
|
|
57
|
+
if (hasEqualHref) {
|
|
58
|
+
test.verdict = evaluation_1.Verdict.PASSED;
|
|
59
|
+
test.resultCode = 'P1';
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
test.verdict = evaluation_1.Verdict.WARNING;
|
|
63
|
+
test.resultCode = 'W1';
|
|
64
|
+
}
|
|
65
|
+
test.addElements(elementList);
|
|
66
|
+
this.addTestResult(test);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
counter++;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
isInListExceptIndex(linkData, linkDataList, index) {
|
|
73
|
+
const result = new Array();
|
|
74
|
+
let counter = 0;
|
|
75
|
+
for (const linkDataToCompare of linkDataList || []) {
|
|
76
|
+
if (linkDataToCompare.aName === linkData.aName &&
|
|
77
|
+
linkData.context.toString() === linkDataToCompare.context.toString() &&
|
|
78
|
+
counter !== index) {
|
|
79
|
+
result.push(counter);
|
|
80
|
+
}
|
|
81
|
+
counter++;
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.QW_ACT_R44 = QW_ACT_R44;
|
|
87
|
+
__decorate([
|
|
88
|
+
applicability_1.ElementExists,
|
|
89
|
+
__metadata("design:type", Function),
|
|
90
|
+
__metadata("design:paramtypes", [Function]),
|
|
91
|
+
__metadata("design:returntype", void 0)
|
|
92
|
+
], QW_ACT_R44.prototype, "execute", null);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QW-ACT-R48.d.ts","sourceRoot":"","sources":["../../src/rules/QW-ACT-R48.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,cAAM,UAAW,SAAQ,UAAU;IAEjC,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;CAelC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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_ACT_R48 = void 0;
|
|
13
|
+
const applicability_1 = require("@qualweb/util/applicability");
|
|
14
|
+
const evaluation_1 = require("@qualweb/core/evaluation");
|
|
15
|
+
const AtomicRule_object_1 = require("../lib/AtomicRule.object");
|
|
16
|
+
class QW_ACT_R48 extends AtomicRule_object_1.AtomicRule {
|
|
17
|
+
execute(element) {
|
|
18
|
+
const test = new evaluation_1.Test();
|
|
19
|
+
const isInAT = window.AccessibilityUtils.isElementInAT(element);
|
|
20
|
+
if (!isInAT) {
|
|
21
|
+
test.verdict = evaluation_1.Verdict.PASSED;
|
|
22
|
+
test.resultCode = 'P1';
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
test.verdict = evaluation_1.Verdict.FAILED;
|
|
26
|
+
test.resultCode = 'F1';
|
|
27
|
+
}
|
|
28
|
+
test.addElement(element);
|
|
29
|
+
this.addTestResult(test);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.QW_ACT_R48 = QW_ACT_R48;
|
|
33
|
+
__decorate([
|
|
34
|
+
applicability_1.ElementExists,
|
|
35
|
+
__metadata("design:type", Function),
|
|
36
|
+
__metadata("design:paramtypes", [Function]),
|
|
37
|
+
__metadata("design:returntype", void 0)
|
|
38
|
+
], QW_ACT_R48.prototype, "execute", null);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { QWElement } from '@qualweb/qw-element';
|
|
2
|
+
import { AtomicRule } from '../lib/AtomicRule.object';
|
|
3
|
+
declare class QW_ACT_R49 extends AtomicRule {
|
|
4
|
+
execute(element: QWElement): void;
|
|
5
|
+
private srcTimeIsLessThanThree;
|
|
6
|
+
}
|
|
7
|
+
export { QW_ACT_R49 };
|
|
8
|
+
//# sourceMappingURL=QW-ACT-R49.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QW-ACT-R49.d.ts","sourceRoot":"","sources":["../../src/rules/QW-ACT-R49.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,cAAM,UAAW,SAAQ,UAAU;IAEjC,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAsCjC,OAAO,CAAC,sBAAsB;CAoB/B;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
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_ACT_R49 = void 0;
|
|
13
|
+
const applicability_1 = require("@qualweb/util/applicability");
|
|
14
|
+
const evaluation_1 = require("@qualweb/core/evaluation");
|
|
15
|
+
const AtomicRule_object_1 = require("../lib/AtomicRule.object");
|
|
16
|
+
class QW_ACT_R49 extends AtomicRule_object_1.AtomicRule {
|
|
17
|
+
execute(element) {
|
|
18
|
+
const test = new evaluation_1.Test();
|
|
19
|
+
const autoplay = element.getElementProperty('autoplay') === "true";
|
|
20
|
+
const paused = element.getElementAttribute('paused') === "true";
|
|
21
|
+
const muted = element.getElementProperty('muted') === "true";
|
|
22
|
+
const srcAttr = element.getElementAttribute('src');
|
|
23
|
+
const childSrc = element.getElements('source[src]');
|
|
24
|
+
const duration = parseInt(element.getElementProperty('duration'));
|
|
25
|
+
const hasSoundTrack = window.DomUtils.videoElementHasAudio(element);
|
|
26
|
+
const isAudioElement = element.getElementTagName() === 'audio';
|
|
27
|
+
const hasPuppeteerApplicableData = duration > 3 && (hasSoundTrack || isAudioElement);
|
|
28
|
+
const src = new Array();
|
|
29
|
+
if (childSrc.length > 0) {
|
|
30
|
+
for (const child of childSrc || []) {
|
|
31
|
+
src.push(child.getElementAttribute('src'));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
src.push(srcAttr);
|
|
36
|
+
}
|
|
37
|
+
if (!(!autoplay || paused || muted || !hasPuppeteerApplicableData)) {
|
|
38
|
+
if (this.srcTimeIsLessThanThree(src, duration)) {
|
|
39
|
+
test.verdict = evaluation_1.Verdict.PASSED;
|
|
40
|
+
test.resultCode = 'P1';
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
test.verdict = evaluation_1.Verdict.FAILED;
|
|
44
|
+
test.resultCode = 'F1';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
test.verdict = evaluation_1.Verdict.INAPPLICABLE;
|
|
49
|
+
test.resultCode = 'I1';
|
|
50
|
+
}
|
|
51
|
+
test.addElement(element);
|
|
52
|
+
this.addTestResult(test);
|
|
53
|
+
}
|
|
54
|
+
srcTimeIsLessThanThree(src, duration) {
|
|
55
|
+
let result = false;
|
|
56
|
+
for (const child of src || []) {
|
|
57
|
+
if (child) {
|
|
58
|
+
const values = String(child).split('#t=');
|
|
59
|
+
if (values.length > 1) {
|
|
60
|
+
const separatedValues = values[1].split(',');
|
|
61
|
+
const value1 = Number(separatedValues[0]);
|
|
62
|
+
const value2 = Number(separatedValues[1]);
|
|
63
|
+
if (value1 && value2) {
|
|
64
|
+
result = Math.abs(value1 - value2) <= 3;
|
|
65
|
+
}
|
|
66
|
+
else if (value1) {
|
|
67
|
+
result = Math.abs(duration - value1) <= 3;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.QW_ACT_R49 = QW_ACT_R49;
|
|
76
|
+
__decorate([
|
|
77
|
+
applicability_1.ElementExists,
|
|
78
|
+
__metadata("design:type", Function),
|
|
79
|
+
__metadata("design:paramtypes", [Function]),
|
|
80
|
+
__metadata("design:returntype", void 0)
|
|
81
|
+
], QW_ACT_R49.prototype, "execute", null);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { QWElement } from '@qualweb/qw-element';
|
|
2
|
+
import { AtomicRule } from '../lib/AtomicRule.object';
|
|
3
|
+
declare class QW_ACT_R5 extends AtomicRule {
|
|
4
|
+
execute(element: QWElement): void;
|
|
5
|
+
private checkValidity;
|
|
6
|
+
}
|
|
7
|
+
export { QW_ACT_R5 };
|
|
8
|
+
//# sourceMappingURL=QW-ACT-R5.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QW-ACT-R5.d.ts","sourceRoot":"","sources":["../../src/rules/QW-ACT-R5.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,cAAM,SAAU,SAAQ,UAAU;IAKhC,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAiBjC,OAAO,CAAC,aAAa;CAItB;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|