diff --git a/accessibility-checker-engine/src/v4/checker/Checker.ts b/accessibility-checker-engine/src/v4/checker/Checker.ts index aaab4076e..78df46c9a 100644 --- a/accessibility-checker-engine/src/v4/checker/Checker.ts +++ b/accessibility-checker-engine/src/v4/checker/Checker.ts @@ -311,21 +311,27 @@ export class Checker implements IChecker { } for (const rsId of rsIds) { if (rsId in rsInfo) { - Object.keys(rsInfo[rsId]).forEach(code => { + const reCode = new RegExp(`(^|--)${reasonCode}($|--)`); + Object.keys(rsInfo[rsId]).forEach(code => { let level = null; - const reCode = new RegExp(`(^|--)${reasonCode}($|--)`); if (code === 'None') level = rsInfo[rsId]["None"]; else if (reCode.test(code)) - level = rsInfo[rsId][code]; - if (level === eRulePolicy.VIOLATION) { - retVal = eRulePolicy.VIOLATION; - } else if (level === eRulePolicy.RECOMMENDATION && retVal === null) { - retVal = eRulePolicy.RECOMMENDATION; - } else if (retVal === null) { - retVal = eRulePolicy.INFORMATION; - } - }); + level = rsInfo[rsId][code]; + + if (level !== null) { + if (level === eRulePolicy.VIOLATION) { + retVal = eRulePolicy.VIOLATION; + } else if (level === eRulePolicy.RECOMMENDATION && retVal === null) { + retVal = eRulePolicy.RECOMMENDATION; + } else if (retVal === null) { + retVal = eRulePolicy.INFORMATION; + } + } + }); + if (retVal === null) { + retVal = eRulePolicy.INFORMATION; + } } } } diff --git a/accessibility-checker-engine/src/v4/rules/aria_accessiblename_exists.ts b/accessibility-checker-engine/src/v4/rules/aria_accessiblename_exists.ts index 3bf34c013..4d6f6a7c9 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_accessiblename_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_accessiblename_exists.ts @@ -14,9 +14,7 @@ import { Rule, RuleResult, RuleFail, RuleContext, RulePass, RuleContextHierarchy } from "../api/IRule"; import { eRulePolicy, eToolkitLevel } from "../api/IRule"; import { AriaUtil } from "../util/AriaUtil"; -import { CommonUtil } from "../util/CommonUtil"; import { VisUtil } from "../util/VisUtil"; -import { ARIADefinitions } from "../../v2/aria/ARIADefinitions"; import { AccNameUtil } from "../util/AccNameUtil"; export const aria_accessiblename_exists: Rule = { @@ -26,6 +24,7 @@ export const aria_accessiblename_exists: Rule = { "en-US": { "pass": "aria_accessiblename_exists.html", "fail_no_accessible_name": "aria_accessiblename_exists.html", + "fail_no_accessible_name_image": "aria_accessiblename_exists.html", "group": "aria_accessiblename_exists.html" } }, @@ -33,6 +32,7 @@ export const aria_accessiblename_exists: Rule = { "en-US": { "pass": "An accessible name is provided for the element", "fail_no_accessible_name": "Element <{0}> with \"{1}\" role has no accessible name", + "fail_no_accessible_name_image": "Element <{0}> with \"{1}\" role has no accessible name", "group": "Elements with certain roles should have accessible names" } }, @@ -40,9 +40,17 @@ export const aria_accessiblename_exists: Rule = { "id": ["IBM_Accessibility", "IBM_Accessibility_next", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.RECOMMENDATION, - "toolkitLevel": eToolkitLevel.LEVEL_ONE + "toolkitLevel": eToolkitLevel.LEVEL_ONE, + reasonCodes: ["fail_no_accessible_name"] + }, + { + "id": ["IBM_Accessibility", "IBM_Accessibility_next", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], + "num": ["ARIA"], + "level": eRulePolicy.RECOMMENDATION, + "toolkitLevel": eToolkitLevel.LEVEL_ONE, + reasonCodes: ["fail_no_accessible_name_image"] }], - act: [], + act: [{"23a2a8": {"fail_no_accessible_name_image": "fail"}}], run: (context: RuleContext, options?: {}, contextHierarchies?: RuleContextHierarchy): RuleResult | RuleResult[] => { const ruleContext = context["dom"].node as Element; @@ -50,8 +58,8 @@ export const aria_accessiblename_exists: Rule = { if (VisUtil.isNodeHiddenFromAT(ruleContext)) return null; let nodeName = ruleContext.nodeName.toLocaleLowerCase(); - // svg element is handled in svg_graphics)labbelled rule - if (nodeName === 'svg') return; + // svg element is handled in svg_graphics_labbelled rule and image rules + if (nodeName === 'svg' || nodeName === 'img') return; // when table element with a caption as first child if (nodeName === 'table' @@ -69,9 +77,11 @@ export const aria_accessiblename_exists: Rule = { let role = AriaUtil.getResolvedRole(ruleContext); const name_pair = AccNameUtil.computeAccessibleName(ruleContext); - if (!name_pair || !name_pair.name || name_pair.name.trim().length === 0) + if (!name_pair || !name_pair.name || name_pair.name.trim().length === 0) { + if (role === 'img' || role === 'image') + return RuleFail("fail_no_accessible_name_image", [ruleContext.nodeName.toLowerCase(), role]); return RuleFail("fail_no_accessible_name", [ruleContext.nodeName.toLowerCase(), role]); - + } return RulePass("pass"); } } diff --git a/accessibility-checker-engine/src/v4/rules/img_alt_null.ts b/accessibility-checker-engine/src/v4/rules/img_alt_null.ts index 4b108d034..8c607ad84 100644 --- a/accessibility-checker-engine/src/v4/rules/img_alt_null.ts +++ b/accessibility-checker-engine/src/v4/rules/img_alt_null.ts @@ -45,8 +45,17 @@ export const img_alt_null: Rule = { "id": ["IBM_Accessibility", "IBM_Accessibility_next", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, - "toolkitLevel": eToolkitLevel.LEVEL_ONE - }], + "toolkitLevel": eToolkitLevel.LEVEL_ONE, + reasonCodes: ["fail_decorative"] + }, + { + "id": ["IBM_Accessibility", "IBM_Accessibility_next", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], + "num": ["ARIA"], + "level": eRulePolicy.VIOLATION, + "toolkitLevel": eToolkitLevel.LEVEL_ONE, + reasonCodes: ["potential_aria_override"] + } + ], act: [{"46ca7f": {"potential_aria_override": "fail"}}], run: (context: RuleContext, options?: {}, contextHierarchies?: RuleContextHierarchy): RuleResult | RuleResult[] => { const ruleContext = context["dom"].node as Element; diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/aria_accessiblename_exists_ruleunit/aria_imge.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/aria_accessiblename_exists_ruleunit/aria_imge.html index 7a06f4120..b5a5f36c3 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/aria_accessiblename_exists_ruleunit/aria_imge.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/aria_accessiblename_exists_ruleunit/aria_imge.html @@ -33,22 +33,7 @@ UnitTest = { ruleIds: ["aria_accessiblename_exists"], results: [ - { - "ruleId": "aria_accessiblename_exists", - "value": [ - "INFORMATION", - "PASS" - ], - "path": { - "dom": "/html[1]/body[1]/img[1]", - "aria": "/document[1]/img[1]" - }, - "reasonId": "pass", - "message": "An accessible name is provided for the element", - "messageArgs": [], - "apiArgs": [], - "category": "Accessibility" - } + ] } diff --git a/accessibility-checker/test/baselines/Baseline_aChecker.Baseline.html.json b/accessibility-checker/test/baselines/Baseline_aChecker.Baseline.html.json index 67d335c32..25a6c138c 100644 --- a/accessibility-checker/test/baselines/Baseline_aChecker.Baseline.html.json +++ b/accessibility-checker/test/baselines/Baseline_aChecker.Baseline.html.json @@ -23,8 +23,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": true, "level": "violation", + "ignored": true, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/html_lang_exists.html#%7B%22message%22%3A%22Page%20detected%20as%20HTML%2C%20but%20does%20not%20have%20a%20'lang'%20attribute%22%2C%22snippet%22%3A%22%3Chtml%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22FAIL%22%5D%2C%22reasonId%22%3A%22Fail_3%22%2C%22ruleId%22%3A%22html_lang_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -50,8 +50,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": true, "level": "potentialviolation", + "ignored": true, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/html_skipnav_exists.html#%7B%22message%22%3A%22Verify%20there%20is%20a%20way%20to%20bypass%20blocks%20of%20content%20that%20are%20repeated%20on%20multiple%20Web%20pages%22%2C%22snippet%22%3A%22%3Chtml%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22POTENTIAL%22%5D%2C%22reasonId%22%3A%22Potential_1%22%2C%22ruleId%22%3A%22html_skipnav_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -77,8 +77,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": true, "level": "violation", + "ignored": true, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/page_title_exists.html#%7B%22message%22%3A%22Missing%20%3Ctitle%3E%20element%20in%20%3Chead%3E%20element%22%2C%22snippet%22%3A%22%3Chtml%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22FAIL%22%5D%2C%22reasonId%22%3A%22Fail_2%22%2C%22ruleId%22%3A%22page_title_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -91,7 +91,7 @@ "dom": "/html[1]", "aria": "/document[1]" }, - "ruleTime": 0, + "ruleTime": 1, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], @@ -104,8 +104,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", + "ignored": false, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Chtml%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -131,8 +131,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", + "ignored": false, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Chtml%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -158,8 +158,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", + "ignored": false, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Chead%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -172,7 +172,7 @@ "dom": "/html[1]/body[1]", "aria": "/document[1]" }, - "ruleTime": 0, + "ruleTime": 1, "reasonId": "Fail_1", "message": "The page does not provide a way to quickly navigate to the main content (ARIA \"main\" landmark or a skip link)", "messageArgs": [], @@ -185,8 +185,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": true, "level": "violation", + "ignored": true, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/skip_main_exists.html#%7B%22message%22%3A%22The%20page%20does%20not%20provide%20a%20way%20to%20quickly%20navigate%20to%20the%20main%20content%20(ARIA%20%5C%22main%5C%22%20landmark%20or%20a%20skip%20link)%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22FAIL%22%5D%2C%22reasonId%22%3A%22Fail_1%22%2C%22ruleId%22%3A%22skip_main_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -212,8 +212,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", + "ignored": false, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -239,8 +239,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", + "ignored": false, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -253,7 +253,7 @@ "dom": "/html[1]/body[1]", "aria": "/document[1]" }, - "ruleTime": 1, + "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], @@ -266,8 +266,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", + "ignored": false, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -280,7 +280,7 @@ "dom": "/html[1]/body[1]", "aria": "/document[1]" }, - "ruleTime": 1, + "ruleTime": 0, "reasonId": "pass", "message": "Rule Passed", "messageArgs": [], @@ -293,8 +293,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", + "ignored": false, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -320,8 +320,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", + "ignored": false, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_misuse.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cimg%20id%3D%5C%22ace%5C%22%20src%3D%5C%22fail.png%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_misuse%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -347,8 +347,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": true, "level": "violation", + "ignored": true, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_valid.html#%7B%22message%22%3A%22The%20image%20has%20neither%20an%20accessible%20name%20nor%20is%20marked%20as%20decorative%20or%20redundant%22%2C%22snippet%22%3A%22%3Cimg%20id%3D%5C%22ace%5C%22%20src%3D%5C%22fail.png%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22FAIL%22%5D%2C%22reasonId%22%3A%22fail_no_alt%22%2C%22ruleId%22%3A%22img_alt_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -374,8 +374,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", + "ignored": false, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cimg%20id%3D%5C%22ace%5C%22%20src%3D%5C%22fail.png%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -388,7 +388,7 @@ "dom": "/html[1]/body[1]/img[1]", "aria": "/document[1]/img[1]" }, - "ruleTime": 0, + "ruleTime": 1, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], @@ -401,8 +401,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", + "ignored": false, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/element_id_unique.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cimg%20id%3D%5C%22ace%5C%22%20src%3D%5C%22fail.png%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22element_id_unique%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -428,8 +428,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", + "ignored": false, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cimg%20id%3D%5C%22ace%5C%22%20src%3D%5C%22fail.png%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -455,8 +455,8 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", + "ignored": false, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cimg%20id%3D%5C%22ace%5C%22%20src%3D%5C%22fail.png%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { @@ -482,39 +482,9 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cimg%20id%3D%5C%22ace%5C%22%20src%3D%5C%22fail.png%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" - }, - { - "ruleId": "aria_accessiblename_exists", - "value": [ - "RECOMMENDATION", - "FAIL" - ], - "path": { - "dom": "/html[1]/body[1]/img[1]", - "aria": "/document[1]/img[1]" - }, - "ruleTime": 0, - "reasonId": "fail_no_accessible_name", - "message": "Element with \"img\" role has no accessible name", - "messageArgs": [ - "img", - "img" - ], - "apiArgs": [], - "bounds": { - "left": 8, - "top": 8, - "height": 0, - "width": 0 - }, - "snippet": "", - "category": "Accessibility", "ignored": false, - "level": "recommendation", - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_accessiblename_exists.html#%7B%22message%22%3A%22Element%20%3Cimg%3E%20with%20%5C%22img%5C%22%20role%20has%20no%20accessible%20name%22%2C%22snippet%22%3A%22%3Cimg%20id%3D%5C%22ace%5C%22%20src%3D%5C%22fail.png%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22FAIL%22%5D%2C%22reasonId%22%3A%22fail_no_accessible_name%22%2C%22ruleId%22%3A%22aria_accessiblename_exists%22%2C%22msgArgs%22%3A%5B%22img%22%2C%22img%22%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cimg%20id%3D%5C%22ace%5C%22%20src%3D%5C%22fail.png%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { "ruleId": "aria_descendant_valid", @@ -526,7 +496,7 @@ "dom": "/html[1]/body[1]/img[1]", "aria": "/document[1]/img[1]" }, - "ruleTime": 0, + "ruleTime": 1, "reasonId": "pass", "message": "The element contains valid descendants", "messageArgs": [], @@ -539,13 +509,13 @@ }, "snippet": "", "category": "Accessibility", - "ignored": false, "level": "pass", + "ignored": false, "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_descendant_valid.html#%7B%22message%22%3A%22The%20element%20contains%20valid%20descendants%22%2C%22snippet%22%3A%22%3Cimg%20id%3D%5C%22ace%5C%22%20src%3D%5C%22fail.png%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_descendant_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" } ], - "numExecuted": 20, - "ruleTime": 2, + "numExecuted": 19, + "ruleTime": 4, "nls": { "html_lang_exists": { "0": "Page must identify the default language of the document with a 'lang' attribute", @@ -591,10 +561,6 @@ "0": "Element 'id' attribute values must be unique within a document", "Pass_0": "Rule Passed" }, - "aria_accessiblename_exists": { - "0": "Elements with certain roles should have accessible names", - "fail_no_accessible_name": "Element <{0}> with \"{1}\" role has no accessible name" - }, "aria_descendant_valid": { "0": "Browsers ignore the explicit and implicit ARIA roles of the descendants of certain elements", "pass": "The element contains valid descendants" @@ -602,18 +568,18 @@ }, "summary": { "counts": { + "ignored": 5, + "elements": 4, + "elementsViolation": 0, + "elementsViolationReview": 0, "violation": 0, "potentialviolation": 0, - "recommendation": 1, + "recommendation": 0, "potentialrecommendation": 0, "manual": 0, - "pass": 14, - "ignored": 5, - "elements": 4, - "elementsViolation": 0, - "elementsViolationReview": 0 + "pass": 14 }, - "scanTime": 28, + "scanTime": 41, "ruleArchive": "Preview Rules (preview)", "policies": [ "IBM_Accessibility", @@ -627,10 +593,10 @@ "manual", "pass" ], - "startScan": 1729695667976, + "startScan": 1733103906113, "URL": "data:text/html;charset=utf-8,%3C!--%0A%20%20%20%20%20%2F******************************************************************************%0A%20%20%20%20%20Copyright%3A%3A%202020-%20IBM%2C%20Inc%0A%0A%20%20%20%20Licensed%20under%20the%20Apache%20License%2C%20Version%202.0%20(the%20%22License%22)%3B%0A%20%20%20%20you%20may%20not%20use%20this%20file%20except%20in%20compliance%20with%20the%20License.%0A%20%20%20%20You%20may%20obtain%20a%20copy%20of%20the%20License%20at%0A%0A%20%20%20%20http%3A%2F%2Fwww.apache.org%2Flicenses%2FLICENSE-2.0%0A%0A%20%20%20%20Unless%20required%20by%20applicable%20law%20or%20agreed%20to%20in%20writing%2C%20software%0A%20%20%20%20distributed%20under%20the%20License%20is%20distributed%20on%20an%20%22AS%20IS%22%20BASIS%2C%0A%20%20%20%20WITHOUT%20WARRANTIES%20OR%20CONDITIONS%20OF%20ANY%20KIND%2C%20either%20express%20or%20implied.%0A%20%20%20%20See%20the%20License%20for%20the%20specific%20language%20governing%20permissions%20and%0A%20%20%20%20limitations%20under%20the%20License.%0A%20%20*****************************************************************************%2F%0A%0A--%3E%20%20%20%20%0A%20%20%20%20%3Chtml%3E%0A%20%20%20%20%3Cbody%3E%0A%20%20%20%20%20%20%20%20%3Cimg%20src%3D%22fail.png%22%20id%3D%22ace%22%3E%0A%20%20%20%20%3C%2Fbody%3E%0A%3C%2Fhtml%3E" }, - "scanID": "773dc15c-5eb9-43e3-886c-4a0c472ab819", + "scanID": "e069e82d-c157-4c5d-9ba5-bf8f5346c8ec", "toolID": "accessibility-checker-v3.0.0", "label": "Baseline_aChecker.Baseline.html" } \ No newline at end of file diff --git a/accessibility-checker/test/baselines/JSONObjectStructureVerification.html.json b/accessibility-checker/test/baselines/JSONObjectStructureVerification.html.json index 7ff700c3e..67bee4836 100644 --- a/accessibility-checker/test/baselines/JSONObjectStructureVerification.html.json +++ b/accessibility-checker/test/baselines/JSONObjectStructureVerification.html.json @@ -1,72 +1,43 @@ { "results": [ { - "ruleId": "html_lang_valid", - "value": [ - "VIOLATION", - "PASS" - ], - "path": { - "dom": "/html[1]", - "aria": "/document[1]" - }, - "ruleTime": 0, - "reasonId": "Pass_0", - "message": "Lang has a valid primary lang and conforms to BCP 47", - "messageArgs": [], - "apiArgs": [], - "bounds": { - "left": 0, - "top": 0, - "height": 144, - "width": 800 - }, - "snippet": "", - "category": "Accessibility", - "level": "pass", - "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/html_lang_valid.html#%7B%22message%22%3A%22Lang%20has%20a%20valid%20primary%20lang%20and%20conforms%20to%20BCP%2047%22%2C%22snippet%22%3A%22%3Chtml%20lang%3D%5C%22en%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22html_lang_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" - }, - { - "ruleId": "html_lang_exists", + "ruleId": "page_title_valid", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]", + "dom": "/html[1]/head[1]/title[1]", "aria": "/document[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", - "message": "Page language detected as \"en\"", + "message": "Rule Passed", "messageArgs": [ - "en" + "Helo World" ], "apiArgs": [], "bounds": { "left": 0, "top": 0, - "height": 144, - "width": 800 + "height": 0, + "width": 0 }, - "snippet": "", + "snippet": "", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/html_lang_exists.html#%7B%22message%22%3A%22Page%20language%20detected%20as%20%5C%22en%5C%22%22%2C%22snippet%22%3A%22%3Chtml%20lang%3D%5C%22en%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22html_lang_exists%22%2C%22msgArgs%22%3A%5B%22en%22%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/page_title_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ctitle%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22page_title_valid%22%2C%22msgArgs%22%3A%5B%22Helo%20World%22%5D%7D" }, { - "ruleId": "html_skipnav_exists", + "ruleId": "aria_content_in_landmark", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]", + "dom": "/html[1]/head[1]/title[1]", "aria": "/document[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], @@ -74,26 +45,25 @@ "bounds": { "left": 0, "top": 0, - "height": 144, - "width": 800 + "height": 0, + "width": 0 }, - "snippet": "<html lang=\"en\">", + "snippet": "<title>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/html_skipnav_exists.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Chtml%20lang%3D%5C%22en%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22html_skipnav_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ctitle%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "page_title_exists", + "ruleId": "aria_content_in_landmark", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]", + "dom": "/html[1]/head[1]/meta[2]", "aria": "/document[1]" }, - "ruleTime": 1, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], @@ -101,26 +71,25 @@ "bounds": { "left": 0, "top": 0, - "height": 144, - "width": 800 + "height": 0, + "width": 0 }, - "snippet": "<html lang=\"en\">", + "snippet": "<meta content=\"text\" name=\"Description\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/page_title_exists.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Chtml%20lang%3D%5C%22en%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22page_title_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cmeta%20content%3D%5C%22text%5C%22%20name%3D%5C%22Description%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "img_alt_background", + "ruleId": "aria_content_in_landmark", "value": [ - "RECOMMENDATION", + "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]", + "dom": "/html[1]/head[1]/meta[1]", "aria": "/document[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], @@ -128,14 +97,14 @@ "bounds": { "left": 0, "top": 0, - "height": 144, - "width": 800 + "height": 0, + "width": 0 }, - "snippet": "<html lang=\"en\">", + "snippet": "<meta charset=\"utf-8\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Chtml%20lang%3D%5C%22en%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cmeta%20charset%3D%5C%22utf-8%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { "ruleId": "aria_content_in_landmark", @@ -147,7 +116,6 @@ "dom": "/html[1]/head[1]", "aria": "/document[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], @@ -165,222 +133,220 @@ "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Chead%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "page_title_valid", + "ruleId": "text_whitespace_valid", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/head[1]/title[1]", - "aria": "/document[1]" + "dom": "/html[1]/body[1]/div[2]/h1[1]", + "aria": "/document[1]/main[1]/heading[1]" }, - "ruleTime": 0, - "reasonId": "Pass_0", + "reasonId": "pass", "message": "Rule Passed", - "messageArgs": [ - "Helo World" - ], + "messageArgs": [], "apiArgs": [], "bounds": { - "left": 0, - "top": 0, - "height": 0, - "width": 0 + "left": 8, + "top": 48, + "height": 74, + "width": 784 }, - "snippet": "<title>", + "snippet": "<h1>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/page_title_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ctitle%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22page_title_valid%22%2C%22msgArgs%22%3A%5B%22Helo%20World%22%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_content_in_landmark", + "ruleId": "text_quoted_correctly", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/head[1]/title[1]", - "aria": "/document[1]" + "dom": "/html[1]/body[1]/div[2]/h1[1]", + "aria": "/document[1]/main[1]/heading[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { - "left": 0, - "top": 0, - "height": 0, - "width": 0 + "left": 8, + "top": 48, + "height": 74, + "width": 784 }, - "snippet": "<title>", + "snippet": "<h1>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ctitle%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_content_in_landmark", + "ruleId": "text_contrast_sufficient", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/head[1]/meta[1]", - "aria": "/document[1]" + "dom": "/html[1]/body[1]/div[2]/h1[1]", + "aria": "/document[1]/main[1]/heading[1]" }, - "ruleTime": 0, - "reasonId": "Pass_0", - "message": "Rule Passed", - "messageArgs": [], + "reasonId": "pass", + "message": "The contrast ratio of text with its background meets WCAG AA requirements", + "messageArgs": [ + "21.00", + 32, + 700, + "#000000", + "#ffffff", + false, + false + ], "apiArgs": [], "bounds": { - "left": 0, - "top": 0, - "height": 0, - "width": 0 + "left": 8, + "top": 48, + "height": 74, + "width": 784 }, - "snippet": "<meta charset=\"utf-8\">", + "snippet": "<h1>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cmeta%20charset%3D%5C%22utf-8%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_contrast_sufficient.html#%7B%22message%22%3A%22The%20contrast%20ratio%20of%20text%20with%20its%20background%20meets%20WCAG%20AA%20requirements%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_contrast_sufficient%22%2C%22msgArgs%22%3A%5B%2221.00%22%2C32%2C700%2C%22%23000000%22%2C%22%23ffffff%22%2Cfalse%2Cfalse%5D%7D" }, { - "ruleId": "aria_content_in_landmark", + "ruleId": "img_alt_background", "value": [ - "VIOLATION", + "RECOMMENDATION", "PASS" ], "path": { - "dom": "/html[1]/head[1]/meta[2]", - "aria": "/document[1]" + "dom": "/html[1]/body[1]/div[2]/h1[1]", + "aria": "/document[1]/main[1]/heading[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { - "left": 0, - "top": 0, - "height": 0, - "width": 0 + "left": 8, + "top": 48, + "height": 74, + "width": 784 }, - "snippet": "<meta content=\"text\" name=\"Description\">", + "snippet": "<h1>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cmeta%20content%3D%5C%22text%5C%22%20name%3D%5C%22Description%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "skip_main_exists", + "ruleId": "heading_markup_misuse", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]", - "aria": "/document[1]" + "dom": "/html[1]/body[1]/div[2]/h1[1]", + "aria": "/document[1]/main[1]/heading[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 114, + "top": 48, + "height": 74, "width": 784 }, - "snippet": "<body>", + "snippet": "<h1>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/skip_main_exists.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22skip_main_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/heading_markup_misuse.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22heading_markup_misuse%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "skip_main_described", + "ruleId": "heading_content_exists", "value": [ - "VIOLATION", + "RECOMMENDATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]", - "aria": "/document[1]" + "dom": "/html[1]/body[1]/div[2]/h1[1]", + "aria": "/document[1]/main[1]/heading[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", - "message": "Rule Passed", + "message": "Heading element has descriptive text", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 114, + "top": 48, + "height": 74, "width": 784 }, - "snippet": "<body>", + "snippet": "<h1>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/skip_main_described.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22skip_main_described%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/heading_content_exists.html#%7B%22message%22%3A%22Heading%20element%20has%20descriptive%20text%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22heading_content_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "img_alt_background", + "ruleId": "aria_content_in_landmark", "value": [ - "RECOMMENDATION", + "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]", - "aria": "/document[1]" + "dom": "/html[1]/body[1]/div[2]/h1[1]", + "aria": "/document[1]/main[1]/heading[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 114, + "top": 48, + "height": 74, "width": 784 }, - "snippet": "<body>", + "snippet": "<h1>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_quoted_correctly", + "ruleId": "aria_accessiblename_exists", "value": [ - "VIOLATION", + "INFORMATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]", - "aria": "/document[1]" + "dom": "/html[1]/body[1]/div[2]/h1[1]", + "aria": "/document[1]/main[1]/heading[1]" }, - "ruleTime": 1, - "reasonId": "Pass_0", - "message": "Rule Passed", + "reasonId": "pass", + "message": "An accessible name is provided for the element", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 114, + "top": 48, + "height": 74, "width": 784 }, - "snippet": "<body>", + "snippet": "<h1>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_accessiblename_exists.html#%7B%22message%22%3A%22An%20accessible%20name%20is%20provided%20for%20the%20element%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22INFORMATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_accessiblename_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { "ruleId": "text_whitespace_valid", @@ -389,163 +355,157 @@ "PASS" ], "path": { - "dom": "/html[1]/body[1]", - "aria": "/document[1]" + "dom": "/html[1]/body[1]/div[2]/div[2]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, "reasonId": "pass", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 114, + "top": 144, + "height": 0, "width": 784 }, - "snippet": "<body>", + "snippet": "<div id=\"firstDiv\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_role_allowed", + "ruleId": "text_quoted_correctly", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]", - "aria": "/document[1]/navigation[1]" + "dom": "/html[1]/body[1]/div[2]/div[2]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 19, + "top": 144, + "height": 0, "width": 784 }, - "snippet": "<div role=\"navigation\">", + "snippet": "<div id=\"firstDiv\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_role_allowed.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_role_allowed%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_keyboard_handler_exists", + "ruleId": "img_alt_background", "value": [ - "VIOLATION", + "RECOMMENDATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]", - "aria": "/document[1]/navigation[1]" + "dom": "/html[1]/body[1]/div[2]/div[2]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, - "reasonId": "pass", + "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 19, + "top": 144, + "height": 0, "width": 784 }, - "snippet": "<div role=\"navigation\">", + "snippet": "<div id=\"firstDiv\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_keyboard_handler_exists.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_keyboard_handler_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_role_redundant", + "ruleId": "element_id_unique", "value": [ - "RECOMMENDATION", - "PASS" + "VIOLATION", + "FAIL" ], "path": { - "dom": "/html[1]/body[1]/div[1]", - "aria": "/document[1]/navigation[1]" + "dom": "/html[1]/body[1]/div[2]/div[2]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, - "reasonId": "pass", - "message": "An explicitly-assigned ARIA role is not redundant with the implicit role of the element", - "messageArgs": [], + "reasonId": "Fail_2", + "message": "The <div> element has the id \"firstDiv\" that is already in use", + "messageArgs": [ + "div", + "firstDiv" + ], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 19, + "top": 144, + "height": 0, "width": 784 }, - "snippet": "<div role=\"navigation\">", + "snippet": "<div id=\"firstDiv\">", "category": "Accessibility", - "level": "pass", - "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_role_redundant.html#%7B%22message%22%3A%22An%20explicitly-assigned%20ARIA%20role%20is%20not%20redundant%20with%20the%20implicit%20role%20of%20the%20element%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_role_redundant%22%2C%22msgArgs%22%3A%5B%5D%7D" + "level": "violation", + "ignored": true, + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/element_id_unique.html#%7B%22message%22%3A%22The%20%3Cdiv%3E%20element%20has%20the%20id%20%5C%22firstDiv%5C%22%20that%20is%20already%20in%20use%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22FAIL%22%5D%2C%22reasonId%22%3A%22Fail_2%22%2C%22ruleId%22%3A%22element_id_unique%22%2C%22msgArgs%22%3A%5B%22div%22%2C%22firstDiv%22%5D%7D" }, { - "ruleId": "aria_role_valid", + "ruleId": "aria_content_in_landmark", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]", - "aria": "/document[1]/navigation[1]" + "dom": "/html[1]/body[1]/div[2]/div[2]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", - "messageArgs": [ - "navigation", - "div" - ], + "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 19, + "top": 144, + "height": 0, "width": 784 }, - "snippet": "<div role=\"navigation\">", + "snippet": "<div id=\"firstDiv\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_role_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_role_valid%22%2C%22msgArgs%22%3A%5B%22navigation%22%2C%22div%22%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "img_alt_background", + "ruleId": "text_whitespace_valid", "value": [ - "RECOMMENDATION", + "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]", - "aria": "/document[1]/navigation[1]" + "dom": "/html[1]/body[1]/div[2]/div[1]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, - "reasonId": "Pass_0", + "reasonId": "pass", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 19, + "top": 144, + "height": 0, "width": 784 }, - "snippet": "<div role=\"navigation\">", + "snippet": "<div id=\"firstDiv\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { "ruleId": "text_quoted_correctly", @@ -554,79 +514,76 @@ "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]", - "aria": "/document[1]/navigation[1]" + "dom": "/html[1]/body[1]/div[2]/div[1]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 19, + "top": 144, + "height": 0, "width": 784 }, - "snippet": "<div role=\"navigation\">", + "snippet": "<div id=\"firstDiv\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_whitespace_valid", + "ruleId": "img_alt_background", "value": [ - "VIOLATION", + "RECOMMENDATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]", - "aria": "/document[1]/navigation[1]" + "dom": "/html[1]/body[1]/div[2]/div[1]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, - "reasonId": "pass", + "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 19, + "top": 144, + "height": 0, "width": 784 }, - "snippet": "<div role=\"navigation\">", + "snippet": "<div id=\"firstDiv\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_attribute_required", + "ruleId": "element_id_unique", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]", - "aria": "/document[1]/navigation[1]" + "dom": "/html[1]/body[1]/div[2]/div[1]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 1, - "reasonId": "pass", - "message": "The required attributes for the element with the role are defined", + "reasonId": "Pass_0", + "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 19, + "top": 144, + "height": 0, "width": 784 }, - "snippet": "<div role=\"navigation\">", + "snippet": "<div id=\"firstDiv\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_attribute_required.html#%7B%22message%22%3A%22The%20required%20attributes%20for%20the%20element%20with%20the%20role%20are%20defined%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_attribute_required%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/element_id_unique.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22element_id_unique%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { "ruleId": "aria_content_in_landmark", @@ -635,79 +592,76 @@ "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]/a[1]", - "aria": "/document[1]/navigation[1]/link[1]" + "dom": "/html[1]/body[1]/div[2]/div[1]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 18, - "width": 56 + "top": 144, + "height": 0, + "width": 784 }, - "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", + "snippet": "<div id=\"firstDiv\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "element_tabbable_unobscured", + "ruleId": "text_whitespace_valid", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]/a[1]", - "aria": "/document[1]/navigation[1]/link[1]" + "dom": "/html[1]/body[1]/div[2]/a[1]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 1, "reasonId": "pass", - "message": "The element is not entirely covered by other content", + "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 18, - "width": 56 + "top": 48, + "height": 0, + "width": 0 }, - "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", + "snippet": "<a name=\"navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/element_tabbable_unobscured.html#%7B%22message%22%3A%22The%20element%20is%20not%20entirely%20covered%20by%20other%20content%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22element_tabbable_unobscured%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20name%3D%5C%22navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "element_tabbable_visible", + "ruleId": "text_quoted_correctly", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]/a[1]", - "aria": "/document[1]/navigation[1]/link[1]" + "dom": "/html[1]/body[1]/div[2]/a[1]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, - "reasonId": "pass", - "message": "The tabbable element is visible on the screen", + "reasonId": "Pass_0", + "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 18, - "width": 56 + "top": 48, + "height": 0, + "width": 0 }, - "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", + "snippet": "<a name=\"navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/element_tabbable_visible.html#%7B%22message%22%3A%22The%20tabbable%20element%20is%20visible%20on%20the%20screen%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22element_tabbable_visible%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20name%3D%5C%22navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { "ruleId": "img_alt_background", @@ -716,252 +670,238 @@ "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]/a[1]", - "aria": "/document[1]/navigation[1]/link[1]" + "dom": "/html[1]/body[1]/div[2]/a[1]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 18, - "width": 56 + "top": 48, + "height": 0, + "width": 0 }, - "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", + "snippet": "<a name=\"navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20name%3D%5C%22navskip%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "style_focus_visible", + "ruleId": "aria_content_in_landmark", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]/a[1]", - "aria": "/document[1]/navigation[1]/link[1]" + "dom": "/html[1]/body[1]/div[2]/a[1]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, - "reasonId": "pass_focus_visible", - "message": "The keyboard focus indicator is visible or is not changed from the browser default", + "reasonId": "Pass_0", + "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 18, - "width": 56 + "top": 48, + "height": 0, + "width": 0 }, - "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", + "snippet": "<a name=\"navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/style_focus_visible.html#%7B%22message%22%3A%22The%20keyboard%20focus%20indicator%20is%20visible%20or%20is%20not%20changed%20from%20the%20browser%20default%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass_focus_visible%22%2C%22ruleId%22%3A%22style_focus_visible%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20name%3D%5C%22navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "target_spacing_sufficient", + "ruleId": "text_whitespace_valid", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]/a[1]", - "aria": "/document[1]/navigation[1]/link[1]" + "dom": "/html[1]/body[1]/div[2]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 1, - "reasonId": "pass_default", - "message": "The target's size is determined by the user agent and is not modified by the author", + "reasonId": "pass", + "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 18, - "width": 56 + "top": 48, + "height": 74, + "width": 784 }, - "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", + "snippet": "<div role=\"main\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/target_spacing_sufficient.html#%7B%22message%22%3A%22The%20target's%20size%20is%20determined%20by%20the%20user%20agent%20and%20is%20not%20modified%20by%20the%20author%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass_default%22%2C%22ruleId%22%3A%22target_spacing_sufficient%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_contrast_sufficient", + "ruleId": "text_quoted_correctly", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]/a[1]", - "aria": "/document[1]/navigation[1]/link[1]" + "dom": "/html[1]/body[1]/div[2]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 2, - "reasonId": "pass", - "message": "The contrast ratio of text with its background meets WCAG AA requirements", - "messageArgs": [ - "9.40", - 16, - 400, - "#0000ee", - "#ffffff", - false, - false - ], + "reasonId": "Pass_0", + "message": "Rule Passed", + "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 18, - "width": 56 + "top": 48, + "height": 74, + "width": 784 }, - "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", + "snippet": "<div role=\"main\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_contrast_sufficient.html#%7B%22message%22%3A%22The%20contrast%20ratio%20of%20text%20with%20its%20background%20meets%20WCAG%20AA%20requirements%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_contrast_sufficient%22%2C%22msgArgs%22%3A%5B%229.40%22%2C16%2C400%2C%22%230000ee%22%2C%22%23ffffff%22%2Cfalse%2Cfalse%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_quoted_correctly", + "ruleId": "img_alt_background", "value": [ - "VIOLATION", + "RECOMMENDATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]/a[1]", - "aria": "/document[1]/navigation[1]/link[1]" + "dom": "/html[1]/body[1]/div[2]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 18, - "width": 56 + "top": 48, + "height": 74, + "width": 784 }, - "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", + "snippet": "<div role=\"main\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_whitespace_valid", + "ruleId": "aria_role_valid", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]/a[1]", - "aria": "/document[1]/navigation[1]/link[1]" + "dom": "/html[1]/body[1]/div[2]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 1, - "reasonId": "pass", + "reasonId": "Pass_0", "message": "Rule Passed", - "messageArgs": [], + "messageArgs": [ + "main", + "div" + ], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 18, - "width": 56 + "top": 48, + "height": 74, + "width": 784 }, - "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", + "snippet": "<div role=\"main\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_role_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_role_valid%22%2C%22msgArgs%22%3A%5B%22main%22%2C%22div%22%5D%7D" }, { - "ruleId": "a_text_purpose", + "ruleId": "aria_role_redundant", "value": [ - "VIOLATION", + "RECOMMENDATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]/a[1]", - "aria": "/document[1]/navigation[1]/link[1]" + "dom": "/html[1]/body[1]/div[2]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, "reasonId": "pass", - "message": "Hyperlink has a description of its purpose", + "message": "An explicitly-assigned ARIA role is not redundant with the implicit role of the element", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 18, - "width": 56 + "top": 48, + "height": 74, + "width": 784 }, - "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", + "snippet": "<div role=\"main\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/a_text_purpose.html#%7B%22message%22%3A%22Hyperlink%20has%20a%20description%20of%20its%20purpose%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22a_text_purpose%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_role_redundant.html#%7B%22message%22%3A%22An%20explicitly-assigned%20ARIA%20role%20is%20not%20redundant%20with%20the%20implicit%20role%20of%20the%20element%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_role_redundant%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "widget_tabbable_exists", + "ruleId": "aria_role_allowed", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]/a[1]", - "aria": "/document[1]/navigation[1]/link[1]" + "dom": "/html[1]/body[1]/div[2]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 1, - "reasonId": "pass", + "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 18, - "width": 56 + "top": 48, + "height": 74, + "width": 784 }, - "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", + "snippet": "<div role=\"main\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/widget_tabbable_exists.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22widget_tabbable_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_role_allowed.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_role_allowed%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "widget_tabbable_single", + "ruleId": "aria_keyboard_handler_exists", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[1]/a[1]", - "aria": "/document[1]/navigation[1]/link[1]" + "dom": "/html[1]/body[1]/div[2]", + "aria": "/document[1]/main[1]" }, - "ruleTime": 0, "reasonId": "pass", - "message": "Components with a widget role should have no more than one tabbable element", + "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 8, - "height": 18, - "width": 56 + "top": 48, + "height": 74, + "width": 784 }, - "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", + "snippet": "<div role=\"main\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/widget_tabbable_single.html#%7B%22message%22%3A%22Components%20with%20a%20widget%20role%20should%20have%20no%20more%20than%20one%20tabbable%20element%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22widget_tabbable_single%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_keyboard_handler_exists.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_keyboard_handler_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_role_allowed", + "ruleId": "aria_attribute_required", "value": [ "VIOLATION", "PASS" @@ -970,9 +910,8 @@ "dom": "/html[1]/body[1]/div[2]", "aria": "/document[1]/main[1]" }, - "ruleTime": 0, - "reasonId": "Pass_0", - "message": "Rule Passed", + "reasonId": "pass", + "message": "The required attributes for the element with the role are defined", "messageArgs": [], "apiArgs": [], "bounds": { @@ -985,388 +924,379 @@ "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_role_allowed.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_role_allowed%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_attribute_required.html#%7B%22message%22%3A%22The%20required%20attributes%20for%20the%20element%20with%20the%20role%20are%20defined%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_attribute_required%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_keyboard_handler_exists", + "ruleId": "widget_tabbable_single", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]/div[1]/a[1]", + "aria": "/document[1]/navigation[1]/link[1]" }, - "ruleTime": 0, "reasonId": "pass", - "message": "Rule Passed", + "message": "Components with a widget role should have no more than one tabbable element", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, - "width": 784 + "top": 8, + "height": 18, + "width": 56 }, - "snippet": "<div role=\"main\">", + "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_keyboard_handler_exists.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_keyboard_handler_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/widget_tabbable_single.html#%7B%22message%22%3A%22Components%20with%20a%20widget%20role%20should%20have%20no%20more%20than%20one%20tabbable%20element%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22widget_tabbable_single%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_role_redundant", + "ruleId": "widget_tabbable_exists", "value": [ - "RECOMMENDATION", + "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]/div[1]/a[1]", + "aria": "/document[1]/navigation[1]/link[1]" }, - "ruleTime": 0, "reasonId": "pass", - "message": "An explicitly-assigned ARIA role is not redundant with the implicit role of the element", + "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, - "width": 784 + "top": 8, + "height": 18, + "width": 56 }, - "snippet": "<div role=\"main\">", + "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_role_redundant.html#%7B%22message%22%3A%22An%20explicitly-assigned%20ARIA%20role%20is%20not%20redundant%20with%20the%20implicit%20role%20of%20the%20element%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_role_redundant%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/widget_tabbable_exists.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22widget_tabbable_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_role_valid", + "ruleId": "text_whitespace_valid", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]/div[1]/a[1]", + "aria": "/document[1]/navigation[1]/link[1]" }, - "ruleTime": 1, - "reasonId": "Pass_0", + "reasonId": "pass", "message": "Rule Passed", - "messageArgs": [ - "main", - "div" - ], + "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, - "width": 784 + "top": 8, + "height": 18, + "width": 56 }, - "snippet": "<div role=\"main\">", + "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_role_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_role_valid%22%2C%22msgArgs%22%3A%5B%22main%22%2C%22div%22%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "img_alt_background", + "ruleId": "text_quoted_correctly", "value": [ - "RECOMMENDATION", + "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]/div[1]/a[1]", + "aria": "/document[1]/navigation[1]/link[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, - "width": 784 + "top": 8, + "height": 18, + "width": 56 }, - "snippet": "<div role=\"main\">", + "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_quoted_correctly", + "ruleId": "text_contrast_sufficient", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]/div[1]/a[1]", + "aria": "/document[1]/navigation[1]/link[1]" }, - "ruleTime": 1, - "reasonId": "Pass_0", - "message": "Rule Passed", - "messageArgs": [], + "reasonId": "pass", + "message": "The contrast ratio of text with its background meets WCAG AA requirements", + "messageArgs": [ + "9.40", + 16, + 400, + "#0000ee", + "#ffffff", + false, + false + ], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, - "width": 784 + "top": 8, + "height": 18, + "width": 56 }, - "snippet": "<div role=\"main\">", + "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_contrast_sufficient.html#%7B%22message%22%3A%22The%20contrast%20ratio%20of%20text%20with%20its%20background%20meets%20WCAG%20AA%20requirements%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_contrast_sufficient%22%2C%22msgArgs%22%3A%5B%229.40%22%2C16%2C400%2C%22%230000ee%22%2C%22%23ffffff%22%2Cfalse%2Cfalse%5D%7D" }, { - "ruleId": "text_whitespace_valid", + "ruleId": "target_spacing_sufficient", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]/div[1]/a[1]", + "aria": "/document[1]/navigation[1]/link[1]" }, - "ruleTime": 0, - "reasonId": "pass", - "message": "Rule Passed", + "reasonId": "pass_default", + "message": "The target's size is determined by the user agent and is not modified by the author", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, - "width": 784 + "top": 8, + "height": 18, + "width": 56 }, - "snippet": "<div role=\"main\">", + "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/target_spacing_sufficient.html#%7B%22message%22%3A%22The%20target's%20size%20is%20determined%20by%20the%20user%20agent%20and%20is%20not%20modified%20by%20the%20author%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass_default%22%2C%22ruleId%22%3A%22target_spacing_sufficient%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_attribute_required", + "ruleId": "style_focus_visible", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]/div[1]/a[1]", + "aria": "/document[1]/navigation[1]/link[1]" }, - "ruleTime": 0, - "reasonId": "pass", - "message": "The required attributes for the element with the role are defined", + "reasonId": "pass_focus_visible", + "message": "The keyboard focus indicator is visible or is not changed from the browser default", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, - "width": 784 + "top": 8, + "height": 18, + "width": 56 }, - "snippet": "<div role=\"main\">", + "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_attribute_required.html#%7B%22message%22%3A%22The%20required%20attributes%20for%20the%20element%20with%20the%20role%20are%20defined%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22main%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_attribute_required%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/style_focus_visible.html#%7B%22message%22%3A%22The%20keyboard%20focus%20indicator%20is%20visible%20or%20is%20not%20changed%20from%20the%20browser%20default%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass_focus_visible%22%2C%22ruleId%22%3A%22style_focus_visible%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_content_in_landmark", + "ruleId": "img_alt_background", "value": [ - "VIOLATION", + "RECOMMENDATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/a[1]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]/div[1]/a[1]", + "aria": "/document[1]/navigation[1]/link[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 0, - "width": 0 + "top": 8, + "height": 18, + "width": 56 }, - "snippet": "<a name=\"navskip\">", + "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20name%3D%5C%22navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "img_alt_background", + "ruleId": "element_tabbable_visible", "value": [ - "RECOMMENDATION", + "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/a[1]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]/div[1]/a[1]", + "aria": "/document[1]/navigation[1]/link[1]" }, - "ruleTime": 0, - "reasonId": "Pass_0", - "message": "Rule Passed", + "reasonId": "pass", + "message": "The tabbable element is visible on the screen", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 0, - "width": 0 + "top": 8, + "height": 18, + "width": 56 }, - "snippet": "<a name=\"navskip\">", + "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20name%3D%5C%22navskip%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/element_tabbable_visible.html#%7B%22message%22%3A%22The%20tabbable%20element%20is%20visible%20on%20the%20screen%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22element_tabbable_visible%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_quoted_correctly", + "ruleId": "element_tabbable_unobscured", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/a[1]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]/div[1]/a[1]", + "aria": "/document[1]/navigation[1]/link[1]" }, - "ruleTime": 0, - "reasonId": "Pass_0", - "message": "Rule Passed", + "reasonId": "pass", + "message": "The element is not entirely covered by other content", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 0, - "width": 0 + "top": 8, + "height": 18, + "width": 56 }, - "snippet": "<a name=\"navskip\">", + "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20name%3D%5C%22navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/element_tabbable_unobscured.html#%7B%22message%22%3A%22The%20element%20is%20not%20entirely%20covered%20by%20other%20content%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22element_tabbable_unobscured%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_whitespace_valid", + "ruleId": "aria_content_in_landmark", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/a[1]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]/div[1]/a[1]", + "aria": "/document[1]/navigation[1]/link[1]" }, - "ruleTime": 0, - "reasonId": "pass", + "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 0, - "width": 0 + "top": 8, + "height": 18, + "width": 56 }, - "snippet": "<a name=\"navskip\">", + "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20name%3D%5C%22navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "heading_content_exists", + "ruleId": "a_text_purpose", "value": [ - "RECOMMENDATION", + "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/h1[1]", - "aria": "/document[1]/main[1]/heading[1]" + "dom": "/html[1]/body[1]/div[1]/a[1]", + "aria": "/document[1]/navigation[1]/link[1]" }, - "ruleTime": 0, - "reasonId": "Pass_0", - "message": "Heading element has descriptive text", + "reasonId": "pass", + "message": "Hyperlink has a description of its purpose", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, - "width": 784 + "top": 8, + "height": 18, + "width": 56 }, - "snippet": "<h1>", + "snippet": "<a alt=\"skip to main content\" href=\"#navskip\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/heading_content_exists.html#%7B%22message%22%3A%22Heading%20element%20has%20descriptive%20text%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22heading_content_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/a_text_purpose.html#%7B%22message%22%3A%22Hyperlink%20has%20a%20description%20of%20its%20purpose%22%2C%22snippet%22%3A%22%3Ca%20alt%3D%5C%22skip%20to%20main%20content%5C%22%20href%3D%5C%22%23navskip%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22a_text_purpose%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "heading_markup_misuse", + "ruleId": "text_whitespace_valid", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/h1[1]", - "aria": "/document[1]/main[1]/heading[1]" + "dom": "/html[1]/body[1]/div[1]", + "aria": "/document[1]/navigation[1]" }, - "ruleTime": 0, - "reasonId": "Pass_0", + "reasonId": "pass", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, + "top": 8, + "height": 19, "width": 784 }, - "snippet": "<h1>", + "snippet": "<div role=\"navigation\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/heading_markup_misuse.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22heading_markup_misuse%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_content_in_landmark", + "ruleId": "text_quoted_correctly", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/h1[1]", - "aria": "/document[1]/main[1]/heading[1]" + "dom": "/html[1]/body[1]/div[1]", + "aria": "/document[1]/navigation[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, + "top": 8, + "height": 19, "width": 784 }, - "snippet": "<h1>", + "snippet": "<div role=\"navigation\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { "ruleId": "img_alt_background", @@ -1375,418 +1305,423 @@ "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/h1[1]", - "aria": "/document[1]/main[1]/heading[1]" + "dom": "/html[1]/body[1]/div[1]", + "aria": "/document[1]/navigation[1]" }, - "ruleTime": 1, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, + "top": 8, + "height": 19, "width": 784 }, - "snippet": "<h1>", + "snippet": "<div role=\"navigation\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_contrast_sufficient", + "ruleId": "aria_role_valid", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/h1[1]", - "aria": "/document[1]/main[1]/heading[1]" + "dom": "/html[1]/body[1]/div[1]", + "aria": "/document[1]/navigation[1]" }, - "ruleTime": 1, - "reasonId": "pass", - "message": "The contrast ratio of text with its background meets WCAG AA requirements", + "reasonId": "Pass_0", + "message": "Rule Passed", "messageArgs": [ - "21.00", - 32, - 700, - "#000000", - "#ffffff", - false, - false + "navigation", + "div" + ], + "apiArgs": [], + "bounds": { + "left": 8, + "top": 8, + "height": 19, + "width": 784 + }, + "snippet": "<div role=\"navigation\">", + "category": "Accessibility", + "level": "pass", + "ignored": false, + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_role_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_role_valid%22%2C%22msgArgs%22%3A%5B%22navigation%22%2C%22div%22%5D%7D" + }, + { + "ruleId": "aria_role_redundant", + "value": [ + "RECOMMENDATION", + "PASS" ], + "path": { + "dom": "/html[1]/body[1]/div[1]", + "aria": "/document[1]/navigation[1]" + }, + "reasonId": "pass", + "message": "An explicitly-assigned ARIA role is not redundant with the implicit role of the element", + "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, + "top": 8, + "height": 19, "width": 784 }, - "snippet": "<h1>", + "snippet": "<div role=\"navigation\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_contrast_sufficient.html#%7B%22message%22%3A%22The%20contrast%20ratio%20of%20text%20with%20its%20background%20meets%20WCAG%20AA%20requirements%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_contrast_sufficient%22%2C%22msgArgs%22%3A%5B%2221.00%22%2C32%2C700%2C%22%23000000%22%2C%22%23ffffff%22%2Cfalse%2Cfalse%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_role_redundant.html#%7B%22message%22%3A%22An%20explicitly-assigned%20ARIA%20role%20is%20not%20redundant%20with%20the%20implicit%20role%20of%20the%20element%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_role_redundant%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_quoted_correctly", + "ruleId": "aria_role_allowed", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/h1[1]", - "aria": "/document[1]/main[1]/heading[1]" + "dom": "/html[1]/body[1]/div[1]", + "aria": "/document[1]/navigation[1]" }, - "ruleTime": 1, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, + "top": 8, + "height": 19, "width": 784 }, - "snippet": "<h1>", + "snippet": "<div role=\"navigation\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_role_allowed.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_role_allowed%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_whitespace_valid", + "ruleId": "aria_keyboard_handler_exists", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/h1[1]", - "aria": "/document[1]/main[1]/heading[1]" + "dom": "/html[1]/body[1]/div[1]", + "aria": "/document[1]/navigation[1]" }, - "ruleTime": 0, "reasonId": "pass", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, + "top": 8, + "height": 19, "width": 784 }, - "snippet": "<h1>", + "snippet": "<div role=\"navigation\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_keyboard_handler_exists.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_keyboard_handler_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_accessiblename_exists", + "ruleId": "aria_attribute_required", "value": [ - "RECOMMENDATION", + "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/h1[1]", - "aria": "/document[1]/main[1]/heading[1]" + "dom": "/html[1]/body[1]/div[1]", + "aria": "/document[1]/navigation[1]" }, - "ruleTime": 0, "reasonId": "pass", - "message": "An accessible name is provided for the element", + "message": "The required attributes for the element with the role are defined", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 48, - "height": 74, + "top": 8, + "height": 19, "width": 784 }, - "snippet": "<h1>", + "snippet": "<div role=\"navigation\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_accessiblename_exists.html#%7B%22message%22%3A%22An%20accessible%20name%20is%20provided%20for%20the%20element%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_accessiblename_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_attribute_required.html#%7B%22message%22%3A%22The%20required%20attributes%20for%20the%20element%20with%20the%20role%20are%20defined%22%2C%22snippet%22%3A%22%3Cdiv%20role%3D%5C%22navigation%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_attribute_required%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_content_in_landmark", + "ruleId": "text_whitespace_valid", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/div[1]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]", + "aria": "/document[1]" }, - "ruleTime": 0, - "reasonId": "Pass_0", + "reasonId": "pass", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 144, - "height": 0, + "top": 8, + "height": 114, "width": 784 }, - "snippet": "<div id=\"firstDiv\">", + "snippet": "<body>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "element_id_unique", + "ruleId": "text_quoted_correctly", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/div[1]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]", + "aria": "/document[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 144, - "height": 0, + "top": 8, + "height": 114, "width": 784 }, - "snippet": "<div id=\"firstDiv\">", + "snippet": "<body>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/element_id_unique.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22element_id_unique%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "img_alt_background", + "ruleId": "skip_main_exists", "value": [ - "RECOMMENDATION", + "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/div[1]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]", + "aria": "/document[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 144, - "height": 0, + "top": 8, + "height": 114, "width": 784 }, - "snippet": "<div id=\"firstDiv\">", + "snippet": "<body>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/skip_main_exists.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22skip_main_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_quoted_correctly", + "ruleId": "skip_main_described", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/div[1]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]", + "aria": "/document[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 144, - "height": 0, + "top": 8, + "height": 114, "width": 784 }, - "snippet": "<div id=\"firstDiv\">", + "snippet": "<body>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/skip_main_described.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22skip_main_described%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_whitespace_valid", + "ruleId": "img_alt_background", "value": [ - "VIOLATION", + "RECOMMENDATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/div[1]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]/body[1]", + "aria": "/document[1]" }, - "ruleTime": 0, - "reasonId": "pass", + "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { "left": 8, - "top": 144, - "height": 0, + "top": 8, + "height": 114, "width": 784 }, - "snippet": "<div id=\"firstDiv\">", + "snippet": "<body>", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cbody%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "aria_content_in_landmark", + "ruleId": "page_title_exists", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/div[2]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]", + "aria": "/document[1]" }, - "ruleTime": 1, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { - "left": 8, - "top": 144, - "height": 0, - "width": 784 + "left": 0, + "top": 0, + "height": 144, + "width": 800 }, - "snippet": "<div id=\"firstDiv\">", + "snippet": "<html lang=\"en\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_content_in_landmark.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22aria_content_in_landmark%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/page_title_exists.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Chtml%20lang%3D%5C%22en%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22page_title_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "element_id_unique", + "ruleId": "img_alt_background", "value": [ - "VIOLATION", - "FAIL" + "RECOMMENDATION", + "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/div[2]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]", + "aria": "/document[1]" }, - "ruleTime": 0, - "reasonId": "Fail_2", - "message": "The <div> element has the id \"firstDiv\" that is already in use", - "messageArgs": [ - "div", - "firstDiv" - ], + "reasonId": "Pass_0", + "message": "Rule Passed", + "messageArgs": [], "apiArgs": [], "bounds": { - "left": 8, - "top": 144, - "height": 0, - "width": 784 + "left": 0, + "top": 0, + "height": 144, + "width": 800 }, - "snippet": "<div id=\"firstDiv\">", + "snippet": "<html lang=\"en\">", "category": "Accessibility", - "level": "violation", - "ignored": true, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/element_id_unique.html#%7B%22message%22%3A%22The%20%3Cdiv%3E%20element%20has%20the%20id%20%5C%22firstDiv%5C%22%20that%20is%20already%20in%20use%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22FAIL%22%5D%2C%22reasonId%22%3A%22Fail_2%22%2C%22ruleId%22%3A%22element_id_unique%22%2C%22msgArgs%22%3A%5B%22div%22%2C%22firstDiv%22%5D%7D" + "level": "pass", + "ignored": false, + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Chtml%20lang%3D%5C%22en%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "img_alt_background", + "ruleId": "html_skipnav_exists", "value": [ - "RECOMMENDATION", + "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/div[2]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]", + "aria": "/document[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", "message": "Rule Passed", "messageArgs": [], "apiArgs": [], "bounds": { - "left": 8, - "top": 144, - "height": 0, - "width": 784 + "left": 0, + "top": 0, + "height": 144, + "width": 800 }, - "snippet": "<div id=\"firstDiv\">", + "snippet": "<html lang=\"en\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/img_alt_background.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22img_alt_background%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/html_skipnav_exists.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Chtml%20lang%3D%5C%22en%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22html_skipnav_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_quoted_correctly", + "ruleId": "html_lang_valid", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/div[2]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]", + "aria": "/document[1]" }, - "ruleTime": 0, "reasonId": "Pass_0", - "message": "Rule Passed", + "message": "Lang has a valid primary lang and conforms to BCP 47", "messageArgs": [], "apiArgs": [], "bounds": { - "left": 8, - "top": 144, - "height": 0, - "width": 784 + "left": 0, + "top": 0, + "height": 144, + "width": 800 }, - "snippet": "<div id=\"firstDiv\">", + "snippet": "<html lang=\"en\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_quoted_correctly.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22text_quoted_correctly%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/html_lang_valid.html#%7B%22message%22%3A%22Lang%20has%20a%20valid%20primary%20lang%20and%20conforms%20to%20BCP%2047%22%2C%22snippet%22%3A%22%3Chtml%20lang%3D%5C%22en%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22html_lang_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { - "ruleId": "text_whitespace_valid", + "ruleId": "html_lang_exists", "value": [ "VIOLATION", "PASS" ], "path": { - "dom": "/html[1]/body[1]/div[2]/div[2]", - "aria": "/document[1]/main[1]" + "dom": "/html[1]", + "aria": "/document[1]" }, - "ruleTime": 0, - "reasonId": "pass", - "message": "Rule Passed", - "messageArgs": [], + "reasonId": "Pass_0", + "message": "Page language detected as \"en\"", + "messageArgs": [ + "en" + ], "apiArgs": [], "bounds": { - "left": 8, - "top": 144, - "height": 0, - "width": 784 + "left": 0, + "top": 0, + "height": 144, + "width": 800 }, - "snippet": "<div id=\"firstDiv\">", + "snippet": "<html lang=\"en\">", "category": "Accessibility", "level": "pass", "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/text_whitespace_valid.html#%7B%22message%22%3A%22Rule%20Passed%22%2C%22snippet%22%3A%22%3Cdiv%20id%3D%5C%22firstDiv%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22text_whitespace_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/html_lang_exists.html#%7B%22message%22%3A%22Page%20language%20detected%20as%20%5C%22en%5C%22%22%2C%22snippet%22%3A%22%3Chtml%20lang%3D%5C%22en%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22Pass_0%22%2C%22ruleId%22%3A%22html_lang_exists%22%2C%22msgArgs%22%3A%5B%22en%22%5D%7D" } ], "numExecuted": 65, - "ruleTime": 15, + "ruleTime": 999, "nls": { "html_lang_valid": { "0": "The default human language of the page must be valid and specified in accordance with BCP 47", @@ -1915,7 +1850,7 @@ "manual": 0, "pass": 64 }, - "scanTime": 102, + "scanTime": 999, "ruleArchive": "Preview Rules (preview)", "policies": [ "IBM_Accessibility" @@ -1928,10 +1863,10 @@ "manual", "pass" ], - "startScan": 1730216530896, - "URL": "data:text/html;charset=utf-8,%3C!DOCTYPE%20html%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20HTML%204.01%20Transitional%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FTR%2Fhtml4%2Floose.dtd%22%3E%0A%3C!--%0A%20%20%20%20%20%2F******************************************************************************%0A%20%20%20%20%20Copyright%3A%3A%202020-%20IBM%2C%20Inc%0A%0A%20%20%20%20Licensed%20under%20the%20Apache%20License%2C%20Version%202.0%20(the%20%22License%22)%3B%0A%20%20%20%20you%20may%20not%20use%20this%20file%20except%20in%20compliance%20with%20the%20License.%0A%20%20%20%20You%20may%20obtain%20a%20copy%20of%20the%20License%20at%0A%0A%20%20%20%20http%3A%2F%2Fwww.apache.org%2Flicenses%2FLICENSE-2.0%0A%0A%20%20%20%20Unless%20required%20by%20applicable%20law%20or%20agreed%20to%20in%20writing%2C%20software%0A%20%20%20%20distributed%20under%20the%20License%20is%20distributed%20on%20an%20%22AS%20IS%22%20BASIS%2C%0A%20%20%20%20WITHOUT%20WARRANTIES%20OR%20CONDITIONS%20OF%20ANY%20KIND%2C%20either%20express%20or%20implied.%0A%20%20%20%20See%20the%20License%20for%20the%20specific%20language%20governing%20permissions%20and%0A%20%20%20%20limitations%20under%20the%20License.%0A%20%20*****************************************************************************%2F%0A%0A--%3E%20%0A%3Chtml%20lang%3D%22en%22%3E%0A%0A%3Chead%3E%0A%20%20%20%20%3Ctitle%3EHelo%20World%3C%2Ftitle%3E%0A%20%20%20%20%3Cmeta%20charset%3D%22utf-8%22%3E%0A%20%20%20%20%3Cmeta%20name%3D%22Description%22%20content%3D%22text%22%3E%0A%3C%2Fhead%3E%0A%0A%3Cbody%3E%0A%20%20%20%20%3Cdiv%20role%3D%22navigation%22%3E%0A%20%20%20%20%20%20%20%20%3Ca%20href%3D%22%23navskip%22%20alt%3D%22skip%20to%20main%20content%22%3E%20NavSkip%20%3C%2Fa%3E%0A%20%20%20%20%3C%2Fdiv%3E%0A%0A%20%20%20%20%3Cdiv%20role%3D%22main%22%3E%0A%20%20%20%20%20%20%20%20%3Ca%20name%3D%22navskip%22%3E%3C%2Fa%3E%0A%0A%20%20%20%20%20%20%20%20%3C!--%20xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%20--%3E%0A%0A%20%20%20%20%20%20%20%20%3Ch1%3EThis%20is%20a%20basic%20file%20to%20test%20that%20the%20karma-ibma%20is%20scanning%20for%20accessibility%20violations...%3C%2Fh1%3E%0A%0A%20%20%20%20%20%20%20%20%3Cdiv%20id%3D%22firstDiv%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C!--%3Cimg%20src%3D%22somfile.png%22%2F%3E--%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C!--%3Cimg%20src%3D%22somfile.png%22%2F%3E--%3E%0A%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%3Cdiv%20id%3D%22firstDiv%22%3E%0A%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%3C%2Fdiv%3E%0A%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0A%2F%2F%3C!%5BCDATA%5B%0A%20%20if%20(typeof(OpenAjax)%20%3D%3D%20'undefined')%20OpenAjax%20%3D%20%7B%7D%0A%20%20if%20(typeof(OpenAjax.a11y)%20%3D%3D%20'undefined')%20OpenAjax.a11y%20%3D%20%7B%7D%0A%20%20OpenAjax.a11y.ruleCoverage%20%3D%20%5B%0A%20%20%20%20%7B%0A%20%20%20%20%20%20ruleId%3A%20%221%22%2C%0A%20%20%20%20%20%20passedXpaths%3A%20%5B%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20failedXpaths%3A%20%5B%0A%20%20%20%20%20%20%5D%0A%20%20%20%20%7D%2C%0A%20%20%5D%3B%0A%2F%2F%5D%5D%3E%0A%3C%2Fscript%3E%20%20%20%20%0A%3C%2Fbody%3E%0A%0A%3C%2Fhtml%3E%0A" + "startScan": 99999999999, + "URL": "<URL>" }, - "scanID": "4c52c455-f4c2-4b51-816d-3ae99de4b8de", + "scanID": "uuid", "toolID": "accessibility-checker-v3.0.0", "label": "JSONObjectStructureVerification.html" } \ No newline at end of file diff --git a/accessibility-checker/test/baselines/JSONObjectStructureVerificationSelenium.html.json b/accessibility-checker/test/baselines/JSONObjectStructureVerificationSelenium.html.json index cfd47e5a7..270cb9d3d 100644 --- a/accessibility-checker/test/baselines/JSONObjectStructureVerificationSelenium.html.json +++ b/accessibility-checker/test/baselines/JSONObjectStructureVerificationSelenium.html.json @@ -458,11 +458,11 @@ "ruleId": "aria_accessiblename_exists", "snippet": "<h1>", "value": [ - "RECOMMENDATION", + "INFORMATION", "PASS" ], "ignored": false, - "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_accessiblename_exists.html#%7B%22message%22%3A%22An%20accessible%20name%20is%20provided%20for%20the%20element%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_accessiblename_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" + "help": "https://able.ibm.com/rules/archives/preview/doc/en-US/aria_accessiblename_exists.html#%7B%22message%22%3A%22An%20accessible%20name%20is%20provided%20for%20the%20element%22%2C%22snippet%22%3A%22%3Ch1%3E%22%2C%22value%22%3A%5B%22INFORMATION%22%2C%22PASS%22%5D%2C%22reasonId%22%3A%22pass%22%2C%22ruleId%22%3A%22aria_accessiblename_exists%22%2C%22msgArgs%22%3A%5B%5D%7D" }, { "apiArgs": [], diff --git a/cypress-accessibility-checker/test/baselines/violations.json b/cypress-accessibility-checker/test/baselines/violations.json index 48d3a1fab..0055e11f5 100644 --- a/cypress-accessibility-checker/test/baselines/violations.json +++ b/cypress-accessibility-checker/test/baselines/violations.json @@ -107,36 +107,6 @@ "level": "violation", "ignored": true, "help": "https://able.ibm.com/rules/archives/2024.10.01/doc/en-US/img_alt_valid.html#%7B%22message%22%3A%22The%20image%20has%20neither%20an%20accessible%20name%20nor%20is%20marked%20as%20decorative%20or%20redundant%22%2C%22snippet%22%3A%22%3Cimg%20src%3D%5C%22missing-alt.jpg%5C%22%3E%22%2C%22value%22%3A%5B%22VIOLATION%22%2C%22FAIL%22%5D%2C%22reasonId%22%3A%22fail_no_alt%22%2C%22ruleId%22%3A%22img_alt_valid%22%2C%22msgArgs%22%3A%5B%5D%7D" - }, - { - "ruleId": "aria_accessiblename_exists", - "value": [ - "RECOMMENDATION", - "FAIL" - ], - "path": { - "dom": "/html[1]/body[1]/img[1]", - "aria": "/document[1]/img[1]" - }, - "ruleTime": 0, - "reasonId": "fail_no_accessible_name", - "message": "Element <img> with \"img\" role has no accessible name", - "messageArgs": [ - "img", - "img" - ], - "apiArgs": [], - "bounds": { - "left": 16, - "top": 133, - "height": 32, - "width": 32 - }, - "snippet": "<img src=\"missing-alt.jpg\">", - "category": "Accessibility", - "level": "recommendation", - "ignored": false, - "help": "https://able.ibm.com/rules/archives/2024.10.01/doc/en-US/aria_accessiblename_exists.html#%7B%22message%22%3A%22Element%20%3Cimg%3E%20with%20%5C%22img%5C%22%20role%20has%20no%20accessible%20name%22%2C%22snippet%22%3A%22%3Cimg%20src%3D%5C%22missing-alt.jpg%5C%22%3E%22%2C%22value%22%3A%5B%22RECOMMENDATION%22%2C%22FAIL%22%5D%2C%22reasonId%22%3A%22fail_no_accessible_name%22%2C%22ruleId%22%3A%22aria_accessiblename_exists%22%2C%22msgArgs%22%3A%5B%22img%22%2C%22img%22%5D%7D" } ], "numExecuted": 28, @@ -154,10 +124,6 @@ "0": "Pages must provide a way to skip directly to the main content", "Fail_1": "The page does not provide a way to quickly navigate to the main content (ARIA \"main\" landmark or a skip link)" }, - "aria_accessiblename_exists": { - "0": "Elements with certain roles should have accessible names", - "fail_no_accessible_name": "Element <{0}> with \"{1}\" role has no accessible name" - }, "img_alt_valid": { "0": "Images must have accessible names unless they are decorative or redundant", "fail_no_alt": "The image has neither an accessible name nor is marked as decorative or redundant"