accessibility-insights-report 4.3.1 → 4.3.2
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/drop/index.js +1784 -1240
- package/package.json +3 -3
package/drop/index.js
CHANGED
|
@@ -1,8 +1,33 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
2
7
|
var __export = (target, all) => {
|
|
3
8
|
for (var name in all)
|
|
4
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
5
10
|
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
+
mod
|
|
22
|
+
));
|
|
23
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
+
|
|
25
|
+
// src/reports/package/reporter-factory.ts
|
|
26
|
+
var reporter_factory_exports = {};
|
|
27
|
+
__export(reporter_factory_exports, {
|
|
28
|
+
reporterFactory: () => reporterFactory
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(reporter_factory_exports);
|
|
6
31
|
|
|
7
32
|
// src/common/application-properties-provider.ts
|
|
8
33
|
var createToolData = (scanEngineName, scanEngineVersion, toolName2, toolVersion, environmentName, resolution) => {
|
|
@@ -21,7 +46,7 @@ var createToolData = (scanEngineName, scanEngineVersion, toolName2, toolVersion,
|
|
|
21
46
|
};
|
|
22
47
|
|
|
23
48
|
// src/common/components/heading-element-for-level.tsx
|
|
24
|
-
|
|
49
|
+
var import_react = require("@fluentui/react");
|
|
25
50
|
|
|
26
51
|
// src/common/react/named-fc.ts
|
|
27
52
|
function NamedFC(displayName, component) {
|
|
@@ -30,19 +55,22 @@ function NamedFC(displayName, component) {
|
|
|
30
55
|
}
|
|
31
56
|
|
|
32
57
|
// src/common/components/heading-element-for-level.tsx
|
|
33
|
-
|
|
58
|
+
var React = __toESM(require("react"));
|
|
34
59
|
|
|
35
60
|
// src/common/components/heading-element-for-level.scss
|
|
36
61
|
var heading_element_for_level_default = { "headingElementForLevel": "heading-element-for-level--ifVX6" };
|
|
37
62
|
|
|
38
63
|
// src/common/components/heading-element-for-level.tsx
|
|
39
|
-
var HeadingElementForLevel = NamedFC(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
64
|
+
var HeadingElementForLevel = NamedFC(
|
|
65
|
+
"HeadingElementForLevel",
|
|
66
|
+
({ headingLevel, ...props }) => {
|
|
67
|
+
const newProps = {
|
|
68
|
+
...props,
|
|
69
|
+
className: (0, import_react.css)(heading_element_for_level_default.headingElementForLevel, props.className)
|
|
70
|
+
};
|
|
71
|
+
return React.createElement(`h${headingLevel}`, newProps);
|
|
72
|
+
}
|
|
73
|
+
);
|
|
46
74
|
var GetNextHeadingLevel = (headingLevel) => {
|
|
47
75
|
const nextLevel = headingLevel + 1;
|
|
48
76
|
if (nextLevel > 6) {
|
|
@@ -127,26 +155,78 @@ var RecommendColor = class {
|
|
|
127
155
|
lightened = back;
|
|
128
156
|
darkened = fore;
|
|
129
157
|
}
|
|
130
|
-
const recommendLightened = this.recommendAColor(
|
|
131
|
-
|
|
158
|
+
const recommendLightened = this.recommendAColor(
|
|
159
|
+
contrast,
|
|
160
|
+
lightened,
|
|
161
|
+
darker,
|
|
162
|
+
true,
|
|
163
|
+
colorContrast
|
|
164
|
+
);
|
|
165
|
+
const recommendDarkened = this.recommendAColor(
|
|
166
|
+
contrast,
|
|
167
|
+
darkened,
|
|
168
|
+
lighter,
|
|
169
|
+
false,
|
|
170
|
+
colorContrast
|
|
171
|
+
);
|
|
132
172
|
let sentence = " ", foreRec, backRec;
|
|
133
173
|
if (lighter === foreLum) {
|
|
134
174
|
if (recommendLightened[1] > colorContrast) {
|
|
135
|
-
foreRec = this.rgbToHex(
|
|
136
|
-
|
|
175
|
+
foreRec = this.rgbToHex(
|
|
176
|
+
recommendLightened[0][0],
|
|
177
|
+
recommendLightened[0][1],
|
|
178
|
+
recommendLightened[0][2]
|
|
179
|
+
);
|
|
180
|
+
sentence = this.createSentence(
|
|
181
|
+
foreRec,
|
|
182
|
+
recommendLightened[1].toFixed(2),
|
|
183
|
+
sentence,
|
|
184
|
+
true,
|
|
185
|
+
backOriginal
|
|
186
|
+
);
|
|
137
187
|
}
|
|
138
188
|
if (recommendDarkened[1] > colorContrast) {
|
|
139
|
-
backRec = this.rgbToHex(
|
|
140
|
-
|
|
189
|
+
backRec = this.rgbToHex(
|
|
190
|
+
recommendDarkened[0][0],
|
|
191
|
+
recommendDarkened[0][1],
|
|
192
|
+
recommendDarkened[0][2]
|
|
193
|
+
);
|
|
194
|
+
sentence += this.createSentence(
|
|
195
|
+
backRec,
|
|
196
|
+
recommendDarkened[1].toFixed(2),
|
|
197
|
+
sentence,
|
|
198
|
+
false,
|
|
199
|
+
foreOriginal
|
|
200
|
+
);
|
|
141
201
|
}
|
|
142
202
|
} else {
|
|
143
203
|
if (recommendDarkened[1] > colorContrast) {
|
|
144
|
-
foreRec = this.rgbToHex(
|
|
145
|
-
|
|
204
|
+
foreRec = this.rgbToHex(
|
|
205
|
+
recommendDarkened[0][0],
|
|
206
|
+
recommendDarkened[0][1],
|
|
207
|
+
recommendDarkened[0][2]
|
|
208
|
+
);
|
|
209
|
+
sentence = this.createSentence(
|
|
210
|
+
foreRec,
|
|
211
|
+
recommendDarkened[1].toFixed(2),
|
|
212
|
+
sentence,
|
|
213
|
+
true,
|
|
214
|
+
backOriginal
|
|
215
|
+
);
|
|
146
216
|
}
|
|
147
217
|
if (recommendLightened[1] > colorContrast) {
|
|
148
|
-
backRec = this.rgbToHex(
|
|
149
|
-
|
|
218
|
+
backRec = this.rgbToHex(
|
|
219
|
+
recommendLightened[0][0],
|
|
220
|
+
recommendLightened[0][1],
|
|
221
|
+
recommendLightened[0][2]
|
|
222
|
+
);
|
|
223
|
+
sentence += this.createSentence(
|
|
224
|
+
backRec,
|
|
225
|
+
recommendLightened[1].toFixed(2),
|
|
226
|
+
sentence,
|
|
227
|
+
false,
|
|
228
|
+
foreOriginal
|
|
229
|
+
);
|
|
150
230
|
}
|
|
151
231
|
}
|
|
152
232
|
return sentence;
|
|
@@ -230,7 +310,7 @@ var webRulesWithResources = [
|
|
|
230
310
|
];
|
|
231
311
|
|
|
232
312
|
// src/common/rule-based-view-model-provider.ts
|
|
233
|
-
|
|
313
|
+
var import_lodash = require("lodash");
|
|
234
314
|
|
|
235
315
|
// src/common/types/store-data/card-view-model.ts
|
|
236
316
|
var AllRuleResultStatuses = [
|
|
@@ -251,16 +331,16 @@ var getCardViewData = (rules, results, cardSelectionViewData) => {
|
|
|
251
331
|
const ruleResults = statusResults[result.status];
|
|
252
332
|
const isInstanceDisplayed = result.status === "fail" || result.status === "unknown";
|
|
253
333
|
let ruleResult = getExistingRuleFromResults(result.ruleId, ruleResults);
|
|
254
|
-
if (
|
|
334
|
+
if (ruleResult == null) {
|
|
255
335
|
const rule = getUnifiedRule(result.ruleId, rules);
|
|
256
336
|
if (!rule) {
|
|
257
337
|
continue;
|
|
258
338
|
}
|
|
259
|
-
const isExpanded = isInstanceDisplayed ? includes(cardSelectionViewData.expandedRuleIds, rule.id) : false;
|
|
339
|
+
const isExpanded = isInstanceDisplayed ? (0, import_lodash.includes)(cardSelectionViewData.expandedRuleIds, rule.id) : false;
|
|
260
340
|
ruleResult = createCardRuleResult(result.status, rule, isExpanded);
|
|
261
341
|
ruleResults.push(ruleResult);
|
|
262
342
|
}
|
|
263
|
-
const isSelected = isInstanceDisplayed ? includes(cardSelectionViewData.selectedResultUids, result.uid) : false;
|
|
343
|
+
const isSelected = isInstanceDisplayed ? (0, import_lodash.includes)(cardSelectionViewData.selectedResultUids, result.uid) : false;
|
|
264
344
|
const highlightStatus = cardSelectionViewData.resultsHighlightStatus[result.uid];
|
|
265
345
|
ruleResult.nodes.push(createCardResult(result, isSelected, highlightStatus));
|
|
266
346
|
ruleIdsWithResultNodes.add(result.ruleId);
|
|
@@ -316,8 +396,8 @@ var getUnifiedRule = (id2, rules) => rules.find((rule) => rule.id === id2);
|
|
|
316
396
|
var getRuleResultIndex = (ruleId, ruleResults) => ruleResults.findIndex((result) => result.id === ruleId);
|
|
317
397
|
|
|
318
398
|
// src/common/uid-generator.ts
|
|
319
|
-
|
|
320
|
-
var generateUID = v4;
|
|
399
|
+
var import_uuid = require("uuid");
|
|
400
|
+
var generateUID = import_uuid.v4;
|
|
321
401
|
|
|
322
402
|
// src/injected/adapters/resolution-creator.ts
|
|
323
403
|
var getFixResolution = (data) => {
|
|
@@ -339,7 +419,7 @@ var getCheckResolution = (data) => {
|
|
|
339
419
|
};
|
|
340
420
|
|
|
341
421
|
// src/injected/adapters/scan-results-to-unified-results.ts
|
|
342
|
-
|
|
422
|
+
var import_lodash2 = require("lodash");
|
|
343
423
|
|
|
344
424
|
// src/issue-filing/common/issue-filing-url-string-utils.ts
|
|
345
425
|
var getTitle = (data) => {
|
|
@@ -355,14 +435,19 @@ var getSelectorLastPart = (selector) => {
|
|
|
355
435
|
const selectorLastPart = splitedSelector[splitedSelector.length - 1];
|
|
356
436
|
const childCombinator = " > ";
|
|
357
437
|
if (selectorLastPart.lastIndexOf(childCombinator) > 0) {
|
|
358
|
-
return selectorLastPart.substr(
|
|
438
|
+
return selectorLastPart.substr(
|
|
439
|
+
selectorLastPart.lastIndexOf(childCombinator) + childCombinator.length
|
|
440
|
+
);
|
|
359
441
|
}
|
|
360
442
|
return selectorLastPart;
|
|
361
443
|
};
|
|
362
444
|
var standardizeTags = (data) => {
|
|
363
|
-
|
|
445
|
+
var _a;
|
|
446
|
+
const guidanceLinkTextTags = data.rule.guidance ? data.rule.guidance.map((link2) => link2.text.toUpperCase()) : [];
|
|
364
447
|
const tagsFromGuidanceLinkTags = [];
|
|
365
|
-
data.rule.guidance
|
|
448
|
+
(_a = data.rule.guidance) == null ? void 0 : _a.map(
|
|
449
|
+
(link2) => link2.tags ? link2.tags.map((tag) => tagsFromGuidanceLinkTags.push(tag.displayText)) : []
|
|
450
|
+
);
|
|
366
451
|
return guidanceLinkTextTags.concat(tagsFromGuidanceLinkTags);
|
|
367
452
|
};
|
|
368
453
|
var IssueFilingUrlStringUtils = {
|
|
@@ -385,8 +470,16 @@ var ConvertScanResultsToUnifiedResults = class {
|
|
|
385
470
|
};
|
|
386
471
|
this.automatedChecksCreateUnifiedResultsFromScanResults = (scanResults) => {
|
|
387
472
|
return [
|
|
388
|
-
...this.createUnifiedResultsFromRuleResults(
|
|
389
|
-
|
|
473
|
+
...this.createUnifiedResultsFromRuleResults(
|
|
474
|
+
scanResults.violations,
|
|
475
|
+
"fail",
|
|
476
|
+
this.getFixResolution
|
|
477
|
+
),
|
|
478
|
+
...this.createUnifiedResultsFromRuleResults(
|
|
479
|
+
scanResults.passes,
|
|
480
|
+
"pass",
|
|
481
|
+
this.getFixResolution
|
|
482
|
+
)
|
|
390
483
|
];
|
|
391
484
|
};
|
|
392
485
|
this.needsReviewConversion = (scanResults) => {
|
|
@@ -397,13 +490,23 @@ var ConvertScanResultsToUnifiedResults = class {
|
|
|
397
490
|
};
|
|
398
491
|
this.needsReviewCreateUnifiedResultsFromScanResults = (scanResults) => {
|
|
399
492
|
return [
|
|
400
|
-
...this.createUnifiedResultsFromRuleResults(
|
|
401
|
-
|
|
493
|
+
...this.createUnifiedResultsFromRuleResults(
|
|
494
|
+
scanResults.incomplete,
|
|
495
|
+
"unknown",
|
|
496
|
+
this.getCheckResolution
|
|
497
|
+
),
|
|
498
|
+
...this.createUnifiedResultsFromRuleResults(
|
|
499
|
+
scanResults.violations,
|
|
500
|
+
"unknown",
|
|
501
|
+
this.getCheckResolution
|
|
502
|
+
)
|
|
402
503
|
];
|
|
403
504
|
};
|
|
404
505
|
this.createUnifiedResultsFromRuleResults = (ruleResults, status, getResolution) => {
|
|
405
|
-
const unifiedResultFromRuleResults = (ruleResults || []).map(
|
|
406
|
-
|
|
506
|
+
const unifiedResultFromRuleResults = (ruleResults || []).map(
|
|
507
|
+
(result) => this.createUnifiedResultsFromRuleResult(result, status, getResolution)
|
|
508
|
+
);
|
|
509
|
+
return (0, import_lodash2.flatMap)(unifiedResultFromRuleResults);
|
|
407
510
|
};
|
|
408
511
|
this.createUnifiedResultsFromRuleResult = (ruleResult, status, getResolution) => {
|
|
409
512
|
return ruleResult.nodes.map((node) => {
|
|
@@ -423,7 +526,8 @@ var ConvertScanResultsToUnifiedResults = class {
|
|
|
423
526
|
identifiers: {
|
|
424
527
|
identifier: cssSelector,
|
|
425
528
|
conciseName: IssueFilingUrlStringUtils.getSelectorLastPart(cssSelector),
|
|
426
|
-
"css-selector": cssSelector
|
|
529
|
+
"css-selector": cssSelector,
|
|
530
|
+
target: nodeResult.target
|
|
427
531
|
},
|
|
428
532
|
descriptors: {
|
|
429
533
|
snippet: nodeResult.snippet || nodeResult.html
|
|
@@ -499,41 +603,46 @@ var NullComponent = NamedFC("NullComponent", () => {
|
|
|
499
603
|
});
|
|
500
604
|
|
|
501
605
|
// src/reports/combined-report-html-generator.tsx
|
|
502
|
-
|
|
606
|
+
var React6 = __toESM(require("react"));
|
|
503
607
|
|
|
504
608
|
// src/reports/components/new-tab-link-confirmation-dialog.tsx
|
|
505
|
-
|
|
609
|
+
var import_react3 = require("@fluentui/react");
|
|
506
610
|
|
|
507
611
|
// src/common/components/new-tab-link.tsx
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
612
|
+
var import_react2 = require("@fluentui/react");
|
|
613
|
+
var import_utilities = require("@fluentui/utilities");
|
|
614
|
+
var React2 = __toESM(require("react"));
|
|
511
615
|
var NewTabLink = NamedFC("NewTabLink", ({ className, ...props }) => {
|
|
512
616
|
const classNames3 = ["insights-link", className];
|
|
513
|
-
return /* @__PURE__ */ React2.createElement(Link, {
|
|
514
|
-
className:
|
|
617
|
+
return /* @__PURE__ */ React2.createElement(import_react2.Link, {
|
|
618
|
+
className: (0, import_utilities.css)(...classNames3),
|
|
515
619
|
...props,
|
|
516
620
|
target: "_blank"
|
|
517
621
|
});
|
|
518
622
|
});
|
|
519
623
|
|
|
520
624
|
// src/reports/components/new-tab-link-confirmation-dialog.tsx
|
|
521
|
-
|
|
522
|
-
var NewTabLinkWithConfirmationDialog = NamedFC(
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
}
|
|
625
|
+
var React3 = __toESM(require("react"));
|
|
626
|
+
var NewTabLinkWithConfirmationDialog = NamedFC(
|
|
627
|
+
"NewTabLinkWithConfirmationDialog",
|
|
628
|
+
(props) => {
|
|
629
|
+
const id2 = (0, import_react3.getId)("new-tab-link-with-confirmation-dialog__");
|
|
630
|
+
return /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement(NewTabLink, {
|
|
631
|
+
...props,
|
|
632
|
+
id: id2
|
|
633
|
+
}), /* @__PURE__ */ React3.createElement("script", {
|
|
634
|
+
dangerouslySetInnerHTML: {
|
|
635
|
+
__html: generateScriptToAddConfirmOnClickHandler(id2)
|
|
636
|
+
}
|
|
637
|
+
}));
|
|
638
|
+
}
|
|
639
|
+
);
|
|
533
640
|
var addConfirmOnClickHandler = function(linkId, doc, confirmCallback) {
|
|
534
641
|
const targetPageLink = doc.getElementById(linkId);
|
|
535
642
|
targetPageLink.addEventListener("click", function(event) {
|
|
536
|
-
const result = confirmCallback(
|
|
643
|
+
const result = confirmCallback(
|
|
644
|
+
"Are you sure you want to navigate away from the Accessibility Insights report?\nThis link will open the target page in a new tab.\n\nPress OK to continue or Cancel to stay on the current page."
|
|
645
|
+
);
|
|
537
646
|
if (result === false) {
|
|
538
647
|
event.preventDefault();
|
|
539
648
|
}
|
|
@@ -542,7 +651,7 @@ var addConfirmOnClickHandler = function(linkId, doc, confirmCallback) {
|
|
|
542
651
|
var generateScriptToAddConfirmOnClickHandler = (linkId) => `(${String(addConfirmOnClickHandler)})(${JSON.stringify(linkId)}, document, confirm);`;
|
|
543
652
|
|
|
544
653
|
// src/reports/components/report-sections/report-body.tsx
|
|
545
|
-
|
|
654
|
+
var React4 = __toESM(require("react"));
|
|
546
655
|
|
|
547
656
|
// src/reports/components/report-sections/report-section-factory.tsx
|
|
548
657
|
var ResultSectionTypes = {
|
|
@@ -592,28 +701,31 @@ var ReportBody = class extends React4.Component {
|
|
|
592
701
|
};
|
|
593
702
|
|
|
594
703
|
// src/reports/components/report-sections/report-collapsible-container.tsx
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
var ReportCollapsibleContainer = NamedFC(
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
704
|
+
var import_utilities2 = require("@fluentui/utilities");
|
|
705
|
+
var React5 = __toESM(require("react"));
|
|
706
|
+
var ReportCollapsibleContainer = NamedFC(
|
|
707
|
+
"ReportCollapsibleContainer",
|
|
708
|
+
(props) => {
|
|
709
|
+
const { id: id2, header, headingLevel, content, containerClassName, buttonAriaLabel } = props;
|
|
710
|
+
const contentId = `content-container-${id2}` + (props.testKey ? `-${props.testKey}` : "");
|
|
711
|
+
const outerDivClassName = (0, import_utilities2.css)("collapsible-container", containerClassName, "collapsed");
|
|
712
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
713
|
+
className: outerDivClassName
|
|
714
|
+
}, /* @__PURE__ */ React5.createElement(HeadingElementForLevel, {
|
|
715
|
+
headingLevel,
|
|
716
|
+
className: "title-container"
|
|
717
|
+
}, /* @__PURE__ */ React5.createElement("button", {
|
|
718
|
+
className: "collapsible-control",
|
|
719
|
+
"aria-expanded": "false",
|
|
720
|
+
"aria-controls": contentId,
|
|
721
|
+
"aria-label": buttonAriaLabel
|
|
722
|
+
}, header)), /* @__PURE__ */ React5.createElement("div", {
|
|
723
|
+
id: contentId,
|
|
724
|
+
className: "collapsible-content",
|
|
725
|
+
"aria-hidden": "true"
|
|
726
|
+
}, content));
|
|
727
|
+
}
|
|
728
|
+
);
|
|
617
729
|
var ReportCollapsibleContainerControl = (collapsibleControlProps) => /* @__PURE__ */ React5.createElement(ReportCollapsibleContainer, {
|
|
618
730
|
...collapsibleControlProps
|
|
619
731
|
});
|
|
@@ -666,7 +778,7 @@ var CombinedReportHtmlGenerator = class {
|
|
|
666
778
|
};
|
|
667
779
|
|
|
668
780
|
// src/common/components/cards/failed-instances-section.tsx
|
|
669
|
-
|
|
781
|
+
var React42 = __toESM(require("react"));
|
|
670
782
|
|
|
671
783
|
// src/reports/components/outcome-counter.ts
|
|
672
784
|
var countByCards = (cards) => cards.length;
|
|
@@ -685,17 +797,17 @@ var OutcomeCounter = {
|
|
|
685
797
|
var failed_instances_section_default = { "failedInstancesContainer": "failed-instances-container--3UUNb" };
|
|
686
798
|
|
|
687
799
|
// src/common/components/cards/result-section.tsx
|
|
688
|
-
|
|
689
|
-
|
|
800
|
+
var import_utilities5 = require("@fluentui/utilities");
|
|
801
|
+
var React41 = __toESM(require("react"));
|
|
690
802
|
|
|
691
803
|
// src/common/components/cards/result-section-content.tsx
|
|
692
|
-
|
|
804
|
+
var React39 = __toESM(require("react"));
|
|
693
805
|
|
|
694
806
|
// src/common/components/cards/rules-with-instances.tsx
|
|
695
|
-
|
|
807
|
+
var React38 = __toESM(require("react"));
|
|
696
808
|
|
|
697
809
|
// src/common/icons/check-icon.tsx
|
|
698
|
-
|
|
810
|
+
var React7 = __toESM(require("react"));
|
|
699
811
|
var CheckIcon = NamedFC("CheckIcon", () => /* @__PURE__ */ React7.createElement("span", {
|
|
700
812
|
className: "check-container"
|
|
701
813
|
}, /* @__PURE__ */ React7.createElement("svg", {
|
|
@@ -703,7 +815,9 @@ var CheckIcon = NamedFC("CheckIcon", () => /* @__PURE__ */ React7.createElement(
|
|
|
703
815
|
height: "16",
|
|
704
816
|
viewBox: "0 0 16 16",
|
|
705
817
|
fill: "none",
|
|
706
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
818
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
819
|
+
role: "img",
|
|
820
|
+
"aria-hidden": "true"
|
|
707
821
|
}, /* @__PURE__ */ React7.createElement("circle", {
|
|
708
822
|
cx: "8",
|
|
709
823
|
cy: "8",
|
|
@@ -722,7 +836,9 @@ var CheckIconInverted = NamedFC("CheckIconInverted", () => /* @__PURE__ */ React
|
|
|
722
836
|
height: "16",
|
|
723
837
|
viewBox: "0 0 16 16",
|
|
724
838
|
fill: "none",
|
|
725
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
839
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
840
|
+
role: "img",
|
|
841
|
+
"aria-hidden": "true"
|
|
726
842
|
}, /* @__PURE__ */ React7.createElement("path", {
|
|
727
843
|
fillRule: "evenodd",
|
|
728
844
|
clipRule: "evenodd",
|
|
@@ -731,13 +847,13 @@ var CheckIconInverted = NamedFC("CheckIconInverted", () => /* @__PURE__ */ React
|
|
|
731
847
|
}))));
|
|
732
848
|
|
|
733
849
|
// src/common/icons/circle-icon.tsx
|
|
734
|
-
|
|
850
|
+
var React8 = __toESM(require("react"));
|
|
735
851
|
var CircleIcon = NamedFC("CircleIcon", () => /* @__PURE__ */ React8.createElement("span", {
|
|
736
852
|
className: "check-container"
|
|
737
853
|
}));
|
|
738
854
|
|
|
739
855
|
// src/common/icons/cross-icon.tsx
|
|
740
|
-
|
|
856
|
+
var React9 = __toESM(require("react"));
|
|
741
857
|
var CrossIcon = NamedFC("CrossIcon", () => /* @__PURE__ */ React9.createElement("span", {
|
|
742
858
|
className: "check-container"
|
|
743
859
|
}, /* @__PURE__ */ React9.createElement("svg", {
|
|
@@ -745,7 +861,9 @@ var CrossIcon = NamedFC("CrossIcon", () => /* @__PURE__ */ React9.createElement(
|
|
|
745
861
|
height: "16",
|
|
746
862
|
viewBox: "0 0 16 16",
|
|
747
863
|
fill: "none",
|
|
748
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
864
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
865
|
+
role: "img",
|
|
866
|
+
"aria-hidden": "true"
|
|
749
867
|
}, /* @__PURE__ */ React9.createElement("circle", {
|
|
750
868
|
cx: "8",
|
|
751
869
|
cy: "8",
|
|
@@ -762,7 +880,9 @@ var CrossIconInverted = NamedFC("CrossIconInverted", () => /* @__PURE__ */ React
|
|
|
762
880
|
height: "16",
|
|
763
881
|
viewBox: "0 0 16 16",
|
|
764
882
|
fill: "none",
|
|
765
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
883
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
884
|
+
role: "img",
|
|
885
|
+
"aria-hidden": "true"
|
|
766
886
|
}, /* @__PURE__ */ React9.createElement("path", {
|
|
767
887
|
fillRule: "evenodd",
|
|
768
888
|
clipRule: "evenodd",
|
|
@@ -771,7 +891,7 @@ var CrossIconInverted = NamedFC("CrossIconInverted", () => /* @__PURE__ */ React
|
|
|
771
891
|
}))));
|
|
772
892
|
|
|
773
893
|
// src/common/icons/inapplicable-icon.tsx
|
|
774
|
-
|
|
894
|
+
var React10 = __toESM(require("react"));
|
|
775
895
|
var InapplicableIcon = NamedFC("InapplicableIcon", () => /* @__PURE__ */ React10.createElement("span", {
|
|
776
896
|
className: "check-container"
|
|
777
897
|
}, /* @__PURE__ */ React10.createElement("svg", {
|
|
@@ -779,7 +899,9 @@ var InapplicableIcon = NamedFC("InapplicableIcon", () => /* @__PURE__ */ React10
|
|
|
779
899
|
height: "16",
|
|
780
900
|
viewBox: "0 0 16 16",
|
|
781
901
|
fill: "none",
|
|
782
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
902
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
903
|
+
role: "img",
|
|
904
|
+
"aria-hidden": "true"
|
|
783
905
|
}, /* @__PURE__ */ React10.createElement("circle", {
|
|
784
906
|
cx: "8",
|
|
785
907
|
cy: "8",
|
|
@@ -801,7 +923,9 @@ var InapplicableIconInverted = NamedFC("InapplicableIconInverted", () => /* @__P
|
|
|
801
923
|
height: "16",
|
|
802
924
|
viewBox: "0 0 16 16",
|
|
803
925
|
fill: "none",
|
|
804
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
926
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
927
|
+
role: "img",
|
|
928
|
+
"aria-hidden": "true"
|
|
805
929
|
}, /* @__PURE__ */ React10.createElement("circle", {
|
|
806
930
|
cx: "8",
|
|
807
931
|
cy: "8",
|
|
@@ -818,7 +942,7 @@ var InapplicableIconInverted = NamedFC("InapplicableIconInverted", () => /* @__P
|
|
|
818
942
|
}))));
|
|
819
943
|
|
|
820
944
|
// src/reports/components/outcome-type.tsx
|
|
821
|
-
|
|
945
|
+
var React11 = __toESM(require("react"));
|
|
822
946
|
var outcomeTypeSemantics = {
|
|
823
947
|
pass: { pastTense: "Passed" },
|
|
824
948
|
incomplete: { pastTense: "Incomplete" },
|
|
@@ -845,16 +969,19 @@ var outcomeIconMapInverted = {
|
|
|
845
969
|
};
|
|
846
970
|
|
|
847
971
|
// src/reports/components/report-sections/minimal-rule-header.tsx
|
|
848
|
-
|
|
972
|
+
var React13 = __toESM(require("react"));
|
|
849
973
|
|
|
850
974
|
// src/reports/components/report-sections/minimal-rule-header.scss
|
|
851
975
|
var minimal_rule_header_default = { "outcomeChipContainer": "outcome-chip-container--G5Dfr" };
|
|
852
976
|
|
|
853
977
|
// src/reports/components/outcome-chip.tsx
|
|
854
|
-
|
|
978
|
+
var React12 = __toESM(require("react"));
|
|
855
979
|
|
|
856
980
|
// src/reports/components/outcome-icon.tsx
|
|
857
|
-
var OutcomeIcon = NamedFC(
|
|
981
|
+
var OutcomeIcon = NamedFC(
|
|
982
|
+
"OutcomeIcon",
|
|
983
|
+
(props) => outcomeIconMap[props.outcomeType]
|
|
984
|
+
);
|
|
858
985
|
|
|
859
986
|
// src/reports/components/outcome-chip.tsx
|
|
860
987
|
var failureCountAutomationId = "count";
|
|
@@ -911,39 +1038,42 @@ var MinimalRuleHeader = NamedFC("MinimalRuleHeader", (props) => {
|
|
|
911
1038
|
});
|
|
912
1039
|
|
|
913
1040
|
// src/common/components/cards/rule-content.tsx
|
|
914
|
-
|
|
1041
|
+
var React37 = __toESM(require("react"));
|
|
915
1042
|
|
|
916
1043
|
// src/common/components/cards/instance-details-group.tsx
|
|
917
|
-
|
|
1044
|
+
var React33 = __toESM(require("react"));
|
|
918
1045
|
|
|
919
1046
|
// src/common/components/cards/get-labelled-string-property-card-row.tsx
|
|
920
|
-
|
|
921
|
-
|
|
1047
|
+
var import_lodash3 = require("lodash");
|
|
1048
|
+
var React15 = __toESM(require("react"));
|
|
922
1049
|
|
|
923
1050
|
// src/common/components/cards/simple-card-row.tsx
|
|
924
|
-
|
|
925
|
-
|
|
1051
|
+
var import_utilities3 = require("@fluentui/utilities");
|
|
1052
|
+
var React14 = __toESM(require("react"));
|
|
926
1053
|
|
|
927
1054
|
// src/reports/components/instance-details.scss
|
|
928
1055
|
var instance_details_default = { "hiddenHighlightButton": "hidden-highlight-button--vu3B3", "instanceDetailsCard": "instance-details-card--owGQF", "instanceDetailsCardContainer": "instance-details-card-container--KLHTp", "selected": "selected--wEA4l", "focused": "focused--pvBWq", "interactive": "interactive--an0ab", "reportInstanceTable": "report-instance-table--3VoZX", "row": "row---3i35", "rowLabel": "row-label--FlVZl", "rowContent": "row-content--07KUh" };
|
|
929
1056
|
|
|
930
1057
|
// src/common/components/cards/simple-card-row.tsx
|
|
931
|
-
var SimpleCardRow = NamedFC(
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
1058
|
+
var SimpleCardRow = NamedFC(
|
|
1059
|
+
"SimpleCardRow",
|
|
1060
|
+
({ label: givenLabel, content, rowKey, contentClassName }) => {
|
|
1061
|
+
const contentStyling = (0, import_utilities3.css)(instance_details_default.rowContent, contentClassName);
|
|
1062
|
+
return /* @__PURE__ */ React14.createElement("tr", {
|
|
1063
|
+
className: instance_details_default.row,
|
|
1064
|
+
key: rowKey
|
|
1065
|
+
}, /* @__PURE__ */ React14.createElement("th", {
|
|
1066
|
+
className: instance_details_default.rowLabel
|
|
1067
|
+
}, givenLabel), /* @__PURE__ */ React14.createElement("td", {
|
|
1068
|
+
className: contentStyling
|
|
1069
|
+
}, content));
|
|
1070
|
+
}
|
|
1071
|
+
);
|
|
942
1072
|
|
|
943
1073
|
// src/common/components/cards/get-labelled-string-property-card-row.tsx
|
|
944
1074
|
var GetLabelledStringPropertyCardRow = (label, contentClassName) => {
|
|
945
1075
|
return NamedFC("StringPropertyCardRowProps", (props) => {
|
|
946
|
-
if (isEmpty(props.propertyData)) {
|
|
1076
|
+
if ((0, import_lodash3.isEmpty)(props.propertyData)) {
|
|
947
1077
|
return null;
|
|
948
1078
|
}
|
|
949
1079
|
return /* @__PURE__ */ React15.createElement(SimpleCardRow, {
|
|
@@ -962,10 +1092,10 @@ var ClassNameCardRow = GetLabelledStringPropertyCardRow("Class name");
|
|
|
962
1092
|
var ContentDescriptionCardRow = GetLabelledStringPropertyCardRow("Content description");
|
|
963
1093
|
|
|
964
1094
|
// src/common/components/cards/rich-resolution-card-row.tsx
|
|
965
|
-
|
|
1095
|
+
var React18 = __toESM(require("react"));
|
|
966
1096
|
|
|
967
1097
|
// src/assessments/markup.tsx
|
|
968
|
-
|
|
1098
|
+
var React16 = __toESM(require("react"));
|
|
969
1099
|
function Term(props) {
|
|
970
1100
|
return /* @__PURE__ */ React16.createElement("strong", null, props.children);
|
|
971
1101
|
}
|
|
@@ -976,156 +1106,164 @@ function Code(props) {
|
|
|
976
1106
|
}
|
|
977
1107
|
|
|
978
1108
|
// src/common/components/cards/rich-resolution-content.tsx
|
|
979
|
-
|
|
1109
|
+
var React17 = __toESM(require("react"));
|
|
980
1110
|
|
|
981
1111
|
// src/common/components/cards/rich-resolution-content.scss
|
|
982
|
-
var rich_resolution_content_default = { "
|
|
1112
|
+
var rich_resolution_content_default = { "multiLineTextYesBullet": "multi-line-text-yes-bullet--TXyX-", "multiLineTextNoBullet": "multi-line-text-no-bullet--AUXXt", "combinationLists": "combination-lists--boK5y" };
|
|
983
1113
|
|
|
984
1114
|
// src/common/components/cards/rich-resolution-content.tsx
|
|
985
|
-
var RichResolutionContent = NamedFC(
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1115
|
+
var RichResolutionContent = NamedFC(
|
|
1116
|
+
"RichResolutionContent",
|
|
1117
|
+
({ deps: { LinkComponent }, contentId, contentVariables }) => {
|
|
1118
|
+
switch (contentId) {
|
|
1119
|
+
case "android/ColorContrast": {
|
|
1120
|
+
return /* @__PURE__ */ React17.createElement("div", {
|
|
1121
|
+
className: rich_resolution_content_default.combinationLists
|
|
1122
|
+
}, /* @__PURE__ */ React17.createElement("ul", {
|
|
1123
|
+
className: rich_resolution_content_default.multiLineTextYesBullet
|
|
1124
|
+
}, /* @__PURE__ */ React17.createElement("li", {
|
|
1125
|
+
"list-style-type": "disc"
|
|
1126
|
+
}, "If the text is intended to be invisible, it passes."), /* @__PURE__ */ React17.createElement("li", {
|
|
1127
|
+
"list-style-type": "disc"
|
|
1128
|
+
}, "If the text is intended to be visible, use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1129
|
+
href: "https://go.microsoft.com/fwlink/?linkid=2075365"
|
|
1130
|
+
}, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1131
|
+
href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
|
|
1132
|
+
}, "Colour Contrast Analyser"), " ", "if you're testing on a Mac) to manually verify that it has sufficient contrast compared to the background. If the background is an image or gradient, test an area where contrast appears to be lowest.")));
|
|
1133
|
+
}
|
|
1134
|
+
case "android/TouchSizeWcag": {
|
|
1135
|
+
const { logicalWidth, logicalHeight } = contentVariables;
|
|
1136
|
+
return /* @__PURE__ */ React17.createElement("span", null, "The element has an insufficient target size (width: ", logicalWidth, "dp, height: ", logicalHeight, "dp). Set the element's", " ", /* @__PURE__ */ React17.createElement(Code, null, "minWidth"), " and ", /* @__PURE__ */ React17.createElement(Code, null, "minHeight"), " ", "attributes to at least 44dp.");
|
|
1137
|
+
}
|
|
1138
|
+
case "android/ActiveViewName": {
|
|
1139
|
+
return /* @__PURE__ */ React17.createElement("span", null, "The view is active but has no name available to assistive technologies. Provide a name for the view using its", " ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), ",", " ", /* @__PURE__ */ React17.createElement(Code, null, "hint"), ", ", /* @__PURE__ */ React17.createElement(Code, null, "labelFor"), ", or", " ", /* @__PURE__ */ React17.createElement(Code, null, "text"), " attribute (depending on the view type)");
|
|
1140
|
+
}
|
|
1141
|
+
case "android/ImageViewName": {
|
|
1142
|
+
return /* @__PURE__ */ React17.createElement("span", null, "The image has no alternate text and is not identified as decorative. If the image conveys meaningful content, provide alternate text using the", " ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), " attribute. If the image is decorative, give it an empty ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), ", or set its ", /* @__PURE__ */ React17.createElement(Code, null, "isImportantForAccessibility"), " attribute to false.");
|
|
1143
|
+
}
|
|
1144
|
+
case "android/EditTextValue": {
|
|
1145
|
+
return /* @__PURE__ */ React17.createElement("span", null, "The element's ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), " overrides the text value required by assistive technologies. Remove the element's", " ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), " attribute.");
|
|
1146
|
+
}
|
|
1147
|
+
case "android/atfa/ClassNameCheck": {
|
|
1148
|
+
return /* @__PURE__ */ React17.createElement("span", null, /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1149
|
+
href: "https://developer.android.com/training/accessibility/testing.html#manual"
|
|
1150
|
+
}, "Manually test"), " ", "the control to verify that users receive sufficient information to understand the object's function.");
|
|
1151
|
+
}
|
|
1152
|
+
case "android/atfa/ClickableSpanCheck": {
|
|
1153
|
+
return /* @__PURE__ */ React17.createElement("span", null, /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1154
|
+
href: "https://developer.android.com/training/accessibility/testing.html#manual"
|
|
1155
|
+
}, "Manually test"), " ", "the item containing the link and verify that the hyperlinked text is announced and appears in the \u201CLinks\u201D section of Talkback\u2019s Context Menu.");
|
|
1156
|
+
}
|
|
1157
|
+
case "android/atfa/DuplicateClickableBoundsCheck": {
|
|
1158
|
+
return /* @__PURE__ */ React17.createElement("span", null, "Turn on", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1159
|
+
href: "https://support.google.com/accessibility/android/answer/6301490"
|
|
1160
|
+
}, "Switch Access for Android"), " ", "or use the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1161
|
+
href: "https://accessibilityinsights.io/docs/en/android/getstarted/fastpass/#complete-the-manual-test-for-tab-stops"
|
|
1162
|
+
}, "TabStops feature"), " ", "to navigate through the elements in the application. If an element appears to be focused more than once, there may be multiple interactive elements occupying the same screen location.");
|
|
1163
|
+
}
|
|
1164
|
+
case "android/atfa/DuplicateSpeakableTextCheck": {
|
|
1165
|
+
return /* @__PURE__ */ React17.createElement("span", null, "If clickable ", /* @__PURE__ */ React17.createElement(Code, null, "View"), " objects have the ", /* @__PURE__ */ React17.createElement("i", null, "same"), " ", "speakable text and perform the ", /* @__PURE__ */ React17.createElement("i", null, "same"), " function, they pass.", /* @__PURE__ */ React17.createElement("br", null), "If clickable ", /* @__PURE__ */ React17.createElement(Code, null, "View"), " objects have the ", /* @__PURE__ */ React17.createElement("i", null, "same"), " ", "speakable text but perform ", /* @__PURE__ */ React17.createElement("i", null, "different"), " functions, they fail.");
|
|
1166
|
+
}
|
|
1167
|
+
case "android/atfa/LinkPurposeUnclearCheck": {
|
|
1168
|
+
return /* @__PURE__ */ React17.createElement("span", null, "Examine the link in the context of the app to verify that the link's unique purpose is described by the link together with its preceding page content, which includes:", /* @__PURE__ */ React17.createElement("ul", null, /* @__PURE__ */ React17.createElement("li", null, "Text in the same sentence, paragraph, list item, or table cell as the link"), /* @__PURE__ */ React17.createElement("li", null, "Text in a parent list item"), /* @__PURE__ */ React17.createElement("li", null, "Text in the table header cell that's associated with cell that contains the link")));
|
|
1169
|
+
}
|
|
1170
|
+
case "android/atfa/RedundantDescriptionCheck": {
|
|
1171
|
+
return /* @__PURE__ */ React17.createElement("span", null, "Listen to TalkBack's announcement of the element to verify that the item's role (type), state, and/or available actions are announced only once.");
|
|
1172
|
+
}
|
|
1173
|
+
case "android/atfa/TraversalOrderCheck": {
|
|
1174
|
+
return /* @__PURE__ */ React17.createElement("span", null, "Turn on Talkback. Swipe right to move accessibility focus forward through the elements on the screen, then swipe left to navigate backwards. Verify that focus moves through the elements in a logical, consistent order when navigating forwards or backwards.");
|
|
1175
|
+
}
|
|
1176
|
+
case "android/atfa/TextContrastCheck": {
|
|
1177
|
+
return /* @__PURE__ */ React17.createElement("div", {
|
|
1178
|
+
className: rich_resolution_content_default.combinationLists
|
|
1179
|
+
}, /* @__PURE__ */ React17.createElement("ul", {
|
|
1180
|
+
className: rich_resolution_content_default.multiLineTextYesBullet
|
|
1181
|
+
}, /* @__PURE__ */ React17.createElement("li", {
|
|
1182
|
+
"list-style-type": "disc"
|
|
1183
|
+
}, "If the text is intended to be invisible, it passes."), /* @__PURE__ */ React17.createElement("li", {
|
|
1184
|
+
"list-style-type": "disc"
|
|
1185
|
+
}, "If the text is intended to be visible, use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1186
|
+
href: "https://go.microsoft.com/fwlink/?linkid=2075365"
|
|
1187
|
+
}, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1188
|
+
href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
|
|
1189
|
+
}, "Colour Contrast Analyser"), " ", "if you're testing on a Mac) to manually verify that it has sufficient contrast compared to the background. If the background is an image or gradient, test an area where contrast appears to be lowest.")));
|
|
1190
|
+
}
|
|
1191
|
+
case "android/atfa/ImageContrastCheck": {
|
|
1192
|
+
return /* @__PURE__ */ React17.createElement("span", null, "Use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1193
|
+
href: "https://go.microsoft.com/fwlink/?linkid=2075365"
|
|
1194
|
+
}, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1195
|
+
href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
|
|
1196
|
+
}, "Colour Contrast Analyser"), " ", "if you're testing on a Mac) to manually verify that the", " ", /* @__PURE__ */ React17.createElement(Code, null, "ImageView"), " has sufficient contrast compared to the background. If the background is an image or gradient, test an area where the contrast appears to be the lowest.");
|
|
1197
|
+
}
|
|
1198
|
+
case "web/aria-input-field-name": {
|
|
1199
|
+
return /* @__PURE__ */ React17.createElement("div", null, "Inspect the element using the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1200
|
+
href: "https://developers.google.com/web/updates/2018/01/devtools"
|
|
1201
|
+
}, "Accessibility pane in the browser Developer Tools"), " ", "to verify that the field's accessible name is complete without its associated", " ", /* @__PURE__ */ React17.createElement("b", null, "<", "label", ">"), ".");
|
|
1202
|
+
}
|
|
1203
|
+
case "web/color-contrast": {
|
|
1204
|
+
return /* @__PURE__ */ React17.createElement("div", {
|
|
1205
|
+
className: rich_resolution_content_default.combinationLists
|
|
1206
|
+
}, /* @__PURE__ */ React17.createElement("ul", {
|
|
1207
|
+
className: rich_resolution_content_default.multiLineTextYesBullet
|
|
1208
|
+
}, /* @__PURE__ */ React17.createElement("li", {
|
|
1209
|
+
"list-style-type": "disc"
|
|
1210
|
+
}, "If the instance is an icon or other non-text content, ignore it. This rule applies only to text."), /* @__PURE__ */ React17.createElement("li", {
|
|
1211
|
+
"list-style-type": "disc"
|
|
1212
|
+
}, "If the instance is text, use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1213
|
+
href: "https://go.microsoft.com/fwlink/?linkid=2075365"
|
|
1214
|
+
}, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1215
|
+
href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
|
|
1216
|
+
}, "Colour Contrast Analyser"), " ", "if you're testing on a Mac) to manually verify that it has sufficient contrast compared to the background. If the background is an image or gradient, test an area where contrast appears to be lowest.")), /* @__PURE__ */ React17.createElement("ul", {
|
|
1217
|
+
className: rich_resolution_content_default.multiLineTextNoBullet
|
|
1218
|
+
}, /* @__PURE__ */ React17.createElement("li", null, "For detailed test instructions, see", " ", /* @__PURE__ */ React17.createElement(Term, null, "Assessment ", ">", " Adaptable content ", ">", " Contrast"), ".")));
|
|
1219
|
+
}
|
|
1220
|
+
case "web/link-in-text-block": {
|
|
1221
|
+
return /* @__PURE__ */ React17.createElement("ul", {
|
|
1222
|
+
className: rich_resolution_content_default.multiLineTextNoBullet
|
|
1223
|
+
}, /* @__PURE__ */ React17.createElement("li", null, "Manually verify that the link text EITHER has a contrast ratio of at least 3:1 compared to surrounding text OR has a distinct visual style (such as underlined, bolded, or italicized)."), /* @__PURE__ */ React17.createElement("li", null, "To measure contrast, use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1224
|
+
href: "https://go.microsoft.com/fwlink/?linkid=2075365"
|
|
1225
|
+
}, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
|
|
1226
|
+
href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
|
|
1227
|
+
}, "Colour Contrast Analyser"), " ", "if you're testing on a Mac)."));
|
|
1228
|
+
}
|
|
1229
|
+
case "web/th-has-data-cells": {
|
|
1230
|
+
return /* @__PURE__ */ React17.createElement("div", null, "Examine the header cell in the context of the table to verify that it has no data cells.");
|
|
1231
|
+
}
|
|
1232
|
+
case "web/scrollable-region-focusable": {
|
|
1233
|
+
return /* @__PURE__ */ React17.createElement("span", null, "Examine the element and ensure that, if there is scrollable content, the elements are accessible by keyboard.");
|
|
1234
|
+
}
|
|
1235
|
+
case "web/label-content-name-mismatch": {
|
|
1236
|
+
return /* @__PURE__ */ React17.createElement("span", null, "Inspect the element using the Accessibility pane in the browser Developer tools and verify that the element\u2019s accessible name contains its visible text.");
|
|
1237
|
+
}
|
|
1238
|
+
default: {
|
|
1239
|
+
throw new Error(
|
|
1240
|
+
`Cannot render RichResolutionContent with unrecognized contentId ${contentId}`
|
|
1241
|
+
);
|
|
1242
|
+
}
|
|
1108
1243
|
}
|
|
1109
1244
|
}
|
|
1110
|
-
|
|
1245
|
+
);
|
|
1111
1246
|
|
|
1112
1247
|
// src/common/components/cards/rich-resolution-card-row.tsx
|
|
1113
|
-
var RichResolutionCardRow = NamedFC(
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
}
|
|
1248
|
+
var RichResolutionCardRow = NamedFC(
|
|
1249
|
+
"RichResolutionCardRow",
|
|
1250
|
+
({ deps, index, propertyData }) => {
|
|
1251
|
+
return /* @__PURE__ */ React18.createElement(SimpleCardRow, {
|
|
1252
|
+
label: `How to ${propertyData.labelType}`,
|
|
1253
|
+
content: /* @__PURE__ */ React18.createElement(RichResolutionContent, {
|
|
1254
|
+
deps,
|
|
1255
|
+
...propertyData
|
|
1256
|
+
}),
|
|
1257
|
+
rowKey: `rich-resolution-row-${index}`
|
|
1258
|
+
});
|
|
1259
|
+
}
|
|
1260
|
+
);
|
|
1123
1261
|
|
|
1124
1262
|
// src/common/components/cards/text-card-row.ts
|
|
1125
1263
|
var TextCardRow = GetLabelledStringPropertyCardRow("Text");
|
|
1126
1264
|
|
|
1127
1265
|
// src/common/components/cards/urls-card-row.tsx
|
|
1128
|
-
|
|
1266
|
+
var React19 = __toESM(require("react"));
|
|
1129
1267
|
|
|
1130
1268
|
// src/common/components/cards/urls-card-row.scss
|
|
1131
1269
|
var urls_card_row_default = { "urlsRowContent": "urls-row-content--JDdRx", "urlsRowContentNewFailure": "urls-row-content-new-Failure--oL5lS" };
|
|
@@ -1169,7 +1307,7 @@ function getUrlListItem(urlInfo, index, deps) {
|
|
|
1169
1307
|
}
|
|
1170
1308
|
|
|
1171
1309
|
// src/common/components/cards/how-to-fix-card-row.tsx
|
|
1172
|
-
|
|
1310
|
+
var React21 = __toESM(require("react"));
|
|
1173
1311
|
|
|
1174
1312
|
// src/common/types/check-type.ts
|
|
1175
1313
|
var CheckType = /* @__PURE__ */ ((CheckType2) => {
|
|
@@ -1180,74 +1318,73 @@ var CheckType = /* @__PURE__ */ ((CheckType2) => {
|
|
|
1180
1318
|
})(CheckType || {});
|
|
1181
1319
|
|
|
1182
1320
|
// src/common/components/fix-instruction-panel.tsx
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
}
|
|
1198
|
-
|
|
1321
|
+
var React20 = __toESM(require("react"));
|
|
1322
|
+
var FixInstructionPanel = NamedFC(
|
|
1323
|
+
"FixInstructionPanel",
|
|
1324
|
+
(props) => {
|
|
1325
|
+
const { fixInstructionProcessor } = props.deps;
|
|
1326
|
+
const getPanelTitle = (checkType, checkCount) => {
|
|
1327
|
+
if (checkCount === 1) {
|
|
1328
|
+
return "Fix the following:";
|
|
1329
|
+
}
|
|
1330
|
+
if (checkType === 1 /* Any */) {
|
|
1331
|
+
return "Fix ONE of the following:";
|
|
1332
|
+
} else {
|
|
1333
|
+
return "Fix ALL of the following:";
|
|
1334
|
+
}
|
|
1335
|
+
};
|
|
1336
|
+
const renderInstructions = (checkType) => {
|
|
1337
|
+
const instructionList = props.checks.map((check, checkIndex) => {
|
|
1338
|
+
return /* @__PURE__ */ React20.createElement("li", {
|
|
1339
|
+
key: `instruction-${CheckType[checkType]}-${checkIndex + 1}`
|
|
1340
|
+
}, fixInstructionProcessor.process(check.message, props.deps.recommendColor));
|
|
1341
|
+
});
|
|
1342
|
+
return instructionList;
|
|
1343
|
+
};
|
|
1344
|
+
if (props.checks.length === 0) {
|
|
1345
|
+
return null;
|
|
1199
1346
|
}
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
const instructionList = props.checks.map((check, checkIndex) => {
|
|
1203
|
-
return /* @__PURE__ */ React20.createElement("li", {
|
|
1204
|
-
key: `instruction-${CheckType[checkType]}-${checkIndex + 1}`
|
|
1205
|
-
}, fixInstructionProcessor.process(check.message, props.deps.recommendColor));
|
|
1206
|
-
});
|
|
1207
|
-
return instructionList;
|
|
1208
|
-
};
|
|
1209
|
-
if (props.checks.length === 0) {
|
|
1210
|
-
return null;
|
|
1347
|
+
const title2 = getPanelTitle(props.checkType, props.checks.length);
|
|
1348
|
+
return /* @__PURE__ */ React20.createElement("div", null, props.renderTitleElement(title2), /* @__PURE__ */ React20.createElement("ul", null, renderInstructions(props.checkType)));
|
|
1211
1349
|
}
|
|
1212
|
-
|
|
1213
|
-
return /* @__PURE__ */ React20.createElement("div", null, props.renderTitleElement(title2), /* @__PURE__ */ React20.createElement("ul", {
|
|
1214
|
-
className: fix_instruction_panel_default.insightsFixInstructionList
|
|
1215
|
-
}, renderInstructions(props.checkType)));
|
|
1216
|
-
});
|
|
1350
|
+
);
|
|
1217
1351
|
|
|
1218
1352
|
// src/common/components/cards/how-to-fix-card-row.scss
|
|
1219
1353
|
var how_to_fix_card_row_default = { "howToFixContent": "how-to-fix-content--Zz96u" };
|
|
1220
1354
|
|
|
1221
1355
|
// src/common/components/cards/how-to-fix-card-row.tsx
|
|
1222
|
-
var HowToFixWebCardRow = NamedFC(
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
}
|
|
1356
|
+
var HowToFixWebCardRow = NamedFC(
|
|
1357
|
+
"HowToFixWebCardRow",
|
|
1358
|
+
({ deps, ...props }) => {
|
|
1359
|
+
const { any: anyOf, all, none } = props.propertyData;
|
|
1360
|
+
const renderFixInstructionsContent = () => {
|
|
1361
|
+
return /* @__PURE__ */ React21.createElement("div", {
|
|
1362
|
+
className: how_to_fix_card_row_default.howToFixContent
|
|
1363
|
+
}, /* @__PURE__ */ React21.createElement(FixInstructionPanel, {
|
|
1364
|
+
deps,
|
|
1365
|
+
checkType: 0 /* All */,
|
|
1366
|
+
checks: all.concat(none).map(turnStringToMessageObject),
|
|
1367
|
+
renderTitleElement: renderFixInstructionsTitleElement
|
|
1368
|
+
}), /* @__PURE__ */ React21.createElement(FixInstructionPanel, {
|
|
1369
|
+
deps,
|
|
1370
|
+
checkType: 1 /* Any */,
|
|
1371
|
+
checks: anyOf.map(turnStringToMessageObject),
|
|
1372
|
+
renderTitleElement: renderFixInstructionsTitleElement
|
|
1373
|
+
}));
|
|
1374
|
+
};
|
|
1375
|
+
const turnStringToMessageObject = (s) => {
|
|
1376
|
+
return { message: s };
|
|
1377
|
+
};
|
|
1378
|
+
const renderFixInstructionsTitleElement = (titleText) => {
|
|
1379
|
+
return /* @__PURE__ */ React21.createElement("div", null, titleText);
|
|
1380
|
+
};
|
|
1381
|
+
return /* @__PURE__ */ React21.createElement(SimpleCardRow, {
|
|
1382
|
+
label: "How to fix",
|
|
1383
|
+
content: renderFixInstructionsContent(),
|
|
1384
|
+
rowKey: `how-to-fix-row-${props.index}`
|
|
1385
|
+
});
|
|
1386
|
+
}
|
|
1387
|
+
);
|
|
1251
1388
|
|
|
1252
1389
|
// src/common/components/cards/path-card-row.tsx
|
|
1253
1390
|
var PathCardRow = GetLabelledStringPropertyCardRow("Path");
|
|
@@ -1298,15 +1435,15 @@ function getPropertyConfiguration(id2) {
|
|
|
1298
1435
|
}
|
|
1299
1436
|
|
|
1300
1437
|
// src/common/components/cards/instance-details.tsx
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1438
|
+
var import_classnames = __toESM(require("classnames"));
|
|
1439
|
+
var import_lodash6 = require("lodash");
|
|
1440
|
+
var React32 = __toESM(require("react"));
|
|
1304
1441
|
|
|
1305
1442
|
// src/common/components/cards/instance-details-footer.tsx
|
|
1306
|
-
|
|
1443
|
+
var import_react8 = require("@fluentui/react");
|
|
1307
1444
|
|
|
1308
1445
|
// src/common/icons/highlight-status-icons.tsx
|
|
1309
|
-
|
|
1446
|
+
var React22 = __toESM(require("react"));
|
|
1310
1447
|
var HighlightVisibleIcon = NamedFC("HighlightVisibleIcon", () => /* @__PURE__ */ React22.createElement("svg", {
|
|
1311
1448
|
width: "34",
|
|
1312
1449
|
height: "30",
|
|
@@ -1345,14 +1482,14 @@ var HighlightHiddenIcon = NamedFC("HighlightHiddenIcon", () => /* @__PURE__ */ R
|
|
|
1345
1482
|
})));
|
|
1346
1483
|
|
|
1347
1484
|
// src/common/components/cards/instance-details-footer.tsx
|
|
1348
|
-
|
|
1485
|
+
var React31 = __toESM(require("react"));
|
|
1349
1486
|
|
|
1350
1487
|
// src/common/components/cards/card-kebab-menu-button.tsx
|
|
1351
|
-
|
|
1352
|
-
|
|
1488
|
+
var import_react7 = require("@fluentui/react");
|
|
1489
|
+
var import_Styling = require("@fluentui/react/lib/Styling");
|
|
1353
1490
|
|
|
1354
1491
|
// src/common/icons/more-actions-menu-icon.tsx
|
|
1355
|
-
|
|
1492
|
+
var React23 = __toESM(require("react"));
|
|
1356
1493
|
var MoreActionsMenuIcon = NamedFC("MoreActionsMenuIcon", () => /* @__PURE__ */ React23.createElement("svg", {
|
|
1357
1494
|
width: "10",
|
|
1358
1495
|
height: "16",
|
|
@@ -1377,10 +1514,10 @@ var MoreActionsMenuIcon = NamedFC("MoreActionsMenuIcon", () => /* @__PURE__ */ R
|
|
|
1377
1514
|
})));
|
|
1378
1515
|
|
|
1379
1516
|
// src/common/components/cards/card-kebab-menu-button.tsx
|
|
1380
|
-
|
|
1517
|
+
var React30 = __toESM(require("react"));
|
|
1381
1518
|
|
|
1382
1519
|
// src/DetailsView/components/issue-filing-dialog.tsx
|
|
1383
|
-
|
|
1520
|
+
var import_react6 = require("@fluentui/react");
|
|
1384
1521
|
|
|
1385
1522
|
// src/DetailsView/components/common-dialog-styles.scss
|
|
1386
1523
|
var common_dialog_styles_default = { "insightsDialogMainOverride": "insights-dialog-main-override--ma4DA", "dialogBody": "dialog-body--cmWmz" };
|
|
@@ -1389,23 +1526,27 @@ var common_dialog_styles_default = { "insightsDialogMainOverride": "insights-dia
|
|
|
1389
1526
|
var issue_filing_dialog_default = { "issueFilingDialog": "issue-filing-dialog--F9jun" };
|
|
1390
1527
|
|
|
1391
1528
|
// src/DetailsView/components/issue-filing-dialog.tsx
|
|
1392
|
-
|
|
1393
|
-
|
|
1529
|
+
var import_lodash5 = require("lodash");
|
|
1530
|
+
var React28 = __toESM(require("react"));
|
|
1394
1531
|
|
|
1395
1532
|
// src/issue-filing/components/issue-filing-settings-container.tsx
|
|
1396
|
-
|
|
1533
|
+
var React26 = __toESM(require("react"));
|
|
1397
1534
|
|
|
1398
1535
|
// src/issue-filing/components/issue-filing-choice-group.tsx
|
|
1399
|
-
|
|
1536
|
+
var import_react4 = require("@fluentui/react");
|
|
1400
1537
|
|
|
1401
1538
|
// src/DetailsView/components/details-view-overlay/settings-panel/settings/issue-filing/issue-filing-settings.tsx
|
|
1402
|
-
|
|
1539
|
+
var React24 = __toESM(require("react"));
|
|
1403
1540
|
var issueFilingTitleId = "issue-filing-heading";
|
|
1404
1541
|
var IssueFilingSettings = NamedFC("IssueFilingSettings", (props) => {
|
|
1405
1542
|
const { deps, userConfigurationStoreState } = props;
|
|
1406
1543
|
const { issueFilingServiceProvider, userConfigMessageCreator } = deps;
|
|
1407
|
-
const selectedIssueFilingService = issueFilingServiceProvider.forKey(
|
|
1408
|
-
|
|
1544
|
+
const selectedIssueFilingService = issueFilingServiceProvider.forKey(
|
|
1545
|
+
userConfigurationStoreState.bugService
|
|
1546
|
+
);
|
|
1547
|
+
const selectedIssueFilingServiceData = selectedIssueFilingService.getSettingsFromStoreData(
|
|
1548
|
+
userConfigurationStoreState.bugServicePropertiesMap
|
|
1549
|
+
);
|
|
1409
1550
|
return /* @__PURE__ */ React24.createElement(React24.Fragment, null, /* @__PURE__ */ React24.createElement("h3", {
|
|
1410
1551
|
id: issueFilingTitleId
|
|
1411
1552
|
}, "Issue filing"), /* @__PURE__ */ React24.createElement(IssueFilingSettingsContainer, {
|
|
@@ -1418,51 +1559,57 @@ var IssueFilingSettings = NamedFC("IssueFilingSettings", (props) => {
|
|
|
1418
1559
|
});
|
|
1419
1560
|
|
|
1420
1561
|
// src/issue-filing/components/issue-filing-choice-group.tsx
|
|
1421
|
-
|
|
1422
|
-
var IssueFilingChoiceGroup = NamedFC(
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1562
|
+
var React25 = __toESM(require("react"));
|
|
1563
|
+
var IssueFilingChoiceGroup = NamedFC(
|
|
1564
|
+
"IssueFilingChoiceGroup",
|
|
1565
|
+
(props) => {
|
|
1566
|
+
const getOptions = () => {
|
|
1567
|
+
return props.issueFilingServices.map((service) => {
|
|
1568
|
+
return {
|
|
1569
|
+
key: service.key,
|
|
1570
|
+
text: service.displayName
|
|
1571
|
+
};
|
|
1572
|
+
});
|
|
1573
|
+
};
|
|
1574
|
+
const onChange = (ev, option) => {
|
|
1575
|
+
const payload = {
|
|
1576
|
+
issueFilingServiceName: (option == null ? void 0 : option.key) ?? "none"
|
|
1428
1577
|
};
|
|
1429
|
-
|
|
1430
|
-
};
|
|
1431
|
-
const onChange = (ev, option) => {
|
|
1432
|
-
const payload = {
|
|
1433
|
-
issueFilingServiceName: (option == null ? void 0 : option.key) ?? "none"
|
|
1578
|
+
props.onSelectedServiceChange(payload);
|
|
1434
1579
|
};
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
});
|
|
1580
|
+
return /* @__PURE__ */ React25.createElement(import_react4.ChoiceGroup, {
|
|
1581
|
+
className: "issue-filing-choice-group",
|
|
1582
|
+
ariaLabelledBy: issueFilingTitleId,
|
|
1583
|
+
onChange,
|
|
1584
|
+
options: getOptions(),
|
|
1585
|
+
selectedKey: props.selectedIssueFilingService.key
|
|
1586
|
+
});
|
|
1587
|
+
}
|
|
1588
|
+
);
|
|
1445
1589
|
|
|
1446
1590
|
// src/issue-filing/components/issue-filing-settings-container.tsx
|
|
1447
|
-
var IssueFilingSettingsContainer = NamedFC(
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1591
|
+
var IssueFilingSettingsContainer = NamedFC(
|
|
1592
|
+
"IssueFilingSettingsContainer",
|
|
1593
|
+
(props) => {
|
|
1594
|
+
const { deps, selectedIssueFilingService, selectedIssueFilingServiceData } = props;
|
|
1595
|
+
const SettingsForm = selectedIssueFilingService.settingsForm;
|
|
1596
|
+
const issueFilingServices = deps.issueFilingServiceProvider.allVisible();
|
|
1597
|
+
return /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(IssueFilingChoiceGroup, {
|
|
1598
|
+
onSelectedServiceChange: props.onSelectedServiceChange,
|
|
1599
|
+
selectedIssueFilingService,
|
|
1600
|
+
issueFilingServices
|
|
1601
|
+
}), /* @__PURE__ */ React26.createElement(SettingsForm, {
|
|
1602
|
+
deps,
|
|
1603
|
+
settings: selectedIssueFilingServiceData,
|
|
1604
|
+
onPropertyUpdateCallback: props.onPropertyUpdateCallback
|
|
1605
|
+
}));
|
|
1606
|
+
}
|
|
1607
|
+
);
|
|
1461
1608
|
|
|
1462
1609
|
// src/DetailsView/components/action-and-cancel-buttons-component.tsx
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1610
|
+
var import_react5 = require("@fluentui/react");
|
|
1611
|
+
var import_lodash4 = require("lodash");
|
|
1612
|
+
var React27 = __toESM(require("react"));
|
|
1466
1613
|
|
|
1467
1614
|
// src/DetailsView/components/action-and-cancel-buttons-component.scss
|
|
1468
1615
|
var action_and_cancel_buttons_component_default = { "actionAndCancelButtonsComponent": "action-and-cancel-buttons-component--DF7bf", "actionCancelButtonCol": "action-cancel-button-col--RMfN-" };
|
|
@@ -1475,19 +1622,19 @@ var ActionAndCancelButtonsComponent = class extends React27.Component {
|
|
|
1475
1622
|
hidden: this.props.isHidden
|
|
1476
1623
|
}, /* @__PURE__ */ React27.createElement("div", {
|
|
1477
1624
|
className: action_and_cancel_buttons_component_default.actionCancelButtonCol
|
|
1478
|
-
}, /* @__PURE__ */ React27.createElement(DefaultButton, {
|
|
1625
|
+
}, /* @__PURE__ */ React27.createElement(import_react5.DefaultButton, {
|
|
1479
1626
|
text: "Cancel",
|
|
1480
1627
|
onClick: this.props.cancelButtonOnClick
|
|
1481
1628
|
})), /* @__PURE__ */ React27.createElement("div", {
|
|
1482
1629
|
className: action_and_cancel_buttons_component_default.actionCancelButtonCol
|
|
1483
|
-
}, /* @__PURE__ */ React27.createElement(DefaultButton, {
|
|
1630
|
+
}, /* @__PURE__ */ React27.createElement(import_react5.DefaultButton, {
|
|
1484
1631
|
"data-automation-id": this.props.primaryButtonDataAutomationId,
|
|
1485
1632
|
primary: true,
|
|
1486
1633
|
text: this.props.primaryButtonText,
|
|
1487
1634
|
onClick: this.props.primaryButtonOnClick,
|
|
1488
1635
|
disabled: this.props.primaryButtonDisabled,
|
|
1489
1636
|
href: this.props.primaryButtonHref,
|
|
1490
|
-
target:
|
|
1637
|
+
target: (0, import_lodash4.isEmpty)(this.props.primaryButtonHref) ? "_self" : "_blank"
|
|
1491
1638
|
})));
|
|
1492
1639
|
}
|
|
1493
1640
|
};
|
|
@@ -1498,24 +1645,35 @@ var IssueFilingDialog = class extends React28.Component {
|
|
|
1498
1645
|
constructor(props) {
|
|
1499
1646
|
super(props);
|
|
1500
1647
|
this.onPrimaryButtonClick = (ev) => {
|
|
1501
|
-
const newData = this.state.selectedIssueFilingService.getSettingsFromStoreData(
|
|
1648
|
+
const newData = this.state.selectedIssueFilingService.getSettingsFromStoreData(
|
|
1649
|
+
this.state.issueFilingServicePropertiesMap
|
|
1650
|
+
);
|
|
1502
1651
|
const service = this.state.selectedIssueFilingService.key;
|
|
1503
1652
|
const payload = {
|
|
1504
1653
|
issueFilingServiceName: service,
|
|
1505
1654
|
issueFilingSettings: newData
|
|
1506
1655
|
};
|
|
1507
1656
|
this.props.deps.userConfigMessageCreator.saveIssueFilingSettings(payload);
|
|
1508
|
-
this.props.deps.issueFilingActionMessageCreator.fileIssue(
|
|
1657
|
+
this.props.deps.issueFilingActionMessageCreator.fileIssue(
|
|
1658
|
+
ev,
|
|
1659
|
+
service,
|
|
1660
|
+
this.props.selectedIssueData,
|
|
1661
|
+
this.props.deps.toolData
|
|
1662
|
+
);
|
|
1509
1663
|
this.props.onClose(ev);
|
|
1510
1664
|
};
|
|
1511
1665
|
this.onSelectedServiceChange = (service) => {
|
|
1512
1666
|
this.setState(() => ({
|
|
1513
|
-
selectedIssueFilingService: this.props.deps.issueFilingServiceProvider.forKey(
|
|
1667
|
+
selectedIssueFilingService: this.props.deps.issueFilingServiceProvider.forKey(
|
|
1668
|
+
service.issueFilingServiceName
|
|
1669
|
+
)
|
|
1514
1670
|
}));
|
|
1515
1671
|
};
|
|
1516
1672
|
this.onPropertyUpdateCallback = (payload) => {
|
|
1517
1673
|
const { issueFilingServiceName, propertyName, propertyValue } = payload;
|
|
1518
|
-
const selectedServiceData = this.state.selectedIssueFilingService.getSettingsFromStoreData(
|
|
1674
|
+
const selectedServiceData = this.state.selectedIssueFilingService.getSettingsFromStoreData(
|
|
1675
|
+
this.state.issueFilingServicePropertiesMap
|
|
1676
|
+
) || {};
|
|
1519
1677
|
selectedServiceData[propertyName] = propertyValue;
|
|
1520
1678
|
const newIssueFilingServicePropertiesMap = {
|
|
1521
1679
|
...this.state.issueFilingServicePropertiesMap,
|
|
@@ -1529,19 +1687,23 @@ var IssueFilingDialog = class extends React28.Component {
|
|
|
1529
1687
|
}
|
|
1530
1688
|
getState(props) {
|
|
1531
1689
|
return {
|
|
1532
|
-
issueFilingServicePropertiesMap: cloneDeep(props.issueFilingServicePropertiesMap),
|
|
1690
|
+
issueFilingServicePropertiesMap: (0, import_lodash5.cloneDeep)(props.issueFilingServicePropertiesMap),
|
|
1533
1691
|
selectedIssueFilingService: props.selectedIssueFilingService
|
|
1534
1692
|
};
|
|
1535
1693
|
}
|
|
1536
1694
|
render() {
|
|
1537
|
-
const { onClose, isOpen, deps } = this.props;
|
|
1695
|
+
const { onClose, afterClosed, isOpen, deps } = this.props;
|
|
1538
1696
|
const { selectedIssueFilingService } = this.state;
|
|
1539
|
-
const selectedIssueFilingServiceData = this.state.selectedIssueFilingService.getSettingsFromStoreData(
|
|
1540
|
-
|
|
1541
|
-
|
|
1697
|
+
const selectedIssueFilingServiceData = this.state.selectedIssueFilingService.getSettingsFromStoreData(
|
|
1698
|
+
this.state.issueFilingServicePropertiesMap
|
|
1699
|
+
);
|
|
1700
|
+
const isSettingsValid = selectedIssueFilingService.isSettingsValid(
|
|
1701
|
+
selectedIssueFilingServiceData
|
|
1702
|
+
);
|
|
1703
|
+
return /* @__PURE__ */ React28.createElement(import_react6.Dialog, {
|
|
1542
1704
|
hidden: !isOpen,
|
|
1543
1705
|
dialogContentProps: {
|
|
1544
|
-
type: DialogType.normal,
|
|
1706
|
+
type: import_react6.DialogType.normal,
|
|
1545
1707
|
title: titleLabel,
|
|
1546
1708
|
subText: "This configuration can be changed again in settings.",
|
|
1547
1709
|
showCloseButton: false
|
|
@@ -1549,7 +1711,8 @@ var IssueFilingDialog = class extends React28.Component {
|
|
|
1549
1711
|
modalProps: {
|
|
1550
1712
|
isBlocking: false,
|
|
1551
1713
|
containerClassName: common_dialog_styles_default.insightsDialogMainOverride,
|
|
1552
|
-
className: issue_filing_dialog_default.issueFilingDialog
|
|
1714
|
+
className: issue_filing_dialog_default.issueFilingDialog,
|
|
1715
|
+
onDismissed: afterClosed
|
|
1553
1716
|
},
|
|
1554
1717
|
onDismiss: onClose
|
|
1555
1718
|
}, /* @__PURE__ */ React28.createElement(IssueFilingSettingsContainer, {
|
|
@@ -1558,7 +1721,7 @@ var IssueFilingDialog = class extends React28.Component {
|
|
|
1558
1721
|
selectedIssueFilingServiceData,
|
|
1559
1722
|
onPropertyUpdateCallback: this.onPropertyUpdateCallback,
|
|
1560
1723
|
onSelectedServiceChange: this.onSelectedServiceChange
|
|
1561
|
-
}), /* @__PURE__ */ React28.createElement(DialogFooter, null, /* @__PURE__ */ React28.createElement(ActionAndCancelButtonsComponent, {
|
|
1724
|
+
}), /* @__PURE__ */ React28.createElement(import_react6.DialogFooter, null, /* @__PURE__ */ React28.createElement(ActionAndCancelButtonsComponent, {
|
|
1562
1725
|
isHidden: false,
|
|
1563
1726
|
primaryButtonDisabled: isSettingsValid === false,
|
|
1564
1727
|
primaryButtonOnClick: this.onPrimaryButtonClick,
|
|
@@ -1567,15 +1730,15 @@ var IssueFilingDialog = class extends React28.Component {
|
|
|
1567
1730
|
})));
|
|
1568
1731
|
}
|
|
1569
1732
|
componentDidUpdate(prevProps) {
|
|
1570
|
-
if (this.props.isOpen && isEqual(prevProps, this.props) === false) {
|
|
1733
|
+
if (this.props.isOpen && (0, import_lodash5.isEqual)(prevProps, this.props) === false) {
|
|
1571
1734
|
this.setState(() => this.getState(this.props));
|
|
1572
1735
|
}
|
|
1573
1736
|
}
|
|
1574
1737
|
};
|
|
1575
1738
|
|
|
1576
1739
|
// src/common/components/toast.tsx
|
|
1577
|
-
|
|
1578
|
-
|
|
1740
|
+
var import_utilities4 = require("@fluentui/utilities");
|
|
1741
|
+
var React29 = __toESM(require("react"));
|
|
1579
1742
|
|
|
1580
1743
|
// src/common/components/toast.scss
|
|
1581
1744
|
var toast_default = { "toastContainer": "toast-container--L-5HM", "toastContent": "toast-content--8-Mx1" };
|
|
@@ -1603,7 +1766,7 @@ var _Toast = class extends React29.Component {
|
|
|
1603
1766
|
className: toast_default.toastContainer,
|
|
1604
1767
|
"aria-live": "polite"
|
|
1605
1768
|
}, this.state.toastVisible ? /* @__PURE__ */ React29.createElement("div", {
|
|
1606
|
-
className:
|
|
1769
|
+
className: (0, import_utilities4.css)("ms-fadeIn100", toast_default.toastContent)
|
|
1607
1770
|
}, this.state.content) : null);
|
|
1608
1771
|
}
|
|
1609
1772
|
};
|
|
@@ -1613,10 +1776,10 @@ Toast.defaultProps = {
|
|
|
1613
1776
|
};
|
|
1614
1777
|
|
|
1615
1778
|
// src/common/components/cards/card-kebab-menu-button.scss
|
|
1616
|
-
var card_kebab_menu_button_default = { "
|
|
1779
|
+
var card_kebab_menu_button_default = { "kebabMenuIcon": "kebab-menu-icon--RzpyN", "kebabMenuButton": "kebab-menu-button--e-7v-", "kebabMenu": "kebab-menu--eKCNX" };
|
|
1617
1780
|
|
|
1618
1781
|
// src/common/components/cards/card-kebab-menu-button.tsx
|
|
1619
|
-
registerIcons({
|
|
1782
|
+
(0, import_Styling.registerIcons)({
|
|
1620
1783
|
icons: {
|
|
1621
1784
|
MoreActionsMenuIcon: /* @__PURE__ */ React30.createElement(MoreActionsMenuIcon, null)
|
|
1622
1785
|
}
|
|
@@ -1627,11 +1790,22 @@ var CardKebabMenuButton = class extends React30.Component {
|
|
|
1627
1790
|
this.fileIssue = (event) => {
|
|
1628
1791
|
const { issueDetailsData, userConfigurationStoreData, deps } = this.props;
|
|
1629
1792
|
const { issueFilingServiceProvider, issueFilingActionMessageCreator, toolData } = deps;
|
|
1630
|
-
const selectedBugFilingService = issueFilingServiceProvider.forKey(
|
|
1631
|
-
|
|
1632
|
-
|
|
1793
|
+
const selectedBugFilingService = issueFilingServiceProvider.forKey(
|
|
1794
|
+
userConfigurationStoreData.bugService
|
|
1795
|
+
);
|
|
1796
|
+
const selectedBugFilingServiceData = selectedBugFilingService.getSettingsFromStoreData(
|
|
1797
|
+
userConfigurationStoreData.bugServicePropertiesMap
|
|
1798
|
+
);
|
|
1799
|
+
const isSettingValid = selectedBugFilingService.isSettingsValid(
|
|
1800
|
+
selectedBugFilingServiceData
|
|
1801
|
+
);
|
|
1633
1802
|
if (isSettingValid) {
|
|
1634
|
-
issueFilingActionMessageCreator.fileIssue(
|
|
1803
|
+
issueFilingActionMessageCreator.fileIssue(
|
|
1804
|
+
event,
|
|
1805
|
+
userConfigurationStoreData.bugService,
|
|
1806
|
+
issueDetailsData,
|
|
1807
|
+
toolData
|
|
1808
|
+
);
|
|
1635
1809
|
this.closeNeedsSettingsContent();
|
|
1636
1810
|
} else {
|
|
1637
1811
|
this.openNeedsSettingsContent();
|
|
@@ -1639,7 +1813,10 @@ var CardKebabMenuButton = class extends React30.Component {
|
|
|
1639
1813
|
};
|
|
1640
1814
|
this.copyFailureDetails = async (event) => {
|
|
1641
1815
|
var _a, _b;
|
|
1642
|
-
const text = this.props.deps.issueDetailsTextGenerator.buildText(
|
|
1816
|
+
const text = this.props.deps.issueDetailsTextGenerator.buildText(
|
|
1817
|
+
this.props.issueDetailsData,
|
|
1818
|
+
this.props.deps.toolData
|
|
1819
|
+
);
|
|
1643
1820
|
this.props.deps.detailsViewActionMessageCreator.copyIssueDetailsClicked(event);
|
|
1644
1821
|
try {
|
|
1645
1822
|
await this.props.deps.navigatorUtils.copyToClipboard(text);
|
|
@@ -1667,7 +1844,7 @@ var CardKebabMenuButton = class extends React30.Component {
|
|
|
1667
1844
|
};
|
|
1668
1845
|
return /* @__PURE__ */ React30.createElement("div", {
|
|
1669
1846
|
onKeyDown: handleKeyDown
|
|
1670
|
-
}, /* @__PURE__ */ React30.createElement(ActionButton, {
|
|
1847
|
+
}, /* @__PURE__ */ React30.createElement(import_react7.ActionButton, {
|
|
1671
1848
|
className: card_kebab_menu_button_default.kebabMenuButton,
|
|
1672
1849
|
ariaLabel: this.props.kebabMenuAriaLabel || "More actions",
|
|
1673
1850
|
menuIconProps: {
|
|
@@ -1676,7 +1853,7 @@ var CardKebabMenuButton = class extends React30.Component {
|
|
|
1676
1853
|
},
|
|
1677
1854
|
menuProps: {
|
|
1678
1855
|
className: card_kebab_menu_button_default.kebabMenu,
|
|
1679
|
-
directionalHint: DirectionalHint.bottomRightEdge,
|
|
1856
|
+
directionalHint: import_react7.DirectionalHint.bottomRightEdge,
|
|
1680
1857
|
shouldFocusOnMount: true,
|
|
1681
1858
|
items: this.getMenuItems()
|
|
1682
1859
|
}
|
|
@@ -1725,8 +1902,12 @@ var CardKebabMenuButton = class extends React30.Component {
|
|
|
1725
1902
|
if (!cardInteractionSupport.supportsIssueFiling) {
|
|
1726
1903
|
return null;
|
|
1727
1904
|
}
|
|
1728
|
-
const selectedIssueFilingService = issueFilingServiceProvider.forKey(
|
|
1729
|
-
|
|
1905
|
+
const selectedIssueFilingService = issueFilingServiceProvider.forKey(
|
|
1906
|
+
userConfigurationStoreData.bugService
|
|
1907
|
+
);
|
|
1908
|
+
const selectedIssueFilingServiceData = selectedIssueFilingService.getSettingsFromStoreData(
|
|
1909
|
+
userConfigurationStoreData.bugServicePropertiesMap
|
|
1910
|
+
);
|
|
1730
1911
|
const needsSettingsContentProps = {
|
|
1731
1912
|
deps,
|
|
1732
1913
|
isOpen: this.state.showNeedsSettingsContent,
|
|
@@ -1749,46 +1930,49 @@ var CardKebabMenuButton = class extends React30.Component {
|
|
|
1749
1930
|
var instance_details_footer_default = { "foot": "foot--p1DfC", "highlightStatus": "highlight-status--xJvvI" };
|
|
1750
1931
|
|
|
1751
1932
|
// src/common/components/cards/instance-details-footer.tsx
|
|
1752
|
-
var InstanceDetailsFooter = NamedFC(
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
const renderKebabMenu = () => {
|
|
1761
|
-
if (!supportsAnyActions) {
|
|
1762
|
-
return null;
|
|
1763
|
-
}
|
|
1764
|
-
const issueDetailsData = deps.unifiedResultToIssueFilingDataConverter.convert(result, rule, targetAppInfo);
|
|
1765
|
-
const kebabMenuAriaLabel = `More Actions for failure instance ${result.identifiers.identifier} in rule ${rule.id}`;
|
|
1766
|
-
return /* @__PURE__ */ React31.createElement(CardKebabMenuButton, {
|
|
1767
|
-
deps,
|
|
1768
|
-
userConfigurationStoreData,
|
|
1769
|
-
issueDetailsData,
|
|
1770
|
-
kebabMenuAriaLabel
|
|
1771
|
-
});
|
|
1772
|
-
};
|
|
1773
|
-
const renderHighlightStatus = () => {
|
|
1774
|
-
if (!supportsHighlighting) {
|
|
1933
|
+
var InstanceDetailsFooter = NamedFC(
|
|
1934
|
+
"InstanceDetailsFooter",
|
|
1935
|
+
(props) => {
|
|
1936
|
+
const { deps, userConfigurationStoreData, result, rule, targetAppInfo } = props;
|
|
1937
|
+
const { cardInteractionSupport } = deps;
|
|
1938
|
+
const supportsAnyActions = cardInteractionSupport.supportsIssueFiling || cardInteractionSupport.supportsCopyFailureDetails;
|
|
1939
|
+
const { supportsHighlighting } = cardInteractionSupport;
|
|
1940
|
+
if (!supportsHighlighting && !supportsAnyActions) {
|
|
1775
1941
|
return null;
|
|
1776
1942
|
}
|
|
1777
|
-
const
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1943
|
+
const renderKebabMenu = () => {
|
|
1944
|
+
if (!supportsAnyActions) {
|
|
1945
|
+
return null;
|
|
1946
|
+
}
|
|
1947
|
+
const issueDetailsData = deps.unifiedResultToIssueFilingDataConverter.convert(result, rule, targetAppInfo);
|
|
1948
|
+
const kebabMenuAriaLabel = `More Actions for failure instance ${result.identifiers.identifier} in rule ${rule.id}`;
|
|
1949
|
+
return /* @__PURE__ */ React31.createElement(CardKebabMenuButton, {
|
|
1950
|
+
deps,
|
|
1951
|
+
userConfigurationStoreData,
|
|
1952
|
+
issueDetailsData,
|
|
1953
|
+
kebabMenuAriaLabel
|
|
1954
|
+
});
|
|
1955
|
+
};
|
|
1956
|
+
const renderHighlightStatus = () => {
|
|
1957
|
+
if (!supportsHighlighting) {
|
|
1958
|
+
return null;
|
|
1959
|
+
}
|
|
1960
|
+
const highlightState = result.highlightStatus;
|
|
1961
|
+
const label = "Highlight " + highlightState;
|
|
1962
|
+
const icon = {
|
|
1963
|
+
unavailable: /* @__PURE__ */ React31.createElement(HighlightUnavailableIcon, null),
|
|
1964
|
+
visible: /* @__PURE__ */ React31.createElement(HighlightVisibleIcon, null),
|
|
1965
|
+
hidden: /* @__PURE__ */ React31.createElement(HighlightHiddenIcon, null)
|
|
1966
|
+
}[highlightState];
|
|
1967
|
+
return /* @__PURE__ */ React31.createElement("div", {
|
|
1968
|
+
className: instance_details_footer_default.highlightStatus
|
|
1969
|
+
}, icon, /* @__PURE__ */ React31.createElement(import_react8.Label, null, label));
|
|
1970
|
+
};
|
|
1784
1971
|
return /* @__PURE__ */ React31.createElement("div", {
|
|
1785
|
-
className: instance_details_footer_default.
|
|
1786
|
-
},
|
|
1787
|
-
}
|
|
1788
|
-
|
|
1789
|
-
className: instance_details_footer_default.foot
|
|
1790
|
-
}, renderHighlightStatus(), renderKebabMenu());
|
|
1791
|
-
});
|
|
1972
|
+
className: instance_details_footer_default.foot
|
|
1973
|
+
}, renderHighlightStatus(), renderKebabMenu());
|
|
1974
|
+
}
|
|
1975
|
+
);
|
|
1792
1976
|
|
|
1793
1977
|
// src/common/components/cards/instance-details.tsx
|
|
1794
1978
|
var instanceCardAutomationId = "instance-card";
|
|
@@ -1803,19 +1987,19 @@ var InstanceDetails = NamedFC("InstanceDetails", (props) => {
|
|
|
1803
1987
|
} = props;
|
|
1804
1988
|
const [cardFocused, setCardFocus] = React32.useState(false);
|
|
1805
1989
|
const isHighlightSupported = deps.cardInteractionSupport.supportsHighlighting;
|
|
1806
|
-
const instanceDetailsCardStyling =
|
|
1990
|
+
const instanceDetailsCardStyling = (0, import_classnames.default)({
|
|
1807
1991
|
[instance_details_default.instanceDetailsCard]: true,
|
|
1808
1992
|
[instance_details_default.selected]: isHighlightSupported && result.isSelected,
|
|
1809
1993
|
[instance_details_default.focused]: isHighlightSupported && cardFocused,
|
|
1810
1994
|
[instance_details_default.interactive]: isHighlightSupported
|
|
1811
1995
|
});
|
|
1812
|
-
const instanceDetailsCardContainerStyling =
|
|
1996
|
+
const instanceDetailsCardContainerStyling = (0, import_classnames.default)({
|
|
1813
1997
|
[instance_details_default.instanceDetailsCardContainer]: true,
|
|
1814
1998
|
[instance_details_default.selected]: isHighlightSupported && result.isSelected
|
|
1815
1999
|
});
|
|
1816
2000
|
const toggleSelectHandler = (event) => {
|
|
1817
2001
|
event.stopPropagation();
|
|
1818
|
-
cardSelectionMessageCreator.toggleCardSelection(result.ruleId, result.uid, event);
|
|
2002
|
+
cardSelectionMessageCreator == null ? void 0 : cardSelectionMessageCreator.toggleCardSelection(result.ruleId, result.uid, event);
|
|
1819
2003
|
};
|
|
1820
2004
|
const hiddenButton = React32.useRef(null);
|
|
1821
2005
|
const cardHighlightingProperties = isHighlightSupported ? {
|
|
@@ -1834,7 +2018,7 @@ var InstanceDetails = NamedFC("InstanceDetails", (props) => {
|
|
|
1834
2018
|
...cardHighlightingProperties
|
|
1835
2019
|
}, /* @__PURE__ */ React32.createElement("div", null, /* @__PURE__ */ React32.createElement("table", {
|
|
1836
2020
|
className: instance_details_default.reportInstanceTable
|
|
1837
|
-
}, /* @__PURE__ */ React32.createElement("tbody", null, renderCardRowsForPropertyBag(result.identifiers, props), renderCardRowsForPropertyBag(result.descriptors, props), renderCardRowsForPropertyBag(result.resolution, props))), isHighlightSupported && /* @__PURE__ */ React32.createElement("button", {
|
|
2021
|
+
}, /* @__PURE__ */ React32.createElement("tbody", null, renderCardRowsForPropertyBag(result.identifiers, props), renderCardRowsForPropertyBag(result.descriptors, props), renderCardRowsForPropertyBag(result.resolution, props))), isHighlightSupported && cardSelectionMessageCreator !== void 0 && /* @__PURE__ */ React32.createElement("button", {
|
|
1838
2022
|
ref: hiddenButton,
|
|
1839
2023
|
onClick: toggleSelectHandler,
|
|
1840
2024
|
className: instance_details_default.hiddenHighlightButton,
|
|
@@ -1853,17 +2037,19 @@ var InstanceDetails = NamedFC("InstanceDetails", (props) => {
|
|
|
1853
2037
|
var renderCardRowsForPropertyBag = (propertyBag, props) => {
|
|
1854
2038
|
let propertyIndex = 0;
|
|
1855
2039
|
const cardRows = [];
|
|
1856
|
-
forOwn(propertyBag, (propertyData, propertyName) => {
|
|
2040
|
+
(0, import_lodash6.forOwn)(propertyBag, (propertyData, propertyName) => {
|
|
1857
2041
|
const propertyConfig = props.deps.getPropertyConfigById(propertyName);
|
|
1858
|
-
if (!
|
|
2042
|
+
if (!(0, import_lodash6.isEmpty)(propertyConfig)) {
|
|
1859
2043
|
const CardRow = propertyConfig.cardRow;
|
|
1860
2044
|
++propertyIndex;
|
|
1861
|
-
cardRows.push(
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
2045
|
+
cardRows.push(
|
|
2046
|
+
/* @__PURE__ */ React32.createElement(CardRow, {
|
|
2047
|
+
deps: props.deps,
|
|
2048
|
+
propertyData,
|
|
2049
|
+
index: props.index,
|
|
2050
|
+
key: `${propertyName}-${propertyIndex}`
|
|
2051
|
+
})
|
|
2052
|
+
);
|
|
1867
2053
|
}
|
|
1868
2054
|
});
|
|
1869
2055
|
return /* @__PURE__ */ React32.createElement(React32.Fragment, null, cardRows);
|
|
@@ -1874,44 +2060,47 @@ var instance_details_group_default = { "instanceDetailsList": "instance-details-
|
|
|
1874
2060
|
|
|
1875
2061
|
// src/common/components/cards/instance-details-group.tsx
|
|
1876
2062
|
var ruleContentAutomationId = "cards-rule-content";
|
|
1877
|
-
var InstanceDetailsGroup = NamedFC(
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
2063
|
+
var InstanceDetailsGroup = NamedFC(
|
|
2064
|
+
"InstanceDetailsGroup",
|
|
2065
|
+
(props) => {
|
|
2066
|
+
const {
|
|
2067
|
+
deps,
|
|
2068
|
+
rule,
|
|
2069
|
+
userConfigurationStoreData,
|
|
2070
|
+
targetAppInfo,
|
|
2071
|
+
cardSelectionMessageCreator
|
|
2072
|
+
} = props;
|
|
2073
|
+
const { nodes } = rule;
|
|
2074
|
+
const unifiedRule = {
|
|
2075
|
+
id: rule.id,
|
|
2076
|
+
description: rule.description,
|
|
2077
|
+
url: rule.url,
|
|
2078
|
+
guidance: rule.guidance
|
|
2079
|
+
};
|
|
2080
|
+
return /* @__PURE__ */ React33.createElement("ul", {
|
|
2081
|
+
"data-automation-id": ruleContentAutomationId,
|
|
2082
|
+
className: instance_details_group_default.instanceDetailsList,
|
|
2083
|
+
"aria-label": "instances with additional information like path, snippet and how to fix"
|
|
2084
|
+
}, nodes.map((node, index) => /* @__PURE__ */ React33.createElement("li", {
|
|
2085
|
+
key: `instance-details-${index}`
|
|
2086
|
+
}, /* @__PURE__ */ React33.createElement(InstanceDetails, {
|
|
2087
|
+
...{ index },
|
|
2088
|
+
deps,
|
|
2089
|
+
result: node,
|
|
2090
|
+
getPropertyConfigById: getPropertyConfiguration,
|
|
2091
|
+
userConfigurationStoreData,
|
|
2092
|
+
rule: unifiedRule,
|
|
2093
|
+
targetAppInfo,
|
|
2094
|
+
cardSelectionMessageCreator
|
|
2095
|
+
}))));
|
|
2096
|
+
}
|
|
2097
|
+
);
|
|
1909
2098
|
|
|
1910
2099
|
// src/common/components/guidance-links.tsx
|
|
1911
|
-
|
|
1912
|
-
|
|
2100
|
+
var import_lodash8 = require("lodash");
|
|
2101
|
+
var React34 = __toESM(require("react"));
|
|
1913
2102
|
|
|
1914
|
-
// src/common/guidance-links.ts
|
|
2103
|
+
// src/common/types/store-data/guidance-links.ts
|
|
1915
2104
|
var guidanceTags = {
|
|
1916
2105
|
WCAG_2_1: {
|
|
1917
2106
|
id: "WCAG_2_1",
|
|
@@ -2507,26 +2696,60 @@ var link = {
|
|
|
2507
2696
|
HeadingsVideo: linkTo("Headings Video", "https://www.youtube.com/watch?v=S0pJcYyxBWo"),
|
|
2508
2697
|
FormLabelsVideo: linkTo("Form Labels Video", "https://www.youtube.com/watch?v=Mki-ZknCrB4"),
|
|
2509
2698
|
IdentifyHeadings: linkTo("Techniques for WCAG 2.0: Using h1-h6 to identify headings", "https://www.w3.org/TR/WCAG20-TECHS/H42.html"),
|
|
2510
|
-
LandmarkRegions: linkTo(
|
|
2699
|
+
LandmarkRegions: linkTo(
|
|
2700
|
+
"WAI-ARIA Authoring Practices 1.1: Landmark Regions",
|
|
2701
|
+
"https://www.w3.org/TR/wai-aria-practices-1.1/#aria_landmark"
|
|
2702
|
+
),
|
|
2703
|
+
accessibleNameComputation: linkTo("ARIA 1.1 Important Terms Section", "https://www.w3.org/TR/wai-aria/#terms"),
|
|
2511
2704
|
Keyboard: linkTo("WebAIM: Keyboard Accessibility", "https://aka.ms/webaim/keyboard-accessibility"),
|
|
2512
|
-
InteroperabilityWithAT: linkTo(
|
|
2705
|
+
InteroperabilityWithAT: linkTo(
|
|
2706
|
+
"Section 508 - 502.2.2",
|
|
2707
|
+
"https://www.access-board.gov/guidelines-and-standards/communications-and-it/about-the-ict-refresh/final-rule/text-of-the-standards-and-guidelines#502-interoperability-assistive-technology"
|
|
2708
|
+
),
|
|
2513
2709
|
Presbyopia: linkTo("presbyopia", "https://en.wikipedia.org/wiki/Presbyopia"),
|
|
2514
|
-
WAIARIAAuthoringPractices: linkTo(
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2710
|
+
WAIARIAAuthoringPractices: linkTo(
|
|
2711
|
+
"WAI-ARIA Authoring Practices 1.1: Design Patterns and Widgets",
|
|
2712
|
+
"https://www.w3.org/TR/wai-aria-practices-1.1/"
|
|
2713
|
+
),
|
|
2714
|
+
WCAG21UnderstandingUseOfColor: linkTo(
|
|
2715
|
+
"Understanding Success Criterion 1.4.1: Use of Color",
|
|
2716
|
+
"https://www.w3.org/WAI/WCAG21/Understanding/use-of-color.html"
|
|
2717
|
+
),
|
|
2718
|
+
WCAG21UnderstandingAudioOnlyViewOnlyPrerecorded: linkTo(
|
|
2719
|
+
"Understanding Success Criterion 1.2.1: Audio-only and Video-only (Prerecorded)",
|
|
2720
|
+
"https://www.w3.org/WAI/WCAG21/Understanding/audio-only-and-video-only-prerecorded.html"
|
|
2721
|
+
),
|
|
2722
|
+
WCAG21TechniquesG83: linkTo(
|
|
2723
|
+
"Providing text descriptions to identify required fields that were not completed",
|
|
2724
|
+
"https://www.w3.org/WAI/WCAG21/Techniques/general/G83"
|
|
2725
|
+
),
|
|
2518
2726
|
WCAG21TechniquesG89: linkTo("Providing expected data format and example", "https://www.w3.org/WAI/WCAG21/Techniques/general/G89"),
|
|
2519
2727
|
WCAG21TechniquesG90: linkTo("Providing keyboard-triggered event handlers", "https://www.w3.org/WAI/WCAG21/Techniques/general/G90"),
|
|
2520
2728
|
WCAG21TechniquesG131: linkTo("Providing descriptive labels", "https://www.w3.org/WAI/WCAG21/Techniques/general/G131"),
|
|
2521
|
-
WCAG21TechniquesG138: linkTo(
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2729
|
+
WCAG21TechniquesG138: linkTo(
|
|
2730
|
+
"Using semantic markup whenever color cues are used",
|
|
2731
|
+
"https://www.w3.org/WAI/WCAG21/Techniques/general/G138"
|
|
2732
|
+
),
|
|
2733
|
+
WCAG21TechniquesG158: linkTo(
|
|
2734
|
+
"Providing an alternative for time-based media for audio-only content",
|
|
2735
|
+
"https://www.w3.org/WAI/WCAG21/Techniques/general/G158"
|
|
2736
|
+
),
|
|
2737
|
+
WCAG21TechniquesG159: linkTo(
|
|
2738
|
+
"Providing an alternative for time-based media for video-only content",
|
|
2739
|
+
"https://www.w3.org/WAI/WCAG21/Techniques/general/G159"
|
|
2740
|
+
),
|
|
2741
|
+
WCAG21TechniquesG166: linkTo(
|
|
2742
|
+
"Providing audio that describes the important video content and describing it as such",
|
|
2743
|
+
"https://www.w3.org/WAI/WCAG21/Techniques/general/G166"
|
|
2744
|
+
),
|
|
2745
|
+
WCAG21TechniquesG202: linkTo(
|
|
2746
|
+
"Ensuring keyboard control for all functionality",
|
|
2747
|
+
"https://www.w3.org/WAI/WCAG21/Techniques/general/G202"
|
|
2748
|
+
)
|
|
2526
2749
|
};
|
|
2527
2750
|
|
|
2528
2751
|
// src/scanner/map-axe-tags-to-guidance-links.ts
|
|
2529
|
-
|
|
2752
|
+
var import_lodash7 = require("lodash");
|
|
2530
2753
|
var BestPractice = {
|
|
2531
2754
|
text: "Best Practice",
|
|
2532
2755
|
href: ""
|
|
@@ -2545,7 +2768,7 @@ function mapAxeTagsToGuidanceLinks(axeTags) {
|
|
|
2545
2768
|
const normalizedTags = axeTags ?? [];
|
|
2546
2769
|
const unsortedMaybeLinks = normalizedTags.map(mapAxeTagToGuidanceLink);
|
|
2547
2770
|
const unsortedLinks = unsortedMaybeLinks.filter(isNotNull);
|
|
2548
|
-
const sortedLinks = sortBy(unsortedLinks, (link2) => link2.text);
|
|
2771
|
+
const sortedLinks = (0, import_lodash7.sortBy)(unsortedLinks, (link2) => link2.text);
|
|
2549
2772
|
return sortedLinks;
|
|
2550
2773
|
}
|
|
2551
2774
|
function isNotNull(maybeInstance) {
|
|
@@ -2555,7 +2778,7 @@ function isNotNull(maybeInstance) {
|
|
|
2555
2778
|
// src/common/components/guidance-links.tsx
|
|
2556
2779
|
var GuidanceLinks = NamedFC("GuidanceLinks", (props) => {
|
|
2557
2780
|
const { links, classNameForDiv } = props;
|
|
2558
|
-
if (
|
|
2781
|
+
if ((0, import_lodash8.isEmpty)(links)) {
|
|
2559
2782
|
return null;
|
|
2560
2783
|
}
|
|
2561
2784
|
const renderLinks = () => {
|
|
@@ -2585,15 +2808,15 @@ var GuidanceLinks = NamedFC("GuidanceLinks", (props) => {
|
|
|
2585
2808
|
});
|
|
2586
2809
|
|
|
2587
2810
|
// src/common/components/guidance-tags.tsx
|
|
2588
|
-
|
|
2589
|
-
|
|
2811
|
+
var import_lodash9 = require("lodash");
|
|
2812
|
+
var React35 = __toESM(require("react"));
|
|
2590
2813
|
var GuidanceTags = NamedFC("GuidanceTags", (props) => {
|
|
2591
2814
|
const { links, deps } = props;
|
|
2592
|
-
if (
|
|
2815
|
+
if ((0, import_lodash9.isEmpty)(links)) {
|
|
2593
2816
|
return null;
|
|
2594
2817
|
}
|
|
2595
2818
|
const tags = deps.getGuidanceTagsFromGuidanceLinks(links);
|
|
2596
|
-
if (
|
|
2819
|
+
if ((0, import_lodash9.isEmpty)(tags)) {
|
|
2597
2820
|
return null;
|
|
2598
2821
|
}
|
|
2599
2822
|
const tagElements = tags.map((tag, index) => {
|
|
@@ -2607,15 +2830,15 @@ var GuidanceTags = NamedFC("GuidanceTags", (props) => {
|
|
|
2607
2830
|
});
|
|
2608
2831
|
|
|
2609
2832
|
// src/common/components/cards/rule-resources.tsx
|
|
2610
|
-
|
|
2611
|
-
|
|
2833
|
+
var import_lodash10 = require("lodash");
|
|
2834
|
+
var React36 = __toESM(require("react"));
|
|
2612
2835
|
|
|
2613
2836
|
// src/common/components/cards/rule-resources.scss
|
|
2614
2837
|
var rule_resources_default = { "ruleMoreResources": "rule-more-resources--uw9mc", "moreResourcesTitle": "more-resources-title--jOuUL", "ruleDetailsId": "rule-details-id--s-TpO" };
|
|
2615
2838
|
|
|
2616
2839
|
// src/common/components/cards/rule-resources.tsx
|
|
2617
2840
|
var RuleResources = NamedFC("RuleResources", ({ deps, rule }) => {
|
|
2618
|
-
if (rule.url == null &&
|
|
2841
|
+
if (rule.url == null && (0, import_lodash10.isEmpty)(rule.guidance)) {
|
|
2619
2842
|
return null;
|
|
2620
2843
|
}
|
|
2621
2844
|
const renderTitle = () => /* @__PURE__ */ React36.createElement("div", {
|
|
@@ -2661,104 +2884,112 @@ var rules_with_instances_default = { "ruleDetailsGroup": "rule-details-group--Tb
|
|
|
2661
2884
|
// src/common/components/cards/rules-with-instances.tsx
|
|
2662
2885
|
var ruleGroupAutomationId = "cards-rule-group";
|
|
2663
2886
|
var ruleDetailsGroupAutomationId = "rule-details-group";
|
|
2664
|
-
var RulesWithInstances = NamedFC(
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
deps,
|
|
2669
|
-
userConfigurationStoreData,
|
|
2670
|
-
targetAppInfo,
|
|
2671
|
-
outcomeCounter,
|
|
2672
|
-
headingLevel,
|
|
2673
|
-
cardSelectionMessageCreator
|
|
2674
|
-
}) => {
|
|
2675
|
-
const getCollapsibleComponentProps = (rule, idx, buttonAriaLabel) => {
|
|
2676
|
-
return {
|
|
2677
|
-
id: rule.id,
|
|
2678
|
-
key: `summary-details-${idx + 1}`,
|
|
2679
|
-
header: /* @__PURE__ */ React38.createElement(MinimalRuleHeader, {
|
|
2680
|
-
key: rule.id,
|
|
2681
|
-
rule,
|
|
2682
|
-
outcomeType,
|
|
2683
|
-
outcomeCounter
|
|
2684
|
-
}),
|
|
2685
|
-
content: /* @__PURE__ */ React38.createElement(RuleContent, {
|
|
2686
|
-
key: `${rule.id}-rule-group`,
|
|
2687
|
-
deps,
|
|
2688
|
-
rule,
|
|
2689
|
-
fixInstructionProcessor,
|
|
2690
|
-
userConfigurationStoreData,
|
|
2691
|
-
targetAppInfo,
|
|
2692
|
-
cardSelectionMessageCreator
|
|
2693
|
-
}),
|
|
2694
|
-
containerAutomationId: ruleGroupAutomationId,
|
|
2695
|
-
containerClassName: rules_with_instances_default.collapsibleRuleDetailsGroup,
|
|
2696
|
-
buttonAriaLabel,
|
|
2697
|
-
headingLevel,
|
|
2698
|
-
deps,
|
|
2699
|
-
onExpandToggle: (event) => {
|
|
2700
|
-
cardSelectionMessageCreator.toggleRuleExpandCollapse(rule.id, event);
|
|
2701
|
-
},
|
|
2702
|
-
isExpanded: rule.isExpanded
|
|
2703
|
-
};
|
|
2704
|
-
};
|
|
2705
|
-
return /* @__PURE__ */ React38.createElement("div", {
|
|
2706
|
-
className: rules_with_instances_default.ruleDetailsGroup,
|
|
2707
|
-
"data-automation-id": ruleDetailsGroupAutomationId
|
|
2708
|
-
}, rules.map((rule, idx) => {
|
|
2709
|
-
const { pastTense } = outcomeTypeSemantics[outcomeType];
|
|
2710
|
-
const count = outcomeCounter(rule.nodes);
|
|
2711
|
-
const buttonAriaLabel = `${rule.id} ${count} ${pastTense} ${rule.description}`;
|
|
2712
|
-
const CollapsibleComponent = deps.collapsibleControl(getCollapsibleComponentProps(rule, idx, buttonAriaLabel));
|
|
2713
|
-
return CollapsibleComponent;
|
|
2714
|
-
}));
|
|
2715
|
-
});
|
|
2716
|
-
|
|
2717
|
-
// src/common/components/cards/result-section-content.tsx
|
|
2718
|
-
var ResultSectionContent = NamedFC("ResultSectionContent", (props) => {
|
|
2719
|
-
const {
|
|
2720
|
-
results,
|
|
2887
|
+
var RulesWithInstances = NamedFC(
|
|
2888
|
+
"RulesWithInstances",
|
|
2889
|
+
({
|
|
2890
|
+
rules,
|
|
2721
2891
|
outcomeType,
|
|
2722
|
-
fixInstructionProcessor,
|
|
2723
|
-
deps,
|
|
2724
|
-
userConfigurationStoreData,
|
|
2725
|
-
targetAppInfo,
|
|
2726
|
-
outcomeCounter,
|
|
2727
|
-
headingLevel
|
|
2728
|
-
} = props;
|
|
2729
|
-
if (results.length === 0) {
|
|
2730
|
-
return null;
|
|
2731
|
-
}
|
|
2732
|
-
return /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement(deps.cardsVisualizationModifierButtons, {
|
|
2733
|
-
...props
|
|
2734
|
-
}), /* @__PURE__ */ React39.createElement(RulesWithInstances, {
|
|
2735
2892
|
deps,
|
|
2736
|
-
rules: results,
|
|
2737
|
-
outcomeType,
|
|
2738
|
-
fixInstructionProcessor,
|
|
2739
2893
|
userConfigurationStoreData,
|
|
2740
2894
|
targetAppInfo,
|
|
2741
2895
|
outcomeCounter,
|
|
2742
2896
|
headingLevel,
|
|
2743
|
-
cardSelectionMessageCreator
|
|
2744
|
-
})
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2897
|
+
cardSelectionMessageCreator
|
|
2898
|
+
}) => {
|
|
2899
|
+
const getCollapsibleComponentProps = (rule, idx, buttonAriaLabel) => {
|
|
2900
|
+
return {
|
|
2901
|
+
id: rule.id,
|
|
2902
|
+
key: `summary-details-${idx + 1}`,
|
|
2903
|
+
header: /* @__PURE__ */ React38.createElement(MinimalRuleHeader, {
|
|
2904
|
+
key: rule.id,
|
|
2905
|
+
rule,
|
|
2906
|
+
outcomeType,
|
|
2907
|
+
outcomeCounter
|
|
2908
|
+
}),
|
|
2909
|
+
content: /* @__PURE__ */ React38.createElement(RuleContent, {
|
|
2910
|
+
key: `${rule.id}-rule-group`,
|
|
2911
|
+
deps,
|
|
2912
|
+
rule,
|
|
2913
|
+
userConfigurationStoreData,
|
|
2914
|
+
targetAppInfo,
|
|
2915
|
+
cardSelectionMessageCreator
|
|
2916
|
+
}),
|
|
2917
|
+
containerAutomationId: ruleGroupAutomationId,
|
|
2918
|
+
containerClassName: rules_with_instances_default.collapsibleRuleDetailsGroup,
|
|
2919
|
+
buttonAriaLabel,
|
|
2920
|
+
headingLevel,
|
|
2921
|
+
deps,
|
|
2922
|
+
onExpandToggle: (event) => {
|
|
2923
|
+
cardSelectionMessageCreator == null ? void 0 : cardSelectionMessageCreator.toggleRuleExpandCollapse(rule.id, event);
|
|
2924
|
+
},
|
|
2925
|
+
isExpanded: rule.isExpanded
|
|
2926
|
+
};
|
|
2927
|
+
};
|
|
2928
|
+
return /* @__PURE__ */ React38.createElement("div", {
|
|
2929
|
+
className: rules_with_instances_default.ruleDetailsGroup,
|
|
2930
|
+
"data-automation-id": ruleDetailsGroupAutomationId
|
|
2931
|
+
}, rules.map((rule, idx) => {
|
|
2932
|
+
const { pastTense } = outcomeTypeSemantics[outcomeType];
|
|
2933
|
+
const count = outcomeCounter(rule.nodes);
|
|
2934
|
+
const buttonAriaLabel = `${rule.id} ${count} ${pastTense} ${rule.description}`;
|
|
2935
|
+
const CollapsibleComponent = deps.collapsibleControl(
|
|
2936
|
+
getCollapsibleComponentProps(rule, idx, buttonAriaLabel)
|
|
2937
|
+
);
|
|
2938
|
+
return CollapsibleComponent;
|
|
2939
|
+
}));
|
|
2940
|
+
}
|
|
2941
|
+
);
|
|
2752
2942
|
|
|
2753
|
-
// src/common/components/cards/result-section-
|
|
2754
|
-
var
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2943
|
+
// src/common/components/cards/result-section-content.tsx
|
|
2944
|
+
var ResultSectionContent = NamedFC(
|
|
2945
|
+
"ResultSectionContent",
|
|
2946
|
+
(props) => {
|
|
2947
|
+
const {
|
|
2948
|
+
results,
|
|
2949
|
+
outcomeType,
|
|
2950
|
+
fixInstructionProcessor,
|
|
2951
|
+
deps,
|
|
2952
|
+
userConfigurationStoreData,
|
|
2953
|
+
targetAppInfo,
|
|
2954
|
+
outcomeCounter,
|
|
2955
|
+
headingLevel,
|
|
2956
|
+
cardSelectionMessageCreator
|
|
2957
|
+
} = props;
|
|
2958
|
+
if (results.length === 0) {
|
|
2959
|
+
return null;
|
|
2960
|
+
}
|
|
2961
|
+
return /* @__PURE__ */ React39.createElement(React39.Fragment, null, cardSelectionMessageCreator !== void 0 && /* @__PURE__ */ React39.createElement(deps.cardsVisualizationModifierButtons, {
|
|
2962
|
+
...props,
|
|
2963
|
+
cardSelectionMessageCreator
|
|
2964
|
+
}), /* @__PURE__ */ React39.createElement(RulesWithInstances, {
|
|
2965
|
+
deps,
|
|
2966
|
+
rules: results,
|
|
2967
|
+
outcomeType,
|
|
2968
|
+
fixInstructionProcessor,
|
|
2969
|
+
userConfigurationStoreData,
|
|
2970
|
+
targetAppInfo,
|
|
2971
|
+
outcomeCounter,
|
|
2972
|
+
headingLevel,
|
|
2973
|
+
cardSelectionMessageCreator
|
|
2974
|
+
}));
|
|
2975
|
+
}
|
|
2976
|
+
);
|
|
2977
|
+
|
|
2978
|
+
// src/common/components/cards/result-section-title.tsx
|
|
2979
|
+
var React40 = __toESM(require("react"));
|
|
2980
|
+
|
|
2981
|
+
// src/common/components/cards/result-section-title.scss
|
|
2982
|
+
var result_section_title_default = { "resultSectionTitle": "result-section-title--RGFI5", "title": "title--WBYFE", "heading": "heading--NdP4Q", "outcomeChipContainer": "outcome-chip-container--BT3j5" };
|
|
2983
|
+
|
|
2984
|
+
// src/common/components/cards/result-section-title.tsx
|
|
2985
|
+
var titleClassNames = {
|
|
2986
|
+
title: result_section_title_default.title,
|
|
2987
|
+
heading: result_section_title_default.heading
|
|
2988
|
+
};
|
|
2989
|
+
var ResultSectionTitle = NamedFC("ResultSectionTitle", (props) => {
|
|
2990
|
+
const singularMessageSubject = props.outcomeType === "review" ? "instance to review" : "failure";
|
|
2991
|
+
const pluralMessageSubject = props.outcomeType === "review" ? "instances to review" : "failures";
|
|
2992
|
+
const alertTerm = props.badgeCount !== 1 ? `${pluralMessageSubject} were` : `${singularMessageSubject} was`;
|
|
2762
2993
|
const alertingFailuresCount = /* @__PURE__ */ React40.createElement("span", {
|
|
2763
2994
|
role: "alert"
|
|
2764
2995
|
}, props.badgeCount, " ", alertTerm, " detected.");
|
|
@@ -2786,7 +3017,7 @@ var resultSectionAutomationId = "result-section";
|
|
|
2786
3017
|
var ResultSection = NamedFC("ResultSection", (props) => {
|
|
2787
3018
|
const { containerClassName, sectionHeadingLevel, deps } = props;
|
|
2788
3019
|
return /* @__PURE__ */ React41.createElement("div", {
|
|
2789
|
-
className:
|
|
3020
|
+
className: (0, import_utilities5.css)(containerClassName, result_section_default.resultSection),
|
|
2790
3021
|
"data-automation-id": resultSectionAutomationId
|
|
2791
3022
|
}, /* @__PURE__ */ React41.createElement(HeadingElementForLevel, {
|
|
2792
3023
|
headingLevel: sectionHeadingLevel
|
|
@@ -2800,38 +3031,41 @@ var ResultSection = NamedFC("ResultSection", (props) => {
|
|
|
2800
3031
|
});
|
|
2801
3032
|
|
|
2802
3033
|
// src/common/components/cards/failed-instances-section.tsx
|
|
2803
|
-
var FailedInstancesSection = NamedFC(
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
scanMetadata,
|
|
2808
|
-
shouldAlertFailuresCount,
|
|
2809
|
-
cardSelectionMessageCreator,
|
|
2810
|
-
sectionHeadingLevel
|
|
2811
|
-
}) => {
|
|
2812
|
-
if (cardsViewData == null || cardsViewData.cards == null) {
|
|
2813
|
-
return null;
|
|
2814
|
-
}
|
|
2815
|
-
const count = cardsViewData.cards.fail.reduce((total, rule) => {
|
|
2816
|
-
return total + rule.nodes.length;
|
|
2817
|
-
}, 0);
|
|
2818
|
-
return /* @__PURE__ */ React42.createElement(ResultSection, {
|
|
3034
|
+
var FailedInstancesSection = NamedFC(
|
|
3035
|
+
"FailedInstancesSection",
|
|
3036
|
+
({
|
|
3037
|
+
cardsViewData,
|
|
2819
3038
|
deps,
|
|
2820
|
-
title: "Failed instances",
|
|
2821
|
-
results: cardsViewData.cards.fail,
|
|
2822
|
-
containerClassName: failed_instances_section_default.failedInstancesContainer,
|
|
2823
|
-
outcomeType: "fail",
|
|
2824
|
-
badgeCount: count,
|
|
2825
3039
|
userConfigurationStoreData,
|
|
2826
|
-
|
|
3040
|
+
scanMetadata,
|
|
2827
3041
|
shouldAlertFailuresCount,
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
3042
|
+
cardSelectionMessageCreator,
|
|
3043
|
+
sectionHeadingLevel
|
|
3044
|
+
}) => {
|
|
3045
|
+
if (cardsViewData == null || cardsViewData.cards == null) {
|
|
3046
|
+
return null;
|
|
3047
|
+
}
|
|
3048
|
+
const count = cardsViewData.cards.fail.reduce((total, rule) => {
|
|
3049
|
+
return total + rule.nodes.length;
|
|
3050
|
+
}, 0);
|
|
3051
|
+
return /* @__PURE__ */ React42.createElement(ResultSection, {
|
|
3052
|
+
deps,
|
|
3053
|
+
title: "Failed instances",
|
|
3054
|
+
results: cardsViewData.cards.fail,
|
|
3055
|
+
containerClassName: failed_instances_section_default.failedInstancesContainer,
|
|
3056
|
+
outcomeType: "fail",
|
|
3057
|
+
badgeCount: count,
|
|
3058
|
+
userConfigurationStoreData,
|
|
3059
|
+
targetAppInfo: scanMetadata.targetAppInfo,
|
|
3060
|
+
shouldAlertFailuresCount,
|
|
3061
|
+
visualHelperEnabled: cardsViewData.visualHelperEnabled,
|
|
3062
|
+
allCardsCollapsed: cardsViewData.allCardsCollapsed,
|
|
3063
|
+
outcomeCounter: OutcomeCounter.countByCards,
|
|
3064
|
+
sectionHeadingLevel,
|
|
3065
|
+
cardSelectionMessageCreator
|
|
3066
|
+
});
|
|
3067
|
+
}
|
|
3068
|
+
);
|
|
2835
3069
|
|
|
2836
3070
|
// src/content/strings/application.ts
|
|
2837
3071
|
var brand = "Accessibility Insights";
|
|
@@ -2841,13 +3075,13 @@ var windowsProductName = `${brand} for Windows`;
|
|
|
2841
3075
|
var androidAppTitle = `${brand} for Android`;
|
|
2842
3076
|
|
|
2843
3077
|
// src/reports/components/report-sections/reporter-header-section.tsx
|
|
2844
|
-
|
|
3078
|
+
var React46 = __toESM(require("react"));
|
|
2845
3079
|
|
|
2846
3080
|
// src/reports/components/report-sections/header-section.tsx
|
|
2847
|
-
|
|
3081
|
+
var React45 = __toESM(require("react"));
|
|
2848
3082
|
|
|
2849
3083
|
// src/icons/brand/white/brand-white.tsx
|
|
2850
|
-
|
|
3084
|
+
var React43 = __toESM(require("react"));
|
|
2851
3085
|
var BrandWhite = NamedFC("BrandWhite", () => /* @__PURE__ */ React43.createElement("svg", {
|
|
2852
3086
|
role: "img",
|
|
2853
3087
|
"aria-hidden": "true",
|
|
@@ -3000,7 +3234,7 @@ var BrandWhite = NamedFC("BrandWhite", () => /* @__PURE__ */ React43.createEleme
|
|
|
3000
3234
|
})))));
|
|
3001
3235
|
|
|
3002
3236
|
// src/reports/components/header-bar.tsx
|
|
3003
|
-
|
|
3237
|
+
var React44 = __toESM(require("react"));
|
|
3004
3238
|
|
|
3005
3239
|
// src/reports/components/header-bar.scss
|
|
3006
3240
|
var header_bar_default = { "reportHeaderBar": "report-header-bar--SDV11", "headerText": "header-text--EdTxw" };
|
|
@@ -3019,37 +3253,43 @@ var header_section_default = { "reportHeaderCommandBar": "report-header-command-
|
|
|
3019
3253
|
|
|
3020
3254
|
// src/reports/components/report-sections/header-section.tsx
|
|
3021
3255
|
var reportHeaderSectionDataAutomationId = "report-header-section";
|
|
3022
|
-
var HeaderSection = NamedFC(
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3256
|
+
var HeaderSection = NamedFC(
|
|
3257
|
+
"HeaderSection",
|
|
3258
|
+
({ targetAppInfo, headerText }) => {
|
|
3259
|
+
return /* @__PURE__ */ React45.createElement("header", {
|
|
3260
|
+
"data-automation-id": reportHeaderSectionDataAutomationId
|
|
3261
|
+
}, /* @__PURE__ */ React45.createElement(HeaderBar, {
|
|
3262
|
+
headerText
|
|
3263
|
+
}), /* @__PURE__ */ React45.createElement("div", {
|
|
3264
|
+
className: header_section_default.reportHeaderCommandBar
|
|
3265
|
+
}, /* @__PURE__ */ React45.createElement("div", {
|
|
3266
|
+
className: header_section_default.targetPage
|
|
3267
|
+
}, "Target page:\xA0", /* @__PURE__ */ React45.createElement(NewTabLinkWithConfirmationDialog, {
|
|
3268
|
+
href: targetAppInfo.url,
|
|
3269
|
+
title: targetAppInfo.name
|
|
3270
|
+
}, targetAppInfo.name))));
|
|
3271
|
+
}
|
|
3272
|
+
);
|
|
3036
3273
|
|
|
3037
3274
|
// src/reports/components/report-sections/reporter-header-section.tsx
|
|
3038
|
-
var ReporterHeaderSection = NamedFC(
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3275
|
+
var ReporterHeaderSection = NamedFC(
|
|
3276
|
+
"AutomatedChecksHeaderSection",
|
|
3277
|
+
({ scanMetadata }) => {
|
|
3278
|
+
return /* @__PURE__ */ React46.createElement(HeaderSection, {
|
|
3279
|
+
targetAppInfo: scanMetadata.targetAppInfo,
|
|
3280
|
+
headerText: brand
|
|
3281
|
+
});
|
|
3282
|
+
}
|
|
3283
|
+
);
|
|
3044
3284
|
|
|
3045
3285
|
// src/reports/components/reporter-automated-check-head.tsx
|
|
3046
|
-
|
|
3286
|
+
var React48 = __toESM(require("react"));
|
|
3047
3287
|
|
|
3048
3288
|
// src/reports/components/head.tsx
|
|
3049
|
-
|
|
3289
|
+
var React47 = __toESM(require("react"));
|
|
3050
3290
|
|
|
3051
3291
|
// src/reports/automated-checks-report.styles.ts
|
|
3052
|
-
var styleSheet = `:root {\n --black: #000;\n --light-black: #161616;\n --white: #fff;\n --brand-blue: #004880;\n --grey: #333;\n --ada-brand-color: var(--brand-blue);\n --primary-text: rgb(0 0 0 / 90%);\n --secondary-text: rgb(0 0 0 / 70%);\n --disabled-text: rgb(0 0 0 / 38%);\n --communication-primary: #106ebe;\n --communication-tint-40: #eff6fc;\n --communication-tint-30: #deecf9;\n --communication-tint-20: #c7e0f4;\n --communication-tint-10: #2b88d8;\n --communication-shade-20: #004578;\n --neutral-0: var(--white);\n --neutral-2: #f8f8f8;\n --neutral-3: #f6f6f6;\n --neutral-4: #f4f4f4;\n --neutral-6: #f2f2f2;\n --neutral-6-5: #f1f1f1;\n --neutral-8: #ebebeb;\n --neutral-10: #dedede;\n --neutral-20: #c8c8c8;\n --neutral-30: #a6a6a6;\n --neutral-55: #6e6e6e;\n --neutral-60: #666;\n --neutral-70: #3c3c3c;\n --neutral-80: var(--grey);\n --neutral-100: var(--black);\n --neutral-alpha-2: rgb(0 0 0 / 2%);\n --neutral-alpha-4: rgb(0 0 0 / 4%);\n --neutral-alpha-6: rgb(0 0 0 / 6%);\n --neutral-alpha-8: rgb(0 0 0 / 8%);\n --neutral-alpha-10: rgb(0 0 0 / 10%);\n --neutral-alpha-20: rgb(0 0 0 / 20%);\n --neutral-alpha-30: rgb(0 0 0 / 30%);\n --neutral-alpha-60: rgb(0 0 0 / 60%);\n --neutral-alpha-70: rgb(0 0 0 / 70%);\n --neutral-alpha-80: rgb(0 0 0 / 80%);\n --neutral-alpha-90: rgb(0 0 0 / 90%);\n --positive-outcome: #228722;\n --negative-outcome: #e81123;\n --neutral-outcome: var(--neutral-60);\n --box-shadow-108: rgb(0 0 0 / 10.8%);\n --box-shadow-132: rgb(0 0 0 / 13.2%);\n --box-shadow-27: rgb(0 0 0 / 27%);\n --screenshot-image-outline: #8b8b8b;\n --card-border: transparent;\n --card-footer-border: var(--neutral-10);\n --header-bar-title-color: var(--neutral-0);\n --help-links-section-background: var(--neutral-4);\n --help-links-section-border: var(--neutral-4);\n --index-circle-background: var(--communication-primary);\n --link-hover: var(--communication-shade-20);\n --link: var(--communication-primary);\n --menu-border: var(--neutral-3);\n --menu-item-background-active: var(--neutral-alpha-8);\n --menu-item-background-hover: var(--neutral-alpha-4);\n --left-nav-icon: var(--neutral-55);\n --pill-background: var(--neutral-alpha-8);\n --pill: var(--primary-text);\n --spinner-text: var(--communication-primary);\n --nav-link-hover: var(--neutral-alpha-8);\n --nav-link-selected: var(--communication-tint-20);\n --nav-link-expanded: var(--communication-tint-40);\n --insights-button-hover: #0179d4;\n --report-footer-text: #222;\n --landmark-contentinfo: #00a88c;\n --landmark-main: #cb2e6d;\n --landmark-complementary: #6b9d1a;\n --landmark-banner: #d08311;\n --landmark-region: #2560e0;\n --landmark-navigation: #9b38e6;\n --landmark-search: #d363d8;\n --landmark-form: #0298c7;\n}\n:root .high-contrast-theme {\n --ada-brand-color: var(--white);\n --secondary-text: var(--white);\n --primary-text: var(--white);\n --disabled-text: #c285ff;\n --communication-tint-40: #38a9ff;\n --communication-tint-30: var(--communication-tint-10);\n --neutral-0: var(--light-black);\n --neutral-2: var(--light-black);\n --neutral-3: var(--light-black);\n --neutral-4: var(--light-black);\n --neutral-6: var(--light-black);\n --neutral-6-5: var(--light-black);\n --neutral-8: var(--white);\n --neutral-10: var(--light-black);\n --neutral-20: var(--white);\n --neutral-30: var(--white);\n --neutral-55: var(--white);\n --neutral-60: var(--white);\n --neutral-70: var(--white);\n --neutral-80: var(--white);\n --neutral-100: var(--white);\n --neutral-alpha-8: var(--white);\n --neutral-alpha-90: var(--white);\n --positive-outcome: #4ac94a;\n --negative-outcome: #fc7ab1;\n --neutral-outcome: var(--neutral-0);\n --card-border: var(--white);\n --card-footer-border: var(--white);\n --header-bar-title-color: var(--brand-blue);\n --help-links-section-background: transparent;\n --help-links-section-border: var(--white);\n --index-circle-background: var(--communication-tint-40);\n --link-hover: #ff0;\n --link: #ff0;\n --menu-border: var(--grey);\n --menu-item-background-active: var(--communication-tint-40);\n --menu-item-background-hover: var(--grey);\n --left-nav-icon: var(--black);\n --pill-background: var(--white);\n --pill: var(--black);\n --screenshot-image-outline: var(--white);\n --spinner-text: var(--communication-tint-40);\n --nav-link-hover: #2a2a2a;\n --nav-link-selected: var(--communication-tint-40);\n --nav-link-expanded: transparent;\n}\n\n.ms-Fabric.is-focusVisible .ms-Nav-group .ms-nav-linkButton:focus::after {\n border: 1px solid var(--neutral-100);\n}\n@media screen and (forced-colors: active) {\n .ms-Fabric.is-focusVisible .ms-Nav-group .ms-nav-linkButton:focus::after {\n border: 1px dashed windowtext !important;\n }\n}\n\nbutton::after {\n content: \"\";\n position: absolute;\n}\n\n.ms-fontColor-neutralPrimary,\n.ms-fontColor-neutralPrimary--hover:hover {\n color: var(--neutral-100) !important;\n}\n\n.ms-Fabric {\n color: var(--neutral-100);\n}\n\n.high-contrast-theme .insights-link:hover {\n text-decoration: underline;\n}\n.high-contrast-theme .is-selected .status-icon {\n color: var(--black) !important;\n}\n\n.insights-link {\n color: var(--link) !important;\n text-decoration: none;\n}\n@media screen and (forced-colors: active) {\n .insights-link {\n forced-color-adjust: unset;\n }\n}\n.insights-link:hover {\n color: var(--link-hover) !important;\n text-decoration: underline;\n}\n\n.insights-code {\n font-family: menlo, consolas, courier new, monospace;\n}\n\n.ms-Spinner .ms-Spinner-circle {\n border-top-color: var(--spinner-text);\n}\n.ms-Spinner .ms-Spinner-label {\n color: var(--spinner-text);\n}\n\n.guidance-tags span {\n font-size: 12px;\n font-weight: normal;\n margin-left: 8px;\n padding: 2px 12px;\n color: var(--pill);\n background-color: var(--pill-background);\n border-radius: 120px;\n}\n\n.hidden-highlight-button {\n opacity: 0;\n margin: 0;\n padding: 0;\n border: none;\n}\n\n.instance-details-card {\n border-radius: 4px;\n border: 1px solid var(--card-border);\n outline-style: \"border-style\";\n box-shadow: 0 0.6px 1.8px var(--box-shadow-108), 0 3.2px 7.2px var(--box-shadow-132);\n margin-bottom: 16px;\n width: -moz-available;\n /* WebKit-based browsers will ignore this. */\n width: -webkit-fill-available;\n /* Mozilla-based browsers will ignore this. */\n width: fill-available;\n}\n\n.instance-details-card-container.selected {\n outline: 5px solid var(--communication-tint-10);\n}\n\n.instance-details-card.selected {\n border: 1px solid transparent;\n}\n\n.instance-details-card.focused,\n.instance-details-card:focus {\n outline: 2px solid var(--primary-text);\n outline-offset: 2px;\n}\n\n.instance-details-card.selected.focused,\n.instance-details-card.selected:focus {\n outline-offset: 8px;\n}\n\n.instance-details-card.interactive {\n cursor: pointer;\n}\n\n.instance-details-card.interactive:hover {\n box-shadow: 0 8px 10px var(--box-shadow-108), 0 8px 10px var(--box-shadow-132);\n}\n\n.report-instance-table {\n background: var(--neutral-0);\n display: table;\n table-layout: fixed;\n width: -moz-available;\n /* WebKit-based browsers will ignore this. */\n width: -webkit-fill-available;\n /* Mozilla-based browsers will ignore this. */\n width: fill-available;\n border-radius: inherit;\n border-collapse: collapse;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n.report-instance-table .row {\n display: flex;\n flex-wrap: wrap;\n padding-top: 2px;\n padding-bottom: 14px;\n padding-left: 0;\n padding-right: 20px;\n border-bottom: 0.5px solid var(--neutral-10);\n}\n.report-instance-table .row > * {\n margin-top: 12px;\n margin-bottom: 0;\n margin-left: 20px;\n margin-right: 0;\n padding: 0;\n}\n.report-instance-table .row:last-child {\n border-bottom: none;\n}\n.report-instance-table .row-label {\n flex-basis: 90px;\n flex-shrink: 1;\n flex-grow: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: 600;\n color: var(--primary-text);\n text-align: left;\n}\n.report-instance-table .row-content {\n flex-basis: 200px;\n flex-shrink: 1;\n flex-grow: 1;\n color: var(--secondary-text);\n font-size: 14px;\n line-height: 20px;\n align-items: flex-end;\n display: flex;\n}\n\n.outcome-summary-bar {\n display: flex;\n flex-grow: 0;\n flex-shrink: 0;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n margin-top: 16px;\n margin-bottom: 0;\n line-height: 24px;\n font-size: 17px;\n font-weight: 600;\n white-space: pre-wrap;\n}\n.outcome-summary-bar .block,\n.outcome-summary-bar .incomplete,\n.outcome-summary-bar .inapplicable,\n.outcome-summary-bar .unscannable,\n.outcome-summary-bar .pass,\n.outcome-summary-bar .fail {\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n line-height: 20px;\n font-size: 16px;\n color: var(--neutral-0);\n padding: 8px 8px 10px 10px;\n height: 16px;\n display: flex;\n align-items: center;\n margin-right: 4px;\n}\n.outcome-summary-bar .count {\n font-weight: 600;\n}\n.outcome-summary-bar .fail {\n background-color: var(--negative-outcome);\n}\n.outcome-summary-bar .fail .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-summary-bar .fail .check-container svg circle {\n fill: var(--negative-outcome);\n}\n.outcome-summary-bar .fail .check-container {\n bottom: -1px;\n margin-right: 8px;\n}\n.outcome-summary-bar .pass {\n background-color: var(--positive-outcome);\n}\n.outcome-summary-bar .pass .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-summary-bar .pass .check-container svg circle {\n fill: var(--positive-outcome);\n}\n.outcome-summary-bar .pass .check-container {\n bottom: -1px;\n margin-right: 8px;\n margin-left: 4px;\n}\n.outcome-summary-bar .inapplicable,\n.outcome-summary-bar .unscannable {\n background-color: var(--neutral-outcome);\n}\n.outcome-summary-bar .inapplicable .check-container,\n.outcome-summary-bar .unscannable .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-summary-bar .inapplicable .check-container,\n.outcome-summary-bar .unscannable .check-container {\n bottom: -1px;\n margin-right: 8px;\n margin-left: 4px;\n}\n.outcome-summary-bar .incomplete {\n background-color: var(--neutral-outcome);\n color: var(--white);\n border: 2px var(--neutral-60) solid;\n height: 12px;\n}\n.outcome-summary-bar .incomplete .check-container {\n position: relative;\n width: 8px;\n height: 8px;\n display: inline-block;\n border-radius: 50%;\n border: 3px solid var(--neutral-0);\n}\n.outcome-summary-bar .incomplete .check-container {\n margin-right: 6px;\n border-color: var(--white);\n}\n.outcome-summary-bar .summary-bar-left-edge {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n}\n.outcome-summary-bar .summary-bar-right-edge {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n margin-right: 0;\n}\n.outcome-summary-bar .label {\n font-weight: normal;\n}\n\n.screen-reader-only {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n\n.check-container svg {\n width: 100%;\n height: 100%;\n}\n\n.outcome-chip {\n height: 16px;\n color: var(--primary-text);\n border-radius: 0 8px 8px 0;\n margin: 0 4px 0 4px;\n display: inline-flex;\n align-items: center;\n margin-bottom: -3px;\n}\n.outcome-chip .icon {\n border-radius: 50%;\n width: 16px;\n height: 16px;\n}\n.outcome-chip .count {\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n line-height: 13px;\n font-size: 11px;\n border-radius: 0 8px 8px 0;\n padding: 0 6px 0 10px;\n font-weight: 700;\n margin-left: -8px;\n height: 13px;\n}\n@media screen and (forced-colors: active) {\n .outcome-chip .count {\n forced-color-adjust: none;\n border-color: canvastext !important;\n color: canvastext;\n }\n}\n.outcome-chip.outcome-chip-pass .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-pass .check-container svg circle {\n fill: var(--positive-outcome);\n}\n.outcome-chip.outcome-chip-pass .check-container {\n background-color: var(--positive-outcome);\n}\n.outcome-chip.outcome-chip-pass .count {\n background-color: transparent;\n border: 1.5px solid var(--positive-outcome);\n}\n.outcome-chip.outcome-chip-incomplete .check-container, .outcome-chip.outcome-chip-review .check-container {\n position: relative;\n width: 14px;\n height: 14px;\n display: inline-block;\n border-radius: 50%;\n border: 1px solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-incomplete .check-container, .outcome-chip.outcome-chip-review .check-container {\n background-color: var(--neutral-60);\n}\n.outcome-chip.outcome-chip-incomplete .count, .outcome-chip.outcome-chip-review .count {\n background-color: transparent;\n border: 1.5px solid var(--neutral-60);\n}\n.outcome-chip.outcome-chip-fail .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-fail .check-container svg circle {\n fill: var(--negative-outcome);\n}\n.outcome-chip.outcome-chip-fail .check-container {\n background-color: var(--negative-outcome);\n}\n.outcome-chip.outcome-chip-fail .count {\n background-color: transparent;\n border: 1.5px solid var(--negative-outcome);\n}\n.outcome-chip.outcome-chip-inapplicable .check-container, .outcome-chip.outcome-chip-unscannable .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-inapplicable .check-container, .outcome-chip.outcome-chip-unscannable .check-container {\n background-color: var(--neutral-outcome);\n}\n.outcome-chip.outcome-chip-inapplicable .count, .outcome-chip.outcome-chip-unscannable .count {\n background-color: transparent;\n border: 1.5px solid var(--neutral-outcome);\n}\n\n.outcome-icon-set .outcome-icon {\n margin-left: 4px;\n border-radius: 50%;\n}\n.outcome-icon-set .outcome-icon-pass .check-container {\n position: relative;\n width: 14px;\n height: 14px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-icon-set .outcome-icon-pass .check-container svg circle {\n fill: var(--positive-outcome);\n}\n.outcome-icon-set .outcome-icon-incomplete .check-container {\n position: relative;\n width: 12px;\n height: 12px;\n display: inline-block;\n border-radius: 50%;\n border: 1px solid var(--neutral-0);\n}\n.outcome-icon-set .outcome-icon-incomplete .check-container {\n border-color: var(--neutral-60);\n}\n.outcome-icon-set .outcome-icon-fail .check-container {\n position: relative;\n width: 14px;\n height: 14px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-icon-set .outcome-icon-fail .check-container svg circle {\n fill: var(--negative-outcome);\n}\n\nbody {\n font-size: 14px;\n margin: auto;\n background-color: var(--neutral-2);\n color: black;\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n}\n\n.outer-container {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.outer-container .content-container {\n max-width: 960px;\n margin: 0 auto;\n margin-top: 24px;\n}\n.outer-container .content-container h2 {\n margin: 0;\n font-size: 17px;\n line-height: 24px;\n}\n@media only screen and (max-width: 1000px) {\n .outer-container .content-container {\n margin: 24px 16px 0 16px;\n }\n}\n\n.scan-details-section {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 22px;\n}\n.scan-details-section .details-section-list {\n list-style: none;\n font-size: 14px;\n line-height: 16px;\n padding-left: 0;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n flex-direction: column;\n}\n.scan-details-section h3 {\n margin: 0;\n font-size: 17px;\n line-height: 24px;\n}\n.scan-details-section ul :first-child li {\n padding-top: 16px;\n}\n.scan-details-section li {\n display: inline-block;\n padding-top: 12px;\n}\n.scan-details-section li .icon {\n padding-right: 12px;\n position: relative;\n top: 3px;\n}\n.scan-details-section .text {\n word-break: break-all;\n}\n.scan-details-section .description-text {\n white-space: pre-wrap;\n}\n.scan-details-section .screen-reader-only {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n\n.report-footer-container {\n max-width: 960px;\n margin: 0 auto;\n margin-bottom: 68px;\n margin-top: 24px;\n}\n.report-footer-container .report-footer {\n line-height: 20px;\n color: var(--report-footer-text);\n}\n@media only screen and (max-width: 1000px) {\n .report-footer-container {\n margin: 0 16px 68px 16px;\n }\n}\n\n.report-header-command-bar {\n height: 40px;\n width: 100%;\n display: flex;\n justify-content: end;\n min-height: fit-content;\n align-items: center;\n background-color: var(--neutral-0);\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.report-header-command-bar .target-page {\n white-space: nowrap;\n margin: 0 0 0 16px;\n display: flex;\n color: var(--primary-text);\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n font-size: 14px;\n line-height: 20px;\n font-weight: normal;\n min-width: 0;\n}\n.report-header-command-bar .target-page a {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.report-congrats-message {\n word-break: break-word;\n overflow-wrap: break-word;\n}\n\n.report-congrats-head {\n font-size: 16px;\n font-weight: 600;\n color: var(--primary-text);\n padding: 10px 0 10px 0;\n}\n\n.report-congrats-info {\n font-size: 14px;\n color: var(--secondary-text);\n padding: 10px 0 10px 0;\n}\n\n.sleeping-ada {\n height: 100px;\n}\n\n.title-section {\n margin-top: 56px;\n}\n.title-section h1 {\n font-weight: 600;\n margin: 0 0 24px 0;\n font-size: 21px;\n line-height: 32px;\n letter-spacing: -0.02em;\n}\n\n.results-container {\n margin-top: 56px;\n}\n.results-container .title-container :is(h1, h2, h3, h4, h5, h6) {\n font-weight: unset;\n margin-block: 0;\n margin-inline: 0;\n}\n\n@media screen and (max-width: 640px) {\n .outcome-past-tense {\n display: none;\n }\n}\n.summary-section {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 24px;\n}\n\n.result-section {\n padding-bottom: 24px;\n}\n.result-section .title-container .collapsible-control::before {\n position: relative;\n bottom: 2px;\n margin-right: 14px;\n}\n.result-section .collapsible-content {\n margin-left: 16px;\n}\n\n.collapsible-container:not(.collapsible-rule-details-group) .collapsible-control {\n padding-left: 2px;\n padding-right: 16px;\n position: relative;\n}\n.collapsible-container .collapsible-control[aria-expanded=true]::before, .collapsible-container .collapsible-control[aria-expanded=false]::before {\n display: inline-block;\n border-right: 1px solid var(--secondary-text);\n border-bottom: 1px solid var(--secondary-text);\n min-width: 7px;\n width: 7px;\n height: 7px;\n content: \"\";\n transform-origin: 50% 50%;\n transition: transform 0.1s linear 0s;\n}\n.collapsible-container .collapsible-control {\n font-family: \"Segoe UI Web (West European)\", \"Segoe UI\", -apple-system, BlinkMacSystemFont, Roboto, \"Helvetica Neue\", Helvetica, Ubuntu, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n background-color: transparent;\n cursor: pointer;\n border: none;\n display: flex;\n align-items: baseline;\n width: 100%;\n}\n.collapsible-container .collapsible-control:hover {\n background-color: var(--neutral-alpha-4);\n}\n.collapsible-container .collapsible-control[aria-expanded=false]::before {\n -webkit-transform: rotate(-45deg);\n -ms-transform: rotate(-45deg);\n transform: rotate(-45deg);\n}\n.collapsible-container .collapsible-control[aria-expanded=true]::before {\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n.collapsible-container .collapsible-content[aria-hidden=true] {\n display: none;\n}\n\nul.instance-details-list {\n list-style-type: none;\n padding-inline-start: unset;\n margin-block-start: unset;\n margin-block-end: unset;\n}\nul.instance-details-list li {\n margin-bottom: 16px;\n}\nul.instance-details-list li:last-child {\n margin-bottom: unset;\n}`;
|
|
3292
|
+
var styleSheet = `:root {\n --black: #000;\n --light-black: #161616;\n --white: #fff;\n --brand-blue: #004880;\n --grey: #333;\n --ada-brand-color: var(--brand-blue);\n --primary-text: rgb(0 0 0 / 90%);\n --secondary-text: rgb(0 0 0 / 70%);\n --disabled-text: rgb(0 0 0 / 38%);\n --communication-primary: #106ebe;\n --communication-tint-40: #eff6fc;\n --communication-tint-30: #deecf9;\n --communication-tint-20: #c7e0f4;\n --communication-tint-10: #2b88d8;\n --communication-shade-20: #004578;\n --neutral-0: var(--white);\n --neutral-2: #f8f8f8;\n --neutral-3: #f6f6f6;\n --neutral-4: #f4f4f4;\n --neutral-6: #f2f2f2;\n --neutral-6-5: #f1f1f1;\n --neutral-8: #ebebeb;\n --neutral-10: #dedede;\n --neutral-20: #c8c8c8;\n --neutral-30: #a6a6a6;\n --neutral-55: #6e6e6e;\n --neutral-60: #666;\n --neutral-70: #3c3c3c;\n --neutral-80: var(--grey);\n --neutral-100: var(--black);\n --neutral-alpha-2: rgb(0 0 0 / 2%);\n --neutral-alpha-4: rgb(0 0 0 / 4%);\n --neutral-alpha-6: rgb(0 0 0 / 6%);\n --neutral-alpha-8: rgb(0 0 0 / 8%);\n --neutral-alpha-10: rgb(0 0 0 / 10%);\n --neutral-alpha-20: rgb(0 0 0 / 20%);\n --neutral-alpha-30: rgb(0 0 0 / 30%);\n --neutral-alpha-60: rgb(0 0 0 / 60%);\n --neutral-alpha-70: rgb(0 0 0 / 70%);\n --neutral-alpha-80: rgb(0 0 0 / 80%);\n --neutral-alpha-90: rgb(0 0 0 / 90%);\n --positive-outcome: #228722;\n --negative-outcome: #e81123;\n --neutral-outcome: var(--neutral-60);\n --box-shadow-108: rgb(0 0 0 / 10.8%);\n --box-shadow-132: rgb(0 0 0 / 13.2%);\n --box-shadow-27: rgb(0 0 0 / 27%);\n --screenshot-image-outline: #8b8b8b;\n --card-border: transparent;\n --card-footer-border: var(--neutral-10);\n --header-bar-title-color: var(--neutral-0);\n --help-links-section-background: var(--neutral-4);\n --help-links-section-border: var(--neutral-4);\n --index-circle-background: var(--communication-primary);\n --link-hover: var(--communication-shade-20);\n --link: var(--communication-primary);\n --menu-border: var(--neutral-3);\n --menu-item-background-active: var(--neutral-alpha-8);\n --menu-item-background-hover: var(--neutral-alpha-4);\n --left-nav-icon: var(--neutral-55);\n --pill-background: var(--neutral-alpha-8);\n --pill: var(--primary-text);\n --spinner-text: var(--communication-primary);\n --nav-link-hover: var(--neutral-alpha-8);\n --nav-link-selected: var(--communication-tint-20);\n --nav-link-expanded: var(--communication-tint-40);\n --insights-button-hover: #0179d4;\n --report-footer-text: #222;\n --landmark-contentinfo: #00a88c;\n --landmark-main: #cb2e6d;\n --landmark-complementary: #6b9d1a;\n --landmark-banner: #d08311;\n --landmark-region: #2560e0;\n --landmark-navigation: #9b38e6;\n --landmark-search: #d363d8;\n --landmark-form: #0298c7;\n}\n:root .high-contrast-theme {\n --ada-brand-color: var(--white);\n --secondary-text: var(--white);\n --primary-text: var(--white);\n --disabled-text: #c285ff;\n --communication-tint-40: #38a9ff;\n --communication-tint-30: var(--communication-tint-10);\n --neutral-0: var(--light-black);\n --neutral-2: var(--light-black);\n --neutral-3: var(--light-black);\n --neutral-4: var(--light-black);\n --neutral-6: var(--light-black);\n --neutral-6-5: var(--light-black);\n --neutral-8: var(--white);\n --neutral-10: var(--light-black);\n --neutral-20: var(--white);\n --neutral-30: var(--white);\n --neutral-55: var(--white);\n --neutral-60: var(--white);\n --neutral-70: var(--white);\n --neutral-80: var(--white);\n --neutral-100: var(--white);\n --neutral-alpha-8: var(--white);\n --neutral-alpha-90: var(--white);\n --positive-outcome: #4ac94a;\n --negative-outcome: #fc7ab1;\n --neutral-outcome: var(--neutral-0);\n --card-border: var(--white);\n --card-footer-border: var(--white);\n --header-bar-title-color: var(--brand-blue);\n --help-links-section-background: transparent;\n --help-links-section-border: var(--white);\n --index-circle-background: var(--communication-tint-40);\n --link-hover: #ff0;\n --link: #ff0;\n --menu-border: var(--grey);\n --menu-item-background-active: var(--communication-tint-40);\n --menu-item-background-hover: var(--grey);\n --left-nav-icon: var(--black);\n --pill-background: var(--white);\n --pill: var(--black);\n --screenshot-image-outline: var(--white);\n --spinner-text: var(--communication-tint-40);\n --nav-link-hover: #2a2a2a;\n --nav-link-selected: var(--communication-tint-40);\n --nav-link-expanded: transparent;\n}\n\n.ms-Fabric.is-focusVisible .ms-Nav-group .ms-nav-linkButton:focus::after {\n border: 1px solid var(--neutral-100);\n}\n@media screen and (forced-colors: active) {\n .ms-Fabric.is-focusVisible .ms-Nav-group .ms-nav-linkButton:focus::after {\n border: 1px dashed windowtext !important;\n }\n}\n\nbutton::after {\n content: \"\";\n position: absolute;\n}\n\n.ms-fontColor-neutralPrimary,\n.ms-fontColor-neutralPrimary--hover:hover {\n color: var(--neutral-100) !important;\n}\n\n.ms-Fabric {\n color: var(--neutral-100);\n}\n\n.insights-link {\n color: var(--link) !important;\n text-decoration: none;\n}\n@media screen and (forced-colors: active) {\n .insights-link {\n forced-color-adjust: unset;\n }\n}\n.insights-link:hover {\n color: var(--link-hover) !important;\n text-decoration: underline;\n}\n\n.high-contrast-theme .insights-link:hover {\n text-decoration: underline;\n}\n.high-contrast-theme .is-selected .status-icon {\n color: var(--black) !important;\n}\n\n.insights-code {\n font-family: menlo, consolas, courier new, monospace;\n}\n\n.ms-Spinner .ms-Spinner-circle {\n border-top-color: var(--spinner-text);\n}\n.ms-Spinner .ms-Spinner-label {\n color: var(--spinner-text);\n}\n\n.guidance-tags span {\n font-size: 12px;\n font-weight: normal;\n margin-left: 8px;\n padding-top: 2px;\n padding-right: 12px;\n padding-bottom: 2px;\n padding-left: 12px;\n color: var(--pill);\n background-color: var(--pill-background);\n border-radius: 120px;\n}\n\n.hidden-highlight-button {\n opacity: 0;\n margin: 0;\n padding: 0;\n border: none;\n}\n\n.instance-details-card {\n border-radius: 4px;\n border: 1px solid var(--card-border);\n outline-style: \"border-style\";\n box-shadow: 0 0.6px 1.8px var(--box-shadow-108), 0 3.2px 7.2px var(--box-shadow-132);\n margin-bottom: 16px;\n width: -moz-available;\n /* WebKit-based browsers will ignore this. */\n width: -webkit-fill-available;\n /* Mozilla-based browsers will ignore this. */\n width: fill-available;\n}\n\n.instance-details-card-container.selected {\n outline: 5px solid var(--communication-tint-10);\n}\n\n.instance-details-card.selected {\n border: 1px solid transparent;\n}\n\n.instance-details-card.focused,\n.instance-details-card:focus {\n outline: 2px solid var(--primary-text);\n outline-offset: 2px;\n}\n\n.instance-details-card.selected.focused,\n.instance-details-card.selected:focus {\n outline-offset: 8px;\n}\n\n.instance-details-card.interactive {\n cursor: pointer;\n}\n\n.instance-details-card.interactive:hover {\n box-shadow: 0 8px 10px var(--box-shadow-108), 0 8px 10px var(--box-shadow-132);\n}\n\n.report-instance-table {\n background: var(--neutral-0);\n display: table;\n table-layout: fixed;\n width: -moz-available;\n /* WebKit-based browsers will ignore this. */\n width: -webkit-fill-available;\n /* Mozilla-based browsers will ignore this. */\n width: fill-available;\n border-radius: inherit;\n border-collapse: collapse;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n.report-instance-table .row {\n display: flex;\n flex-wrap: wrap;\n padding-top: 2px;\n padding-bottom: 14px;\n padding-left: 0;\n padding-right: 20px;\n border-bottom: 0.5px solid var(--neutral-10);\n}\n.report-instance-table .row > * {\n margin-top: 12px;\n margin-bottom: 0;\n margin-left: 20px;\n margin-right: 0;\n padding: 0;\n}\n.report-instance-table .row:last-child {\n border-bottom: none;\n}\n.report-instance-table .row-label {\n flex-basis: 90px;\n flex-shrink: 1;\n flex-grow: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: 600;\n color: var(--primary-text);\n text-align: left;\n}\n.report-instance-table .row-content {\n flex-basis: 200px;\n flex-shrink: 1;\n flex-grow: 1;\n color: var(--secondary-text);\n font-size: 14px;\n line-height: 20px;\n align-items: flex-end;\n display: flex;\n}\n\n.outcome-summary-bar {\n display: flex;\n flex-grow: 0;\n flex-shrink: 0;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n margin-top: 16px;\n margin-bottom: 0;\n line-height: 24px;\n font-size: 17px;\n font-weight: 600;\n white-space: pre-wrap;\n}\n.outcome-summary-bar .block,\n.outcome-summary-bar .incomplete,\n.outcome-summary-bar .inapplicable,\n.outcome-summary-bar .unscannable,\n.outcome-summary-bar .pass,\n.outcome-summary-bar .fail {\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n line-height: 20px;\n font-size: 16px;\n color: var(--neutral-0);\n padding-top: 8px;\n padding-right: 8px;\n padding-bottom: 10px;\n padding-left: 10px;\n height: 16px;\n display: flex;\n align-items: center;\n margin-right: 4px;\n}\n.outcome-summary-bar .count {\n font-weight: 600;\n}\n.outcome-summary-bar .fail {\n background-color: var(--negative-outcome);\n}\n.outcome-summary-bar .fail .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-summary-bar .fail .check-container svg circle {\n fill: var(--negative-outcome);\n}\n.outcome-summary-bar .fail .check-container {\n bottom: -1px;\n margin-right: 8px;\n}\n.outcome-summary-bar .pass {\n background-color: var(--positive-outcome);\n}\n.outcome-summary-bar .pass .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-summary-bar .pass .check-container svg circle {\n fill: var(--positive-outcome);\n}\n.outcome-summary-bar .pass .check-container {\n bottom: -1px;\n margin-right: 8px;\n margin-left: 4px;\n}\n.outcome-summary-bar .inapplicable,\n.outcome-summary-bar .unscannable {\n background-color: var(--neutral-outcome);\n}\n.outcome-summary-bar .inapplicable .check-container,\n.outcome-summary-bar .unscannable .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-summary-bar .inapplicable .check-container,\n.outcome-summary-bar .unscannable .check-container {\n bottom: -1px;\n margin-right: 8px;\n margin-left: 4px;\n}\n.outcome-summary-bar .incomplete {\n background-color: var(--neutral-outcome);\n color: var(--white);\n border: 2px var(--neutral-60) solid;\n height: 12px;\n}\n.outcome-summary-bar .incomplete .check-container {\n position: relative;\n width: 8px;\n height: 8px;\n display: inline-block;\n border-radius: 50%;\n border: 3px solid var(--neutral-0);\n}\n.outcome-summary-bar .incomplete .check-container {\n margin-right: 6px;\n border-color: var(--white);\n}\n.outcome-summary-bar .summary-bar-left-edge {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n}\n.outcome-summary-bar .summary-bar-right-edge {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n margin-right: 0;\n}\n.outcome-summary-bar .label {\n font-weight: normal;\n}\n\n.screen-reader-only {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n\n.check-container svg {\n width: 100%;\n height: 100%;\n}\n\n.outcome-chip {\n height: 16px;\n color: var(--primary-text);\n border-radius: 0 8px 8px 0;\n margin-right: 4px;\n margin-bottom: -3px;\n margin-left: 4px;\n display: inline-flex;\n align-items: center;\n}\n.outcome-chip .icon {\n border-radius: 50%;\n width: 16px;\n height: 16px;\n}\n.outcome-chip .count {\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n line-height: 13px;\n font-size: 11px;\n border-radius: 0 8px 8px 0;\n padding-right: 6px;\n padding-left: 10px;\n font-weight: 700;\n margin-left: -8px;\n height: 13px;\n}\n@media screen and (forced-colors: active) {\n .outcome-chip .count {\n forced-color-adjust: none;\n border-color: canvastext !important;\n color: canvastext;\n }\n}\n.outcome-chip.outcome-chip-pass .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-pass .check-container svg circle {\n fill: var(--positive-outcome);\n}\n.outcome-chip.outcome-chip-pass .check-container {\n background-color: var(--positive-outcome);\n}\n.outcome-chip.outcome-chip-pass .count {\n background-color: transparent;\n border: 1.5px solid var(--positive-outcome);\n}\n.outcome-chip.outcome-chip-incomplete .check-container, .outcome-chip.outcome-chip-review .check-container {\n position: relative;\n width: 14px;\n height: 14px;\n display: inline-block;\n border-radius: 50%;\n border: 1px solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-incomplete .check-container, .outcome-chip.outcome-chip-review .check-container {\n background-color: var(--neutral-60);\n}\n.outcome-chip.outcome-chip-incomplete .count, .outcome-chip.outcome-chip-review .count {\n background-color: transparent;\n border: 1.5px solid var(--neutral-60);\n}\n.outcome-chip.outcome-chip-fail .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-fail .check-container svg circle {\n fill: var(--negative-outcome);\n}\n.outcome-chip.outcome-chip-fail .check-container {\n background-color: var(--negative-outcome);\n}\n.outcome-chip.outcome-chip-fail .count {\n background-color: transparent;\n border: 1.5px solid var(--negative-outcome);\n}\n.outcome-chip.outcome-chip-inapplicable .check-container, .outcome-chip.outcome-chip-unscannable .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-inapplicable .check-container, .outcome-chip.outcome-chip-unscannable .check-container {\n background-color: var(--neutral-outcome);\n}\n.outcome-chip.outcome-chip-inapplicable .count, .outcome-chip.outcome-chip-unscannable .count {\n background-color: transparent;\n border: 1.5px solid var(--neutral-outcome);\n}\n\n.outcome-icon-set .outcome-icon {\n margin-left: 4px;\n border-radius: 50%;\n}\n.outcome-icon-set .outcome-icon-pass .check-container {\n position: relative;\n width: 14px;\n height: 14px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-icon-set .outcome-icon-pass .check-container svg circle {\n fill: var(--positive-outcome);\n}\n.outcome-icon-set .outcome-icon-incomplete .check-container {\n position: relative;\n width: 12px;\n height: 12px;\n display: inline-block;\n border-radius: 50%;\n border: 1px solid var(--neutral-0);\n}\n.outcome-icon-set .outcome-icon-incomplete .check-container {\n border-color: var(--neutral-60);\n}\n.outcome-icon-set .outcome-icon-fail .check-container {\n position: relative;\n width: 14px;\n height: 14px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-icon-set .outcome-icon-fail .check-container svg circle {\n fill: var(--negative-outcome);\n}\n\nbody {\n font-size: 14px;\n margin: auto;\n background-color: var(--neutral-2);\n color: black;\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n}\n\n.outer-container {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.outer-container .content-container {\n max-width: 960px;\n margin-right: auto;\n margin-left: auto;\n margin-top: 24px;\n}\n.outer-container .content-container h2 {\n margin: 0;\n font-size: 17px;\n line-height: 24px;\n}\n@media only screen and (max-width: 1000px) {\n .outer-container .content-container {\n margin-top: 24px;\n margin-right: 16px;\n margin-left: 16px;\n }\n}\n\n.scan-details-section {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 22px;\n}\n.scan-details-section .details-section-list {\n list-style: none;\n font-size: 14px;\n line-height: 16px;\n padding-left: 0;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n flex-direction: column;\n}\n.scan-details-section h3 {\n margin: 0;\n font-size: 17px;\n line-height: 24px;\n}\n.scan-details-section li {\n display: inline-block;\n padding-top: 12px;\n}\n.scan-details-section li .icon {\n padding-right: 12px;\n position: relative;\n top: 3px;\n}\n.scan-details-section .text {\n word-break: break-all;\n}\n.scan-details-section .description-text {\n white-space: pre-wrap;\n}\n.scan-details-section .screen-reader-only {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n\n.report-footer-container {\n max-width: 960px;\n margin-right: auto;\n margin-left: auto;\n margin-bottom: 68px;\n margin-top: 24px;\n}\n.report-footer-container .report-footer {\n line-height: 20px;\n color: var(--report-footer-text);\n}\n@media only screen and (max-width: 1000px) {\n .report-footer-container {\n margin-right: 16px;\n margin-left: 16px;\n }\n}\n\n.report-header-command-bar {\n height: 40px;\n width: 100%;\n display: flex;\n justify-content: end;\n min-height: fit-content;\n align-items: center;\n background-color: var(--neutral-0);\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.report-header-command-bar .target-page {\n white-space: nowrap;\n margin-left: 16px;\n display: flex;\n color: var(--primary-text);\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n font-size: 14px;\n line-height: 20px;\n font-weight: normal;\n min-width: 0;\n}\n.report-header-command-bar .target-page a {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.report-congrats-message {\n word-break: break-word;\n overflow-wrap: break-word;\n}\n\n.report-congrats-head {\n font-size: 16px;\n font-weight: 600;\n color: var(--primary-text);\n padding-top: 10px;\n padding-right: 0;\n padding-bottom: 10px;\n padding-left: 0;\n}\n\n.report-congrats-info {\n font-size: 14px;\n color: var(--secondary-text);\n padding-top: 10px;\n padding-right: 0;\n padding-bottom: 10px;\n padding-left: 0;\n}\n\n.sleeping-ada {\n height: 100px;\n}\n\n.title-section {\n margin-top: 56px;\n}\n.title-section h1 {\n font-weight: 600;\n margin-bottom: 24px;\n font-size: 21px;\n line-height: 32px;\n letter-spacing: -0.02em;\n}\n\n.results-container {\n margin-top: 56px;\n}\n.results-container .title-container :is(h1, h2, h3, h4, h5, h6) {\n font-weight: unset;\n margin-block: 0;\n margin-inline: 0;\n}\n\n@media screen and (max-width: 640px) {\n .outcome-past-tense {\n display: none;\n }\n}\n.collapsible-container .collapsible-control[aria-expanded=true]::before, .collapsible-container .collapsible-control[aria-expanded=false]::before {\n display: inline-block;\n border-right: 1px solid var(--secondary-text);\n border-bottom: 1px solid var(--secondary-text);\n min-width: 7px;\n width: 7px;\n height: 7px;\n content: \"\";\n transform-origin: 50% 50%;\n transition: transform 0.1s linear 0s;\n}\n\n.summary-section {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 24px;\n}\n\n.result-section {\n padding-bottom: 24px;\n}\n.result-section .title-container .collapsible-control::before {\n position: relative;\n bottom: 2px;\n margin-right: 14px;\n}\n.result-section .collapsible-content {\n margin-left: 16px;\n}\n\n.collapsible-container .collapsible-control {\n font-family: \"Segoe UI Web (West European)\", \"Segoe UI\", -apple-system, BlinkMacSystemFont, Roboto, \"Helvetica Neue\", Helvetica, Ubuntu, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n background-color: transparent;\n cursor: pointer;\n border: none;\n display: flex;\n align-items: baseline;\n width: 100%;\n}\n.collapsible-container .collapsible-control:hover {\n background-color: var(--neutral-alpha-4);\n}\n.collapsible-container:not(.collapsible-rule-details-group) .collapsible-control {\n padding-left: 2px;\n padding-right: 16px;\n position: relative;\n}\n.collapsible-container .collapsible-control[aria-expanded=false]::before {\n -webkit-transform: rotate(-45deg);\n -ms-transform: rotate(-45deg);\n transform: rotate(-45deg);\n}\n.collapsible-container .collapsible-control[aria-expanded=true]::before {\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n.collapsible-container .collapsible-content[aria-hidden=true] {\n display: none;\n}\n\nul.instance-details-list {\n list-style-type: none;\n padding-inline-start: unset;\n margin-block-start: unset;\n margin-block-end: unset;\n}\nul.instance-details-list li {\n margin-bottom: 16px;\n}\nul.instance-details-list li:last-child {\n margin-bottom: unset;\n}`;
|
|
3053
3293
|
|
|
3054
3294
|
// src/reports/components/head.tsx
|
|
3055
3295
|
var Head = NamedFC("Head", (props) => {
|
|
@@ -3067,7 +3307,7 @@ var bundled_reporter_styles_exports = {};
|
|
|
3067
3307
|
__export(bundled_reporter_styles_exports, {
|
|
3068
3308
|
styleSheet: () => styleSheet2
|
|
3069
3309
|
});
|
|
3070
|
-
var styleSheet2 = `/* css-modules:src/common/components/heading-element-for-level */\n.heading-element-for-level--ifVX6 {\n margin-block-start: unset;\n margin-block-end: unset;\n}\n\n/* css-modules:src/common/components/cards/failed-instances-section */\n.failed-instances-container--3UUNb .collapsible-content {\n margin-left: 24px;\n}\n\n/* css-modules:src/reports/components/report-sections/minimal-rule-header */\n.outcome-chip-container--G5Dfr {\n min-width: 50px;\n}\n\n/* css-modules:src/reports/components/instance-details */\n.hidden-highlight-button--vu3B3 {\n opacity: 0;\n margin: 0;\n padding: 0;\n border: none;\n}\n.instance-details-card--owGQF {\n border-radius: 4px;\n border: 1px solid var(--card-border);\n outline-style: \"border-style\";\n box-shadow: 0 0.6px 1.8px var(--box-shadow-108), 0 3.2px 7.2px var(--box-shadow-132);\n margin-bottom: 16px;\n width: -moz-available;\n width: -webkit-fill-available;\n width: fill-available;\n}\n.instance-details-card-container--KLHTp.selected--wEA4l {\n outline: 5px solid var(--communication-tint-10);\n}\n.instance-details-card--owGQF.selected--wEA4l {\n border: 1px solid transparent;\n}\n.instance-details-card--owGQF.focused--pvBWq,\n.instance-details-card--owGQF:focus {\n outline: 2px solid var(--primary-text);\n outline-offset: 2px;\n}\n.instance-details-card--owGQF.selected--wEA4l.focused--pvBWq,\n.instance-details-card--owGQF.selected--wEA4l:focus {\n outline-offset: 8px;\n}\n.instance-details-card--owGQF.interactive--an0ab {\n cursor: pointer;\n}\n.instance-details-card--owGQF.interactive--an0ab:hover {\n box-shadow: 0 8px 10px var(--box-shadow-108), 0 8px 10px var(--box-shadow-132);\n}\n.report-instance-table--3VoZX {\n background: var(--neutral-0);\n display: table;\n table-layout: fixed;\n width: -moz-available;\n width: -webkit-fill-available;\n width: fill-available;\n border-radius: inherit;\n border-collapse: collapse;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n.report-instance-table--3VoZX .row---3i35 {\n display: flex;\n flex-wrap: wrap;\n padding-top: 2px;\n padding-bottom: 14px;\n padding-left: 0;\n padding-right: 20px;\n border-bottom: 0.5px solid var(--neutral-10);\n}\n.report-instance-table--3VoZX .row---3i35 > * {\n margin-top: 12px;\n margin-bottom: 0;\n margin-left: 20px;\n margin-right: 0;\n padding: 0;\n}\n.report-instance-table--3VoZX .row---3i35:last-child {\n border-bottom: none;\n}\n.report-instance-table--3VoZX .row-label--FlVZl {\n flex-basis: 90px;\n flex-shrink: 1;\n flex-grow: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: 600;\n color: var(--primary-text);\n text-align: left;\n}\n.report-instance-table--3VoZX .row-content--07KUh {\n flex-basis: 200px;\n flex-shrink: 1;\n flex-grow: 1;\n color: var(--secondary-text);\n font-size: 14px;\n line-height: 20px;\n align-items: flex-end;\n display: flex;\n}\n\n/* css-modules:src/common/components/cards/rich-resolution-content */\n.multi-line-text-no-bullet--AUXXt {\n padding-left: 0;\n list-style: none;\n}\n.multi-line-text-no-bullet--AUXXt li:not(:last-child) {\n margin-bottom: 4px;\n}\n.multi-line-text-yes-bullet--TXyX- {\n padding-left: 16px;\n}\n.multi-line-text-yes-bullet--TXyX- li {\n list-style-type: disc;\n margin-bottom: 4px;\n}\n.combination-lists--boK5y {\n flex-direction: column;\n display: flex;\n}\n\n/* css-modules:src/common/components/cards/urls-card-row */\n.urls-row-content--JDdRx {\n padding-left: 16px;\n}\n.urls-row-content--JDdRx li {\n list-style-type: disc;\n margin-bottom: 4px;\n}\n.urls-row-content-new-Failure--oL5lS {\n color: var(--negative-outcome);\n font-weight: bold;\n}\n\n/* css-modules:src/common/components/fix-instruction-panel */\n.insights-fix-instruction-list--eZigw li span.fix-instruction-color-box--sBkHG {\n width: 14px;\n height: 14px;\n display: inline-block;\n vertical-align: -5%;\n margin: 0 2px;\n border: 1px solid var(--light-black);\n}\n.insights-fix-instruction-list--eZigw .screen-reader-only--irrXo {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n\n/* css-modules:src/common/components/cards/how-to-fix-card-row */\n.how-to-fix-content--Zz96u {\n margin-bottom: 16px;\n}\n.how-to-fix-content--Zz96u ul {\n padding-left: 16px;\n}\n.how-to-fix-content--Zz96u ul li {\n list-style-type: disc;\n margin-bottom: 4px;\n}\n\n/* css-modules:src/common/components/cards/snippet-card-row */\n.snippet--hSNfv {\n font-family:\n menlo,\n consolas,\n courier new,\n monospace;\n white-space: normal;\n}\n\n/* css-modules:src/DetailsView/components/common-dialog-styles */\ndiv.insights-dialog-main-override--ma4DA {\n width: 75%;\n max-width: 500px;\n user-select: text;\n}\n@media screen and (max-width: 500px) {\n div.insights-dialog-main-override--ma4DA {\n min-width: 240px;\n width: 75%;\n }\n}\ndiv.insights-dialog-main-override--ma4DA .dialog-body--cmWmz {\n font-size: 16px;\n}\n\n/* css-modules:src/DetailsView/components/issue-filing-dialog */\n.issue-filing-dialog--F9jun .ms-Dialog-title {\n font-size: 21px;\n line-height: 32px;\n letter-spacing: -0.02em;\n font-weight: 600;\n padding-bottom: 0;\n}\n.issue-filing-dialog--F9jun .ms-Dialog-subText {\n font-weight: 400;\n font-size: 15px;\n color: var(--secondary-text);\n}\n.issue-filing-dialog--F9jun .textfield-description {\n color: var(--secondary-text);\n font-style: italic;\n}\n\n/* css-modules:src/DetailsView/components/action-and-cancel-buttons-component */\n.action-and-cancel-buttons-component--DF7bf {\n display: flex;\n justify-content: flex-end;\n}\n.action-and-cancel-buttons-component--DF7bf .action-cancel-button-col--RMfN- + .action-cancel-button-col--RMfN- {\n margin-left: 8px;\n}\n\n/* css-modules:src/common/components/toast */\n.toast-container--L-5HM {\n display: inline-block;\n}\n.toast-content--8-Mx1 {\n background: var(--neutral-70);\n border-radius: 4px;\n color: var(--neutral-0);\n padding-left: 20px;\n padding-top: 14px;\n padding-bottom: 14px;\n padding-right: 20px;\n width: 316px;\n margin-left: calc(316px / -2 - 20px);\n left: 50%;\n bottom: 20px;\n z-index: 1000;\n position: absolute;\n}\n\n/* css-modules:src/common/components/cards/card-kebab-menu-button */\n.kebab-menu-button--e-7v- {\n margin-right: 8px;\n width: 32px;\n height: 32px;\n}\n.kebab-menu-button--e-7v-:hover {\n background-color: var(--menu-item-background-hover);\n}\n.kebab-menu-button--e-7v-.is-expanded {\n background-color: var(--menu-item-background-active);\n}\n@media screen and (forced-colors: active) {\n .kebab-menu-button--e-7v-.is-expanded .kebab-menu-icon--RzpyN,\n .kebab-menu-button--e-7v-:hover .kebab-menu-icon--RzpyN {\n color: highlight;\n }\n}\n.kebab-menu-icon--RzpyN {\n flex-grow: 1;\n}\n@media screen and (forced-colors: active) {\n .kebab-menu-icon--RzpyN {\n color: buttontext;\n }\n}\n@media screen and (forced-colors: active) {\n .kebab-menu--eKCNX button:hover {\n color: highlight;\n }\n}\n\n/* css-modules:src/common/components/cards/instance-details-footer */\n.foot--p1DfC {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: var(--neutral-2);\n min-height: 48px;\n padding-left: 12px;\n border-top: 0.5px solid var(--card-footer-border);\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n.foot--p1DfC .highlight-status--xJvvI {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: transparent;\n}\n.foot--p1DfC .highlight-status--xJvvI svg {\n fill: var(--secondary-text);\n}\n@media screen and (forced-colors: active) {\n .foot--p1DfC .highlight-status--xJvvI svg {\n fill: ButtonFace !important;\n stroke: ButtonText !important;\n }\n}\n.foot--p1DfC .highlight-status--xJvvI label {\n color: var(--secondary-text);\n font-size: 14px;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n\n/* css-modules:src/common/components/cards/instance-details-group */\nul.instance-details-list--YfkRy {\n list-style-type: none;\n padding-inline-start: unset;\n margin-block-start: unset;\n margin-block-end: unset;\n}\nul.instance-details-list--YfkRy > li {\n margin-bottom: 16px;\n}\nul.instance-details-list--YfkRy > li:last-child {\n margin-bottom: unset;\n}\n\n/* css-modules:src/common/components/cards/rule-resources */\n.rule-more-resources--uw9mc {\n display: flex;\n flex-direction: column;\n margin-bottom: 16px;\n padding: 14px 20px;\n background-color: var(--neutral-0);\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n border: 1px solid var(--card-border);\n line-height: 20px;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n.rule-more-resources--uw9mc .more-resources-title--jOuUL {\n font-weight: 600;\n}\n.rule-more-resources--uw9mc .rule-details-id--s-TpO {\n padding: 12px 0;\n}\n\n/* css-modules:src/common/components/cards/rules-with-instances */\n.rule-details-group--Tb-LW .rule-detail {\n font-size: 14px;\n padding: 16px 8px;\n display: flex;\n align-items: baseline;\n text-align: left;\n}\n.rule-details-group--Tb-LW .rule-detail .outcome-chip {\n vertical-align: middle;\n margin-bottom: 2px;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-details-id {\n font-weight: 600;\n color: var(--primary-text);\n word-break: break-all;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-details-id a {\n font-weight: 600;\n color: var(--primary-text) !important;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-details-id strong {\n font-weight: 600;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-detail-description {\n color: var(--secondary-text) !important;\n word-break: break-all;\n}\n.collapsible-rule-details-group--V-HWh {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.collapsible-rule-details-group--V-HWh .rule-detail {\n box-shadow: unset;\n}\n.collapsible-rule-details-group--V-HWh:not(.collapsed) {\n box-shadow: unset;\n}\n\n/* css-modules:src/common/components/cards/result-section-title */\n.result-section-title--RGFI5 {\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.result-section-title--RGFI5 .outcome-chip.outcome-chip-fail .count {\n line-height: 11px;\n}\n.result-section-title--RGFI5 .outcome-chip.outcome-chip-fail svg {\n margin-bottom: 3px;\n}\n.result-section-title--RGFI5 .title--WBYFE {\n font-weight: 600;\n font-size: 17px;\n line-height: 24px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n.result-section-title--RGFI5 .heading--NdP4Q {\n font-weight: 600;\n font-size: 15px;\n line-height: 20px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n.result-section-title--RGFI5 .outcome-chip-container--BT3j5 {\n display: flex;\n height: 16px;\n}\n\n/* css-modules:src/common/components/cards/result-section */\n.result-section--HfO9s {\n padding-bottom: 24px;\n}\n.result-section--HfO9s .title-container--JzN4A .collapsible-control--e42Z7::before {\n position: relative;\n bottom: 2px;\n}\n.result-section--HfO9s > h2 {\n margin: 0;\n font-size: 17px;\n line-height: 24px;\n}\n\n/* css-modules:src/reports/components/header-bar */\n.report-header-bar--SDV11 {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: nowrap;\n background-color: var(--ada-brand-color);\n height: 40px;\n width: 100%;\n}\n.report-header-bar--SDV11 .header-icon {\n flex-shrink: 0;\n margin-left: 16px;\n height: 22px;\n width: 22px;\n}\n.report-header-bar--SDV11 .header-text--EdTxw {\n margin-left: 8px;\n color: var(--header-bar-title-color);\n flex-shrink: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family:\n \"Segoe UI Web (West European)\",\n \"Segoe UI\",\n \"-apple-system\",\n BlinkMacSystemFont,\n Roboto,\n \"Helvetica Neue\",\n Helvetica,\n Ubuntu,\n Arial,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n font-weight: normal;\n font-size: 17px;\n line-height: 24px;\n}\n\n/* css-modules:src/reports/components/report-sections/header-section */\n.report-header-command-bar--NJWdl {\n height: 40px;\n width: 100%;\n display: flex;\n justify-content: end;\n min-height: fit-content;\n align-items: center;\n background-color: var(--neutral-0);\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.report-header-command-bar--NJWdl .target-page--hjh44 {\n white-space: nowrap;\n margin: 0 0 0 16px;\n display: flex;\n color: var(--primary-text);\n font-family:\n \"Segoe UI Web (West European)\",\n \"Segoe UI\",\n \"-apple-system\",\n BlinkMacSystemFont,\n Roboto,\n \"Helvetica Neue\",\n Helvetica,\n Ubuntu,\n Arial,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n font-size: 14px;\n line-height: 20px;\n font-weight: normal;\n min-width: 0;\n}\n.report-header-command-bar--NJWdl .target-page--hjh44 a {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* css-modules:src/common/components/cards/combined-report-result-section-title */\n.combined-report-result-section-title--TqIZO {\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.combined-report-result-section-title--TqIZO .title--6WIyt {\n font-weight: 600;\n font-size: 17px;\n line-height: 24px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n.combined-report-result-section-title--TqIZO .heading--UpAHf {\n font-weight: 600;\n font-size: 15px;\n line-height: 20px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n\n/* css-modules:src/reports/components/report-sections/urls-summary-section */\n.urls-summary-section--jNa-v {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 24px;\n}\n.urls-summary-section--jNa-v h2 {\n margin-bottom: 16px !important;\n}\n.urls-summary-section--jNa-v .total-urls--95-ge {\n font-weight: 600;\n}\n.urls-summary-section--jNa-v .failure-instances--2WDtT {\n margin-top: 40px;\n}\n.urls-summary-section--jNa-v .failure-outcome-chip--JF-lj {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n}\n\n/* css-modules:src/reports/components/report-sections/rules-results-container */\n.rules-results-container--HaLDw {\n margin-top: 56px;\n}\n.rules-results-container--HaLDw .results-heading--H9Puz {\n margin-top: 32px;\n margin-bottom: 32px;\n font-weight: 600;\n font-size: 17px;\n line-height: 24px;\n}\n\n/* css-modules:src/reports/components/report-sections/summary-report-details-section */\n.crawl-details-section--a6evz {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 22px;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di {\n list-style: none;\n font-size: 14px;\n line-height: 16px;\n padding-left: 0;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n flex-direction: column;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di li {\n display: inline-block;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di li .icon--APJEn {\n padding-right: 12px;\n position: relative;\n top: 3px;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di li.targetSite--wBJT- {\n margin-bottom: 6px;\n}\n.crawl-details-section--a6evz .text--rViTo,\n.crawl-details-section--a6evz .label--DUNYf {\n word-break: break-all;\n color: var(--neutral-55);\n font-family:\n \"Segoe UI Web (West European)\",\n \"Segoe UI\",\n \"-apple-system\",\n BlinkMacSystemFont,\n Roboto,\n \"Helvetica Neue\",\n Helvetica,\n Ubuntu,\n Arial,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n font-weight: normal;\n font-size: 14px;\n line-height: 20px;\n}\n.crawl-details-section--a6evz .label--DUNYf {\n font-weight: 600;\n}\n.crawl-details-section--a6evz .label--DUNYf.no-icon--VrSr5 {\n padding-left: 29px;\n}\n\n/* css-modules:src/reports/components/report-sections/collapsible-url-result-section */\n.url-result-section--SkOlZ {\n padding-bottom: 31px;\n}\n.url-result-section--SkOlZ .title-container[aria-level=\"3\"] .collapsible-control::before {\n position: relative;\n bottom: 2px;\n margin-right: 14px;\n}\n.url-result-section--SkOlZ .collapsible-content {\n margin-top: 19px;\n}\n\n/* css-modules:src/reports/components/report-sections/summary-results-table */\n.summary-results-table--Iezr- {\n width: 100%;\n margin: 0;\n text-align: left;\n border-spacing: 0;\n border-collapse: collapse;\n font-size: 14px;\n line-height: 20px;\n}\n.summary-results-table--Iezr- th,\n.summary-results-table--Iezr- td {\n border: 1px solid var(--neutral-20);\n padding: 16px 8px 16px 8px;\n}\n.summary-results-table--Iezr- th {\n font-weight: 600;\n background-color: var(--neutral-6);\n}\n.summary-results-table--Iezr- thead tr :first-child {\n width: 172px;\n}\n.summary-results-table--Iezr- td {\n background-color: var(--neutral-0);\n}\n.summary-results-table--Iezr- td.text-cell--EaUrM {\n overflow-wrap: break-word;\n}\n.summary-results-table--Iezr- td.url-cell--mg-3l {\n overflow-wrap: anywhere;\n}\n\n/* css-modules:src/reports/components/report-sections/results-by-url-container */\n.url-results-container---dq9B {\n margin-top: 56px;\n}\n.url-results-container---dq9B .results-heading--2dWBX {\n margin-top: 32px;\n margin-bottom: 32px;\n}\n\n/* css-modules:src/common/components/cards/fix-instruction-color-box */\nspan.fix-instruction-color-box--DQpQE {\n width: 14px;\n height: 14px;\n display: inline-block;\n vertical-align: -5%;\n margin: 0 2px;\n border: 1px solid var(--light-black);\n}\n.screen-reader-only--6LUiO {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n/*# sourceMappingURL=report.css.map */\n`;
|
|
3310
|
+
var styleSheet2 = `/* css-modules:src/common/components/heading-element-for-level */\n.heading-element-for-level--ifVX6 {\n margin-block-start: unset;\n margin-block-end: unset;\n}\n\n/* css-modules:src/common/components/cards/failed-instances-section */\n.failed-instances-container--3UUNb .collapsible-content {\n margin-left: 24px;\n}\n\n/* css-modules:src/reports/components/report-sections/minimal-rule-header */\n.outcome-chip-container--G5Dfr {\n min-width: 50px;\n}\n\n/* css-modules:src/reports/components/instance-details */\n.hidden-highlight-button--vu3B3 {\n opacity: 0;\n margin: 0;\n padding: 0;\n border: none;\n}\n.instance-details-card--owGQF {\n border-radius: 4px;\n border: 1px solid var(--card-border);\n outline-style: \"border-style\";\n box-shadow: 0 0.6px 1.8px var(--box-shadow-108), 0 3.2px 7.2px var(--box-shadow-132);\n margin-bottom: 16px;\n width: -moz-available;\n width: -webkit-fill-available;\n width: fill-available;\n}\n.instance-details-card-container--KLHTp.selected--wEA4l {\n outline: 5px solid var(--communication-tint-10);\n}\n.instance-details-card--owGQF.selected--wEA4l {\n border: 1px solid transparent;\n}\n.instance-details-card--owGQF.focused--pvBWq,\n.instance-details-card--owGQF:focus {\n outline: 2px solid var(--primary-text);\n outline-offset: 2px;\n}\n.instance-details-card--owGQF.selected--wEA4l.focused--pvBWq,\n.instance-details-card--owGQF.selected--wEA4l:focus {\n outline-offset: 8px;\n}\n.instance-details-card--owGQF.interactive--an0ab {\n cursor: pointer;\n}\n.instance-details-card--owGQF.interactive--an0ab:hover {\n box-shadow: 0 8px 10px var(--box-shadow-108), 0 8px 10px var(--box-shadow-132);\n}\n.report-instance-table--3VoZX {\n background: var(--neutral-0);\n display: table;\n table-layout: fixed;\n width: -moz-available;\n width: -webkit-fill-available;\n width: fill-available;\n border-radius: inherit;\n border-collapse: collapse;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n.report-instance-table--3VoZX .row---3i35 {\n display: flex;\n flex-wrap: wrap;\n padding-top: 2px;\n padding-bottom: 14px;\n padding-left: 0;\n padding-right: 20px;\n border-bottom: 0.5px solid var(--neutral-10);\n}\n.report-instance-table--3VoZX .row---3i35 > * {\n margin-top: 12px;\n margin-bottom: 0;\n margin-left: 20px;\n margin-right: 0;\n padding: 0;\n}\n.report-instance-table--3VoZX .row---3i35:last-child {\n border-bottom: none;\n}\n.report-instance-table--3VoZX .row-label--FlVZl {\n flex-basis: 90px;\n flex-shrink: 1;\n flex-grow: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: 600;\n color: var(--primary-text);\n text-align: left;\n}\n.report-instance-table--3VoZX .row-content--07KUh {\n flex-basis: 200px;\n flex-shrink: 1;\n flex-grow: 1;\n color: var(--secondary-text);\n font-size: 14px;\n line-height: 20px;\n align-items: flex-end;\n display: flex;\n}\n\n/* css-modules:src/common/components/cards/rich-resolution-content */\n.multi-line-text-yes-bullet--TXyX- {\n padding-left: 16px;\n}\n.multi-line-text-yes-bullet--TXyX- li {\n list-style-type: disc;\n margin-bottom: 4px;\n}\n.multi-line-text-no-bullet--AUXXt {\n padding-left: 0;\n list-style: none;\n}\n.multi-line-text-no-bullet--AUXXt li:not(:last-child) {\n margin-bottom: 4px;\n}\n.combination-lists--boK5y {\n flex-direction: column;\n display: flex;\n}\n\n/* css-modules:src/common/components/cards/urls-card-row */\n.urls-row-content--JDdRx {\n padding-left: 16px;\n}\n.urls-row-content--JDdRx li {\n list-style-type: disc;\n margin-bottom: 4px;\n}\n.urls-row-content-new-Failure--oL5lS {\n color: var(--negative-outcome);\n font-weight: bold;\n}\n\n/* css-modules:src/common/components/cards/how-to-fix-card-row */\n.how-to-fix-content--Zz96u {\n margin-bottom: 16px;\n}\n.how-to-fix-content--Zz96u ul {\n padding-left: 16px;\n}\n.how-to-fix-content--Zz96u ul li {\n list-style-type: disc;\n margin-bottom: 4px;\n}\n\n/* css-modules:src/common/components/cards/snippet-card-row */\n.snippet--hSNfv {\n font-family:\n menlo,\n consolas,\n courier new,\n monospace;\n white-space: normal;\n}\n\n/* css-modules:src/DetailsView/components/common-dialog-styles */\ndiv.insights-dialog-main-override--ma4DA {\n width: 75%;\n max-width: 500px;\n user-select: text;\n}\n@media screen and (max-width: 500px) {\n div.insights-dialog-main-override--ma4DA {\n min-width: 240px;\n width: 75%;\n }\n}\ndiv.insights-dialog-main-override--ma4DA .dialog-body--cmWmz {\n font-size: 16px;\n}\n\n/* css-modules:src/DetailsView/components/issue-filing-dialog */\n.issue-filing-dialog--F9jun .ms-Dialog-title {\n font-size: 21px;\n line-height: 32px;\n letter-spacing: -0.02em;\n font-weight: 600;\n padding-bottom: 0;\n}\n.issue-filing-dialog--F9jun .ms-Dialog-subText {\n font-weight: 400;\n font-size: 15px;\n color: var(--secondary-text);\n}\n.issue-filing-dialog--F9jun .textfield-description {\n color: var(--secondary-text);\n font-style: italic;\n}\n\n/* css-modules:src/DetailsView/components/action-and-cancel-buttons-component */\n.action-and-cancel-buttons-component--DF7bf {\n display: flex;\n justify-content: flex-end;\n}\n.action-and-cancel-buttons-component--DF7bf .action-cancel-button-col--RMfN- + .action-cancel-button-col--RMfN- {\n margin-left: 8px;\n}\n\n/* css-modules:src/common/components/toast */\n.toast-container--L-5HM {\n display: inline-block;\n}\n.toast-content--8-Mx1 {\n background: var(--neutral-70);\n border-radius: 4px;\n color: var(--neutral-0);\n padding-left: 20px;\n padding-top: 14px;\n padding-bottom: 14px;\n padding-right: 20px;\n width: 316px;\n margin-left: calc(316px / -2 - 20px);\n left: 50%;\n bottom: 20px;\n z-index: 1000;\n position: absolute;\n}\n\n/* css-modules:src/common/components/cards/card-kebab-menu-button */\n.kebab-menu-icon--RzpyN {\n flex-grow: 1;\n}\n@media screen and (forced-colors: active) {\n .kebab-menu-icon--RzpyN {\n color: buttontext;\n }\n}\n.kebab-menu-button--e-7v- {\n margin-right: 8px;\n width: 32px;\n height: 32px;\n}\n.kebab-menu-button--e-7v-:hover {\n background-color: var(--menu-item-background-hover);\n}\n.kebab-menu-button--e-7v-.is-expanded {\n background-color: var(--menu-item-background-active);\n}\n@media screen and (forced-colors: active) {\n .kebab-menu-button--e-7v-.is-expanded .kebab-menu-icon--RzpyN,\n .kebab-menu-button--e-7v-:hover .kebab-menu-icon--RzpyN {\n color: highlight;\n }\n}\n@media screen and (forced-colors: active) {\n .kebab-menu--eKCNX button:hover {\n color: highlight;\n }\n}\n\n/* css-modules:src/common/components/cards/instance-details-footer */\n.foot--p1DfC {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: var(--neutral-2);\n min-height: 48px;\n padding-left: 12px;\n border-top: 0.5px solid var(--card-footer-border);\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n.foot--p1DfC .highlight-status--xJvvI {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: transparent;\n}\n.foot--p1DfC .highlight-status--xJvvI svg {\n fill: var(--secondary-text);\n}\n@media screen and (forced-colors: active) {\n .foot--p1DfC .highlight-status--xJvvI svg {\n fill: ButtonFace !important;\n stroke: ButtonText !important;\n }\n}\n.foot--p1DfC .highlight-status--xJvvI label {\n color: var(--secondary-text);\n font-size: 14px;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n\n/* css-modules:src/common/components/cards/instance-details-group */\nul.instance-details-list--YfkRy {\n list-style-type: none;\n padding-inline-start: unset;\n margin-block-start: unset;\n margin-block-end: unset;\n}\nul.instance-details-list--YfkRy > li {\n margin-bottom: 16px;\n}\nul.instance-details-list--YfkRy > li:last-child {\n margin-bottom: unset;\n}\n\n/* css-modules:src/common/components/cards/rule-resources */\n.rule-more-resources--uw9mc {\n display: flex;\n flex-direction: column;\n margin-bottom: 16px;\n padding-top: 14px;\n padding-right: 20px;\n padding-bottom: 14px;\n padding-left: 20px;\n background-color: var(--neutral-0);\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n border: 1px solid var(--card-border);\n line-height: 20px;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n.rule-more-resources--uw9mc .more-resources-title--jOuUL {\n font-weight: 600;\n}\n.rule-more-resources--uw9mc .rule-details-id--s-TpO {\n padding-top: 12px;\n padding-bottom: 12px;\n}\n\n/* css-modules:src/common/components/cards/rules-with-instances */\n.rule-details-group--Tb-LW .rule-detail {\n font-size: 14px;\n padding-top: 16px;\n padding-right: 8px;\n padding-bottom: 16px;\n padding-left: 8px;\n display: flex;\n align-items: baseline;\n text-align: left;\n}\n.rule-details-group--Tb-LW .rule-detail .outcome-chip {\n vertical-align: middle;\n margin-bottom: 2px;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-details-id {\n font-weight: 600;\n color: var(--primary-text);\n word-break: break-all;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-details-id a {\n font-weight: 600;\n color: var(--primary-text) !important;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-details-id strong {\n font-weight: 600;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-detail-description {\n color: var(--secondary-text) !important;\n word-break: break-all;\n}\n.collapsible-rule-details-group--V-HWh {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.collapsible-rule-details-group--V-HWh .rule-detail {\n box-shadow: unset;\n}\n.collapsible-rule-details-group--V-HWh:not(.collapsed) {\n box-shadow: unset;\n}\n\n/* css-modules:src/common/components/cards/result-section-title */\n.result-section-title--RGFI5 {\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.result-section-title--RGFI5 .outcome-chip.outcome-chip-fail .count {\n line-height: 11px;\n}\n.result-section-title--RGFI5 .outcome-chip.outcome-chip-fail svg {\n margin-bottom: 3px;\n}\n.result-section-title--RGFI5 .title--WBYFE {\n font-weight: 600;\n font-size: 17px;\n line-height: 24px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n.result-section-title--RGFI5 .heading--NdP4Q {\n font-weight: 600;\n font-size: 15px;\n line-height: 20px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n.result-section-title--RGFI5 .outcome-chip-container--BT3j5 {\n display: flex;\n height: 16px;\n}\n\n/* css-modules:src/common/components/cards/result-section */\n.result-section--HfO9s {\n padding-bottom: 24px;\n}\n.result-section--HfO9s .title-container--JzN4A .collapsible-control--e42Z7::before {\n position: relative;\n bottom: 2px;\n}\n.result-section--HfO9s > h2 {\n margin: 0;\n font-size: 17px;\n line-height: 24px;\n}\n\n/* css-modules:src/reports/components/header-bar */\n.report-header-bar--SDV11 {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: nowrap;\n background-color: var(--ada-brand-color);\n height: 40px;\n width: 100%;\n}\n.report-header-bar--SDV11 .header-icon {\n flex-shrink: 0;\n margin-left: 16px;\n height: 22px;\n width: 22px;\n}\n.report-header-bar--SDV11 .header-text--EdTxw {\n margin-left: 8px;\n color: var(--header-bar-title-color);\n flex-shrink: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family:\n \"Segoe UI Web (West European)\",\n \"Segoe UI\",\n \"-apple-system\",\n BlinkMacSystemFont,\n Roboto,\n \"Helvetica Neue\",\n Helvetica,\n Ubuntu,\n Arial,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n font-weight: normal;\n font-size: 17px;\n line-height: 24px;\n}\n\n/* css-modules:src/reports/components/report-sections/header-section */\n.report-header-command-bar--NJWdl {\n height: 40px;\n width: 100%;\n display: flex;\n justify-content: end;\n min-height: fit-content;\n align-items: center;\n background-color: var(--neutral-0);\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.report-header-command-bar--NJWdl .target-page--hjh44 {\n white-space: nowrap;\n margin-left: 16px;\n display: flex;\n color: var(--primary-text);\n font-family:\n \"Segoe UI Web (West European)\",\n \"Segoe UI\",\n \"-apple-system\",\n BlinkMacSystemFont,\n Roboto,\n \"Helvetica Neue\",\n Helvetica,\n Ubuntu,\n Arial,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n font-size: 14px;\n line-height: 20px;\n font-weight: normal;\n min-width: 0;\n}\n.report-header-command-bar--NJWdl .target-page--hjh44 a {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* css-modules:src/common/components/cards/combined-report-result-section-title */\n.combined-report-result-section-title--TqIZO {\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.combined-report-result-section-title--TqIZO .title--6WIyt {\n font-weight: 600;\n font-size: 17px;\n line-height: 24px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n.combined-report-result-section-title--TqIZO .heading--UpAHf {\n font-weight: 600;\n font-size: 15px;\n line-height: 20px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n\n/* css-modules:src/reports/components/report-sections/urls-summary-section */\n.urls-summary-section--jNa-v {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 24px;\n}\n.urls-summary-section--jNa-v h2 {\n margin-bottom: 16px !important;\n}\n.urls-summary-section--jNa-v .total-urls--95-ge {\n font-weight: 600;\n}\n.urls-summary-section--jNa-v .failure-instances--2WDtT {\n margin-top: 40px;\n}\n.urls-summary-section--jNa-v .failure-outcome-chip--JF-lj {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n}\n\n/* css-modules:src/reports/components/report-sections/rules-results-container */\n.rules-results-container--HaLDw {\n margin-top: 56px;\n}\n.rules-results-container--HaLDw .results-heading--H9Puz {\n margin-top: 32px;\n margin-bottom: 32px;\n font-weight: 600;\n font-size: 17px;\n line-height: 24px;\n}\n\n/* css-modules:src/reports/components/report-sections/summary-report-details-section */\n.crawl-details-section--a6evz {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 22px;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di {\n list-style: none;\n font-size: 14px;\n line-height: 16px;\n padding-left: 0;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n flex-direction: column;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di li {\n display: inline-block;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di li .icon--APJEn {\n padding-right: 12px;\n position: relative;\n top: 3px;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di li.targetSite--wBJT- {\n margin-bottom: 6px;\n}\n.crawl-details-section--a6evz .text--rViTo,\n.crawl-details-section--a6evz .label--DUNYf {\n word-break: break-all;\n color: var(--neutral-55);\n font-family:\n \"Segoe UI Web (West European)\",\n \"Segoe UI\",\n \"-apple-system\",\n BlinkMacSystemFont,\n Roboto,\n \"Helvetica Neue\",\n Helvetica,\n Ubuntu,\n Arial,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n font-weight: normal;\n font-size: 14px;\n line-height: 20px;\n}\n.crawl-details-section--a6evz .label--DUNYf {\n font-weight: 600;\n}\n.crawl-details-section--a6evz .label--DUNYf.no-icon--VrSr5 {\n padding-left: 29px;\n}\n\n/* css-modules:src/reports/components/report-sections/collapsible-url-result-section */\n.url-result-section--SkOlZ {\n padding-bottom: 31px;\n}\n.url-result-section--SkOlZ .title-container[aria-level=\"3\"] .collapsible-control::before {\n position: relative;\n bottom: 2px;\n margin-right: 14px;\n}\n.url-result-section--SkOlZ .collapsible-content {\n margin-top: 19px;\n}\n\n/* css-modules:src/reports/components/report-sections/summary-results-table */\n.summary-results-table--Iezr- {\n width: 100%;\n margin: 0;\n text-align: left;\n border-spacing: 0;\n border-collapse: collapse;\n font-size: 14px;\n line-height: 20px;\n}\n.summary-results-table--Iezr- th,\n.summary-results-table--Iezr- td {\n border: 1px solid var(--neutral-20);\n padding-top: 16px;\n padding-right: 8px;\n padding-bottom: 16px;\n padding-left: 8px;\n}\n.summary-results-table--Iezr- th {\n font-weight: 600;\n background-color: var(--neutral-6);\n}\n.summary-results-table--Iezr- thead tr :first-child {\n width: 172px;\n}\n.summary-results-table--Iezr- td {\n background-color: var(--neutral-0);\n}\n.summary-results-table--Iezr- td.text-cell--EaUrM {\n overflow-wrap: break-word;\n}\n.summary-results-table--Iezr- td.url-cell--mg-3l {\n overflow-wrap: anywhere;\n}\n\n/* css-modules:src/reports/components/report-sections/results-by-url-container */\n.url-results-container---dq9B {\n margin-top: 56px;\n}\n.url-results-container---dq9B .results-heading--2dWBX {\n margin-top: 32px;\n margin-bottom: 32px;\n}\n\n/* css-modules:src/common/components/cards/fix-instruction-color-box */\n.fix-instruction-color-box--DQpQE {\n width: 14px;\n height: 14px;\n display: inline-block;\n vertical-align: -5%;\n margin-right: 2px;\n margin-left: 2px;\n border: 1px solid var(--light-black);\n}\n.screen-reader-only--6LUiO {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n/*# sourceMappingURL=report.css.map */\n`;
|
|
3071
3311
|
|
|
3072
3312
|
// src/reports/components/reporter-automated-check-head.tsx
|
|
3073
3313
|
var ReporterHead = NamedFC("ReporterHead", () => {
|
|
@@ -3079,10 +3319,10 @@ var ReporterHead = NamedFC("ReporterHead", () => {
|
|
|
3079
3319
|
});
|
|
3080
3320
|
|
|
3081
3321
|
// src/reports/package/footer-text-for-service.tsx
|
|
3082
|
-
|
|
3322
|
+
var React50 = __toESM(require("react"));
|
|
3083
3323
|
|
|
3084
3324
|
// src/reports/components/report-sections/tool-link.tsx
|
|
3085
|
-
|
|
3325
|
+
var React49 = __toESM(require("react"));
|
|
3086
3326
|
var ToolLink = NamedFC("ToolLink", () => /* @__PURE__ */ React49.createElement(NewTabLink, {
|
|
3087
3327
|
className: "tool-name-link",
|
|
3088
3328
|
href: "http://aka.ms/AccessibilityInsights",
|
|
@@ -3096,7 +3336,7 @@ var FooterTextForService = NamedFC("FooterTextForService", ({ scanMetadata }) =>
|
|
|
3096
3336
|
});
|
|
3097
3337
|
|
|
3098
3338
|
// src/reports/components/report-sections/automated-checks-title-section.tsx
|
|
3099
|
-
|
|
3339
|
+
var React51 = __toESM(require("react"));
|
|
3100
3340
|
var AutomatedChecksTitleSection = NamedFC("AutomatedChecksTitleSection", () => {
|
|
3101
3341
|
return /* @__PURE__ */ React51.createElement("div", {
|
|
3102
3342
|
className: "title-section"
|
|
@@ -3104,13 +3344,13 @@ var AutomatedChecksTitleSection = NamedFC("AutomatedChecksTitleSection", () => {
|
|
|
3104
3344
|
});
|
|
3105
3345
|
|
|
3106
3346
|
// src/reports/components/report-sections/body-section.tsx
|
|
3107
|
-
|
|
3347
|
+
var React52 = __toESM(require("react"));
|
|
3108
3348
|
var BodySection = NamedFC("BodySection", ({ children }) => {
|
|
3109
3349
|
return /* @__PURE__ */ React52.createElement("body", null, children);
|
|
3110
3350
|
});
|
|
3111
3351
|
|
|
3112
3352
|
// src/reports/components/report-sections/content-container.tsx
|
|
3113
|
-
|
|
3353
|
+
var React53 = __toESM(require("react"));
|
|
3114
3354
|
var ContentContainer = NamedFC("ContentSection", ({ children }) => {
|
|
3115
3355
|
return /* @__PURE__ */ React53.createElement("main", {
|
|
3116
3356
|
className: "outer-container"
|
|
@@ -3120,20 +3360,22 @@ var ContentContainer = NamedFC("ContentSection", ({ children }) => {
|
|
|
3120
3360
|
});
|
|
3121
3361
|
|
|
3122
3362
|
// src/reports/components/report-sections/details-section.tsx
|
|
3123
|
-
|
|
3363
|
+
var React58 = __toESM(require("react"));
|
|
3124
3364
|
|
|
3125
3365
|
// src/reports/components/report-sections/make-details-section-fc.tsx
|
|
3126
|
-
|
|
3366
|
+
var import_utilities6 = require("@fluentui/utilities");
|
|
3127
3367
|
|
|
3128
3368
|
// src/common/icons/comment-icon.tsx
|
|
3129
|
-
|
|
3369
|
+
var React54 = __toESM(require("react"));
|
|
3130
3370
|
var d = "M16 11.2891V0.289062H-7.62939e-06V11.2891H1.99999V15L5.71093 11.2891H16ZM1 1.28906H15L15 10.2891H5.28906L3 12.5781V10.2891H1V1.28906ZM9.99999 6.28906H8.99999V4.28906H11V6.28906C11 6.42969 10.974 6.55859 10.9219 6.67969C10.8698 6.80078 10.7982 6.90625 10.707 6.99609C10.6159 7.08594 10.5104 7.16016 10.3906 7.21094C10.2708 7.26172 10.1406 7.28906 9.99999 7.28906V6.28906ZM4.99999 6.28906H5.99999V7.28906C6.14062 7.28906 6.27083 7.26172 6.39062 7.21094C6.51041 7.16016 6.61588 7.08594 6.70702 6.99609C6.79817 6.90625 6.86978 6.80078 6.92187 6.67969C6.97395 6.55859 6.99999 6.42969 6.99999 6.28906V4.28906H4.99999V6.28906Z";
|
|
3131
3371
|
var CommentIcon = NamedFC("CommentIcon", () => /* @__PURE__ */ React54.createElement("svg", {
|
|
3132
3372
|
width: "17",
|
|
3133
3373
|
height: "16",
|
|
3134
3374
|
viewBox: "0 0 16 15",
|
|
3135
3375
|
fill: "none",
|
|
3136
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
3376
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3377
|
+
role: "img",
|
|
3378
|
+
"aria-hidden": "true"
|
|
3137
3379
|
}, /* @__PURE__ */ React54.createElement("path", {
|
|
3138
3380
|
fillRule: "evenodd",
|
|
3139
3381
|
clipRule: "evenodd",
|
|
@@ -3142,55 +3384,67 @@ var CommentIcon = NamedFC("CommentIcon", () => /* @__PURE__ */ React54.createEle
|
|
|
3142
3384
|
})));
|
|
3143
3385
|
|
|
3144
3386
|
// src/common/icons/date-icon.tsx
|
|
3145
|
-
|
|
3387
|
+
var React55 = __toESM(require("react"));
|
|
3146
3388
|
var d2 = "M8.82353 16C8.09697 16 7.39677 15.9062 6.72294 15.7188C6.05497 15.5312 5.42802 15.2676 4.84208 14.9277C4.26201 14.582 3.73173 14.1719 3.25126 13.6973C2.77665 13.2168 2.3665 12.6865 2.02079 12.1064C1.68095 11.5205 1.41728 10.8936 1.22978 10.2256C1.04228 9.55176 0.948529 8.85156 0.948529 8.125C0.948529 7.39844 1.04228 6.70117 1.22978 6.0332C1.41728 5.35937 1.68095 4.73242 2.02079 4.15234C2.3665 3.56641 2.77665 3.03613 3.25126 2.56152C3.73173 2.08105 4.26201 1.6709 4.84208 1.33105C5.42802 0.985352 6.05497 0.71875 6.72294 0.53125C7.39677 0.34375 8.09697 0.25 8.82353 0.25C9.55009 0.25 10.2474 0.34375 10.9153 0.53125C11.5892 0.71875 12.2161 0.985352 12.7962 1.33105C13.3821 1.6709 13.9124 2.08105 14.387 2.56152C14.8675 3.03613 15.2776 3.56641 15.6175 4.15234C15.9632 4.73242 16.2298 5.35937 16.4173 6.0332C16.6048 6.70117 16.6985 7.39844 16.6985 8.125C16.6985 8.85156 16.6048 9.55176 16.4173 10.2256C16.2298 10.8936 15.9632 11.5205 15.6175 12.1064C15.2776 12.6865 14.8675 13.2168 14.387 13.6973C13.9124 14.1719 13.3821 14.582 12.7962 14.9277C12.2161 15.2676 11.5892 15.5312 10.9153 15.7188C10.2474 15.9062 9.55009 16 8.82353 16ZM8.82353 1.375C7.89189 1.375 7.01591 1.55371 6.1956 1.91113C5.38115 2.2627 4.6663 2.74609 4.05107 3.36133C3.44169 3.9707 2.95829 4.68555 2.60087 5.50586C2.24931 6.32031 2.07353 7.19336 2.07353 8.125C2.07353 9.05664 2.24931 9.93262 2.60087 10.7529C2.95829 11.5674 3.44169 12.2822 4.05107 12.8975C4.6663 13.5068 5.38115 13.9902 6.1956 14.3477C7.01591 14.6992 7.89189 14.875 8.82353 14.875C9.75517 14.875 10.6282 14.6992 11.4427 14.3477C12.263 13.9902 12.9778 13.5068 13.5872 12.8975C14.2024 12.2822 14.6858 11.5674 15.0374 10.7529C15.3948 9.93262 15.5735 9.05664 15.5735 8.125C15.5735 7.19336 15.3948 6.32031 15.0374 5.50586C14.6858 4.68555 14.2024 3.9707 13.5872 3.36133C12.9778 2.74609 12.263 2.2627 11.4427 1.91113C10.6282 1.55371 9.75517 1.375 8.82353 1.375ZM8.82353 8.125V3.625H7.69853V9.25H12.1985V8.125H8.82353Z";
|
|
3147
3389
|
var DateIcon = NamedFC("DateIcon", () => /* @__PURE__ */ React55.createElement("svg", {
|
|
3148
3390
|
width: "17",
|
|
3149
3391
|
height: "16",
|
|
3150
3392
|
viewBox: "0 0 17 16",
|
|
3151
3393
|
fill: "none",
|
|
3152
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
3394
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3395
|
+
role: "img",
|
|
3396
|
+
"aria-hidden": "true"
|
|
3153
3397
|
}, /* @__PURE__ */ React55.createElement("path", {
|
|
3154
3398
|
d: d2,
|
|
3155
3399
|
fill: "#737373"
|
|
3156
3400
|
})));
|
|
3157
3401
|
|
|
3158
3402
|
// src/common/icons/url-icon.tsx
|
|
3159
|
-
|
|
3403
|
+
var React56 = __toESM(require("react"));
|
|
3160
3404
|
var d3 = "M8.82353 0C9.5579 0 10.2662 0.0963542 10.9485 0.289062C11.6308 0.476562 12.2688 0.744792 12.8626 1.09375C13.4563 1.4375 13.9954 1.85417 14.4798 2.34375C14.9694 2.82812 15.386 3.36719 15.7298 3.96094C16.0787 4.55469 16.347 5.19271 16.5345 5.875C16.7272 6.55729 16.8235 7.26562 16.8235 8C16.8235 8.73438 16.7272 9.44271 16.5345 10.125C16.347 10.8073 16.0787 11.4453 15.7298 12.0391C15.386 12.6328 14.9694 13.1745 14.4798 13.6641C13.9954 14.1484 13.4563 14.5651 12.8626 14.9141C12.2688 15.2578 11.6308 15.526 10.9485 15.7188C10.2662 15.9062 9.5579 16 8.82353 16C8.08915 16 7.38082 15.9062 6.69853 15.7188C6.01624 15.526 5.37822 15.2578 4.78447 14.9141C4.19072 14.5651 3.64905 14.1484 3.15947 13.6641C2.67509 13.1745 2.25843 12.6328 1.90947 12.0391C1.56572 11.4453 1.29749 10.8099 1.10478 10.1328C0.917279 9.45052 0.823529 8.73958 0.823529 8C0.823529 7.26562 0.917279 6.55729 1.10478 5.875C1.29749 5.19271 1.56572 4.55469 1.90947 3.96094C2.25843 3.36719 2.67509 2.82812 3.15947 2.34375C3.64905 1.85417 4.19072 1.4375 4.78447 1.09375C5.37822 0.744792 6.01363 0.476562 6.69072 0.289062C7.37301 0.0963542 8.08395 0 8.82353 0ZM15.1438 5C14.9459 4.57812 14.7063 4.18229 14.4251 3.8125C14.1438 3.4375 13.8313 3.09635 13.4876 2.78906C13.1438 2.48177 12.7714 2.20833 12.3704 1.96875C11.9694 1.72917 11.5501 1.53385 11.1126 1.38281C11.3001 1.64323 11.4694 1.91927 11.6204 2.21094C11.7714 2.5026 11.9043 2.80469 12.0188 3.11719C12.1386 3.42448 12.2402 3.73698 12.3235 4.05469C12.4069 4.3724 12.4798 4.6875 12.5423 5H15.1438ZM15.8235 8C15.8235 7.30729 15.7272 6.64062 15.5345 6H12.6985C12.7402 6.33333 12.7714 6.66667 12.7923 7C12.8131 7.32812 12.8235 7.66146 12.8235 8C12.8235 8.33854 12.8131 8.67448 12.7923 9.00781C12.7714 9.33594 12.7402 9.66667 12.6985 10H15.5345C15.7272 9.35938 15.8235 8.69271 15.8235 8ZM8.82353 15C9.07874 15 9.31572 14.9297 9.53447 14.7891C9.75843 14.6484 9.96415 14.4635 10.1517 14.2344C10.3392 14.0052 10.5058 13.7474 10.6517 13.4609C10.8027 13.1693 10.9355 12.875 11.0501 12.5781C11.1647 12.2812 11.261 11.9948 11.3392 11.7188C11.4173 11.4427 11.4772 11.2031 11.5188 11H6.12822C6.16988 11.2031 6.22978 11.4427 6.3079 11.7188C6.38603 11.9948 6.48238 12.2812 6.59697 12.5781C6.71155 12.875 6.84176 13.1693 6.98759 13.4609C7.13863 13.7474 7.3079 14.0052 7.4954 14.2344C7.6829 14.4635 7.88603 14.6484 8.10478 14.7891C8.32874 14.9297 8.56832 15 8.82353 15ZM11.6907 10C11.7324 9.66667 11.7636 9.33594 11.7845 9.00781C11.8105 8.67448 11.8235 8.33854 11.8235 8C11.8235 7.66146 11.8105 7.32812 11.7845 7C11.7636 6.66667 11.7324 6.33333 11.6907 6H5.95634C5.91468 6.33333 5.88082 6.66667 5.85478 7C5.83395 7.32812 5.82353 7.66146 5.82353 8C5.82353 8.33854 5.83395 8.67448 5.85478 9.00781C5.88082 9.33594 5.91468 9.66667 5.95634 10H11.6907ZM1.82353 8C1.82353 8.69271 1.91988 9.35938 2.11259 10H4.94853C4.90686 9.66667 4.87561 9.33594 4.85478 9.00781C4.83395 8.67448 4.82353 8.33854 4.82353 8C4.82353 7.66146 4.83395 7.32812 4.85478 7C4.87561 6.66667 4.90686 6.33333 4.94853 6H2.11259C1.91988 6.64062 1.82353 7.30729 1.82353 8ZM8.82353 1C8.56832 1 8.32874 1.07031 8.10478 1.21094C7.88603 1.35156 7.6829 1.53646 7.4954 1.76562C7.3079 1.99479 7.13863 2.25521 6.98759 2.54688C6.84176 2.83333 6.71155 3.125 6.59697 3.42188C6.48238 3.71875 6.38603 4.00521 6.3079 4.28125C6.22978 4.55729 6.16988 4.79688 6.12822 5H11.5188C11.4772 4.79688 11.4173 4.55729 11.3392 4.28125C11.261 4.00521 11.1647 3.71875 11.0501 3.42188C10.9355 3.125 10.8027 2.83333 10.6517 2.54688C10.5058 2.25521 10.3392 1.99479 10.1517 1.76562C9.96415 1.53646 9.75843 1.35156 9.53447 1.21094C9.31572 1.07031 9.07874 1 8.82353 1ZM6.53447 1.38281C6.09697 1.53385 5.6777 1.72917 5.27665 1.96875C4.87561 2.20833 4.50322 2.48177 4.15947 2.78906C3.81572 3.09635 3.50322 3.4375 3.22197 3.8125C2.94072 4.18229 2.70113 4.57812 2.50322 5H5.10478C5.16728 4.6875 5.2402 4.3724 5.32353 4.05469C5.40686 3.73698 5.50582 3.42448 5.6204 3.11719C5.7402 2.80469 5.87561 2.5026 6.02665 2.21094C6.1777 1.91927 6.34697 1.64323 6.53447 1.38281ZM2.50322 11C2.70113 11.4219 2.94072 11.8203 3.22197 12.1953C3.50322 12.5651 3.81572 12.9036 4.15947 13.2109C4.50322 13.5182 4.87561 13.7917 5.27665 14.0312C5.6777 14.2708 6.09697 14.4661 6.53447 14.6172C6.34697 14.3568 6.1777 14.0807 6.02665 13.7891C5.87561 13.4974 5.7402 13.1979 5.6204 12.8906C5.50582 12.5781 5.40686 12.263 5.32353 11.9453C5.2402 11.6276 5.16728 11.3125 5.10478 11H2.50322ZM11.1126 14.6172C11.5501 14.4661 11.9694 14.2708 12.3704 14.0312C12.7714 13.7917 13.1438 13.5182 13.4876 13.2109C13.8313 12.9036 14.1438 12.5651 14.4251 12.1953C14.7063 11.8203 14.9459 11.4219 15.1438 11H12.5423C12.4798 11.3125 12.4069 11.6276 12.3235 11.9453C12.2402 12.263 12.1386 12.5781 12.0188 12.8906C11.9043 13.1979 11.7714 13.4974 11.6204 13.7891C11.4694 14.0807 11.3001 14.3568 11.1126 14.6172Z";
|
|
3161
3405
|
var UrlIcon = NamedFC("UrlIcon", () => /* @__PURE__ */ React56.createElement("svg", {
|
|
3162
3406
|
width: "17",
|
|
3163
3407
|
height: "16",
|
|
3164
3408
|
viewBox: "0 0 17 16",
|
|
3165
3409
|
fill: "none",
|
|
3166
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
3410
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3411
|
+
role: "img",
|
|
3412
|
+
"aria-hidden": "true"
|
|
3167
3413
|
}, /* @__PURE__ */ React56.createElement("path", {
|
|
3168
3414
|
d: d3,
|
|
3169
3415
|
fill: "#737373"
|
|
3170
3416
|
})));
|
|
3171
3417
|
|
|
3172
3418
|
// src/reports/components/report-sections/make-details-section-fc.tsx
|
|
3173
|
-
|
|
3174
|
-
|
|
3419
|
+
var import_lodash11 = require("lodash");
|
|
3420
|
+
var React57 = __toESM(require("react"));
|
|
3175
3421
|
function makeDetailsSectionFC(getDisplayedScanTargetInfo) {
|
|
3176
3422
|
return NamedFC("DetailsSection", (props) => {
|
|
3177
3423
|
const { scanMetadata, description, toUtcString } = props;
|
|
3178
3424
|
const createListItem = (icon, label, content, contentClassName) => /* @__PURE__ */ React57.createElement("li", null, /* @__PURE__ */ React57.createElement("span", {
|
|
3179
|
-
className: "icon"
|
|
3180
|
-
"aria-hidden": "true"
|
|
3425
|
+
className: "icon"
|
|
3181
3426
|
}, icon), /* @__PURE__ */ React57.createElement("span", {
|
|
3182
3427
|
className: "screen-reader-only"
|
|
3183
3428
|
}, label), /* @__PURE__ */ React57.createElement("span", {
|
|
3184
|
-
className:
|
|
3429
|
+
className: (0, import_utilities6.css)("text", contentClassName)
|
|
3185
3430
|
}, content));
|
|
3186
3431
|
const scanDateUTC = toUtcString(scanMetadata.timespan.scanComplete);
|
|
3187
|
-
const showCommentRow = !
|
|
3432
|
+
const showCommentRow = !(0, import_lodash11.isEmpty)(description);
|
|
3188
3433
|
const displayedScanTargetInfo = getDisplayedScanTargetInfo(scanMetadata);
|
|
3189
3434
|
return /* @__PURE__ */ React57.createElement("div", {
|
|
3190
3435
|
className: "scan-details-section"
|
|
3191
3436
|
}, /* @__PURE__ */ React57.createElement("h2", null, "Scan details"), /* @__PURE__ */ React57.createElement("ul", {
|
|
3192
3437
|
className: "details-section-list"
|
|
3193
|
-
}, createListItem(
|
|
3438
|
+
}, createListItem(
|
|
3439
|
+
/* @__PURE__ */ React57.createElement(UrlIcon, null),
|
|
3440
|
+
displayedScanTargetInfo.label,
|
|
3441
|
+
displayedScanTargetInfo.content
|
|
3442
|
+
), createListItem(/* @__PURE__ */ React57.createElement(DateIcon, null), "scan date:", scanDateUTC), showCommentRow && createListItem(
|
|
3443
|
+
/* @__PURE__ */ React57.createElement(CommentIcon, null),
|
|
3444
|
+
"comment:",
|
|
3445
|
+
description,
|
|
3446
|
+
"description-text"
|
|
3447
|
+
)));
|
|
3194
3448
|
});
|
|
3195
3449
|
}
|
|
3196
3450
|
|
|
@@ -3207,21 +3461,21 @@ function getUrlItemInfo(scanMetadata) {
|
|
|
3207
3461
|
var DetailsSection = makeDetailsSectionFC(getUrlItemInfo);
|
|
3208
3462
|
|
|
3209
3463
|
// src/reports/components/report-sections/not-applicable-checks-section.tsx
|
|
3210
|
-
|
|
3464
|
+
var React62 = __toESM(require("react"));
|
|
3211
3465
|
|
|
3212
3466
|
// src/reports/components/report-sections/collapsible-result-section.tsx
|
|
3213
|
-
|
|
3467
|
+
var React61 = __toESM(require("react"));
|
|
3214
3468
|
|
|
3215
3469
|
// src/reports/components/report-sections/rules-only.tsx
|
|
3216
|
-
|
|
3470
|
+
var React60 = __toESM(require("react"));
|
|
3217
3471
|
|
|
3218
3472
|
// src/reports/components/report-sections/full-rule-header.tsx
|
|
3219
|
-
|
|
3220
|
-
|
|
3473
|
+
var import_lodash12 = require("lodash");
|
|
3474
|
+
var React59 = __toESM(require("react"));
|
|
3221
3475
|
var FullRuleHeader = NamedFC("FullRuleHeader", (props) => {
|
|
3222
3476
|
const { outcomeType, deps, cardRuleResult: cardResult } = props;
|
|
3223
3477
|
const outcomeText = outcomeTypeSemantics[props.outcomeType].pastTense;
|
|
3224
|
-
const ariaDescribedBy = `${kebabCase(outcomeText)}-rule-${cardResult.id}-description`;
|
|
3478
|
+
const ariaDescribedBy = `${(0, import_lodash12.kebabCase)(outcomeText)}-rule-${cardResult.id}-description`;
|
|
3225
3479
|
const renderCountBadge = () => {
|
|
3226
3480
|
if (outcomeType !== "fail") {
|
|
3227
3481
|
return null;
|
|
@@ -3246,7 +3500,7 @@ var FullRuleHeader = NamedFC("FullRuleHeader", (props) => {
|
|
|
3246
3500
|
}, displayedRule);
|
|
3247
3501
|
};
|
|
3248
3502
|
const renderGuidanceLinks = () => {
|
|
3249
|
-
if (
|
|
3503
|
+
if ((0, import_lodash12.isEmpty)(cardResult.guidance)) {
|
|
3250
3504
|
return null;
|
|
3251
3505
|
}
|
|
3252
3506
|
return /* @__PURE__ */ React59.createElement(React59.Fragment, null, "(", /* @__PURE__ */ React59.createElement(GuidanceLinks, {
|
|
@@ -3272,78 +3526,90 @@ var FullRuleHeader = NamedFC("FullRuleHeader", (props) => {
|
|
|
3272
3526
|
});
|
|
3273
3527
|
|
|
3274
3528
|
// src/reports/components/report-sections/rules-only.tsx
|
|
3275
|
-
var RulesOnly = NamedFC(
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3529
|
+
var RulesOnly = NamedFC(
|
|
3530
|
+
"RulesOnly",
|
|
3531
|
+
({ outcomeType, deps, cardRuleResults: cardResults }) => {
|
|
3532
|
+
return /* @__PURE__ */ React60.createElement("div", {
|
|
3533
|
+
className: rules_with_instances_default.ruleDetailsGroup
|
|
3534
|
+
}, cardResults.map((cardRuleResult) => /* @__PURE__ */ React60.createElement(FullRuleHeader, {
|
|
3535
|
+
deps,
|
|
3536
|
+
key: cardRuleResult.id,
|
|
3537
|
+
cardRuleResult,
|
|
3538
|
+
outcomeType
|
|
3539
|
+
})));
|
|
3540
|
+
}
|
|
3541
|
+
);
|
|
3285
3542
|
|
|
3286
3543
|
// src/reports/components/report-sections/collapsible-result-section.tsx
|
|
3287
|
-
var CollapsibleResultSection = NamedFC(
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3544
|
+
var CollapsibleResultSection = NamedFC(
|
|
3545
|
+
"CollapsibleResultSection",
|
|
3546
|
+
(props) => {
|
|
3547
|
+
const { containerClassName, containerId, deps, cardSelectionMessageCreator, testKey } = props;
|
|
3548
|
+
const CollapsibleContent = deps.collapsibleControl({
|
|
3549
|
+
id: containerId,
|
|
3550
|
+
header: /* @__PURE__ */ React61.createElement(ResultSectionTitle, {
|
|
3551
|
+
...props,
|
|
3552
|
+
titleSize: "title"
|
|
3553
|
+
}),
|
|
3554
|
+
content: /* @__PURE__ */ React61.createElement(RulesOnly, {
|
|
3555
|
+
...props
|
|
3556
|
+
}),
|
|
3557
|
+
headingLevel: props.headingLevel,
|
|
3558
|
+
deps: null,
|
|
3559
|
+
testKey,
|
|
3560
|
+
onExpandToggle: (event) => {
|
|
3561
|
+
cardSelectionMessageCreator == null ? void 0 : cardSelectionMessageCreator.toggleRuleExpandCollapse(containerId, event);
|
|
3562
|
+
}
|
|
3563
|
+
});
|
|
3564
|
+
return /* @__PURE__ */ React61.createElement("div", {
|
|
3565
|
+
className: containerClassName
|
|
3566
|
+
}, CollapsibleContent);
|
|
3567
|
+
}
|
|
3568
|
+
);
|
|
3309
3569
|
|
|
3310
3570
|
// src/reports/components/report-sections/not-applicable-checks-section.tsx
|
|
3311
|
-
var NotApplicableChecksSection = NamedFC(
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3571
|
+
var NotApplicableChecksSection = NamedFC(
|
|
3572
|
+
"NotApplicableChecksSection",
|
|
3573
|
+
({ deps, cardsViewData, cardSelectionMessageCreator, sectionHeadingLevel }) => {
|
|
3574
|
+
const cardRuleResults = cardsViewData.cards.inapplicable;
|
|
3575
|
+
return /* @__PURE__ */ React62.createElement(CollapsibleResultSection, {
|
|
3576
|
+
deps,
|
|
3577
|
+
title: "Not applicable checks",
|
|
3578
|
+
cardRuleResults,
|
|
3579
|
+
containerClassName: "result-section",
|
|
3580
|
+
outcomeType: "inapplicable",
|
|
3581
|
+
badgeCount: cardRuleResults.length,
|
|
3582
|
+
containerId: "not-applicable-checks-section",
|
|
3583
|
+
cardSelectionMessageCreator,
|
|
3584
|
+
headingLevel: sectionHeadingLevel
|
|
3585
|
+
});
|
|
3586
|
+
}
|
|
3587
|
+
);
|
|
3325
3588
|
|
|
3326
3589
|
// src/reports/components/report-sections/passed-checks-section.tsx
|
|
3327
|
-
|
|
3328
|
-
var PassedChecksSection = NamedFC(
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3590
|
+
var React63 = __toESM(require("react"));
|
|
3591
|
+
var PassedChecksSection = NamedFC(
|
|
3592
|
+
"PassedChecksSection",
|
|
3593
|
+
({ deps, cardsViewData, cardSelectionMessageCreator, testKey, sectionHeadingLevel }) => {
|
|
3594
|
+
var _a;
|
|
3595
|
+
const cardRuleResults = ((_a = cardsViewData == null ? void 0 : cardsViewData.cards) == null ? void 0 : _a.pass) ?? [];
|
|
3596
|
+
return /* @__PURE__ */ React63.createElement(CollapsibleResultSection, {
|
|
3597
|
+
deps,
|
|
3598
|
+
title: "Passed checks",
|
|
3599
|
+
cardRuleResults,
|
|
3600
|
+
containerClassName: "result-section",
|
|
3601
|
+
outcomeType: "pass",
|
|
3602
|
+
badgeCount: cardRuleResults.length,
|
|
3603
|
+
containerId: "passed-checks-section",
|
|
3604
|
+
cardSelectionMessageCreator,
|
|
3605
|
+
testKey,
|
|
3606
|
+
headingLevel: sectionHeadingLevel
|
|
3607
|
+
});
|
|
3608
|
+
}
|
|
3609
|
+
);
|
|
3344
3610
|
|
|
3345
3611
|
// src/reports/components/report-sections/report-footer.tsx
|
|
3346
|
-
|
|
3612
|
+
var React64 = __toESM(require("react"));
|
|
3347
3613
|
var ReportFooter = NamedFC("ReportFooter", ({ children }) => {
|
|
3348
3614
|
return /* @__PURE__ */ React64.createElement("div", {
|
|
3349
3615
|
className: "report-footer-container"
|
|
@@ -3354,28 +3620,31 @@ var ReportFooter = NamedFC("ReportFooter", ({ children }) => {
|
|
|
3354
3620
|
});
|
|
3355
3621
|
|
|
3356
3622
|
// src/reports/components/report-sections/results-container.tsx
|
|
3357
|
-
|
|
3358
|
-
var ResultsContainer = NamedFC(
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
}
|
|
3623
|
+
var React65 = __toESM(require("react"));
|
|
3624
|
+
var ResultsContainer = NamedFC(
|
|
3625
|
+
"ResultsContainer",
|
|
3626
|
+
({ children, getCollapsibleScript }) => {
|
|
3627
|
+
return /* @__PURE__ */ React65.createElement(React65.Fragment, null, /* @__PURE__ */ React65.createElement("div", {
|
|
3628
|
+
className: "results-container"
|
|
3629
|
+
}, children), /* @__PURE__ */ React65.createElement("script", {
|
|
3630
|
+
dangerouslySetInnerHTML: { __html: getCollapsibleScript() }
|
|
3631
|
+
}));
|
|
3632
|
+
}
|
|
3633
|
+
);
|
|
3365
3634
|
|
|
3366
3635
|
// src/reports/components/report-sections/summary-section.tsx
|
|
3367
|
-
|
|
3636
|
+
var React67 = __toESM(require("react"));
|
|
3368
3637
|
|
|
3369
3638
|
// src/reports/components/outcome-summary-bar.tsx
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3639
|
+
var import_classnames2 = __toESM(require("classnames"));
|
|
3640
|
+
var import_lodash13 = require("lodash");
|
|
3641
|
+
var React66 = __toESM(require("react"));
|
|
3373
3642
|
var outcomeSummaryBarAutomationId = "outcome-summary-bar";
|
|
3374
3643
|
var OutcomeSummaryBar = NamedFC("OutcomeSummaryBar", (props) => {
|
|
3375
3644
|
const outcomeTypesCount = props.allOutcomeTypes.length;
|
|
3376
3645
|
const getClassNames = (outcomeType, index) => {
|
|
3377
|
-
return
|
|
3378
|
-
[
|
|
3646
|
+
return (0, import_classnames2.default)({
|
|
3647
|
+
[(0, import_lodash13.kebabCase)(outcomeType)]: true,
|
|
3379
3648
|
"summary-bar-left-edge": index === 0,
|
|
3380
3649
|
"summary-bar-right-edge": index === outcomeTypesCount - 1
|
|
3381
3650
|
});
|
|
@@ -3413,9 +3682,7 @@ var OutcomeSummaryBar = NamedFC("OutcomeSummaryBar", (props) => {
|
|
|
3413
3682
|
style: { flexGrow: count }
|
|
3414
3683
|
}, /* @__PURE__ */ React66.createElement("span", {
|
|
3415
3684
|
className: getClassNames(outcomeType, index)
|
|
3416
|
-
},
|
|
3417
|
-
"aria-hidden": "true"
|
|
3418
|
-
}, outcomeIcon), count, countSuffix, getTextLabel(outcomeType)));
|
|
3685
|
+
}, outcomeIcon, count, countSuffix, getTextLabel(outcomeType)));
|
|
3419
3686
|
}));
|
|
3420
3687
|
});
|
|
3421
3688
|
|
|
@@ -3439,18 +3706,24 @@ var BaseSummarySection = NamedFC("BaseSummarySection", (props) => {
|
|
|
3439
3706
|
allOutcomeTypes: props.outcomeTypesShown
|
|
3440
3707
|
}));
|
|
3441
3708
|
});
|
|
3442
|
-
var AllOutcomesSummarySection = NamedFC(
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3709
|
+
var AllOutcomesSummarySection = NamedFC(
|
|
3710
|
+
"AllOutcomesSummarySection",
|
|
3711
|
+
(props) => {
|
|
3712
|
+
return /* @__PURE__ */ React67.createElement(BaseSummarySection, {
|
|
3713
|
+
...props,
|
|
3714
|
+
outcomeTypesShown: ["fail", "pass", "inapplicable"]
|
|
3715
|
+
});
|
|
3716
|
+
}
|
|
3717
|
+
);
|
|
3718
|
+
var PassFailSummarySection = NamedFC(
|
|
3719
|
+
"PassFailSummarySection",
|
|
3720
|
+
(props) => {
|
|
3721
|
+
return /* @__PURE__ */ React67.createElement(BaseSummarySection, {
|
|
3722
|
+
...props,
|
|
3723
|
+
outcomeTypesShown: ["fail", "pass"]
|
|
3724
|
+
});
|
|
3725
|
+
}
|
|
3726
|
+
);
|
|
3454
3727
|
|
|
3455
3728
|
// src/reports/components/report-sections/axe-results-report-section-factory.tsx
|
|
3456
3729
|
var AxeResultsReportSectionFactory = {
|
|
@@ -3501,100 +3774,101 @@ var getAddListenerForCollapsibleSection = (code) => `(${String(code)})(document)
|
|
|
3501
3774
|
var getDefaultAddListenerForCollapsibleSection = () => getAddListenerForCollapsibleSection(addEventListenerForCollapsibleSection);
|
|
3502
3775
|
|
|
3503
3776
|
// src/common/components/cards/combined-report-result-section-title.tsx
|
|
3504
|
-
|
|
3777
|
+
var React68 = __toESM(require("react"));
|
|
3505
3778
|
|
|
3506
3779
|
// src/common/components/cards/combined-report-result-section-title.scss
|
|
3507
3780
|
var combined_report_result_section_title_default = { "combinedReportResultSectionTitle": "combined-report-result-section-title--TqIZO", "title": "title--6WIyt", "heading": "heading--UpAHf" };
|
|
3508
3781
|
|
|
3509
3782
|
// src/common/components/cards/combined-report-result-section-title.tsx
|
|
3510
|
-
var CombinedReportResultSectionTitle = NamedFC(
|
|
3511
|
-
|
|
3512
|
-
|
|
3513
|
-
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
|
|
3519
|
-
"
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
|
|
3525
|
-
|
|
3526
|
-
|
|
3783
|
+
var CombinedReportResultSectionTitle = NamedFC(
|
|
3784
|
+
"CombinedResultSectionTitle",
|
|
3785
|
+
(props) => {
|
|
3786
|
+
const singularMessageSubject = props.outcomeType === "review" ? "instance to review" : "failure";
|
|
3787
|
+
const pluralMessageSubject = props.outcomeType === "review" ? "instances to review" : "failures";
|
|
3788
|
+
const alertTerm = props.outcomeCount !== 1 ? `${pluralMessageSubject} were` : `${singularMessageSubject} was`;
|
|
3789
|
+
const alertingFailuresCount = /* @__PURE__ */ React68.createElement("span", {
|
|
3790
|
+
role: "alert"
|
|
3791
|
+
}, props.outcomeCount, " ", alertTerm, " detected.");
|
|
3792
|
+
const titleWithInstance = /* @__PURE__ */ React68.createElement("span", {
|
|
3793
|
+
className: combined_report_result_section_title_default.heading,
|
|
3794
|
+
"aria-hidden": "true"
|
|
3795
|
+
}, props.title, " (", props.outcomeCount, ")");
|
|
3796
|
+
return /* @__PURE__ */ React68.createElement("span", {
|
|
3797
|
+
className: combined_report_result_section_title_default.combinedReportResultSectionTitle
|
|
3798
|
+
}, /* @__PURE__ */ React68.createElement("span", {
|
|
3799
|
+
className: "screen-reader-only"
|
|
3800
|
+
}, props.title, " ", props.shouldAlertFailuresCount ? alertingFailuresCount : props.outcomeCount), titleWithInstance);
|
|
3801
|
+
}
|
|
3802
|
+
);
|
|
3527
3803
|
|
|
3528
3804
|
// src/reports/components/report-sections/combined-report-failed-section.tsx
|
|
3529
|
-
|
|
3530
|
-
var CombinedReportFailedSection = NamedFC(
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
|
|
3548
|
-
|
|
3549
|
-
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
});
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
toggleRuleExpandCollapse: () => null,
|
|
3564
|
-
collapseAllRules: () => null,
|
|
3565
|
-
expandAllRules: () => null,
|
|
3566
|
-
toggleVisualHelper: () => null
|
|
3567
|
-
};
|
|
3805
|
+
var React69 = __toESM(require("react"));
|
|
3806
|
+
var CombinedReportFailedSection = NamedFC(
|
|
3807
|
+
"CombinedReportFailedSection",
|
|
3808
|
+
(props) => {
|
|
3809
|
+
const { deps, cardsViewData, scanMetadata } = props;
|
|
3810
|
+
const ruleCount = cardsViewData.cards.fail.length;
|
|
3811
|
+
const sectionId = "combined-report-failed-section";
|
|
3812
|
+
const CollapsibleContent = deps.collapsibleControl({
|
|
3813
|
+
id: sectionId,
|
|
3814
|
+
header: /* @__PURE__ */ React69.createElement(CombinedReportResultSectionTitle, {
|
|
3815
|
+
outcomeCount: ruleCount,
|
|
3816
|
+
outcomeType: "fail",
|
|
3817
|
+
title: "Failed rules"
|
|
3818
|
+
}),
|
|
3819
|
+
content: /* @__PURE__ */ React69.createElement(ResultSectionContent, {
|
|
3820
|
+
deps,
|
|
3821
|
+
outcomeType: "fail",
|
|
3822
|
+
targetAppInfo: scanMetadata.targetAppInfo,
|
|
3823
|
+
results: cardsViewData.cards.fail,
|
|
3824
|
+
visualHelperEnabled: cardsViewData.visualHelperEnabled,
|
|
3825
|
+
allCardsCollapsed: cardsViewData.allCardsCollapsed,
|
|
3826
|
+
userConfigurationStoreData: null,
|
|
3827
|
+
outcomeCounter: OutcomeCounter.countByIdentifierUrls,
|
|
3828
|
+
headingLevel: 4
|
|
3829
|
+
}),
|
|
3830
|
+
onExpandToggle: null,
|
|
3831
|
+
headingLevel: 3,
|
|
3832
|
+
deps: null
|
|
3833
|
+
});
|
|
3834
|
+
return /* @__PURE__ */ React69.createElement("div", {
|
|
3835
|
+
className: "result-section"
|
|
3836
|
+
}, CollapsibleContent);
|
|
3837
|
+
}
|
|
3838
|
+
);
|
|
3568
3839
|
|
|
3569
3840
|
// src/reports/components/report-sections/combined-report-rules-only-sections.tsx
|
|
3570
|
-
|
|
3571
|
-
var makeCombinedReportRulesOnlySection = (options) => NamedFC(
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3589
|
-
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3595
|
-
|
|
3596
|
-
|
|
3597
|
-
|
|
3841
|
+
var React70 = __toESM(require("react"));
|
|
3842
|
+
var makeCombinedReportRulesOnlySection = (options) => NamedFC(
|
|
3843
|
+
"CombinedReportRulesOnlySection",
|
|
3844
|
+
({ deps, cardsViewData, cardSelectionMessageCreator }) => {
|
|
3845
|
+
const { outcomeType, title: title2 } = options;
|
|
3846
|
+
const cardRuleResults = cardsViewData.cards[outcomeType];
|
|
3847
|
+
const sectionId = `${outcomeType}-checks-section`;
|
|
3848
|
+
const CollapsibleContent = deps.collapsibleControl({
|
|
3849
|
+
id: sectionId,
|
|
3850
|
+
header: /* @__PURE__ */ React70.createElement(CombinedReportResultSectionTitle, {
|
|
3851
|
+
outcomeCount: cardRuleResults.length,
|
|
3852
|
+
outcomeType,
|
|
3853
|
+
title: title2,
|
|
3854
|
+
titleSize: "title"
|
|
3855
|
+
}),
|
|
3856
|
+
content: /* @__PURE__ */ React70.createElement(RulesOnly, {
|
|
3857
|
+
deps,
|
|
3858
|
+
cardRuleResults,
|
|
3859
|
+
outcomeType
|
|
3860
|
+
}),
|
|
3861
|
+
onExpandToggle: (event) => {
|
|
3862
|
+
cardSelectionMessageCreator == null ? void 0 : cardSelectionMessageCreator.toggleRuleExpandCollapse(sectionId, event);
|
|
3863
|
+
},
|
|
3864
|
+
headingLevel: 3,
|
|
3865
|
+
deps: null
|
|
3866
|
+
});
|
|
3867
|
+
return /* @__PURE__ */ React70.createElement("div", {
|
|
3868
|
+
className: "result-section"
|
|
3869
|
+
}, CollapsibleContent);
|
|
3870
|
+
}
|
|
3871
|
+
);
|
|
3598
3872
|
var CombinedReportPassedSection = makeCombinedReportRulesOnlySection({
|
|
3599
3873
|
outcomeType: "pass",
|
|
3600
3874
|
title: "Passed rules"
|
|
@@ -3605,10 +3879,10 @@ var CombinedReportNotApplicableSection = makeCombinedReportRulesOnlySection({
|
|
|
3605
3879
|
});
|
|
3606
3880
|
|
|
3607
3881
|
// src/reports/components/report-sections/combined-report-summary-section.tsx
|
|
3608
|
-
|
|
3882
|
+
var React72 = __toESM(require("react"));
|
|
3609
3883
|
|
|
3610
3884
|
// src/reports/components/report-sections/urls-summary-section.tsx
|
|
3611
|
-
|
|
3885
|
+
var React71 = __toESM(require("react"));
|
|
3612
3886
|
|
|
3613
3887
|
// src/reports/components/url-outcome-type.ts
|
|
3614
3888
|
var allUrlOutcomeTypes = ["fail", "unscannable", "pass"];
|
|
@@ -3659,96 +3933,111 @@ var UrlsSummarySection = NamedFC("UrlsSummarySection", (props) => {
|
|
|
3659
3933
|
});
|
|
3660
3934
|
|
|
3661
3935
|
// src/reports/components/report-sections/combined-report-summary-section.tsx
|
|
3662
|
-
var CombinedReportSummarySection = NamedFC(
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
3668
|
-
|
|
3936
|
+
var CombinedReportSummarySection = NamedFC(
|
|
3937
|
+
"CombinedReportSummarySection",
|
|
3938
|
+
(props) => {
|
|
3939
|
+
const { cardsViewData, urlResultCounts } = props;
|
|
3940
|
+
const cards = cardsViewData.cards;
|
|
3941
|
+
let failedInstances = 0;
|
|
3942
|
+
cards.fail.forEach((failedScanResult) => {
|
|
3943
|
+
failedScanResult.nodes.forEach((failureNode) => {
|
|
3944
|
+
failedInstances += failureNode.identifiers.urls.urlInfos.length;
|
|
3945
|
+
});
|
|
3669
3946
|
});
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
}
|
|
3680
|
-
|
|
3947
|
+
const urlsSummarySectionProps = {
|
|
3948
|
+
passedUrlsCount: urlResultCounts.passedUrls,
|
|
3949
|
+
failedUrlsCount: urlResultCounts.failedUrls,
|
|
3950
|
+
notScannedUrlsCount: urlResultCounts.unscannableUrls,
|
|
3951
|
+
failureInstancesCount: failedInstances
|
|
3952
|
+
};
|
|
3953
|
+
return /* @__PURE__ */ React72.createElement(UrlsSummarySection, {
|
|
3954
|
+
...urlsSummarySectionProps
|
|
3955
|
+
});
|
|
3956
|
+
}
|
|
3957
|
+
);
|
|
3681
3958
|
|
|
3682
3959
|
// src/reports/components/report-sections/rules-results-container.tsx
|
|
3683
|
-
|
|
3960
|
+
var React73 = __toESM(require("react"));
|
|
3684
3961
|
|
|
3685
3962
|
// src/reports/components/report-sections/rules-results-container.scss
|
|
3686
3963
|
var rules_results_container_default = { "rulesResultsContainer": "rules-results-container--HaLDw", "resultsHeading": "results-heading--H9Puz" };
|
|
3687
3964
|
|
|
3688
3965
|
// src/reports/components/report-sections/rules-results-container.tsx
|
|
3689
|
-
var RulesResultsContainer = NamedFC(
|
|
3690
|
-
|
|
3691
|
-
|
|
3692
|
-
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
}
|
|
3966
|
+
var RulesResultsContainer = NamedFC(
|
|
3967
|
+
"RulesResultsContainer",
|
|
3968
|
+
({ children, getCollapsibleScript }) => {
|
|
3969
|
+
return /* @__PURE__ */ React73.createElement(React73.Fragment, null, /* @__PURE__ */ React73.createElement("div", {
|
|
3970
|
+
className: rules_results_container_default.rulesResultsContainer
|
|
3971
|
+
}, /* @__PURE__ */ React73.createElement("div", {
|
|
3972
|
+
className: rules_results_container_default.resultsHeading
|
|
3973
|
+
}, /* @__PURE__ */ React73.createElement("h2", null, "Rules")), children), /* @__PURE__ */ React73.createElement("script", {
|
|
3974
|
+
dangerouslySetInnerHTML: { __html: getCollapsibleScript() }
|
|
3975
|
+
}));
|
|
3976
|
+
}
|
|
3977
|
+
);
|
|
3698
3978
|
|
|
3699
3979
|
// src/reports/components/report-sections/summary-report-details-section.tsx
|
|
3700
|
-
|
|
3701
|
-
|
|
3980
|
+
var import_react9 = require("@fluentui/react");
|
|
3981
|
+
var React74 = __toESM(require("react"));
|
|
3702
3982
|
|
|
3703
3983
|
// src/reports/components/report-sections/summary-report-details-section.scss
|
|
3704
3984
|
var summary_report_details_section_default = { "crawlDetailsSection": "crawl-details-section--a6evz", "crawlDetailsSectionList": "crawl-details-section-list--WV1Di", "icon": "icon--APJEn", "targetSite": "targetSite--wBJT-", "text": "text--rViTo", "label": "label--DUNYf", "noIcon": "no-icon--VrSr5" };
|
|
3705
3985
|
|
|
3706
3986
|
// src/reports/components/report-sections/summary-report-details-section.tsx
|
|
3707
|
-
var SummaryReportDetailsSection = NamedFC(
|
|
3708
|
-
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
className
|
|
3713
|
-
|
|
3714
|
-
|
|
3715
|
-
"
|
|
3716
|
-
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3722
|
-
|
|
3723
|
-
|
|
3724
|
-
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3987
|
+
var SummaryReportDetailsSection = NamedFC(
|
|
3988
|
+
"SummaryReportDetailsSection",
|
|
3989
|
+
(props) => {
|
|
3990
|
+
const { scanMetadata, toUtcString, secondsToTimeString } = props;
|
|
3991
|
+
const scanTimespan = scanMetadata.timespan;
|
|
3992
|
+
const createListItem = (label, content, icon, className) => icon ? /* @__PURE__ */ React74.createElement("li", {
|
|
3993
|
+
key: label,
|
|
3994
|
+
className
|
|
3995
|
+
}, /* @__PURE__ */ React74.createElement("span", {
|
|
3996
|
+
className: summary_report_details_section_default.icon
|
|
3997
|
+
}, icon), /* @__PURE__ */ React74.createElement("span", {
|
|
3998
|
+
className: summary_report_details_section_default.label
|
|
3999
|
+
}, `${label} `), /* @__PURE__ */ React74.createElement("span", {
|
|
4000
|
+
className: summary_report_details_section_default.text
|
|
4001
|
+
}, content)) : /* @__PURE__ */ React74.createElement("li", {
|
|
4002
|
+
key: label,
|
|
4003
|
+
className
|
|
4004
|
+
}, /* @__PURE__ */ React74.createElement("span", {
|
|
4005
|
+
className: (0, import_react9.css)(summary_report_details_section_default.noIcon, summary_report_details_section_default.label)
|
|
4006
|
+
}, `${label} `), /* @__PURE__ */ React74.createElement("span", {
|
|
4007
|
+
className: summary_report_details_section_default.text
|
|
4008
|
+
}, content));
|
|
4009
|
+
const listItems = [];
|
|
4010
|
+
listItems.push(
|
|
4011
|
+
createListItem(
|
|
4012
|
+
"Target site",
|
|
4013
|
+
/* @__PURE__ */ React74.createElement(NewTabLinkWithConfirmationDialog, {
|
|
4014
|
+
href: scanMetadata.targetAppInfo.url,
|
|
4015
|
+
title: scanMetadata.targetAppInfo.name
|
|
4016
|
+
}, scanMetadata.targetAppInfo.url),
|
|
4017
|
+
/* @__PURE__ */ React74.createElement(UrlIcon, null),
|
|
4018
|
+
summary_report_details_section_default.targetSite
|
|
4019
|
+
)
|
|
4020
|
+
);
|
|
4021
|
+
if (scanTimespan.scanStart != null) {
|
|
4022
|
+
const scanStartUTC = toUtcString(scanTimespan.scanStart);
|
|
4023
|
+
listItems.push(createListItem("Scans started", scanStartUTC, /* @__PURE__ */ React74.createElement(DateIcon, null)));
|
|
4024
|
+
}
|
|
4025
|
+
const scanCompleteUTC = toUtcString(scanTimespan.scanComplete);
|
|
4026
|
+
listItems.push(createListItem("Scans completed", scanCompleteUTC));
|
|
4027
|
+
if (scanTimespan.durationSeconds != null) {
|
|
4028
|
+
const duration = secondsToTimeString(scanTimespan.durationSeconds);
|
|
4029
|
+
listItems.push(createListItem("Duration", duration));
|
|
4030
|
+
}
|
|
4031
|
+
return /* @__PURE__ */ React74.createElement("div", {
|
|
4032
|
+
className: summary_report_details_section_default.crawlDetailsSection
|
|
4033
|
+
}, /* @__PURE__ */ React74.createElement("h2", null, "Scan details"), /* @__PURE__ */ React74.createElement("ul", {
|
|
4034
|
+
className: summary_report_details_section_default.crawlDetailsSectionList
|
|
4035
|
+
}, listItems));
|
|
4036
|
+
}
|
|
4037
|
+
);
|
|
3749
4038
|
|
|
3750
4039
|
// src/reports/components/report-sections/summary-report-header-section.tsx
|
|
3751
|
-
|
|
4040
|
+
var React75 = __toESM(require("react"));
|
|
3752
4041
|
var SummaryReportHeaderSection = NamedFC("SummaryReportHeaderSection", () => {
|
|
3753
4042
|
return /* @__PURE__ */ React75.createElement("header", null, /* @__PURE__ */ React75.createElement(HeaderBar, {
|
|
3754
4043
|
headerText: brand
|
|
@@ -3756,7 +4045,7 @@ var SummaryReportHeaderSection = NamedFC("SummaryReportHeaderSection", () => {
|
|
|
3756
4045
|
});
|
|
3757
4046
|
|
|
3758
4047
|
// src/reports/components/summary-report-head.tsx
|
|
3759
|
-
|
|
4048
|
+
var React76 = __toESM(require("react"));
|
|
3760
4049
|
var SummaryReportHead = NamedFC("SummaryReportHead", () => {
|
|
3761
4050
|
return /* @__PURE__ */ React76.createElement("head", null, /* @__PURE__ */ React76.createElement("meta", {
|
|
3762
4051
|
charSet: "UTF-8"
|
|
@@ -3786,37 +4075,40 @@ var CombinedReportSectionFactory = {
|
|
|
3786
4075
|
};
|
|
3787
4076
|
|
|
3788
4077
|
// src/reports/components/report-sections/failed-urls-section.tsx
|
|
3789
|
-
|
|
4078
|
+
var React80 = __toESM(require("react"));
|
|
3790
4079
|
|
|
3791
4080
|
// src/reports/components/report-sections/collapsible-url-result-section.tsx
|
|
3792
|
-
|
|
4081
|
+
var React77 = __toESM(require("react"));
|
|
3793
4082
|
|
|
3794
4083
|
// src/reports/components/report-sections/collapsible-url-result-section.scss
|
|
3795
4084
|
var collapsible_url_result_section_default = { "urlResultSection": "url-result-section--SkOlZ" };
|
|
3796
4085
|
|
|
3797
4086
|
// src/reports/components/report-sections/collapsible-url-result-section.tsx
|
|
3798
|
-
var CollapsibleUrlResultSection = NamedFC(
|
|
3799
|
-
|
|
3800
|
-
|
|
3801
|
-
|
|
3802
|
-
|
|
3803
|
-
|
|
3804
|
-
|
|
3805
|
-
|
|
3806
|
-
|
|
3807
|
-
|
|
3808
|
-
|
|
3809
|
-
|
|
3810
|
-
|
|
3811
|
-
|
|
3812
|
-
|
|
3813
|
-
|
|
4087
|
+
var CollapsibleUrlResultSection = NamedFC(
|
|
4088
|
+
"CollapsibleUrlResultSection",
|
|
4089
|
+
(props) => {
|
|
4090
|
+
const { containerId, deps, content } = props;
|
|
4091
|
+
const CollapsibleContent = deps.collapsibleControl({
|
|
4092
|
+
id: containerId,
|
|
4093
|
+
header: /* @__PURE__ */ React77.createElement(ResultSectionTitle, {
|
|
4094
|
+
...props,
|
|
4095
|
+
titleSize: "heading"
|
|
4096
|
+
}),
|
|
4097
|
+
content,
|
|
4098
|
+
headingLevel: 3,
|
|
4099
|
+
deps: null
|
|
4100
|
+
});
|
|
4101
|
+
return /* @__PURE__ */ React77.createElement("div", {
|
|
4102
|
+
className: collapsible_url_result_section_default.urlResultSection
|
|
4103
|
+
}, CollapsibleContent);
|
|
4104
|
+
}
|
|
4105
|
+
);
|
|
3814
4106
|
|
|
3815
4107
|
// src/reports/components/report-sections/url-scan-results-table.tsx
|
|
3816
|
-
|
|
4108
|
+
var React79 = __toESM(require("react"));
|
|
3817
4109
|
|
|
3818
4110
|
// src/reports/components/report-sections/summary-results-table.tsx
|
|
3819
|
-
|
|
4111
|
+
var React78 = __toESM(require("react"));
|
|
3820
4112
|
|
|
3821
4113
|
// src/reports/components/report-sections/summary-results-table.scss
|
|
3822
4114
|
var summary_results_table_default = { "summaryResultsTable": "summary-results-table--Iezr-", "textCell": "text-cell--EaUrM", "urlCell": "url-cell--mg-3l" };
|
|
@@ -3826,92 +4118,101 @@ var cellClassNames = {
|
|
|
3826
4118
|
text: summary_results_table_default.textCell,
|
|
3827
4119
|
url: summary_results_table_default.urlCell
|
|
3828
4120
|
};
|
|
3829
|
-
var SummaryResultsTable = NamedFC(
|
|
3830
|
-
|
|
3831
|
-
|
|
3832
|
-
|
|
3833
|
-
|
|
3834
|
-
|
|
3835
|
-
|
|
3836
|
-
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3860
|
-
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
4121
|
+
var SummaryResultsTable = NamedFC(
|
|
4122
|
+
"SummaryResultsTable",
|
|
4123
|
+
(props) => {
|
|
4124
|
+
const { id: id2, columns, rows } = props;
|
|
4125
|
+
const getHeaderId = (colIndex) => {
|
|
4126
|
+
return `${id2}-header${colIndex}`;
|
|
4127
|
+
};
|
|
4128
|
+
const getTableHeaders = () => {
|
|
4129
|
+
return /* @__PURE__ */ React78.createElement("tr", null, columns.map((column, index) => {
|
|
4130
|
+
return /* @__PURE__ */ React78.createElement("th", {
|
|
4131
|
+
key: index,
|
|
4132
|
+
id: getHeaderId(index)
|
|
4133
|
+
}, column.header);
|
|
4134
|
+
}));
|
|
4135
|
+
};
|
|
4136
|
+
const getCellClassName = (colIndex) => {
|
|
4137
|
+
const contentType = columns[colIndex].contentType;
|
|
4138
|
+
return cellClassNames[contentType];
|
|
4139
|
+
};
|
|
4140
|
+
const getRow = (row, rowIndex) => {
|
|
4141
|
+
return /* @__PURE__ */ React78.createElement("tr", {
|
|
4142
|
+
key: rowIndex
|
|
4143
|
+
}, row.map((item, colIndex) => {
|
|
4144
|
+
return /* @__PURE__ */ React78.createElement("td", {
|
|
4145
|
+
key: colIndex,
|
|
4146
|
+
headers: getHeaderId(colIndex),
|
|
4147
|
+
className: getCellClassName(colIndex)
|
|
4148
|
+
}, item);
|
|
4149
|
+
}));
|
|
4150
|
+
};
|
|
4151
|
+
const getTableRows = () => {
|
|
4152
|
+
return rows.map(getRow);
|
|
4153
|
+
};
|
|
4154
|
+
return /* @__PURE__ */ React78.createElement("table", {
|
|
4155
|
+
className: summary_results_table_default.summaryResultsTable,
|
|
4156
|
+
id: id2
|
|
4157
|
+
}, /* @__PURE__ */ React78.createElement("thead", null, getTableHeaders()), /* @__PURE__ */ React78.createElement("tbody", null, getTableRows()));
|
|
4158
|
+
}
|
|
4159
|
+
);
|
|
3865
4160
|
|
|
3866
4161
|
// src/reports/components/report-sections/url-scan-results-table.tsx
|
|
3867
|
-
var UrlScanResultsTable = NamedFC(
|
|
3868
|
-
|
|
3869
|
-
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
|
|
3873
|
-
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
const
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3885
|
-
|
|
3886
|
-
|
|
3887
|
-
|
|
3888
|
-
|
|
3889
|
-
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
4162
|
+
var UrlScanResultsTable = NamedFC(
|
|
4163
|
+
"UrlScanResultsTable",
|
|
4164
|
+
(props) => {
|
|
4165
|
+
const results = props.results;
|
|
4166
|
+
let failureInstances = 0;
|
|
4167
|
+
results.forEach((result) => failureInstances += result.numFailures);
|
|
4168
|
+
const columns = [
|
|
4169
|
+
{ header: `# failure instances (${failureInstances})`, contentType: "text" },
|
|
4170
|
+
{ header: "URL", contentType: "url" },
|
|
4171
|
+
{ header: "Link to report", contentType: "text" }
|
|
4172
|
+
];
|
|
4173
|
+
const rows = results.map((result) => {
|
|
4174
|
+
const { url, reportLocation } = result;
|
|
4175
|
+
const urlLink = /* @__PURE__ */ React79.createElement(NewTabLink, {
|
|
4176
|
+
href: url
|
|
4177
|
+
}, url);
|
|
4178
|
+
const reportLink = /* @__PURE__ */ React79.createElement(NewTabLink, {
|
|
4179
|
+
href: reportLocation,
|
|
4180
|
+
"aria-label": `Report for ${url}`
|
|
4181
|
+
}, "Report");
|
|
4182
|
+
return [`${result.numFailures}`, urlLink, reportLink];
|
|
4183
|
+
});
|
|
4184
|
+
return /* @__PURE__ */ React79.createElement(SummaryResultsTable, {
|
|
4185
|
+
columns,
|
|
4186
|
+
rows,
|
|
4187
|
+
id: props.id
|
|
4188
|
+
});
|
|
4189
|
+
}
|
|
4190
|
+
);
|
|
3893
4191
|
|
|
3894
4192
|
// src/reports/components/report-sections/failed-urls-section.tsx
|
|
3895
|
-
var FailedUrlsSection = NamedFC(
|
|
3896
|
-
|
|
3897
|
-
|
|
3898
|
-
|
|
3899
|
-
|
|
3900
|
-
|
|
3901
|
-
|
|
3902
|
-
|
|
3903
|
-
|
|
3904
|
-
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
4193
|
+
var FailedUrlsSection = NamedFC(
|
|
4194
|
+
"FailedUrlsSection",
|
|
4195
|
+
({ results, deps }) => {
|
|
4196
|
+
const table = /* @__PURE__ */ React80.createElement(UrlScanResultsTable, {
|
|
4197
|
+
results: results.failed,
|
|
4198
|
+
id: "failed-urls-table"
|
|
4199
|
+
});
|
|
4200
|
+
return /* @__PURE__ */ React80.createElement(CollapsibleUrlResultSection, {
|
|
4201
|
+
deps,
|
|
4202
|
+
title: "Failed URLs",
|
|
4203
|
+
outcomeType: "fail",
|
|
4204
|
+
badgeCount: results.failed.length,
|
|
4205
|
+
containerId: "failed-urls-section",
|
|
4206
|
+
content: table
|
|
4207
|
+
});
|
|
4208
|
+
}
|
|
4209
|
+
);
|
|
3909
4210
|
|
|
3910
4211
|
// src/reports/components/report-sections/not-scanned-urls-section.tsx
|
|
3911
|
-
|
|
4212
|
+
var React82 = __toESM(require("react"));
|
|
3912
4213
|
|
|
3913
4214
|
// src/reports/components/report-sections/url-errors-table.tsx
|
|
3914
|
-
|
|
4215
|
+
var React81 = __toESM(require("react"));
|
|
3915
4216
|
var UrlErrorsTable = NamedFC("UrlErrorsTable", (props) => {
|
|
3916
4217
|
const errors = props.errors;
|
|
3917
4218
|
const columns = [
|
|
@@ -3937,71 +4238,85 @@ var UrlErrorsTable = NamedFC("UrlErrorsTable", (props) => {
|
|
|
3937
4238
|
});
|
|
3938
4239
|
|
|
3939
4240
|
// src/reports/components/report-sections/not-scanned-urls-section.tsx
|
|
3940
|
-
var NotScannedUrlsSection = NamedFC(
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
-
|
|
3944
|
-
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
|
|
3949
|
-
|
|
3950
|
-
|
|
3951
|
-
|
|
3952
|
-
|
|
3953
|
-
|
|
4241
|
+
var NotScannedUrlsSection = NamedFC(
|
|
4242
|
+
"NotScannedUrlsSection",
|
|
4243
|
+
({ results, deps }) => {
|
|
4244
|
+
const table = /* @__PURE__ */ React82.createElement(UrlErrorsTable, {
|
|
4245
|
+
errors: results.unscannable,
|
|
4246
|
+
id: "not-scanned-urls-table"
|
|
4247
|
+
});
|
|
4248
|
+
return /* @__PURE__ */ React82.createElement(CollapsibleUrlResultSection, {
|
|
4249
|
+
deps,
|
|
4250
|
+
title: "Not scanned URLs",
|
|
4251
|
+
outcomeType: "unscannable",
|
|
4252
|
+
badgeCount: results.unscannable.length,
|
|
4253
|
+
containerId: "not-scanned-urls-section",
|
|
4254
|
+
content: table
|
|
4255
|
+
});
|
|
4256
|
+
}
|
|
4257
|
+
);
|
|
3954
4258
|
|
|
3955
4259
|
// src/reports/components/report-sections/passed-urls-section.tsx
|
|
3956
|
-
|
|
3957
|
-
var PassedUrlsSection = NamedFC(
|
|
3958
|
-
|
|
3959
|
-
|
|
3960
|
-
|
|
3961
|
-
|
|
3962
|
-
|
|
3963
|
-
|
|
3964
|
-
|
|
3965
|
-
|
|
3966
|
-
|
|
3967
|
-
|
|
3968
|
-
|
|
3969
|
-
|
|
3970
|
-
|
|
4260
|
+
var React83 = __toESM(require("react"));
|
|
4261
|
+
var PassedUrlsSection = NamedFC(
|
|
4262
|
+
"PassedUrlsSection",
|
|
4263
|
+
({ results, deps }) => {
|
|
4264
|
+
const table = /* @__PURE__ */ React83.createElement(UrlScanResultsTable, {
|
|
4265
|
+
results: results.passed,
|
|
4266
|
+
id: "passed-urls-table"
|
|
4267
|
+
});
|
|
4268
|
+
return /* @__PURE__ */ React83.createElement(CollapsibleUrlResultSection, {
|
|
4269
|
+
deps,
|
|
4270
|
+
title: "Passed URLs",
|
|
4271
|
+
outcomeType: "pass",
|
|
4272
|
+
badgeCount: results.passed.length,
|
|
4273
|
+
containerId: "passed-urls-section",
|
|
4274
|
+
content: table
|
|
4275
|
+
});
|
|
4276
|
+
}
|
|
4277
|
+
);
|
|
3971
4278
|
|
|
3972
4279
|
// src/reports/components/report-sections/results-by-url-container.tsx
|
|
3973
|
-
|
|
4280
|
+
var React84 = __toESM(require("react"));
|
|
3974
4281
|
|
|
3975
4282
|
// src/reports/components/report-sections/results-by-url-container.scss
|
|
3976
4283
|
var results_by_url_container_default = { "urlResultsContainer": "url-results-container---dq9B", "resultsHeading": "results-heading--2dWBX" };
|
|
3977
4284
|
|
|
3978
4285
|
// src/reports/components/report-sections/results-by-url-container.tsx
|
|
3979
|
-
var ResultsByUrlContainer = NamedFC(
|
|
3980
|
-
|
|
3981
|
-
|
|
3982
|
-
|
|
3983
|
-
|
|
3984
|
-
|
|
3985
|
-
|
|
3986
|
-
|
|
3987
|
-
}
|
|
4286
|
+
var ResultsByUrlContainer = NamedFC(
|
|
4287
|
+
"ResultsContainer",
|
|
4288
|
+
({ children, getCollapsibleScript }) => {
|
|
4289
|
+
return /* @__PURE__ */ React84.createElement(React84.Fragment, null, /* @__PURE__ */ React84.createElement("div", {
|
|
4290
|
+
className: results_by_url_container_default.urlResultsContainer
|
|
4291
|
+
}, /* @__PURE__ */ React84.createElement("div", {
|
|
4292
|
+
className: results_by_url_container_default.resultsHeading
|
|
4293
|
+
}, /* @__PURE__ */ React84.createElement("h2", null, "Results by URL")), children), /* @__PURE__ */ React84.createElement("script", {
|
|
4294
|
+
dangerouslySetInnerHTML: { __html: getCollapsibleScript() }
|
|
4295
|
+
}));
|
|
4296
|
+
}
|
|
4297
|
+
);
|
|
3988
4298
|
|
|
3989
4299
|
// src/reports/components/report-sections/summary-report-summary-section.tsx
|
|
3990
|
-
|
|
3991
|
-
var SummaryReportSummarySection = NamedFC(
|
|
3992
|
-
|
|
3993
|
-
|
|
3994
|
-
|
|
3995
|
-
|
|
3996
|
-
|
|
3997
|
-
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
|
|
4001
|
-
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
}
|
|
4300
|
+
var React85 = __toESM(require("react"));
|
|
4301
|
+
var SummaryReportSummarySection = NamedFC(
|
|
4302
|
+
"SummaryReportSummarySection",
|
|
4303
|
+
(props) => {
|
|
4304
|
+
const { results } = props;
|
|
4305
|
+
let failedInstances = 0;
|
|
4306
|
+
results.failed.forEach(
|
|
4307
|
+
(failedScanResult) => failedInstances += failedScanResult.numFailures
|
|
4308
|
+
);
|
|
4309
|
+
const urlsSummarySectionProps = {
|
|
4310
|
+
passedUrlsCount: results.passed.length,
|
|
4311
|
+
failedUrlsCount: results.failed.length,
|
|
4312
|
+
notScannedUrlsCount: results.unscannable.length,
|
|
4313
|
+
failureInstancesCount: failedInstances
|
|
4314
|
+
};
|
|
4315
|
+
return /* @__PURE__ */ React85.createElement(UrlsSummarySection, {
|
|
4316
|
+
...urlsSummarySectionProps
|
|
4317
|
+
});
|
|
4318
|
+
}
|
|
4319
|
+
);
|
|
4005
4320
|
|
|
4006
4321
|
// src/reports/components/report-sections/summary-report-section-factory.tsx
|
|
4007
4322
|
var SummaryReportSectionFactory = {
|
|
@@ -4060,7 +4375,11 @@ var AxeResultsReport = class {
|
|
|
4060
4375
|
scanComplete: scanDate
|
|
4061
4376
|
}
|
|
4062
4377
|
};
|
|
4063
|
-
const html = reportHtmlGenerator.generateHtml(
|
|
4378
|
+
const html = reportHtmlGenerator.generateHtml(
|
|
4379
|
+
description,
|
|
4380
|
+
cardsViewModel,
|
|
4381
|
+
scanMetadata
|
|
4382
|
+
);
|
|
4064
4383
|
return html;
|
|
4065
4384
|
}
|
|
4066
4385
|
};
|
|
@@ -4089,13 +4408,19 @@ var CombinedResultsReport = class {
|
|
|
4089
4408
|
toolData: this.toolInfo,
|
|
4090
4409
|
timespan
|
|
4091
4410
|
};
|
|
4092
|
-
const cardsByRule = this.resultsToCardsConverter.convertResults(
|
|
4093
|
-
|
|
4411
|
+
const cardsByRule = this.resultsToCardsConverter.convertResults(
|
|
4412
|
+
results.resultsByRule
|
|
4413
|
+
);
|
|
4414
|
+
return this.deps.reportHtmlGenerator.generateHtml(
|
|
4415
|
+
scanMetadata,
|
|
4416
|
+
cardsByRule,
|
|
4417
|
+
results.urlResults
|
|
4418
|
+
);
|
|
4094
4419
|
}
|
|
4095
4420
|
};
|
|
4096
4421
|
|
|
4097
4422
|
// src/reports/package/combined-results-to-cards-model-converter.ts
|
|
4098
|
-
|
|
4423
|
+
var import_lodash14 = require("lodash");
|
|
4099
4424
|
var CombinedResultsToCardsModelConverter = class {
|
|
4100
4425
|
constructor(mapAxeTagsToGuidanceLinks2, cardSelectionViewData, uuidGenerator, helpUrlGetter, getFixResolution2) {
|
|
4101
4426
|
this.mapAxeTagsToGuidanceLinks = mapAxeTagsToGuidanceLinks2;
|
|
@@ -4120,7 +4445,7 @@ var CombinedResultsToCardsModelConverter = class {
|
|
|
4120
4445
|
};
|
|
4121
4446
|
};
|
|
4122
4447
|
this.getCardRuleResults = (rules) => {
|
|
4123
|
-
if (isNil(rules)) {
|
|
4448
|
+
if ((0, import_lodash14.isNil)(rules)) {
|
|
4124
4449
|
return [];
|
|
4125
4450
|
}
|
|
4126
4451
|
return rules.map((rule) => this.getCardRuleResult(rule));
|
|
@@ -4132,7 +4457,7 @@ var CombinedResultsToCardsModelConverter = class {
|
|
|
4132
4457
|
url: this.helpUrlGetter.getHelpUrl(rule.ruleId, rule.ruleUrl),
|
|
4133
4458
|
isExpanded: false,
|
|
4134
4459
|
guidance: this.mapAxeTagsToGuidanceLinks(rule.tags),
|
|
4135
|
-
nodes: isNil(nodes) ? [] : nodes
|
|
4460
|
+
nodes: (0, import_lodash14.isNil)(nodes) ? [] : nodes
|
|
4136
4461
|
};
|
|
4137
4462
|
};
|
|
4138
4463
|
this.getFailuresGroupedByRule = (groupedFailures) => {
|
|
@@ -4206,13 +4531,16 @@ var SummaryResultsReport = class {
|
|
|
4206
4531
|
toolData: this.toolInfo,
|
|
4207
4532
|
timespan
|
|
4208
4533
|
};
|
|
4209
|
-
const html = reportHtmlGenerator.generateHtml(
|
|
4534
|
+
const html = reportHtmlGenerator.generateHtml(
|
|
4535
|
+
scanMetadata,
|
|
4536
|
+
results
|
|
4537
|
+
);
|
|
4210
4538
|
return html;
|
|
4211
4539
|
}
|
|
4212
4540
|
};
|
|
4213
4541
|
|
|
4214
4542
|
// src/reports/react-static-renderer.ts
|
|
4215
|
-
|
|
4543
|
+
var ReactDOMServer = __toESM(require("react-dom/server"));
|
|
4216
4544
|
var ReactStaticRenderer = class {
|
|
4217
4545
|
renderToStaticMarkup(element) {
|
|
4218
4546
|
return ReactDOMServer.renderToStaticMarkup(element);
|
|
@@ -4220,7 +4548,7 @@ var ReactStaticRenderer = class {
|
|
|
4220
4548
|
};
|
|
4221
4549
|
|
|
4222
4550
|
// src/reports/report-html-generator.tsx
|
|
4223
|
-
|
|
4551
|
+
var React86 = __toESM(require("react"));
|
|
4224
4552
|
var ReportHtmlGenerator = class {
|
|
4225
4553
|
constructor(sectionFactory, reactStaticRenderer, getCollapsibleScript, utcDateConverter, getGuidanceTagsFromGuidanceLinks, fixInstructionProcessor, recommendColor, getPropertyConfiguration2, getNextHeadingLevel) {
|
|
4226
4554
|
this.sectionFactory = sectionFactory;
|
|
@@ -4271,7 +4599,7 @@ var ReportHtmlGenerator = class {
|
|
|
4271
4599
|
};
|
|
4272
4600
|
|
|
4273
4601
|
// src/reports/summary-report-html-generator.tsx
|
|
4274
|
-
|
|
4602
|
+
var React87 = __toESM(require("react"));
|
|
4275
4603
|
var SummaryReportHtmlGenerator = class {
|
|
4276
4604
|
constructor(sectionFactory, reactStaticRenderer, getCollapsibleScript, utcDateConverter, secondsToTimeStringConverter) {
|
|
4277
4605
|
this.sectionFactory = sectionFactory;
|
|
@@ -4323,6 +4651,125 @@ var CheckMessageTransformer = class {
|
|
|
4323
4651
|
}
|
|
4324
4652
|
};
|
|
4325
4653
|
|
|
4654
|
+
// src/scanner/custom-rules/display-accessible-names.ts
|
|
4655
|
+
var import_axe_core = __toESM(require("axe-core"));
|
|
4656
|
+
|
|
4657
|
+
// src/scanner/axe-utils.ts
|
|
4658
|
+
var axe = __toESM(require("axe-core"));
|
|
4659
|
+
function getMatchesFromRule(ruleId) {
|
|
4660
|
+
return axe._audit.rules.filter((rule) => rule.id === ruleId)[0].matches;
|
|
4661
|
+
}
|
|
4662
|
+
function getEvaluateFromCheck(checkId4) {
|
|
4663
|
+
return axe._audit.checks[checkId4].evaluate;
|
|
4664
|
+
}
|
|
4665
|
+
function getOptionsFromCheck(checkId4) {
|
|
4666
|
+
return axe._audit.checks[checkId4].options;
|
|
4667
|
+
}
|
|
4668
|
+
function getAccessibleText(node) {
|
|
4669
|
+
return axe.commons.text.accessibleText(node);
|
|
4670
|
+
}
|
|
4671
|
+
function getAccessibleDescription(node) {
|
|
4672
|
+
return axe.commons.dom.idrefs(node, "aria-describedby").filter((ref) => ref != null).map((ref) => axe.commons.text.accessibleText(ref)).join(" ");
|
|
4673
|
+
}
|
|
4674
|
+
function getPropertyValuesMatching(node, regex) {
|
|
4675
|
+
const dictionary = {};
|
|
4676
|
+
if (node.hasAttributes()) {
|
|
4677
|
+
const attrs = node.attributes;
|
|
4678
|
+
for (let i = 0; i < attrs.length; i++) {
|
|
4679
|
+
const name = attrs[i].name;
|
|
4680
|
+
if (regex.test(name)) {
|
|
4681
|
+
dictionary[name] = node.getAttribute(name);
|
|
4682
|
+
}
|
|
4683
|
+
}
|
|
4684
|
+
}
|
|
4685
|
+
return dictionary;
|
|
4686
|
+
}
|
|
4687
|
+
function getAttributes(node, attributes) {
|
|
4688
|
+
const retDict = {};
|
|
4689
|
+
attributes.filter((attributeName) => node.hasAttribute(attributeName)).forEach((attributeName) => {
|
|
4690
|
+
const attributeValue = node.getAttribute(attributeName);
|
|
4691
|
+
retDict[attributeName] = attributeValue.length > 0 ? attributeValue : null;
|
|
4692
|
+
});
|
|
4693
|
+
return retDict;
|
|
4694
|
+
}
|
|
4695
|
+
function hasCustomWidgetMarkup(node) {
|
|
4696
|
+
const tabIndex = node.getAttribute("tabindex");
|
|
4697
|
+
const ariaValues = getPropertyValuesMatching(node, /^aria-/);
|
|
4698
|
+
const hasRole = node.hasAttribute("role");
|
|
4699
|
+
return tabIndex === "-1" || Object.keys(ariaValues).length > 0 || hasRole;
|
|
4700
|
+
}
|
|
4701
|
+
function getImageCodedAs(node) {
|
|
4702
|
+
const role = node.getAttribute("role");
|
|
4703
|
+
const alt = node.getAttribute("alt");
|
|
4704
|
+
if (role === "none" || role === "presentation" || alt === "") {
|
|
4705
|
+
return "Decorative";
|
|
4706
|
+
}
|
|
4707
|
+
if (node.tagName.toLowerCase() !== "img" && role !== "img") {
|
|
4708
|
+
return "Decorative";
|
|
4709
|
+
}
|
|
4710
|
+
if (getAccessibleText(node) !== "" || isWhiteSpace(alt)) {
|
|
4711
|
+
return "Meaningful";
|
|
4712
|
+
}
|
|
4713
|
+
return null;
|
|
4714
|
+
}
|
|
4715
|
+
function isWhiteSpace(text) {
|
|
4716
|
+
return text != null && text.length > 0 && text.trim() === "";
|
|
4717
|
+
}
|
|
4718
|
+
function hasBackgoundImage(node) {
|
|
4719
|
+
const computedBackgroundImage = window.getComputedStyle(node).getPropertyValue("background-image");
|
|
4720
|
+
return computedBackgroundImage !== "none";
|
|
4721
|
+
}
|
|
4722
|
+
function getImageType(node) {
|
|
4723
|
+
let imageType = null;
|
|
4724
|
+
if (node.tagName.toLowerCase() === "img") {
|
|
4725
|
+
imageType = "<img>";
|
|
4726
|
+
} else if (node.tagName.toLowerCase() === "i") {
|
|
4727
|
+
imageType = "icon fonts (empty <i> elements)";
|
|
4728
|
+
} else if (node.getAttribute("role") === "img") {
|
|
4729
|
+
imageType = 'Role="img"';
|
|
4730
|
+
} else if (hasBackgoundImage(node)) {
|
|
4731
|
+
imageType = "CSS background-image";
|
|
4732
|
+
}
|
|
4733
|
+
return imageType;
|
|
4734
|
+
}
|
|
4735
|
+
|
|
4736
|
+
// src/scanner/custom-rules/display-accessible-names.ts
|
|
4737
|
+
var accessibleNamesCheckId = "display-accessible-names";
|
|
4738
|
+
var accessibleNamesConfiguration = {
|
|
4739
|
+
checks: [
|
|
4740
|
+
{
|
|
4741
|
+
id: accessibleNamesCheckId,
|
|
4742
|
+
evaluate: evaluateAccessibleNames
|
|
4743
|
+
}
|
|
4744
|
+
],
|
|
4745
|
+
rule: {
|
|
4746
|
+
id: accessibleNamesCheckId,
|
|
4747
|
+
selector: "[role=alert], [role=alertdialog], [role=application], [role=article], article, [role=banner], [role=blockquote], blockquote, [role=button], button, [role=cell], [role=checkbox], [role=columnheader], [role=combobox], [role=command], [role=complementary], [role=composite], [role=contentinfo], [role=definition], [role=dialog], [role=directory],[role=document], [role=feed], [role=figure], figure, [role=form], form,[role=grid], table, [role=gridcell], td, [role=group], fieldset, [role=heading], h1,h2, h3, h4, h5, h6, [role=img],img,[role=input], [role=landmark], [role=link], a, link, [role=list], [role=listbox], [role=listitem],li, ol, ul, [role=log], [role=main], [role=marquee],[role=math], [role=meter], meter,[role=menu], [role=menubar], [role=menuitem], [role=menuitemcheckbox], [role=menuitemradio], [role=navigation], nav, [role=note], [role=option], option, [role=progressbar], [role=radio], [role=radiogroup], [role=range], [role=region], [role=row], tr, [role=rowgroup], [role=rowheader], th, [role=scrollbar], [role=searchbox], [role=search], [role=select], select, [role=sectionhead],section, [role=separator], hr, [role=slider], [role=status], [role=spinbutton, [role=switch], [role=tab], [role=table], [role=tablelist], [role=tabpanel], [role=term], td, [role=textbox], textarea, th, [role=time], time, [role=timer], [role=toolbar], [role=tooltip], [role=tree], [role=treegrid], [role=treeitem], input,[role=input],[role=window]",
|
|
4748
|
+
enabled: false,
|
|
4749
|
+
any: [accessibleNamesCheckId],
|
|
4750
|
+
matches: hasAccessibleName
|
|
4751
|
+
}
|
|
4752
|
+
};
|
|
4753
|
+
function hasAccessibleName(node) {
|
|
4754
|
+
const nameProhibitedSelectors = "caption, figcaption, [role=caption], code, [role=code], del, [role=deletion], em, [role=emphasis],[role=generic], ins, [role=insertion], p, [role=paragraph], [role=presentation], [role=strong], strong, sub, sup, [role=subscript], [role=superscript], [role=none]";
|
|
4755
|
+
const nativeElements = "blockquote, figure, form, li, meter, table, time,section, tr";
|
|
4756
|
+
if (import_axe_core.default.utils.matchesSelector(node, nameProhibitedSelectors)) {
|
|
4757
|
+
return false;
|
|
4758
|
+
}
|
|
4759
|
+
if (import_axe_core.default.utils.matchesSelector(node, nativeElements) && node.hasAttribute("aria-label") === false && node.hasAttribute("aria-labelledby") === false && node.hasAttribute("title") === false && node.hasAttribute("summary") === false) {
|
|
4760
|
+
return false;
|
|
4761
|
+
}
|
|
4762
|
+
if (getAccessibleText(node) === "") {
|
|
4763
|
+
return false;
|
|
4764
|
+
}
|
|
4765
|
+
return true;
|
|
4766
|
+
}
|
|
4767
|
+
function evaluateAccessibleNames(node) {
|
|
4768
|
+
const accessibleName = getAccessibleText(node);
|
|
4769
|
+
this.data({ accessibleName });
|
|
4770
|
+
return true;
|
|
4771
|
+
}
|
|
4772
|
+
|
|
4326
4773
|
// src/scanner/custom-rules/headers-attribute-rule.ts
|
|
4327
4774
|
var headersAttributeCheckId = "headers-attribute";
|
|
4328
4775
|
var headersAttributeRuleConfiguration = {
|
|
@@ -4345,6 +4792,61 @@ function hasHeadersAttribute(node) {
|
|
|
4345
4792
|
return headers !== null;
|
|
4346
4793
|
}
|
|
4347
4794
|
|
|
4795
|
+
// src/scanner/label-in-name-utils.ts
|
|
4796
|
+
var import_axe_core2 = __toESM(require("axe-core"));
|
|
4797
|
+
var { sanitize, isHumanInterpretable, subtreeText } = import_axe_core2.default.commons.text;
|
|
4798
|
+
function labelInNameMatches(node, virtualNode) {
|
|
4799
|
+
const accessibleName = node.getAttribute("aria-label") || node.getAttribute("aria-labelledby") ? getAccessibleText(node) : "";
|
|
4800
|
+
if (accessibleName === "" || !isHumanInterpretable(accessibleName.toLowerCase())) {
|
|
4801
|
+
return false;
|
|
4802
|
+
}
|
|
4803
|
+
const visibleText = getVisibleText(virtualNode);
|
|
4804
|
+
if (visibleText === "" || !isHumanInterpretable(visibleText.toLowerCase())) {
|
|
4805
|
+
return false;
|
|
4806
|
+
}
|
|
4807
|
+
return true;
|
|
4808
|
+
}
|
|
4809
|
+
function getLabelInNameData(node, virtualNode) {
|
|
4810
|
+
const visibleText = getVisibleText(virtualNode);
|
|
4811
|
+
const accessibleName = sanitize(getAccessibleText(node));
|
|
4812
|
+
const url = node.getAttribute("href");
|
|
4813
|
+
const labelContainsVisibleText = accessibleName.toLowerCase().includes(visibleText.toLowerCase());
|
|
4814
|
+
return { visibleText, accessibleName, url, labelContainsVisibleText };
|
|
4815
|
+
}
|
|
4816
|
+
function getVisibleText(virtualNode) {
|
|
4817
|
+
const visibleTextSubtreeOptions = {
|
|
4818
|
+
subtreeDescendant: true,
|
|
4819
|
+
ignoreIconLigature: true,
|
|
4820
|
+
...getOptionsFromCheck("label-content-name-mismatch")
|
|
4821
|
+
};
|
|
4822
|
+
const containedText = subtreeText(virtualNode, visibleTextSubtreeOptions);
|
|
4823
|
+
const sanitizedText = sanitize(containedText);
|
|
4824
|
+
return sanitizedText;
|
|
4825
|
+
}
|
|
4826
|
+
|
|
4827
|
+
// src/scanner/custom-rules/label-in-name.ts
|
|
4828
|
+
var labelInNameCheckId = "label-in-name";
|
|
4829
|
+
var labelInNameConfiguration = {
|
|
4830
|
+
checks: [
|
|
4831
|
+
{
|
|
4832
|
+
id: labelInNameCheckId,
|
|
4833
|
+
evaluate: evaluateLabelInName
|
|
4834
|
+
}
|
|
4835
|
+
],
|
|
4836
|
+
rule: {
|
|
4837
|
+
id: labelInNameCheckId,
|
|
4838
|
+
selector: "a[aria-label], a[aria-labelledby]",
|
|
4839
|
+
enabled: false,
|
|
4840
|
+
any: [labelInNameCheckId],
|
|
4841
|
+
matches: labelInNameMatches
|
|
4842
|
+
}
|
|
4843
|
+
};
|
|
4844
|
+
function evaluateLabelInName(node, options, virtualNode, context) {
|
|
4845
|
+
const data = getLabelInNameData(node, virtualNode);
|
|
4846
|
+
this.data(data);
|
|
4847
|
+
return true;
|
|
4848
|
+
}
|
|
4849
|
+
|
|
4348
4850
|
// src/scanner/custom-rules/autocomplete-rule.ts
|
|
4349
4851
|
var autocompleteCheckId = "autocomplete";
|
|
4350
4852
|
var autocompleteRuleId = "autocomplete";
|
|
@@ -4395,7 +4897,7 @@ function isInTopWindow(win) {
|
|
|
4395
4897
|
}
|
|
4396
4898
|
|
|
4397
4899
|
// src/scanner/custom-rules/css-content-rule.ts
|
|
4398
|
-
|
|
4900
|
+
var import_axe_core3 = __toESM(require("axe-core"));
|
|
4399
4901
|
var cssContentCheckId = "css-content";
|
|
4400
4902
|
var cssContentRuleId = "css-content";
|
|
4401
4903
|
var cssContentConfiguration = {
|
|
@@ -4427,7 +4929,7 @@ function getAllPseudoElements(node) {
|
|
|
4427
4929
|
const element = elements.item(index);
|
|
4428
4930
|
const beforeStyles = window.getComputedStyle(element, ":before");
|
|
4429
4931
|
const afterStyles = window.getComputedStyle(element, ":after");
|
|
4430
|
-
if (
|
|
4932
|
+
if (import_axe_core3.default.commons.dom.isVisible(element) && (hasContent(beforeStyles) || hasContent(afterStyles))) {
|
|
4431
4933
|
pseudoElements.push(element);
|
|
4432
4934
|
}
|
|
4433
4935
|
}
|
|
@@ -4435,7 +4937,7 @@ function getAllPseudoElements(node) {
|
|
|
4435
4937
|
}
|
|
4436
4938
|
|
|
4437
4939
|
// src/scanner/custom-rules/css-positioning-rule.ts
|
|
4438
|
-
|
|
4940
|
+
var import_axe_core4 = __toESM(require("axe-core"));
|
|
4439
4941
|
var cssPositioningCheckId = "css-positioning";
|
|
4440
4942
|
var cssPositioningRuleId = "css-positioning";
|
|
4441
4943
|
var cssPositioningConfiguration = {
|
|
@@ -4455,7 +4957,7 @@ var cssPositioningConfiguration = {
|
|
|
4455
4957
|
};
|
|
4456
4958
|
function matches(node) {
|
|
4457
4959
|
const nodeStyle = window.getComputedStyle(node);
|
|
4458
|
-
return
|
|
4960
|
+
return import_axe_core4.default.commons.dom.isVisible(node) && (isAbsolutePosition(nodeStyle) || isRightFloat(nodeStyle));
|
|
4459
4961
|
}
|
|
4460
4962
|
function isAbsolutePosition(nodeStyle) {
|
|
4461
4963
|
const position = nodeStyle.getPropertyValue("position").toLowerCase();
|
|
@@ -4466,85 +4968,6 @@ function isRightFloat(nodeStyle) {
|
|
|
4466
4968
|
return float === "right";
|
|
4467
4969
|
}
|
|
4468
4970
|
|
|
4469
|
-
// src/scanner/axe-utils.ts
|
|
4470
|
-
import * as axe3 from "axe-core";
|
|
4471
|
-
function getMatchesFromRule(ruleId) {
|
|
4472
|
-
return axe3._audit.rules.filter((rule) => rule.id === ruleId)[0].matches;
|
|
4473
|
-
}
|
|
4474
|
-
function getEvaluateFromCheck(checkId4) {
|
|
4475
|
-
return axe3._audit.checks[checkId4].evaluate;
|
|
4476
|
-
}
|
|
4477
|
-
function getOptionsFromCheck(checkId4) {
|
|
4478
|
-
return axe3._audit.checks[checkId4].options;
|
|
4479
|
-
}
|
|
4480
|
-
function getAccessibleText(node) {
|
|
4481
|
-
return axe3.commons.text.accessibleText(node);
|
|
4482
|
-
}
|
|
4483
|
-
function getAccessibleDescription(node) {
|
|
4484
|
-
return axe3.commons.dom.idrefs(node, "aria-describedby").filter((ref) => ref != null).map((ref) => axe3.commons.text.accessibleText(ref)).join(" ");
|
|
4485
|
-
}
|
|
4486
|
-
function getPropertyValuesMatching(node, regex) {
|
|
4487
|
-
const dictionary = {};
|
|
4488
|
-
if (node.hasAttributes()) {
|
|
4489
|
-
const attrs = node.attributes;
|
|
4490
|
-
for (let i = 0; i < attrs.length; i++) {
|
|
4491
|
-
const name = attrs[i].name;
|
|
4492
|
-
if (regex.test(name)) {
|
|
4493
|
-
dictionary[name] = node.getAttribute(name);
|
|
4494
|
-
}
|
|
4495
|
-
}
|
|
4496
|
-
}
|
|
4497
|
-
return dictionary;
|
|
4498
|
-
}
|
|
4499
|
-
function getAttributes(node, attributes) {
|
|
4500
|
-
const retDict = {};
|
|
4501
|
-
attributes.filter((attributeName) => node.hasAttribute(attributeName)).forEach((attributeName) => {
|
|
4502
|
-
const attributeValue = node.getAttribute(attributeName);
|
|
4503
|
-
retDict[attributeName] = attributeValue.length > 0 ? attributeValue : null;
|
|
4504
|
-
});
|
|
4505
|
-
return retDict;
|
|
4506
|
-
}
|
|
4507
|
-
function hasCustomWidgetMarkup(node) {
|
|
4508
|
-
const tabIndex = node.getAttribute("tabindex");
|
|
4509
|
-
const ariaValues = getPropertyValuesMatching(node, /^aria-/);
|
|
4510
|
-
const hasRole = node.hasAttribute("role");
|
|
4511
|
-
return tabIndex === "-1" || Object.keys(ariaValues).length > 0 || hasRole;
|
|
4512
|
-
}
|
|
4513
|
-
function getImageCodedAs(node) {
|
|
4514
|
-
const role = node.getAttribute("role");
|
|
4515
|
-
const alt = node.getAttribute("alt");
|
|
4516
|
-
if (role === "none" || role === "presentation" || alt === "") {
|
|
4517
|
-
return "Decorative";
|
|
4518
|
-
}
|
|
4519
|
-
if (node.tagName.toLowerCase() !== "img" && role !== "img") {
|
|
4520
|
-
return "Decorative";
|
|
4521
|
-
}
|
|
4522
|
-
if (getAccessibleText(node) !== "" || isWhiteSpace(alt)) {
|
|
4523
|
-
return "Meaningful";
|
|
4524
|
-
}
|
|
4525
|
-
return null;
|
|
4526
|
-
}
|
|
4527
|
-
function isWhiteSpace(text) {
|
|
4528
|
-
return text != null && text.length > 0 && text.trim() === "";
|
|
4529
|
-
}
|
|
4530
|
-
function hasBackgoundImage(node) {
|
|
4531
|
-
const computedBackgroundImage = window.getComputedStyle(node).getPropertyValue("background-image");
|
|
4532
|
-
return computedBackgroundImage !== "none";
|
|
4533
|
-
}
|
|
4534
|
-
function getImageType(node) {
|
|
4535
|
-
let imageType = null;
|
|
4536
|
-
if (node.tagName.toLowerCase() === "img") {
|
|
4537
|
-
imageType = "<img>";
|
|
4538
|
-
} else if (node.tagName.toLowerCase() === "i") {
|
|
4539
|
-
imageType = "icon fonts (empty <i> elements)";
|
|
4540
|
-
} else if (node.getAttribute("role") === "img") {
|
|
4541
|
-
imageType = 'Role="img"';
|
|
4542
|
-
} else if (hasBackgoundImage(node)) {
|
|
4543
|
-
imageType = "CSS background-image";
|
|
4544
|
-
}
|
|
4545
|
-
return imageType;
|
|
4546
|
-
}
|
|
4547
|
-
|
|
4548
4971
|
// src/scanner/cues.ts
|
|
4549
4972
|
var htmlCues = ["readonly", "disabled", "required"];
|
|
4550
4973
|
var ariaCues = ["aria-readonly", "aria-disabled", "aria-required"];
|
|
@@ -4556,20 +4979,23 @@ function generateARIACuesDictionary(node) {
|
|
|
4556
4979
|
}
|
|
4557
4980
|
|
|
4558
4981
|
// src/scanner/role-utils.ts
|
|
4559
|
-
|
|
4982
|
+
var axe6 = __toESM(require("axe-core"));
|
|
4560
4983
|
var RoleUtils = class {
|
|
4561
4984
|
static isValidRoleIfPresent(node, options, virtualNode, context) {
|
|
4562
4985
|
const role = node.getAttribute("role");
|
|
4563
4986
|
if (role === null) {
|
|
4564
4987
|
return true;
|
|
4565
4988
|
}
|
|
4566
|
-
return
|
|
4989
|
+
return axe6.commons.aria.lookupTable.role[role] !== void 0;
|
|
4567
4990
|
}
|
|
4568
4991
|
};
|
|
4569
4992
|
|
|
4570
4993
|
// src/scanner/custom-rules/native-widgets-default.ts
|
|
4571
4994
|
var nativeWidgetSelector = 'button, input[list], input[type]:not([type="hidden"]), select, textarea';
|
|
4572
|
-
var nativeWidgetsDefaultConfiguration = createNativeWidgetConfiguration(
|
|
4995
|
+
var nativeWidgetsDefaultConfiguration = createNativeWidgetConfiguration(
|
|
4996
|
+
"native-widgets-default",
|
|
4997
|
+
"native-widgets-default-collector"
|
|
4998
|
+
);
|
|
4573
4999
|
function createNativeWidgetConfiguration(ruleId, checkId4, evaluate2, matches6) {
|
|
4574
5000
|
return {
|
|
4575
5001
|
checks: [
|
|
@@ -4613,7 +5039,11 @@ function getNativeWidgetElementType(node) {
|
|
|
4613
5039
|
}
|
|
4614
5040
|
|
|
4615
5041
|
// src/scanner/custom-rules/cues-rule.ts
|
|
4616
|
-
var cuesConfiguration = createNativeWidgetConfiguration(
|
|
5042
|
+
var cuesConfiguration = createNativeWidgetConfiguration(
|
|
5043
|
+
"cues",
|
|
5044
|
+
"cues-collector",
|
|
5045
|
+
evaluateCues
|
|
5046
|
+
);
|
|
4617
5047
|
function evaluateCues(node) {
|
|
4618
5048
|
this.data({
|
|
4619
5049
|
element: getNativeWidgetElementType(node),
|
|
@@ -4768,7 +5198,7 @@ function evaluateCodedHeadings(node, options) {
|
|
|
4768
5198
|
}
|
|
4769
5199
|
|
|
4770
5200
|
// src/scanner/custom-rules/image-rule.ts
|
|
4771
|
-
|
|
5201
|
+
var axe7 = __toESM(require("axe-core"));
|
|
4772
5202
|
var imageConfiguration = {
|
|
4773
5203
|
checks: [
|
|
4774
5204
|
{
|
|
@@ -4787,7 +5217,7 @@ var imageConfiguration = {
|
|
|
4787
5217
|
};
|
|
4788
5218
|
function isImage(node) {
|
|
4789
5219
|
const selector = "img, [role=img], svg";
|
|
4790
|
-
if (
|
|
5220
|
+
if (axe7.utils.matchesSelector(node, selector)) {
|
|
4791
5221
|
return true;
|
|
4792
5222
|
}
|
|
4793
5223
|
if (node.tagName.toLowerCase() === "i" && node.innerHTML === "") {
|
|
@@ -4998,7 +5428,13 @@ var textContrastConfiguration = {
|
|
|
4998
5428
|
}
|
|
4999
5429
|
};
|
|
5000
5430
|
function evaluateTextContrast(node, options, virtualNode, context) {
|
|
5001
|
-
const checkResult = getEvaluateFromCheck("color-contrast").call(
|
|
5431
|
+
const checkResult = getEvaluateFromCheck("color-contrast").call(
|
|
5432
|
+
this,
|
|
5433
|
+
node,
|
|
5434
|
+
options,
|
|
5435
|
+
virtualNode,
|
|
5436
|
+
context
|
|
5437
|
+
);
|
|
5002
5438
|
const nodeStyle = window.getComputedStyle(node);
|
|
5003
5439
|
const fontSize = parseFloat(nodeStyle.getPropertyValue("font-size"));
|
|
5004
5440
|
const fontWeight = nodeStyle.getPropertyValue("font-weight");
|
|
@@ -5033,7 +5469,7 @@ var textSpacingConfiguration = {
|
|
|
5033
5469
|
};
|
|
5034
5470
|
|
|
5035
5471
|
// src/scanner/custom-rules/unique-landmark.ts
|
|
5036
|
-
|
|
5472
|
+
var axe8 = __toESM(require("axe-core"));
|
|
5037
5473
|
var id = "unique-landmark";
|
|
5038
5474
|
var passMessage = "Landmarks must have a unique role or role/label combination (aria-label OR aria-labelledby)";
|
|
5039
5475
|
var failMessage = "The landmarks do not have a unique role or role/label combination (use aria-label OR aria-labelledby to make landmarks distinguishable)";
|
|
@@ -5055,7 +5491,7 @@ var uniqueLandmarkConfiguration = {
|
|
|
5055
5491
|
selector: "[role=banner], [role=complementary], [role=contentinfo], [role=main], [role=navigation], [role=region], [role=search], [role=form], form, footer, header, aside, main, nav, section",
|
|
5056
5492
|
any: [id],
|
|
5057
5493
|
matches: function matches5(node) {
|
|
5058
|
-
return isLandmark(node) &&
|
|
5494
|
+
return isLandmark(node) && axe8.commons.dom.isVisible(node, true);
|
|
5059
5495
|
},
|
|
5060
5496
|
...descriptionHelp,
|
|
5061
5497
|
helpUrl: "/insights.html#/content/rules/uniqueLandmark",
|
|
@@ -5066,12 +5502,12 @@ var uniqueLandmarkRuleContent = {
|
|
|
5066
5502
|
[id]: descriptionHelp
|
|
5067
5503
|
};
|
|
5068
5504
|
function isLandmark(element) {
|
|
5069
|
-
const landmarkRoles =
|
|
5505
|
+
const landmarkRoles = axe8.commons.aria.getRolesByType("landmark");
|
|
5070
5506
|
const role = getObservedRoleForElement(element);
|
|
5071
5507
|
return role && landmarkRoles.indexOf(role) >= 0 || role === "region";
|
|
5072
5508
|
}
|
|
5073
5509
|
function getRoleSelectors(roleId) {
|
|
5074
|
-
const role =
|
|
5510
|
+
const role = axe8.commons.aria.lookupTable.role[roleId];
|
|
5075
5511
|
let selectors = [];
|
|
5076
5512
|
if (role && role.implicit) {
|
|
5077
5513
|
selectors = selectors.concat(role.implicit);
|
|
@@ -5083,7 +5519,7 @@ function getObservedRoleForElement(element) {
|
|
|
5083
5519
|
let role = element.getAttribute("role");
|
|
5084
5520
|
role = role ? role.trim() : role;
|
|
5085
5521
|
if (!role) {
|
|
5086
|
-
role =
|
|
5522
|
+
role = axe8.commons.aria.implicitRole(element);
|
|
5087
5523
|
const tagName = element.tagName.toLowerCase();
|
|
5088
5524
|
if (tagName === "header" || tagName === "footer") {
|
|
5089
5525
|
let parent = element.parentNode;
|
|
@@ -5096,7 +5532,7 @@ function getObservedRoleForElement(element) {
|
|
|
5096
5532
|
parent = parent.parentNode;
|
|
5097
5533
|
}
|
|
5098
5534
|
} else if (tagName === "section" || tagName === "form") {
|
|
5099
|
-
const label =
|
|
5535
|
+
const label = axe8.commons.aria.label(element);
|
|
5100
5536
|
if (!label) {
|
|
5101
5537
|
role = null;
|
|
5102
5538
|
}
|
|
@@ -5112,21 +5548,23 @@ function evaluate(node, options) {
|
|
|
5112
5548
|
return false;
|
|
5113
5549
|
}
|
|
5114
5550
|
const role = getObservedRoleForElement(node);
|
|
5115
|
-
let label =
|
|
5551
|
+
let label = axe8.commons.aria.label(node);
|
|
5116
5552
|
let candidates = [];
|
|
5117
5553
|
const selectors = getRoleSelectors(role);
|
|
5118
5554
|
const selectorsLength = selectors.length;
|
|
5119
5555
|
label = label ? label.toLowerCase() : null;
|
|
5120
5556
|
this.data({ role, label });
|
|
5121
5557
|
for (let selectorPos = 0; selectorPos < selectorsLength; selectorPos++) {
|
|
5122
|
-
candidates = candidates.concat(
|
|
5558
|
+
candidates = candidates.concat(
|
|
5559
|
+
axe8.utils.toArray(document.querySelectorAll(selectors[selectorPos]))
|
|
5560
|
+
);
|
|
5123
5561
|
}
|
|
5124
5562
|
const candidatesLength = candidates.length;
|
|
5125
5563
|
if (candidatesLength > 1) {
|
|
5126
5564
|
for (let candidatePos = 0; candidatePos < candidatesLength; candidatePos++) {
|
|
5127
5565
|
const candidate = candidates[candidatePos];
|
|
5128
|
-
if (candidate !== node && isLandmark(candidate) &&
|
|
5129
|
-
let candidateLabel =
|
|
5566
|
+
if (candidate !== node && isLandmark(candidate) && axe8.commons.dom.isVisible(candidate, true)) {
|
|
5567
|
+
let candidateLabel = axe8.commons.aria.label(candidate);
|
|
5130
5568
|
candidateLabel = candidateLabel ? candidateLabel.toLowerCase() : null;
|
|
5131
5569
|
if (label === candidateLabel) {
|
|
5132
5570
|
return false;
|
|
@@ -5138,7 +5576,12 @@ function evaluate(node, options) {
|
|
|
5138
5576
|
}
|
|
5139
5577
|
|
|
5140
5578
|
// src/scanner/custom-rules/widget-function.ts
|
|
5141
|
-
var widgetFunctionConfiguration = createNativeWidgetConfiguration(
|
|
5579
|
+
var widgetFunctionConfiguration = createNativeWidgetConfiguration(
|
|
5580
|
+
"widget-function",
|
|
5581
|
+
"widget-function-collector",
|
|
5582
|
+
evaluateWidgetFunction,
|
|
5583
|
+
hasCustomWidgetMarkup
|
|
5584
|
+
);
|
|
5142
5585
|
function evaluateWidgetFunction(node) {
|
|
5143
5586
|
const ariaAttributes = [
|
|
5144
5587
|
"aria-autocomplete",
|
|
@@ -5180,6 +5623,7 @@ var configuration = [
|
|
|
5180
5623
|
textContrastConfiguration,
|
|
5181
5624
|
linkPurposeConfiguration,
|
|
5182
5625
|
linkFunctionConfiguration,
|
|
5626
|
+
labelInNameConfiguration,
|
|
5183
5627
|
frameTitleConfiguration,
|
|
5184
5628
|
pageConfiguration,
|
|
5185
5629
|
widgetFunctionConfiguration,
|
|
@@ -5191,7 +5635,8 @@ var configuration = [
|
|
|
5191
5635
|
autocompleteRuleConfiguration,
|
|
5192
5636
|
headerRuleConfiguration,
|
|
5193
5637
|
textSpacingConfiguration,
|
|
5194
|
-
headersAttributeRuleConfiguration
|
|
5638
|
+
headersAttributeRuleConfiguration,
|
|
5639
|
+
accessibleNamesConfiguration
|
|
5195
5640
|
];
|
|
5196
5641
|
|
|
5197
5642
|
// src/scanner/help-url-getter.ts
|
|
@@ -5264,7 +5709,10 @@ var ResultDecorator = class {
|
|
|
5264
5709
|
decorateAxeRuleResults(ruleResults, isInapplicable = false) {
|
|
5265
5710
|
return ruleResults.reduce((filteredArray, result) => {
|
|
5266
5711
|
this.messageDecorator.decorateResultWithMessages(result);
|
|
5267
|
-
const processedResult = this.ruleProcessor.suppressChecksByMessages(
|
|
5712
|
+
const processedResult = this.ruleProcessor.suppressChecksByMessages(
|
|
5713
|
+
result,
|
|
5714
|
+
!isInapplicable
|
|
5715
|
+
);
|
|
5268
5716
|
if (processedResult != null) {
|
|
5269
5717
|
filteredArray.push({
|
|
5270
5718
|
...processedResult,
|
|
@@ -5284,7 +5732,9 @@ var RuleProcessor = class {
|
|
|
5284
5732
|
}
|
|
5285
5733
|
suppressChecksByMessages(rule, removeEmptyRules = true) {
|
|
5286
5734
|
rule.nodes = rule.nodes.filter((nodeResult) => {
|
|
5287
|
-
nodeResult.any = nodeResult.any.filter(
|
|
5735
|
+
nodeResult.any = nodeResult.any.filter(
|
|
5736
|
+
(check) => !this.shouldSuppressMessage(check.message)
|
|
5737
|
+
);
|
|
5288
5738
|
return nodeResult.any.length > 0 || nodeResult.none.length > 0 || nodeResult.all.length > 0;
|
|
5289
5739
|
});
|
|
5290
5740
|
if (removeEmptyRules && rule.nodes.length === 0) {
|
|
@@ -5305,7 +5755,7 @@ var RuleProcessor = class {
|
|
|
5305
5755
|
};
|
|
5306
5756
|
|
|
5307
5757
|
// src/common/components/fix-instruction-processor.tsx
|
|
5308
|
-
|
|
5758
|
+
var React88 = __toESM(require("react"));
|
|
5309
5759
|
|
|
5310
5760
|
// src/common/components/cards/fix-instruction-color-box.scss
|
|
5311
5761
|
var fix_instruction_color_box_default = { "fixInstructionColorBox": "fix-instruction-color-box--DQpQE", "screenReaderOnly": "screen-reader-only--6LUiO" };
|
|
@@ -5316,13 +5766,25 @@ var FixInstructionProcessor = class {
|
|
|
5316
5766
|
constructor() {
|
|
5317
5767
|
this.colorValueMatcher = `(#[0-9a-f]{6})`;
|
|
5318
5768
|
this.foregroundColorText = "foreground color: ";
|
|
5319
|
-
this.foregroundRegExp = new RegExp(
|
|
5769
|
+
this.foregroundRegExp = new RegExp(
|
|
5770
|
+
`${this.foregroundColorText}${this.colorValueMatcher}`,
|
|
5771
|
+
"i"
|
|
5772
|
+
);
|
|
5320
5773
|
this.backgroundColorText = "background color: ";
|
|
5321
|
-
this.backgroundRegExp = new RegExp(
|
|
5774
|
+
this.backgroundRegExp = new RegExp(
|
|
5775
|
+
`${this.backgroundColorText}${this.colorValueMatcher}`,
|
|
5776
|
+
"i"
|
|
5777
|
+
);
|
|
5322
5778
|
this.foregroundRecommendedColorText = "Use foreground color: ";
|
|
5323
|
-
this.foregroundRecommendedRegExp = new RegExp(
|
|
5779
|
+
this.foregroundRecommendedRegExp = new RegExp(
|
|
5780
|
+
`${this.foregroundRecommendedColorText}${this.colorValueMatcher}`,
|
|
5781
|
+
"i"
|
|
5782
|
+
);
|
|
5324
5783
|
this.backgroundRecommendedColorText = "Use background color: ";
|
|
5325
|
-
this.backgroundRecommendedRegExp = new RegExp(
|
|
5784
|
+
this.backgroundRecommendedRegExp = new RegExp(
|
|
5785
|
+
`${this.backgroundRecommendedColorText}${this.colorValueMatcher}`,
|
|
5786
|
+
"i"
|
|
5787
|
+
);
|
|
5326
5788
|
this.contrastRatioText = "Expected contrast ratio of ";
|
|
5327
5789
|
this.contrastRatioRegExp = new RegExp(`${this.contrastRatioText}`, "i");
|
|
5328
5790
|
this.originalMiddleSentence = " and the original foreground color: ";
|
|
@@ -5331,7 +5793,11 @@ var FixInstructionProcessor = class {
|
|
|
5331
5793
|
const matches6 = this.getColorMatches(fixInstruction);
|
|
5332
5794
|
let recommendationSentences = [];
|
|
5333
5795
|
if (matches6.length === 2 && fixInstruction != null) {
|
|
5334
|
-
recommendationSentences = this.getColorRecommendations(
|
|
5796
|
+
recommendationSentences = this.getColorRecommendations(
|
|
5797
|
+
fixInstruction,
|
|
5798
|
+
matches6,
|
|
5799
|
+
recommendColor
|
|
5800
|
+
);
|
|
5335
5801
|
}
|
|
5336
5802
|
return this.splitFixInstruction(fixInstruction, recommendationSentences, matches6);
|
|
5337
5803
|
}
|
|
@@ -5341,10 +5807,16 @@ var FixInstructionProcessor = class {
|
|
|
5341
5807
|
const regularExpExpectation = this.contrastRatioRegExp.exec(fixInstruction);
|
|
5342
5808
|
if (regularExpExpectation != null) {
|
|
5343
5809
|
const indexContrast = regularExpExpectation.index;
|
|
5344
|
-
const contrastIndex = fixInstruction.substring(
|
|
5810
|
+
const contrastIndex = fixInstruction.substring(
|
|
5811
|
+
indexContrast + this.contrastRatioText.length
|
|
5812
|
+
);
|
|
5345
5813
|
contrastRatio = parseFloat(contrastIndex.substring(0, contrastIndex.indexOf(":")));
|
|
5346
5814
|
}
|
|
5347
|
-
const recommendSentence = recommendColor.getRecommendColor(
|
|
5815
|
+
const recommendSentence = recommendColor.getRecommendColor(
|
|
5816
|
+
matches6[0].colorHexValue,
|
|
5817
|
+
matches6[1].colorHexValue,
|
|
5818
|
+
contrastRatio
|
|
5819
|
+
);
|
|
5348
5820
|
const recommendationSentences = recommendSentence.split(sentenceDivider);
|
|
5349
5821
|
this.getRecommendedColorMatches(recommendationSentences[0], matches6);
|
|
5350
5822
|
if (recommendationSentences.length === 1) {
|
|
@@ -5359,12 +5831,18 @@ var FixInstructionProcessor = class {
|
|
|
5359
5831
|
return [foregroundMatch, backgroundMatch].filter((match) => match != null);
|
|
5360
5832
|
}
|
|
5361
5833
|
getRecommendedColorMatches(fixInstruction, matches6) {
|
|
5362
|
-
const foregroundRecommededMatch = this.getColorMatch(
|
|
5834
|
+
const foregroundRecommededMatch = this.getColorMatch(
|
|
5835
|
+
fixInstruction,
|
|
5836
|
+
this.foregroundRecommendedRegExp
|
|
5837
|
+
);
|
|
5363
5838
|
if (foregroundRecommededMatch !== null) {
|
|
5364
5839
|
matches6.push(foregroundRecommededMatch);
|
|
5365
5840
|
matches6.push(this.getOriginalColorMatch(fixInstruction, foregroundRecommededMatch));
|
|
5366
5841
|
}
|
|
5367
|
-
const backgroundRecommededMatch = this.getColorMatch(
|
|
5842
|
+
const backgroundRecommededMatch = this.getColorMatch(
|
|
5843
|
+
fixInstruction,
|
|
5844
|
+
this.backgroundRecommendedRegExp
|
|
5845
|
+
);
|
|
5368
5846
|
if (backgroundRecommededMatch !== null) {
|
|
5369
5847
|
matches6.push(backgroundRecommededMatch);
|
|
5370
5848
|
matches6.push(this.getOriginalColorMatch(fixInstruction, backgroundRecommededMatch));
|
|
@@ -5408,10 +5886,16 @@ var FixInstructionProcessor = class {
|
|
|
5408
5886
|
if (recommendationStrings.length === 0) {
|
|
5409
5887
|
return /* @__PURE__ */ React88.createElement(React88.Fragment, null, results);
|
|
5410
5888
|
}
|
|
5411
|
-
const recommendationOne = this.getInstructionWithAndWithoutBoxes(
|
|
5889
|
+
const recommendationOne = this.getInstructionWithAndWithoutBoxes(
|
|
5890
|
+
recommendationMatches.slice(0, 2),
|
|
5891
|
+
recommendationStrings[0]
|
|
5892
|
+
);
|
|
5412
5893
|
recommendations.push(recommendationOne);
|
|
5413
5894
|
if (recommendationStrings.length > 1) {
|
|
5414
|
-
const recommendationTwo = this.getInstructionWithAndWithoutBoxes(
|
|
5895
|
+
const recommendationTwo = this.getInstructionWithAndWithoutBoxes(
|
|
5896
|
+
recommendationMatches.slice(2),
|
|
5897
|
+
recommendationStrings[1]
|
|
5898
|
+
);
|
|
5415
5899
|
recommendations.push(recommendationTwo);
|
|
5416
5900
|
}
|
|
5417
5901
|
return this.addRecommendationsToResults(results, recommendations);
|
|
@@ -5461,7 +5945,7 @@ var FixInstructionProcessor = class {
|
|
|
5461
5945
|
};
|
|
5462
5946
|
|
|
5463
5947
|
// src/common/date-provider.ts
|
|
5464
|
-
|
|
5948
|
+
var import_luxon = require("luxon");
|
|
5465
5949
|
var DateProvider = class {
|
|
5466
5950
|
static getDateFromTimestamp(timestamp) {
|
|
5467
5951
|
if (DateProvider.isNumericalTimestamp(timestamp)) {
|
|
@@ -5474,11 +5958,11 @@ var DateProvider = class {
|
|
|
5474
5958
|
return new Date();
|
|
5475
5959
|
}
|
|
5476
5960
|
static getUTCStringFromDate(date) {
|
|
5477
|
-
const utcDateTime = DateTime.fromJSDate(date, { zone: "utc" });
|
|
5961
|
+
const utcDateTime = import_luxon.DateTime.fromJSDate(date, { zone: "utc" });
|
|
5478
5962
|
return utcDateTime.toFormat("yyyy-MM-dd h:mm a z");
|
|
5479
5963
|
}
|
|
5480
5964
|
static getTimeStringFromSeconds(seconds) {
|
|
5481
|
-
const duration = Duration.fromObject({ seconds });
|
|
5965
|
+
const duration = import_luxon.Duration.fromObject({ seconds });
|
|
5482
5966
|
return duration.toFormat("hh:mm:ss");
|
|
5483
5967
|
}
|
|
5484
5968
|
static getDateFromDateString(timestamp) {
|
|
@@ -5493,14 +5977,14 @@ var DateProvider = class {
|
|
|
5493
5977
|
};
|
|
5494
5978
|
|
|
5495
5979
|
// src/common/fabric-icons.ts
|
|
5496
|
-
|
|
5497
|
-
|
|
5980
|
+
var import_font_icons_mdl2 = require("@fluentui/font-icons-mdl2");
|
|
5981
|
+
var import_style_utilities = require("@fluentui/style-utilities");
|
|
5498
5982
|
function initializeFabricIcons() {
|
|
5499
|
-
setIconOptions({
|
|
5983
|
+
(0, import_style_utilities.setIconOptions)({
|
|
5500
5984
|
disableWarnings: true
|
|
5501
5985
|
});
|
|
5502
|
-
initializeIcons();
|
|
5503
|
-
|
|
5986
|
+
(0, import_font_icons_mdl2.initializeIcons)();
|
|
5987
|
+
(0, import_style_utilities.registerIcons)({
|
|
5504
5988
|
style: {
|
|
5505
5989
|
MozOsxFontSmoothing: "grayscale",
|
|
5506
5990
|
WebkitFontSmoothing: "antialiased",
|
|
@@ -5577,14 +6061,14 @@ function initializeFabricIcons() {
|
|
|
5577
6061
|
}
|
|
5578
6062
|
|
|
5579
6063
|
// src/common/get-guidance-tags-from-guidance-links.ts
|
|
5580
|
-
|
|
6064
|
+
var import_lodash15 = require("lodash");
|
|
5581
6065
|
var GetGuidanceTagsFromGuidanceLinks = (links) => {
|
|
5582
|
-
if (isArray(links) === false) {
|
|
6066
|
+
if ((0, import_lodash15.isArray)(links) === false) {
|
|
5583
6067
|
return [];
|
|
5584
6068
|
}
|
|
5585
6069
|
const tags = [];
|
|
5586
6070
|
links.forEach((link2) => {
|
|
5587
|
-
if (isObject(link2) === false || isArray(link2.tags) === false) {
|
|
6071
|
+
if ((0, import_lodash15.isObject)(link2) === false || (0, import_lodash15.isArray)(link2.tags) === false) {
|
|
5588
6072
|
return;
|
|
5589
6073
|
}
|
|
5590
6074
|
link2.tags.forEach((tag) => {
|
|
@@ -5633,15 +6117,38 @@ var axeResultsReportGenerator = (parameters) => {
|
|
|
5633
6117
|
const reactStaticRenderer = new ReactStaticRenderer();
|
|
5634
6118
|
const fixInstructionProcessor = new FixInstructionProcessor();
|
|
5635
6119
|
const recommendColor = new RecommendColor();
|
|
5636
|
-
const toolData = createToolData(
|
|
5637
|
-
|
|
6120
|
+
const toolData = createToolData(
|
|
6121
|
+
"axe-core",
|
|
6122
|
+
axeVersion,
|
|
6123
|
+
serviceName,
|
|
6124
|
+
null,
|
|
6125
|
+
userAgent,
|
|
6126
|
+
`${windowWidth}x${windowHeight}`
|
|
6127
|
+
);
|
|
6128
|
+
const reportHtmlGenerator = new ReportHtmlGenerator(
|
|
6129
|
+
AxeResultsReportSectionFactory,
|
|
6130
|
+
reactStaticRenderer,
|
|
6131
|
+
getDefaultAddListenerForCollapsibleSection,
|
|
6132
|
+
DateProvider.getUTCStringFromDate,
|
|
6133
|
+
GetGuidanceTagsFromGuidanceLinks,
|
|
6134
|
+
fixInstructionProcessor,
|
|
6135
|
+
recommendColor,
|
|
6136
|
+
getPropertyConfiguration,
|
|
6137
|
+
GetNextHeadingLevel
|
|
6138
|
+
);
|
|
5638
6139
|
const titleProvider = {
|
|
5639
6140
|
title: () => targetPageTitle
|
|
5640
6141
|
};
|
|
5641
6142
|
const messageDecorator = new MessageDecorator(configuration, new CheckMessageTransformer());
|
|
5642
6143
|
const helpUrlGetter = new HelpUrlGetter(configuration, getA11yInsightsWebRuleUrl);
|
|
5643
6144
|
const ruleProcessor = new RuleProcessor();
|
|
5644
|
-
const resultDecorator = new ResultDecorator(
|
|
6145
|
+
const resultDecorator = new ResultDecorator(
|
|
6146
|
+
titleProvider,
|
|
6147
|
+
messageDecorator,
|
|
6148
|
+
(ruleId, axeHelpUrl) => helpUrlGetter.getHelpUrl(ruleId, axeHelpUrl),
|
|
6149
|
+
mapAxeTagsToGuidanceLinks,
|
|
6150
|
+
ruleProcessor
|
|
6151
|
+
);
|
|
5645
6152
|
const getUnifiedResults = new ConvertScanResultsToUnifiedResults(generateUID, getFixResolution, getCheckResolution).automatedChecksConversion;
|
|
5646
6153
|
const deps = {
|
|
5647
6154
|
reportHtmlGenerator,
|
|
@@ -5655,8 +6162,21 @@ var axeResultsReportGenerator = (parameters) => {
|
|
|
5655
6162
|
};
|
|
5656
6163
|
var summaryResultsReportGenerator = (parameters) => {
|
|
5657
6164
|
const { serviceName, axeVersion, userAgent, browserResolution } = parameters;
|
|
5658
|
-
const toolData = createToolData(
|
|
5659
|
-
|
|
6165
|
+
const toolData = createToolData(
|
|
6166
|
+
"axe-core",
|
|
6167
|
+
axeVersion,
|
|
6168
|
+
serviceName,
|
|
6169
|
+
null,
|
|
6170
|
+
userAgent,
|
|
6171
|
+
browserResolution
|
|
6172
|
+
);
|
|
6173
|
+
const reportHtmlGenerator = new SummaryReportHtmlGenerator(
|
|
6174
|
+
SummaryReportSectionFactory,
|
|
6175
|
+
new ReactStaticRenderer(),
|
|
6176
|
+
getDefaultAddListenerForCollapsibleSection,
|
|
6177
|
+
DateProvider.getUTCStringFromDate,
|
|
6178
|
+
DateProvider.getTimeStringFromSeconds
|
|
6179
|
+
);
|
|
5660
6180
|
const deps = {
|
|
5661
6181
|
reportHtmlGenerator
|
|
5662
6182
|
};
|
|
@@ -5664,10 +6184,27 @@ var summaryResultsReportGenerator = (parameters) => {
|
|
|
5664
6184
|
};
|
|
5665
6185
|
var combinedResultsReportGenerator = (parameters) => {
|
|
5666
6186
|
const { serviceName, axeVersion, userAgent, browserResolution } = parameters;
|
|
5667
|
-
const toolData = createToolData(
|
|
6187
|
+
const toolData = createToolData(
|
|
6188
|
+
"axe-core",
|
|
6189
|
+
axeVersion,
|
|
6190
|
+
serviceName,
|
|
6191
|
+
null,
|
|
6192
|
+
userAgent,
|
|
6193
|
+
browserResolution
|
|
6194
|
+
);
|
|
5668
6195
|
const fixInstructionProcessor = new FixInstructionProcessor();
|
|
5669
6196
|
const recommendColor = new RecommendColor();
|
|
5670
|
-
const reportHtmlGenerator = new CombinedReportHtmlGenerator(
|
|
6197
|
+
const reportHtmlGenerator = new CombinedReportHtmlGenerator(
|
|
6198
|
+
CombinedReportSectionFactory,
|
|
6199
|
+
new ReactStaticRenderer(),
|
|
6200
|
+
getDefaultAddListenerForCollapsibleSection,
|
|
6201
|
+
DateProvider.getUTCStringFromDate,
|
|
6202
|
+
DateProvider.getTimeStringFromSeconds,
|
|
6203
|
+
GetGuidanceTagsFromGuidanceLinks,
|
|
6204
|
+
fixInstructionProcessor,
|
|
6205
|
+
recommendColor,
|
|
6206
|
+
getPropertyConfiguration
|
|
6207
|
+
);
|
|
5671
6208
|
const deps = {
|
|
5672
6209
|
reportHtmlGenerator
|
|
5673
6210
|
};
|
|
@@ -5678,14 +6215,21 @@ var combinedResultsReportGenerator = (parameters) => {
|
|
|
5678
6215
|
resultsHighlightStatus: {}
|
|
5679
6216
|
};
|
|
5680
6217
|
const helpUrlGetter = new HelpUrlGetter(configuration, getA11yInsightsWebRuleUrl);
|
|
5681
|
-
const resultsToCardsConverter = new CombinedResultsToCardsModelConverter(
|
|
6218
|
+
const resultsToCardsConverter = new CombinedResultsToCardsModelConverter(
|
|
6219
|
+
mapAxeTagsToGuidanceLinks,
|
|
6220
|
+
cardSelectionViewData,
|
|
6221
|
+
generateUID,
|
|
6222
|
+
helpUrlGetter,
|
|
6223
|
+
getFixResolution
|
|
6224
|
+
);
|
|
5682
6225
|
return new CombinedResultsReport(deps, parameters, toolData, resultsToCardsConverter);
|
|
5683
6226
|
};
|
|
5684
6227
|
initializeFabricIcons();
|
|
5685
6228
|
var reporterFactory = () => {
|
|
5686
|
-
return new Reporter(
|
|
5687
|
-
|
|
5688
|
-
|
|
5689
|
-
|
|
6229
|
+
return new Reporter(
|
|
6230
|
+
axeResultsReportGenerator,
|
|
6231
|
+
summaryResultsReportGenerator,
|
|
6232
|
+
combinedResultsReportGenerator
|
|
6233
|
+
);
|
|
5690
6234
|
};
|
|
5691
6235
|
//# sourceMappingURL=report.bundle.js.map
|