diff --git a/accessibility-checker-extension/src/assets/img/2_2_ScanReport.png b/accessibility-checker-extension/src/assets/img/2_2_ScanReport.png
index a717c0b2f..20a069c91 100644
Binary files a/accessibility-checker-extension/src/assets/img/2_2_ScanReport.png and b/accessibility-checker-extension/src/assets/img/2_2_ScanReport.png differ
diff --git a/accessibility-checker-extension/src/assets/img/2_2_ScanReport_old.png b/accessibility-checker-extension/src/assets/img/2_2_ScanReport_old.png
new file mode 100644
index 000000000..a717c0b2f
Binary files /dev/null and b/accessibility-checker-extension/src/assets/img/2_2_ScanReport_old.png differ
diff --git a/accessibility-checker-extension/src/assets/img/7_1_ReportHTML.png b/accessibility-checker-extension/src/assets/img/7_1_ReportHTML.png
index 344028bf2..2159a6aea 100644
Binary files a/accessibility-checker-extension/src/assets/img/7_1_ReportHTML.png and b/accessibility-checker-extension/src/assets/img/7_1_ReportHTML.png differ
diff --git a/accessibility-checker-extension/src/assets/img/7_1_ReportHTML_old.png b/accessibility-checker-extension/src/assets/img/7_1_ReportHTML_old.png
new file mode 100644
index 000000000..344028bf2
Binary files /dev/null and b/accessibility-checker-extension/src/assets/img/7_1_ReportHTML_old.png differ
diff --git a/accessibility-checker-extension/src/ts/devtools/components/summaryScreen.scss b/accessibility-checker-extension/src/ts/devtools/components/summaryScreen.scss
index 692fafefd..48603ce6d 100644
--- a/accessibility-checker-extension/src/ts/devtools/components/summaryScreen.scss
+++ b/accessibility-checker-extension/src/ts/devtools/components/summaryScreen.scss
@@ -65,7 +65,7 @@
&.cds--g10 {
.status-score-tile {
- background-color: #BE95FF; // purple / 40
+ background-color:#E8DAFF ; // purple / 20
}
}
diff --git a/accessibility-checker-extension/src/ts/devtools/devtoolsController.ts b/accessibility-checker-extension/src/ts/devtools/devtoolsController.ts
index 32331bdee..ea14b33ad 100644
--- a/accessibility-checker-extension/src/ts/devtools/devtoolsController.ts
+++ b/accessibility-checker-extension/src/ts/devtools/devtoolsController.ts
@@ -638,6 +638,8 @@ export class DevtoolsController extends Controller {
let bgController = await getBGController();
let rulesets = await bgController.getRulesets(this.contentTabId);
let tabInfo = await bgController.getTabInfo(this.contentTabId);
+ let url = tabInfo.url!;
+ let Ignored = await bgController.getIgnore(url);
if (devtoolsState?.lastReport && rulesets) {
let reportObj: any = {
tabURL: tabInfo.url,
@@ -649,6 +651,8 @@ export class DevtoolsController extends Controller {
counts: {
"total": devtoolsState?.lastReport.counts.total
},
+ ignored:Ignored,
+
results: []
}
}
diff --git a/accessibility-checker-extension/src/ts/docs/QuickGuideACApp.tsx b/accessibility-checker-extension/src/ts/docs/QuickGuideACApp.tsx
index d6675b6ff..267ce5bb8 100644
--- a/accessibility-checker-extension/src/ts/docs/QuickGuideACApp.tsx
+++ b/accessibility-checker-extension/src/ts/docs/QuickGuideACApp.tsx
@@ -206,12 +206,12 @@ export class QuickGuideACApp extends React.Component<{}, quickGuideACAppState> {
2. Create a scan report
- From a single scan, generate a report in both HTML web and Microsoft Excel XLS spreadsheet formats.
+ From a single scan, export a report in both HTML web and Microsoft Excel XLS spreadsheet formats.
- To generate a report for a single scan in the Checker view:
+ You can export a report in both HTML web and Microsoft Excel XLS spreadsheet formats while in the Checker view:
- Open the 'Reports' dropdown menu and select 'Download current scan'.
+ Once a page has been scanned, select 'Export XLS'. Both HTML and XLS formats will be downloaded.
See Checker reports for more details.
@@ -506,7 +506,7 @@ class UsingACApp extends React.Component<{}, UsingACAppState> {
3.5 Create a multi-scan report
- To combine up to 50 multiple scans into a single report:
+ Combine up to 50 multiple scans into a single Microsoft Excel XLS spreadsheet report:
{
alt="an open dropdown menu with focus on 'Start storing scans'"
/>
-
1. Open the 'Reports' dropdown menu and select 'Start storing scans.'
+
1. Open the 'Options' dropdown menu and select 'Start storing scans.'
{
alt="an open dropdown menu with focus on 'download stored scans"
/>
*/}
-
4. Open the 'Reports' dropdown menu and select 'View stored scans'.
+
4. Open the 'Options' dropdown menu and select 'View stored scans'.
{
Cancel: to uncheck the selectionsReturn: click back (or navigate) into the Checker to continue using the functionality, such as storing more scans
+
6. Open the 'Options' dropdown menu and select 'Export stored scans'.
3.6 Focus view
@@ -1031,24 +1032,35 @@ class UsingACApp extends React.Component<{}, UsingACAppState> {
inline={true} size="lg">Create a multi-scan report.
-
HTML reports
+
HTML report
{/*
HTML reports
*/}
+
- This interactive report is in an HTML web format that includes:
-
+ This interactive report is an accessible web page (single HTML file) that includes:
+
Scan date and timeURL scannedPercentage of elements with no detected violations or items to review
- Summary of test results
- Issue details organized by Requirements or by Rules
+ Summary of test results by Violations, Needs review, and Recommendations
+ Issue details organizable by Elements roles, Requirements, or by Rules‘Learn more’ link with detailed help description for each issue
+
+ The interactive features of the report are similar to the Summary report in the Checker view:
+
+
+ Filter the list of issues displayed by selecting either the 'Filter' dropdown or by selecting the checkboxes on the summary tiles by 'Violation', 'Needs review', and 'Recommendation'.
+ Display the 'Hidden' issues by selecting the 'Filter' dropdown. Note that the counts and total displayed do not include the 'Hidden' issues.
+ Change the organization of the issues list by selecting the dropdown to see issues by 'Elements roles', 'Requirements', or by 'Rules'. Note that each group is an accordion that can be collapsed for a condensed view.
+ Display the specific 'What to do' guidance for each individual issue by selecting the 'Learn more' link.
+ Send the single HTML file to team members or save it in project records.
+
Note: The percentages reported are based on automated tests only.
Be sure to follow all the {
-
-
+
+ item.text==="Violations")}
+ handleCardClick={this.handleCardClick}>
Accessibility failures that need to be corrected
-
-
+
+ item.text==="Needs review")} handleCardClick={this.handleCardClick}>
Issues that may not be a violation; manual review is needed
-
-
+
+ item.text==="Recommendations")} handleCardClick={this.handleCardClick}>
Opportunities to apply best practices to further improve accessibility
@@ -146,24 +199,83 @@ export class SavedReport extends React.Component
)
diff --git a/report-react/src/report/ReportRules.tsx b/report-react/src/report/ReportRules.tsx
index b26faa25f..5a61c0ddc 100644
--- a/report-react/src/report/ReportRules.tsx
+++ b/report-react/src/report/ReportRules.tsx
@@ -19,6 +19,8 @@ import React from "react";
import { IReport, IReportItem, valueMap } from "../IReport";
import ReportRow from "./ReportRow";
import { Grid, Column } from "@carbon/react";
+import { UtilIssue } from "../util/UtilIssue";
+import { IssueValue } from "../util/UtilIssueReact";
interface IReportRulesState {
}
@@ -62,6 +64,9 @@ export default class ReportRules extends React.Component UtilIssue.valueToOrder(a.value as IssueValue)-UtilIssue.valueToOrder(b.value as IssueValue));
+ }
return
diff --git a/report-react/src/report/report.scss b/report-react/src/report/report.scss
index ff8b6a79c..24d2e87e8 100644
--- a/report-react/src/report/report.scss
+++ b/report-react/src/report/report.scss
@@ -26,14 +26,16 @@
padding: 0rem;
.reportHeader {
- height: 2rem;
- background-color: #e0e0e0;
+ background-color: #f4f4f4;
color: #161616;
-
+ border-top: solid #a8a8a8;
+ border-bottom: solid #a8a8a8;
+ margin: 0rem -1rem;
+ padding: 0.5rem 0rem .5rem 1rem;
+ height: 100%;
.label {
@include type.type-style('heading-01');
font-size: 12px;
- padding: .4375rem 0 0;
}
}
@@ -42,6 +44,9 @@
min-height: 32px;
padding: 10px 0px 0px;
}
+ .itemHeader[aria-expanded="true"]{
+ border-bottom: solid #888888 1px;
+ }
.itemDetail {
border-bottom: solid #888888 1px;
@@ -51,9 +56,8 @@
}
.itemMessage {
- margin-left: 5px;
- text-indent: -22px;
-
+ margin-left: 1rem;
+
img, svg {
margin-right: 6px;
vertical-align: middle;
@@ -68,7 +72,6 @@
}
.helpLink {
- color: #000000;
font-size: 12px;
text-decoration: underline;
svg {
diff --git a/report-react/src/util/UtilImages.tsx b/report-react/src/util/UtilImages.tsx
new file mode 100644
index 000000000..0a48206ba
--- /dev/null
+++ b/report-react/src/util/UtilImages.tsx
@@ -0,0 +1,72 @@
+/******************************************************************************
+ Copyright:: 2020- IBM, Inc
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*****************************************************************************/
+
+
+//svg images for report
+export const Violation16 =
+
+export const NeedsReview16 =
+
+export const Recommendation16 =
+
+export const ViewOn16=
+
+export const ViewOff16=
+
diff --git a/report-react/src/util/UtilIssue.tsx b/report-react/src/util/UtilIssue.tsx
new file mode 100644
index 000000000..d2e8f3ced
--- /dev/null
+++ b/report-react/src/util/UtilIssue.tsx
@@ -0,0 +1,63 @@
+/******************************************************************************
+ Copyright:: 2020- IBM, Inc
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*****************************************************************************/
+import { IssueValue } from './UtilIssueReact';
+
+export class UtilIssue {
+ private static valueMap: { [key: string]: { [key2: string]: string } } = {
+ "VIOLATION": {
+ "POTENTIAL": "Needs review",
+ "FAIL": "Violation",
+ "PASS": "Pass",
+ "MANUAL": "Needs review"
+ },
+ "RECOMMENDATION": {
+ "POTENTIAL": "Recommendation",
+ "FAIL": "Recommendation",
+ "PASS": "Pass",
+ "MANUAL": "Recommendation"
+ },
+ "INFORMATION": {
+ "POTENTIAL": "Needs review",
+ "FAIL": "Violation",
+ "PASS": "Pass",
+ "MANUAL": "Recommendation"
+ }
+ };
+
+ public static valueToStringSingular(value: IssueValue) : string {
+ return UtilIssue.valueMap[value[0]][value[1]];
+ }
+
+ public static valueToStringPlural(value: IssueValue) : string {
+ let sing = UtilIssue.valueToStringSingular(value);
+ return this.singToStringPlural(sing);
+ }
+
+ public static singToStringPlural(sing: string) : string {
+ if (sing === "Violation") return "Violations";
+ if (sing === "Needs review") return "Needs review";
+ if (sing === "Recommendation") return "Recommendations";
+ return sing;
+ }
+
+ public static valueToOrder(value: IssueValue) : number {
+ let sing = UtilIssue.valueToStringSingular(value);
+ if (sing === "Violation") return 0;
+ if (sing === "Needs review") return 1;
+ if (sing === "Recommendation") return 2;
+ return 3;
+ }
+}
\ No newline at end of file
diff --git a/report-react/src/util/UtilIssueReact.tsx b/report-react/src/util/UtilIssueReact.tsx
new file mode 100644
index 000000000..61f96aa55
--- /dev/null
+++ b/report-react/src/util/UtilIssueReact.tsx
@@ -0,0 +1,50 @@
+/******************************************************************************
+ Copyright:: 2020- IBM, Inc
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*****************************************************************************/
+import * as React from 'react';
+import { UtilIssue } from './UtilIssue';
+import { Violation16,NeedsReview16,Recommendation16,ViewOff16,ViewOn16 } from './UtilImages';
+
+export type IssueValue = [
+ "VIOLATION" | "RECOMMENDATION"| "INFORMATION",
+ "FAIL" | "POTENTIAL" | "MANUAL" | "PASS"
+];
+
+
+
+export class UtilIssueReact {
+ public static valueToIcon(value: IssueValue, className?: string) : React.ReactNode {
+ let sing = UtilIssue.valueToStringSingular(value);
+ return this.valueSingToIcon(sing, className);
+ }
+
+ public static valueSingToIcon(sing: string, className?: string) : React.ReactNode {
+ if (sing === "Violation") {
+ return <>{Violation16}>
+ } else if (sing === "Needs review") {
+ return <>{NeedsReview16}>
+ } else if (sing === "Recommendation") {
+ return <>{Recommendation16}>
+ } else if (sing === "ViewOff") {
+ return <>{ViewOff16}>
+ } else if (sing === "ViewOn") {
+ return <>{ViewOn16}>
+ } else if (sing === "Pass") {
+ return <>>
+ } else {
+ return <>>;
+ }
+ }
+}
\ No newline at end of file