accessibility-insights-report 4.7.3 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/drop/index.js +40 -23
  2. package/package.json +3 -3
package/drop/index.js CHANGED
@@ -266,9 +266,12 @@ var getA11yInsightsWebRuleUrl = (ruleId) => {
266
266
  var webRulesWithResources = [
267
267
  "aria-alt",
268
268
  "aria-allowed-attr",
269
+ "aria-conditional-attr",
270
+ "aria-deprecated-role",
269
271
  "aria-hidden-body",
270
272
  "aria-hidden-focus",
271
273
  "aria-input-field-name",
274
+ "aria-prohibited-attr",
272
275
  "aria-required-attr",
273
276
  "aria-required-attr",
274
277
  "aria-required-children",
@@ -1107,6 +1110,15 @@ var MinimalRuleHeader = NamedFC("MinimalRuleHeader", (props) => {
1107
1110
  // src/common/components/cards/rule-content.tsx
1108
1111
  var React33 = __toESM(require("react"));
1109
1112
 
1113
+ // src/common/configs/needs-review-rule-resources.ts
1114
+ var needsReviewRuleResourcesPath = "https://accessibilityinsights.io/info-examples/web/needs-review";
1115
+ var isOutcomeNeedsReview = (outcomeType) => {
1116
+ return outcomeType === "review";
1117
+ };
1118
+ var getNeedsReviewRuleResourcesUrl = (ruleId) => {
1119
+ return `${needsReviewRuleResourcesPath}/${ruleId}`;
1120
+ };
1121
+
1110
1122
  // src/common/components/cards/instance-details-group.tsx
1111
1123
  var React29 = __toESM(require("react"));
1112
1124
 
@@ -1205,6 +1217,9 @@ var RichResolutionContent = NamedFC(
1205
1217
  case "web/color-contrast": {
1206
1218
  return /* @__PURE__ */ React18.createElement("div", { className: rich_resolution_content_default.combinationLists }, /* @__PURE__ */ React18.createElement("ul", { className: rich_resolution_content_default.multiLineTextYesBullet }, /* @__PURE__ */ React18.createElement("li", null, "If the instance is an icon or other non-text content, ignore it. This rule applies only to text."), /* @__PURE__ */ React18.createElement("li", null, "If the instance is text, use", " ", /* @__PURE__ */ React18.createElement(LinkComponent, { href: "https://go.microsoft.com/fwlink/?linkid=2075365" }, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React18.createElement(LinkComponent, { href: "https://developer.paciellogroup.com/resources/contrastanalyser/" }, "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__ */ React18.createElement("ul", { className: rich_resolution_content_default.multiLineTextNoBullet }, /* @__PURE__ */ React18.createElement("li", null, "For detailed test instructions, see", " ", /* @__PURE__ */ React18.createElement(Term, null, "Assessment ", ">", " Adaptable content ", ">", " Contrast"), ".")));
1207
1219
  }
1220
+ case "web/duplicate-id-aria": {
1221
+ return /* @__PURE__ */ React18.createElement("div", null, "Document has multiple elements referenced with ARIA with the same id attribute. Examine any duplicate ID values and rename them. Duplicate IDs are common validation errors that may break the accessibility of labels, e.g., form fields, table header cells.");
1222
+ }
1208
1223
  case "web/th-has-data-cells": {
1209
1224
  return /* @__PURE__ */ React18.createElement("div", null, "Examine the header cell in the context of the table to verify that it has no data cells.");
1210
1225
  }
@@ -1873,28 +1888,33 @@ var React32 = __toESM(require("react"));
1873
1888
  var rule_resources_default = { "ruleMoreResources": "rule-more-resources--uw9mc", "moreResourcesTitle": "more-resources-title--jOuUL", "ruleDetailsId": "rule-details-id--s-TpO", "ruleGuidance": "rule-guidance--TIQgm" };
1874
1889
 
1875
1890
  // src/common/components/cards/rule-resources.tsx
1876
- var RuleResources = NamedFC("RuleResources", ({ deps, rule }) => {
1877
- if (rule.url == null && (0, import_lodash9.isEmpty)(rule.guidance)) {
1878
- return null;
1879
- }
1880
- const renderTitle = () => /* @__PURE__ */ React32.createElement("div", { className: rule_resources_default.moreResourcesTitle }, "Resources for this rule");
1881
- const renderRuleLink = () => {
1882
- if (rule.url == null) {
1891
+ var RuleResources = NamedFC(
1892
+ "RuleResources",
1893
+ ({ deps, rule, outcomeType }) => {
1894
+ if (rule.url == null && (0, import_lodash9.isEmpty)(rule.guidance)) {
1883
1895
  return null;
1884
1896
  }
1885
- const ruleId = rule.id;
1886
- const ruleUrl = rule.url;
1887
- return /* @__PURE__ */ React32.createElement("span", { className: rule_resources_default.ruleDetailsId }, /* @__PURE__ */ React32.createElement(deps.LinkComponent, { href: ruleUrl }, "More information about ", ruleId));
1888
- };
1889
- const renderGuidanceLinks = () => {
1890
- return /* @__PURE__ */ React32.createElement(GuidanceLinks, { links: rule.guidance, LinkComponent: deps.LinkComponent });
1891
- };
1892
- const renderGuidanceTags = () => /* @__PURE__ */ React32.createElement(GuidanceTags, { deps, links: rule.guidance });
1893
- return /* @__PURE__ */ React32.createElement("div", { className: rule_resources_default.ruleMoreResources }, renderTitle(), renderRuleLink(), /* @__PURE__ */ React32.createElement("span", { className: rule_resources_default.ruleGuidance }, renderGuidanceLinks(), renderGuidanceTags()));
1894
- });
1897
+ const renderTitle = () => /* @__PURE__ */ React32.createElement("div", { className: rule_resources_default.moreResourcesTitle }, "Resources for this rule");
1898
+ const renderRuleLink = () => {
1899
+ if (rule.url == null) {
1900
+ return null;
1901
+ }
1902
+ const ruleId = rule.id;
1903
+ const ruleUrl = deps.IsOutcomeNeedsReview(outcomeType) ? deps.GetNeedsReviewRuleResourcesUrl(ruleId) : rule.url;
1904
+ return /* @__PURE__ */ React32.createElement("span", { className: rule_resources_default.ruleDetailsId }, /* @__PURE__ */ React32.createElement(deps.LinkComponent, { href: ruleUrl }, "More information about ", ruleId));
1905
+ };
1906
+ const renderGuidanceLinks = () => {
1907
+ return /* @__PURE__ */ React32.createElement(GuidanceLinks, { links: rule.guidance, LinkComponent: deps.LinkComponent });
1908
+ };
1909
+ const renderGuidanceTags = () => /* @__PURE__ */ React32.createElement(GuidanceTags, { deps, links: rule.guidance });
1910
+ return /* @__PURE__ */ React32.createElement("div", { className: rule_resources_default.ruleMoreResources }, renderTitle(), renderRuleLink(), /* @__PURE__ */ React32.createElement("span", { className: rule_resources_default.ruleGuidance }, renderGuidanceLinks(), renderGuidanceTags()));
1911
+ }
1912
+ );
1895
1913
 
1896
1914
  // src/common/components/cards/rule-content.tsx
1897
1915
  var RuleContent = NamedFC("RuleContent", (props) => {
1916
+ props.deps.GetNeedsReviewRuleResourcesUrl = getNeedsReviewRuleResourcesUrl;
1917
+ props.deps.IsOutcomeNeedsReview = isOutcomeNeedsReview;
1898
1918
  return /* @__PURE__ */ React33.createElement(React33.Fragment, null, /* @__PURE__ */ React33.createElement(RuleResources, { ...props }), /* @__PURE__ */ React33.createElement(InstanceDetailsGroup, { ...props }));
1899
1919
  });
1900
1920
 
@@ -1936,6 +1956,7 @@ var RulesWithInstances = NamedFC(
1936
1956
  key: `${rule.id}-rule-group`,
1937
1957
  deps,
1938
1958
  rule,
1959
+ outcomeType,
1939
1960
  userConfigurationStoreData,
1940
1961
  targetAppInfo,
1941
1962
  cardSelectionMessageCreator,
@@ -1979,7 +2000,6 @@ var ResultSectionContent = NamedFC(
1979
2000
  const {
1980
2001
  results,
1981
2002
  outcomeType,
1982
- fixInstructionProcessor,
1983
2003
  deps,
1984
2004
  userConfigurationStoreData,
1985
2005
  targetAppInfo,
@@ -2003,7 +2023,6 @@ var ResultSectionContent = NamedFC(
2003
2023
  deps,
2004
2024
  rules: results,
2005
2025
  outcomeType,
2006
- fixInstructionProcessor,
2007
2026
  userConfigurationStoreData,
2008
2027
  targetAppInfo,
2009
2028
  outcomeCounter,
@@ -2862,8 +2881,7 @@ var makeCombinedReportRulesOnlySection = (options) => NamedFC(
2862
2881
  {
2863
2882
  outcomeCount: cardRuleResults.length,
2864
2883
  outcomeType,
2865
- title: title2,
2866
- titleSize: "title"
2884
+ title: title2
2867
2885
  }
2868
2886
  ),
2869
2887
  content: /* @__PURE__ */ React66.createElement(
@@ -3066,8 +3084,7 @@ var CollapsibleUrlResultSection = NamedFC(
3066
3084
  id: containerId,
3067
3085
  header: /* @__PURE__ */ React73.createElement(ResultSectionTitle, { ...props, titleSize: "heading" }),
3068
3086
  content,
3069
- headingLevel: 3,
3070
- deps: null
3087
+ headingLevel: 3
3071
3088
  });
3072
3089
  return /* @__PURE__ */ React73.createElement("div", { className: collapsible_url_result_section_default.urlResultSection }, CollapsibleContent);
3073
3090
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "accessibility-insights-report",
3
- "version": "4.7.3",
3
+ "version": "4.8.0",
4
4
  "description": "Accessibility Insights Report",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -19,8 +19,8 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "@fluentui/react": "^8.96.1",
22
- "axe-core": "4.7.2",
23
- "classnames": "^2.3.2",
22
+ "axe-core": "4.8.4",
23
+ "classnames": "^2.5.1",
24
24
  "lodash": "^4.17.21",
25
25
  "luxon": "^3.4.4",
26
26
  "react": "^16.14.0",