diff --git a/.gitignore b/.gitignore index 20654eb0..103ba60a 100644 --- a/.gitignore +++ b/.gitignore @@ -62,4 +62,5 @@ typings/ # build output /dist/ +/src/test-resources/generator/*.js /test-results/ diff --git a/README.md b/README.md index 6fe0c65e..e2fb46ca 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ The [microsoft/axe-pipelines-samples](https://github.com/microsoft/axe-pipelines The version number of this library is **independent** from the version numbers of the axe-core inputs and SARIF outputs it supports. -- axe-sarif-converter version 2.x supports input from version ^3.2.0 of axe-core (tested with 3.2.2 and 3.3.2) and outputs SARIF v2.1 +- axe-sarif-converter version 2.x supports input from version ^3.2.0 of axe-core (tested with 3.2.2, 3.3.2, and 3.4.1) and outputs SARIF v2.1 - axe-sarif-converter version 1.x supports input from version >= 3.2.0 < 3.3.0 of axe-core (tested with 3.2.2) and outputs SARIF v2.0 Note that the SARIF format _does not use semantic versioning_, and there are breaking changes between the v2.0 and v2.1 SARIF formats. If you need compatibility with a SARIF viewer that only supports v2.0, you should use version 1.x of this library. @@ -91,6 +91,33 @@ To get started working on the project: - `node dist/cli.js` - Alternately, register a linked global `axe-sarif-converter` command with `npm install && npm link` (yarn doesn't work for this; see [yarnpkg/yarn#1585](https://github.com/yarnpkg/yarn/issues/1585)) +### Updating axe-core version + +This package attempts to maintain backwards compatibility with axe-core versions ^3.2.2. We maintain +test cases using pinned output from multiple axe-core versions under `/src/test-resources/`, so updating +the version of axe-core we support involves generating new output for the new versions. + +Ideally we'd specify axe-core as a peer dependency; unfortunately, changing this now would be a breaking +change, so we're waiting to change this until we would need to make a breaking change anyway. + +To update the package and test cases to account for a new axe-core version: + +1. Update the version of axe-core in `yarn.lock` (_not_ `package.json`); usually dependabot will cover this. +1. Update the versions of axe-cli and axe-core in `src/test-resources/generator/package.json` +1. Generate test resource files for the new version with: + + ``` + cd src/test-resources/generator + yarn install + yarn generate + ``` + +1. Manually compare the diff of `/src/test-resources/basic-axe-vPREVIOUS.sarif` and `/src/test-resources/basic-axe-vNEW.sarif`; the only differences should be the version numbers. +1. Manually compare the diff of `/src/test-resources/w3citylights-axe-vPREVIOUS.sarif` and `/src/test-resources/w3citylights-axe-vNEW.sarif`; in addition to version number differences, you should see some differences based on new/removed rules between the axe versions. +1. Add test cases involving the new files to the integration tests in `src/index.test.ts` and `src/cli.test.ts` +1. Update snapshots (`yarn test -u`) +1. Update this README's `Version numbers` section to note which versions we've tested against. + ### Contributor License Agreement This project welcomes contributions and suggestions. Most contributions require you to agree to a diff --git a/jest.config.js b/jest.config.js index b70ced75..37ba9af0 100644 --- a/jest.config.js +++ b/jest.config.js @@ -18,6 +18,7 @@ module.exports = { collectCoverageFrom: [ '/**/*.ts', '!/**/*.test.ts', + '!/test-resources/generator/**/*.ts', // The CLI is tested via integration tests that spawn separate node // processes, so coverage information on this file isn't accurate '!/cli.ts', diff --git a/src/__snapshots__/index.test.ts.snap b/src/__snapshots__/index.test.ts.snap index da81aa8f..a95f3ecf 100644 --- a/src/__snapshots__/index.test.ts.snap +++ b/src/__snapshots__/index.test.ts.snap @@ -737,9 +737,9 @@ Object { }, "invocations": Array [ Object { - "endTimeUtc": "2019-03-22T19:12:06.129Z", + "endTimeUtc": "2000-01-02T03:04:05.006Z", "executionSuccessful": true, - "startTimeUtc": "2019-03-22T19:12:06.129Z", + "startTimeUtc": "2000-01-02T03:04:05.006Z", }, ], "results": Array [], @@ -1386,15 +1386,15 @@ Object { ], "tool": Object { "driver": Object { - "downloadUri": "https://www.npmjs.com/package/axe-core/v/3.3.2", - "fullName": "axe for Web v3.3.2", + "downloadUri": "https://www.npmjs.com/package/axe-core/v/3.4.1", + "fullName": "axe for Web v3.4.1", "informationUri": "https://www.deque.com/axe/axe-for-web/", "name": "axe-core", "properties": Object { "microsoft/qualityDomain": "Accessibility", }, "rules": Array [], - "semanticVersion": "3.3.2", + "semanticVersion": "3.4.1", "shortDescription": Object { "text": "An open source accessibility rules library for automated testing.", }, @@ -1405,7 +1405,7 @@ Object { "name": "WCAG", }, ], - "version": "3.3.2", + "version": "3.4.1", }, }, }, diff --git a/src/cli.test.ts b/src/cli.test.ts index bf87d968..2e3e9dbf 100644 --- a/src/cli.test.ts +++ b/src/cli.test.ts @@ -42,18 +42,31 @@ describe('axe-sarif-converter CLI', () => { } }); - it('supports conversion from axe-cli style list of results', async () => { - const outputFile = path.join(testResultsDir, 'axe-cli.sarif'); - await deleteIfExists(outputFile); - - const output = await invokeCliWith(`-i ${axeCliFile} -o ${outputFile}`); - - expect(output.stderr).toBe(''); - expect(output.stdout).toBe(''); - - const outputJson = JSON.parse((await readFile(outputFile)).toString()); - expect(outputJson.runs.length).toBe(1); - }); + it.each` + inputFile + ${'w3citylights-axe-v3.3.2.axe-cli-v3.1.1.json'} + ${'basic-axe-v3.4.1.axe-cli-v3.2.0.json'} + ${'w3citylights-axe-v3.4.1.axe-cli-v3.2.0.json'} + `( + 'supports conversion from axe-cli output $inputFile', + async ({ inputFile }) => { + const inputFilePath = path.join(testResourcesDir, inputFile); + const outputFile = path.join(testResultsDir, `${inputFile}.sarif`); + await deleteIfExists(outputFile); + + const output = await invokeCliWith( + `-i ${inputFilePath} -o ${outputFile}`, + ); + + expect(output.stderr).toBe(''); + expect(output.stdout).toBe(''); + + const outputJson = JSON.parse( + (await readFile(outputFile)).toString(), + ); + expect(outputJson.runs.length).toBe(1); + }, + ); it('supports basic conversion with short-form i/o args', async () => { const outputFile = path.join(testResultsDir, 'basic_short.sarif'); @@ -158,10 +171,6 @@ describe('axe-sarif-converter CLI', () => { testResourcesDir, 'basic-axe-v3.3.2.sarif', ); - const axeCliFile = path.join( - testResourcesDir, - 'w3citylights-axe-v3.3.2.axe-cli-v3.1.1.json', - ); const mkdir = promisify(fs.mkdir); const writeFile = promisify(fs.writeFile); diff --git a/src/index.test.ts b/src/index.test.ts index 5558380f..d82b5e2f 100644 --- a/src/index.test.ts +++ b/src/index.test.ts @@ -12,6 +12,7 @@ import * as fs from 'fs'; import * as path from 'path'; import { AxeRawResult } from './axe-raw-result'; import { convertAxeToSarif, SarifLog, sarifReporter } from './index'; +import { testResourceTimestampPlaceholder } from './test-resource-constants'; function readTestResourceJSON(testResourceFileName: string): any { const rawFileContents: string = fs.readFileSync( @@ -52,6 +53,10 @@ describe('public convertAxeToSarif API', () => { ${'basic-axe-v3.3.2.reporter-v2.json'} | ${'basic-axe-v3.3.2.sarif'} ${'w3citylights-axe-v3.3.2.reporter-v1.json'} | ${'w3citylights-axe-v3.3.2.sarif'} ${'w3citylights-axe-v3.3.2.reporter-v2.json'} | ${'w3citylights-axe-v3.3.2.sarif'} + ${'basic-axe-v3.4.1.reporter-v1.json'} | ${'basic-axe-v3.4.1.sarif'} + ${'basic-axe-v3.4.1.reporter-v2.json'} | ${'basic-axe-v3.4.1.sarif'} + ${'w3citylights-axe-v3.4.1.reporter-v1.json'} | ${'w3citylights-axe-v3.4.1.sarif'} + ${'w3citylights-axe-v3.4.1.reporter-v2.json'} | ${'w3citylights-axe-v3.4.1.sarif'} `( 'converts pinned v1/v2 input $inputFile to pinned output $outputFile', ({ inputFile, outputFile }) => { @@ -71,11 +76,11 @@ require('axe-core'); describe('public sarifReporter API', () => { const emptyAxeRunOptions = {}; - // Normalized values are the pinned expectations from basic-axe-v3.2.2-sarif-v2.1.2.sarif + // Normalized values are the pinned expectations from generated test-resources files function normalizeEnvironmentDerivedSarifProperties(sarif: SarifLog): void { sarif.runs[0]!.invocations!.forEach(i => { - i.endTimeUtc = '2019-03-22T19:12:06.129Z'; - i.startTimeUtc = '2019-03-22T19:12:06.129Z'; + i.endTimeUtc = testResourceTimestampPlaceholder; + i.startTimeUtc = testResourceTimestampPlaceholder; }); } @@ -96,7 +101,7 @@ describe('public sarifReporter API', () => { // it isn't very meaningful to test cases that involve old axe versions here. it.each` inputFile | outputFile - ${'basic-axe-v3.3.2.reporter-raw.json'} | ${'basic-axe-v3.3.2.sarif'} + ${'basic-axe-v3.4.1.reporter-raw.json'} | ${'basic-axe-v3.4.1.sarif'} `( 'converts pinned raw input $inputFile to pinned output $outputFile', async ({ inputFile, outputFile }) => { diff --git a/src/test-resource-constants.ts b/src/test-resource-constants.ts new file mode 100644 index 00000000..b4b903a4 --- /dev/null +++ b/src/test-resource-constants.ts @@ -0,0 +1,4 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +export const testResourceTimestampPlaceholder = '2000-01-02T03:04:05.006Z'; diff --git a/src/test-resources/basic-axe-v3.2.2.reporter-v2.json b/src/test-resources/basic-axe-v3.2.2.reporter-v2.json index 804e042f..5054e813 100644 --- a/src/test-resources/basic-axe-v3.2.2.reporter-v2.json +++ b/src/test-resources/basic-axe-v3.2.2.reporter-v2.json @@ -13,7 +13,7 @@ "orientationAngle": 0, "orientationType": "landscape-primary" }, - "timestamp": "2019-03-22T19:12:06.129Z", + "timestamp": "2000-01-02T03:04:05.006Z", "url": "http://localhost/", "toolOptions": { "reporter": "v2" diff --git a/src/test-resources/basic-axe-v3.2.2.sarif b/src/test-resources/basic-axe-v3.2.2.sarif index 27f5ce58..eadb47d2 100644 --- a/src/test-resources/basic-axe-v3.2.2.sarif +++ b/src/test-resources/basic-axe-v3.2.2.sarif @@ -65,8 +65,8 @@ }, "invocations": [ { - "startTimeUtc": "2019-03-22T19:12:06.129Z", - "endTimeUtc": "2019-03-22T19:12:06.129Z", + "startTimeUtc": "2000-01-02T03:04:05.006Z", + "endTimeUtc": "2000-01-02T03:04:05.006Z", "executionSuccessful": true } ], diff --git a/src/test-resources/basic-axe-v3.3.2.reporter-v1.json b/src/test-resources/basic-axe-v3.3.2.reporter-v1.json index 20c857be..a8d0cfd4 100644 --- a/src/test-resources/basic-axe-v3.3.2.reporter-v1.json +++ b/src/test-resources/basic-axe-v3.3.2.reporter-v1.json @@ -13,7 +13,7 @@ "orientationAngle": 0, "orientationType": "portrait-primary" }, - "timestamp": "2019-03-22T19:12:06.129Z", + "timestamp": "2000-01-02T03:04:05.006Z", "url": "http://localhost/", "toolOptions": { "reporter": "v1" diff --git a/src/test-resources/basic-axe-v3.3.2.reporter-v2.json b/src/test-resources/basic-axe-v3.3.2.reporter-v2.json index 9f8282fa..369300c2 100644 --- a/src/test-resources/basic-axe-v3.3.2.reporter-v2.json +++ b/src/test-resources/basic-axe-v3.3.2.reporter-v2.json @@ -13,7 +13,7 @@ "orientationAngle": 0, "orientationType": "portrait-primary" }, - "timestamp": "2019-03-22T19:12:06.129Z", + "timestamp": "2000-01-02T03:04:05.006Z", "url": "http://localhost/", "toolOptions": { "reporter": "v2" diff --git a/src/test-resources/basic-axe-v3.3.2.sarif b/src/test-resources/basic-axe-v3.3.2.sarif index 5fd94502..1d43dc7d 100644 --- a/src/test-resources/basic-axe-v3.3.2.sarif +++ b/src/test-resources/basic-axe-v3.3.2.sarif @@ -65,8 +65,8 @@ }, "invocations": [ { - "startTimeUtc": "2019-03-22T19:12:06.129Z", - "endTimeUtc": "2019-03-22T19:12:06.129Z", + "startTimeUtc": "2000-01-02T03:04:05.006Z", + "endTimeUtc": "2000-01-02T03:04:05.006Z", "executionSuccessful": true } ], diff --git a/src/test-resources/basic-axe-v3.4.1.axe-cli-v3.2.0.json b/src/test-resources/basic-axe-v3.4.1.axe-cli-v3.2.0.json new file mode 100644 index 00000000..2c936b1e --- /dev/null +++ b/src/test-resources/basic-axe-v3.4.1.axe-cli-v3.2.0.json @@ -0,0 +1,67 @@ +[ + { + "inapplicable": [], + "incomplete": [], + "passes": [], + "testEngine": { + "name": "axe-core", + "version": "3.4.1" + }, + "testEnvironment": { + "orientationAngle": 0, + "orientationType": "landscape-primary", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/79.0.3945.88 Safari/537.36", + "windowHeight": 600, + "windowWidth": 800 + }, + "testRunner": { + "name": "axe" + }, + "timestamp": "2020-01-07T01:18:34.868Z", + "toolOptions": { + "reporter": "v1", + "runOnly": { + "type": "rule", + "values": [ + "document-title" + ] + } + }, + "url": "file:///Q:/repos/axe-sarif-converter/src/test-resources/basic.html", + "violations": [ + { + "description": "Ensures each HTML document contains a non-empty element", + "help": "Documents must have <title> element to aid in navigation", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/document-title?application=webdriverjs", + "id": "document-title", + "impact": "serious", + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "doc-has-title", + "impact": "serious", + "message": "Document does not have a non-empty <title> element", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Document does not have a non-empty <title> element", + "html": "<html class=\"deque-axe-is-ready\"><head></head><body>\n</body><script>document.documentElement.classList.add(\"deque-axe-is-ready\");</script></html>", + "impact": "serious", + "none": [], + "target": [ + "html" + ] + } + ], + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag242" + ] + } + ] + } +] \ No newline at end of file diff --git a/src/test-resources/basic-axe-v3.4.1.reporter-raw.json b/src/test-resources/basic-axe-v3.4.1.reporter-raw.json new file mode 100644 index 00000000..cf548b3f --- /dev/null +++ b/src/test-resources/basic-axe-v3.4.1.reporter-raw.json @@ -0,0 +1,45 @@ +[ + { + "id": "document-title", + "result": "failed", + "pageLevel": false, + "impact": "serious", + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag242" + ], + "description": "Ensures each HTML document contains a non-empty <title> element", + "help": "Documents must have <title> element to aid in navigation", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/document-title?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [ + { + "any": [ + { + "id": "doc-has-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Document does not have a non-empty <title> element" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "html" + ], + "source": "<html><head></head><body>\n</body></html>", + "xpath": [ + "/html" + ] + }, + "impact": "serious", + "result": "failed" + } + ] + } +] \ No newline at end of file diff --git a/src/test-resources/basic-axe-v3.4.1.reporter-v1.json b/src/test-resources/basic-axe-v3.4.1.reporter-v1.json new file mode 100644 index 00000000..edb613d7 --- /dev/null +++ b/src/test-resources/basic-axe-v3.4.1.reporter-v1.json @@ -0,0 +1,69 @@ +{ + "testEngine": { + "name": "axe-core", + "version": "3.4.1" + }, + "testRunner": { + "name": "axe" + }, + "testEnvironment": { + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/78.0.3882.0 Safari/537.36", + "windowWidth": 800, + "windowHeight": 600, + "orientationAngle": 0, + "orientationType": "portrait-primary" + }, + "timestamp": "2000-01-02T03:04:05.006Z", + "url": "http://localhost/", + "toolOptions": { + "xpath": true, + "runOnly": { + "type": "rule", + "values": [ + "document-title" + ] + }, + "reporter": "v1" + }, + "violations": [ + { + "id": "document-title", + "impact": "serious", + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag242" + ], + "description": "Ensures each HTML document contains a non-empty <title> element", + "help": "Documents must have <title> element to aid in navigation", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/document-title?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "doc-has-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Document does not have a non-empty <title> element" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<html><head></head><body>\n</body></html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ], + "failureSummary": "Fix any of the following:\n Document does not have a non-empty <title> element" + } + ] + } + ], + "passes": [], + "incomplete": [], + "inapplicable": [] +} \ No newline at end of file diff --git a/src/test-resources/basic-axe-v3.4.1.reporter-v2.json b/src/test-resources/basic-axe-v3.4.1.reporter-v2.json new file mode 100644 index 00000000..a140f8e8 --- /dev/null +++ b/src/test-resources/basic-axe-v3.4.1.reporter-v2.json @@ -0,0 +1,68 @@ +{ + "testEngine": { + "name": "axe-core", + "version": "3.4.1" + }, + "testRunner": { + "name": "axe" + }, + "testEnvironment": { + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/78.0.3882.0 Safari/537.36", + "windowWidth": 800, + "windowHeight": 600, + "orientationAngle": 0, + "orientationType": "portrait-primary" + }, + "timestamp": "2000-01-02T03:04:05.006Z", + "url": "http://localhost/", + "toolOptions": { + "xpath": true, + "runOnly": { + "type": "rule", + "values": [ + "document-title" + ] + }, + "reporter": "v2" + }, + "violations": [ + { + "id": "document-title", + "impact": "serious", + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag242" + ], + "description": "Ensures each HTML document contains a non-empty <title> element", + "help": "Documents must have <title> element to aid in navigation", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/document-title?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "doc-has-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Document does not have a non-empty <title> element" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<html><head></head><body>\n</body></html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + } + ], + "passes": [], + "incomplete": [], + "inapplicable": [] +} \ No newline at end of file diff --git a/src/test-resources/basic-axe-v3.4.1.sarif b/src/test-resources/basic-axe-v3.4.1.sarif new file mode 100644 index 00000000..1de24dfb --- /dev/null +++ b/src/test-resources/basic-axe-v3.4.1.sarif @@ -0,0 +1,765 @@ +{ + "version": "2.1.0", + "runs": [ + { + "conversion": { + "tool": { + "driver": { + "name": "axe-sarif-converter", + "fullName": "axe-sarif-converter v0.0.0-managed-by-semantic-release", + "version": "0.0.0-managed-by-semantic-release", + "semanticVersion": "0.0.0-managed-by-semantic-release", + "informationUri": "https://github.com/microsoft/axe-sarif-converter/releases/tag/v0.0.0-managed-by-semantic-release", + "downloadUri": "https://www.npmjs.com/package/axe-sarif-converter/v/0.0.0-managed-by-semantic-release" + } + } + }, + "tool": { + "driver": { + "name": "axe-core", + "fullName": "axe for Web v3.4.1", + "shortDescription": { + "text": "An open source accessibility rules library for automated testing." + }, + "version": "3.4.1", + "semanticVersion": "3.4.1", + "informationUri": "https://www.deque.com/axe/axe-for-web/", + "downloadUri": "https://www.npmjs.com/package/axe-core/v/3.4.1", + "properties": { + "microsoft/qualityDomain": "Accessibility" + }, + "supportedTaxonomies": [ + { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + ], + "rules": [ + { + "id": "document-title", + "name": "Documents must have <title> element to aid in navigation", + "fullDescription": { + "text": "Ensures each HTML document contains a non-empty <title> element." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/document-title?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag242", + "index": 45, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ] + } + }, + "invocations": [ + { + "startTimeUtc": "2000-01-02T03:04:05.006Z", + "endTimeUtc": "2000-01-02T03:04:05.006Z", + "executionSuccessful": true + } + ], + "artifacts": [ + { + "location": { + "uri": "http://localhost/", + "index": 0 + }, + "sourceLanguage": "html", + "roles": [ + "analysisTarget" + ] + } + ], + "results": [ + { + "ruleId": "document-title", + "ruleIndex": 0, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Document does not have a non-empty <title> element.", + "markdown": "Fix any of the following:\n- Document does not have a non-empty <title> element." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "http://localhost/", + "index": 0 + }, + "region": { + "snippet": { + "text": "<html><head></head><body>\n</body></html>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "html", + "kind": "element" + }, + { + "fullyQualifiedName": "/html", + "kind": "element" + } + ] + } + ] + } + ], + "taxonomies": [ + { + "name": "WCAG", + "fullName": "Web Content Accessibility Guidelines (WCAG) 2.1", + "organization": "W3C", + "informationUri": "https://www.w3.org/TR/WCAG21", + "version": "2.1", + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18", + "isComprehensive": true, + "taxa": [ + { + "id": "best-practice", + "name": "Best Practice" + }, + { + "id": "wcag111", + "name": "WCAG 1.1.1", + "shortDescription": { + "text": "Non-text Content" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/non-text-content" + }, + { + "id": "wcag121", + "name": "WCAG 1.2.1", + "shortDescription": { + "text": "Audio-only and Video-only (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/audio-only-and-video-only-prerecorded" + }, + { + "id": "wcag122", + "name": "WCAG 1.2.2", + "shortDescription": { + "text": "Captions (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/captions-prerecorded" + }, + { + "id": "wcag123", + "name": "WCAG 1.2.3", + "shortDescription": { + "text": "Audio Description or Media Alternative (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/audio-description-or-media-alternative-prerecorded" + }, + { + "id": "wcag124", + "name": "WCAG 1.2.4", + "shortDescription": { + "text": "Captions (Live)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/captions-live" + }, + { + "id": "wcag125", + "name": "WCAG 1.2.5", + "shortDescription": { + "text": "Audio Description (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/audio-description-prerecorded" + }, + { + "id": "wcag126", + "name": "WCAG 1.2.6", + "shortDescription": { + "text": "Sign Language (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/sign-language-prerecorded" + }, + { + "id": "wcag127", + "name": "WCAG 1.2.7", + "shortDescription": { + "text": "Extended Audio Description (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/extended-audio-description-prerecorded" + }, + { + "id": "wcag128", + "name": "WCAG 1.2.8", + "shortDescription": { + "text": "Media Alternative (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/media-alternative-prerecorded" + }, + { + "id": "wcag129", + "name": "WCAG 1.2.9", + "shortDescription": { + "text": "Audio-only (Live)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/audio-only-live" + }, + { + "id": "wcag131", + "name": "WCAG 1.3.1", + "shortDescription": { + "text": "Info and Relationships" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/info-and-relationships" + }, + { + "id": "wcag132", + "name": "WCAG 1.3.2", + "shortDescription": { + "text": "Meaningful Sequence" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/meaningful-sequence" + }, + { + "id": "wcag133", + "name": "WCAG 1.3.3", + "shortDescription": { + "text": "Sensory Characteristics" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/sensory-characteristics" + }, + { + "id": "wcag134", + "name": "WCAG 1.3.4", + "shortDescription": { + "text": "Orientation" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/orientation" + }, + { + "id": "wcag135", + "name": "WCAG 1.3.5", + "shortDescription": { + "text": "Identify Input Purpose" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose" + }, + { + "id": "wcag136", + "name": "WCAG 1.3.6", + "shortDescription": { + "text": "Identify Purpose" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/identify-purpose" + }, + { + "id": "wcag141", + "name": "WCAG 1.4.1", + "shortDescription": { + "text": "Use of Color" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/use-of-color" + }, + { + "id": "wcag1410", + "name": "WCAG 1.4.10", + "shortDescription": { + "text": "Reflow" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/reflow" + }, + { + "id": "wcag1411", + "name": "WCAG 1.4.11", + "shortDescription": { + "text": "Non-text Contrast" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/non-text-contrast" + }, + { + "id": "wcag1412", + "name": "WCAG 1.4.12", + "shortDescription": { + "text": "Text Spacing" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/text-spacing" + }, + { + "id": "wcag1413", + "name": "WCAG 1.4.13", + "shortDescription": { + "text": "Content on Hover or Focus" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/content-on-hover-or-focus" + }, + { + "id": "wcag142", + "name": "WCAG 1.4.2", + "shortDescription": { + "text": "Audio Control" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/audio-control" + }, + { + "id": "wcag143", + "name": "WCAG 1.4.3", + "shortDescription": { + "text": "Contrast (Minimum)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum" + }, + { + "id": "wcag144", + "name": "WCAG 1.4.4", + "shortDescription": { + "text": "Resize text" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/resize-text" + }, + { + "id": "wcag145", + "name": "WCAG 1.4.5", + "shortDescription": { + "text": "Images of Text" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/images-of-text" + }, + { + "id": "wcag146", + "name": "WCAG 1.4.6", + "shortDescription": { + "text": "Contrast (Enhanced)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced" + }, + { + "id": "wcag147", + "name": "WCAG 1.4.7", + "shortDescription": { + "text": "Low or No Background Audio" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/low-or-no-background-audio" + }, + { + "id": "wcag148", + "name": "WCAG 1.4.8", + "shortDescription": { + "text": "Visual Presentation" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/visual-presentation" + }, + { + "id": "wcag149", + "name": "WCAG 1.4.9", + "shortDescription": { + "text": "Images of Text (No Exception)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/images-of-text-no-exception" + }, + { + "id": "wcag211", + "name": "WCAG 2.1.1", + "shortDescription": { + "text": "Keyboard" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/keyboard" + }, + { + "id": "wcag212", + "name": "WCAG 2.1.2", + "shortDescription": { + "text": "No Keyboard Trap" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/no-keyboard-trap" + }, + { + "id": "wcag213", + "name": "WCAG 2.1.3", + "shortDescription": { + "text": "Keyboard (No Exception)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/keyboard-no-exception" + }, + { + "id": "wcag214", + "name": "WCAG 2.1.4", + "shortDescription": { + "text": "Character Key Shortcuts" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/character-key-shortcuts" + }, + { + "id": "wcag221", + "name": "WCAG 2.2.1", + "shortDescription": { + "text": "Timing Adjustable" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/timing-adjustable" + }, + { + "id": "wcag222", + "name": "WCAG 2.2.2", + "shortDescription": { + "text": "Pause, Stop, Hide" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/pause-stop-hide" + }, + { + "id": "wcag223", + "name": "WCAG 2.2.3", + "shortDescription": { + "text": "No Timing" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/no-timing" + }, + { + "id": "wcag224", + "name": "WCAG 2.2.4", + "shortDescription": { + "text": "Interruptions" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/interruptions" + }, + { + "id": "wcag225", + "name": "WCAG 2.2.5", + "shortDescription": { + "text": "Re-authenticating" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/re-authenticating" + }, + { + "id": "wcag226", + "name": "WCAG 2.2.6", + "shortDescription": { + "text": "Timeouts" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/timeouts" + }, + { + "id": "wcag231", + "name": "WCAG 2.3.1", + "shortDescription": { + "text": "Three Flashes or Below Threshold" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/three-flashes-or-below-threshold" + }, + { + "id": "wcag232", + "name": "WCAG 2.3.2", + "shortDescription": { + "text": "Three Flashes" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/three-flashes" + }, + { + "id": "wcag233", + "name": "WCAG 2.3.3", + "shortDescription": { + "text": "Animation from Interactions" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/animation-from-interactions" + }, + { + "id": "wcag241", + "name": "WCAG 2.4.1", + "shortDescription": { + "text": "Bypass Blocks" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/bypass-blocks" + }, + { + "id": "wcag2410", + "name": "WCAG 2.4.10", + "shortDescription": { + "text": "Section Headings" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/section-headings" + }, + { + "id": "wcag242", + "name": "WCAG 2.4.2", + "shortDescription": { + "text": "Page Titled" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/page-titled" + }, + { + "id": "wcag243", + "name": "WCAG 2.4.3", + "shortDescription": { + "text": "Focus Order" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/focus-order" + }, + { + "id": "wcag244", + "name": "WCAG 2.4.4", + "shortDescription": { + "text": "Link Purpose (In Context)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/link-purpose-in-context" + }, + { + "id": "wcag245", + "name": "WCAG 2.4.5", + "shortDescription": { + "text": "Multiple Ways" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/multiple-ways" + }, + { + "id": "wcag246", + "name": "WCAG 2.4.6", + "shortDescription": { + "text": "Headings and Labels" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/headings-and-labels" + }, + { + "id": "wcag247", + "name": "WCAG 2.4.7", + "shortDescription": { + "text": "Focus Visible" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/focus-visible" + }, + { + "id": "wcag248", + "name": "WCAG 2.4.8", + "shortDescription": { + "text": "Location" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/location" + }, + { + "id": "wcag249", + "name": "WCAG 2.4.9", + "shortDescription": { + "text": "Link Purpose (Link Only)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/link-purpose-link-only" + }, + { + "id": "wcag251", + "name": "WCAG 2.5.1", + "shortDescription": { + "text": "Pointer Gestures" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/pointer-gestures" + }, + { + "id": "wcag252", + "name": "WCAG 2.5.2", + "shortDescription": { + "text": "Pointer Cancellation" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/pointer-cancellation" + }, + { + "id": "wcag253", + "name": "WCAG 2.5.3", + "shortDescription": { + "text": "Label in Name" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/label-in-name" + }, + { + "id": "wcag254", + "name": "WCAG 2.5.4", + "shortDescription": { + "text": "Motion Actuation" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/motion-actuation" + }, + { + "id": "wcag255", + "name": "WCAG 2.5.5", + "shortDescription": { + "text": "Target Size" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/target-size" + }, + { + "id": "wcag256", + "name": "WCAG 2.5.6", + "shortDescription": { + "text": "Concurrent Input Mechanisms" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/concurrent-input-mechanisms" + }, + { + "id": "wcag311", + "name": "WCAG 3.1.1", + "shortDescription": { + "text": "Language of Page" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/language-of-page" + }, + { + "id": "wcag312", + "name": "WCAG 3.1.2", + "shortDescription": { + "text": "Language of Parts" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/language-of-parts" + }, + { + "id": "wcag313", + "name": "WCAG 3.1.3", + "shortDescription": { + "text": "Unusual Words" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/unusual-words" + }, + { + "id": "wcag314", + "name": "WCAG 3.1.4", + "shortDescription": { + "text": "Abbreviations" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/abbreviations" + }, + { + "id": "wcag315", + "name": "WCAG 3.1.5", + "shortDescription": { + "text": "Reading Level" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/reading-level" + }, + { + "id": "wcag316", + "name": "WCAG 3.1.6", + "shortDescription": { + "text": "Pronunciation" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/pronunciation" + }, + { + "id": "wcag321", + "name": "WCAG 3.2.1", + "shortDescription": { + "text": "On Focus" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/on-focus" + }, + { + "id": "wcag322", + "name": "WCAG 3.2.2", + "shortDescription": { + "text": "On Input" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/on-input" + }, + { + "id": "wcag323", + "name": "WCAG 3.2.3", + "shortDescription": { + "text": "Consistent Navigation" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/consistent-navigation" + }, + { + "id": "wcag324", + "name": "WCAG 3.2.4", + "shortDescription": { + "text": "Consistent Identification" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/consistent-identification" + }, + { + "id": "wcag325", + "name": "WCAG 3.2.5", + "shortDescription": { + "text": "Change on Request" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/change-on-request" + }, + { + "id": "wcag331", + "name": "WCAG 3.3.1", + "shortDescription": { + "text": "Error Identification" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/error-identification" + }, + { + "id": "wcag332", + "name": "WCAG 3.3.2", + "shortDescription": { + "text": "Labels or Instructions" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/labels-or-instructions" + }, + { + "id": "wcag333", + "name": "WCAG 3.3.3", + "shortDescription": { + "text": "Error Suggestion" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/error-suggestion" + }, + { + "id": "wcag334", + "name": "WCAG 3.3.4", + "shortDescription": { + "text": "Error Prevention (Legal, Financial, Data)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/error-prevention-legal-financial-data" + }, + { + "id": "wcag335", + "name": "WCAG 3.3.5", + "shortDescription": { + "text": "Help" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/help" + }, + { + "id": "wcag336", + "name": "WCAG 3.3.6", + "shortDescription": { + "text": "Error Prevention (All)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/error-prevention-all" + }, + { + "id": "wcag411", + "name": "WCAG 4.1.1", + "shortDescription": { + "text": "Parsing" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/parsing" + }, + { + "id": "wcag412", + "name": "WCAG 4.1.2", + "shortDescription": { + "text": "Name, Role, Value" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/name-role-value" + }, + { + "id": "wcag413", + "name": "WCAG 4.1.3", + "shortDescription": { + "text": "Status Messages" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/status-messages" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/test-resources/basic.html b/src/test-resources/basic.html new file mode 100644 index 00000000..f92eb403 --- /dev/null +++ b/src/test-resources/basic.html @@ -0,0 +1,5 @@ +<!-- +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the MIT License. +--> +<html><head></head><body></body></html> diff --git a/src/test-resources/generator/generate-axe-cli-resources.ts b/src/test-resources/generator/generate-axe-cli-resources.ts new file mode 100644 index 00000000..e5aedf85 --- /dev/null +++ b/src/test-resources/generator/generate-axe-cli-resources.ts @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +import * as axe from 'axe-core'; +import * as child_process from 'child_process'; +import * as path from 'path'; +import * as url from 'url'; + +const axeCoreVersion = (axe as any).version; +const axeSourcePath = require.resolve('axe-core/axe.min.js'); +const testResourcesDir = path.join(__dirname, '../'); + +const testUrls: Record<string, string> = { + 'w3citylights': 'https://www.w3.org/WAI/demos/bad/before/home.html', + 'basic': url.pathToFileURL(path.join(testResourcesDir, 'basic.html')).toString(), +}; + +function generateResources() { + for (const testUrlIdentifier of Object.keys(testUrls)) { + const testUrl = testUrls[testUrlIdentifier]; + const axeCliVersion = child_process.execSync(`npx axe --version`).toString().trim(); + const axeCliOutputFile = path.join(testResourcesDir, `${testUrlIdentifier}-axe-v${axeCoreVersion}.axe-cli-v${axeCliVersion}.json`); + console.log(`Writing test resource: ${axeCliOutputFile}`); + + const axeCliOutputFileRelativePath = path.relative(__dirname, axeCliOutputFile); + let axeCliCommand = `npx axe ${testUrl} --save ${axeCliOutputFileRelativePath} --axe-source ${axeSourcePath}`; + if (testUrlIdentifier === 'basic') { + axeCliCommand += ' --rules document-title'; + } + console.log(`Invoking axe-cli v${axeCliVersion} with: ${axeCliCommand}`); + + child_process.execSync(axeCliCommand); + } +} + +generateResources(); diff --git a/src/test-resources/generator/generate-axe-core-resources.ts b/src/test-resources/generator/generate-axe-core-resources.ts new file mode 100644 index 00000000..511bb494 --- /dev/null +++ b/src/test-resources/generator/generate-axe-core-resources.ts @@ -0,0 +1,90 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import * as axe from 'axe-core'; +import { AxePuppeteer } from 'axe-puppeteer'; +import * as fs from 'fs'; +import * as path from 'path'; +import * as Puppeteer from 'puppeteer'; +import * as url from 'url'; +import { convertAxeToSarif } from '../../../dist/index'; +import { testResourceTimestampPlaceholder } from '../../../dist/test-resource-constants'; + +const axeVersion: string = (axe as any).version; +const axeSource: string = axe.source + +const testResourcesDir = path.join(__dirname, '../'); + +const axeReporters: string[] = ['v1', 'v2', 'raw']; +const testUrls: Record<string, string> = { + 'w3citylights': 'https://www.w3.org/WAI/demos/bad/before/home.html', + 'basic': url.pathToFileURL(path.join(testResourcesDir, 'basic.html')).toString(), +}; + +async function newTestPage(browser: Puppeteer.Browser, url: string): Promise<Puppeteer.Page> { + const page = await browser.newPage(); + await page.setBypassCSP(true); + await page.goto(url); + return page; +} + +async function writeAxeResultFile(results: any, axeVersion: string, reporter: string, testUrlIdentifier: string) { + await writeResultFile(results, `${testUrlIdentifier}-axe-v${axeVersion}.reporter-${reporter}.json`); +} + +async function writeResultFile(results: any, outputFileName: string) { + const outputPath = path.join(testResourcesDir, outputFileName); + console.log(`Writing test resource: ${outputPath}`); + const resultsAsJson = JSON.stringify(results, null, 2); + await fs.promises.writeFile(outputPath, resultsAsJson, {encoding: 'utf8'}); +} + +function normalizeEnvironmentDependentPartsOfAxeResults(axeResults: any) { + if (axeResults.timestamp != undefined) { + axeResults.timestamp = testResourceTimestampPlaceholder; + } + + if (axeResults.url != undefined && axeResults.url.startsWith('file://')) { + axeResults.url = 'http://localhost/'; + } +} + +async function generateResources() { + const browser = await Puppeteer.launch(); + + for (const testUrlIdentifier of Object.keys(testUrls)) { + const testUrl = testUrls[testUrlIdentifier]; + for (const reporter of axeReporters) { + const page = await newTestPage(browser, testUrl); + + const axeSpec: axe.Spec = { + reporter: reporter as any, + }; + + const axeOptions: axe.RunOptions = { + xpath: true, + }; + + if (testUrlIdentifier === 'basic') { + axeOptions.runOnly = { type: 'rule', values: ['document-title'] }; + } + + const axeResults = await new AxePuppeteer(page, axeSource).configure(axeSpec).options(axeOptions).analyze(); + + normalizeEnvironmentDependentPartsOfAxeResults(axeResults); + + await writeAxeResultFile(axeResults, axeVersion, reporter, testUrlIdentifier); + + // We pin .sarif output against 'v1' because it's the default axe-core reporter, + // so it's the baseline we want to measure other outputs against. + if (reporter === 'v1') { + const sarifResults = convertAxeToSarif(axeResults); + await writeResultFile(sarifResults, `${testUrlIdentifier}-axe-v${axeVersion}.sarif`); + } + } + } + + await browser.close(); +} + +generateResources(); diff --git a/src/test-resources/generator/package.json b/src/test-resources/generator/package.json new file mode 100644 index 00000000..c1c0639f --- /dev/null +++ b/src/test-resources/generator/package.json @@ -0,0 +1,24 @@ +{ + "name": "generate-test-resources", + "private": true, + "version": "1.0.0", + "description": "Generates the test-resources files one directory up", + "scripts": { + "generate": "yarn generate-axe-core-resources && yarn generate-axe-cli-resources", + "generate-axe-cli-resources": "tsc generate-axe-cli-resources.ts && node generate-axe-cli-resources.js", + "generate-axe-core-resources": "tsc generate-axe-core-resources.ts && node generate-axe-core-resources.js" + + }, + "author": "", + "license": "MIT", + "devDependencies": {}, + "dependencies": { + "@types/node": "^12.7.7", + "@types/puppeteer": "^1.19.1", + "axe-cli": "3.2.0", + "axe-core": "3.4.1", + "axe-puppeteer": "^1.0.0", + "puppeteer": "^1.19.0", + "typescript": "^3.6.3" + } +} diff --git a/src/test-resources/generator/yarn.lock b/src/test-resources/generator/yarn.lock new file mode 100644 index 00000000..aa1dc9fc --- /dev/null +++ b/src/test-resources/generator/yarn.lock @@ -0,0 +1,927 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@types/events@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== + +"@types/glob@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" + integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== + dependencies: + "@types/events" "*" + "@types/minimatch" "*" + "@types/node" "*" + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + +"@types/node@*": + version "13.1.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.4.tgz#4cfd90175a200ee9b02bd6b1cd19bc349741607e" + integrity sha512-Lue/mlp2egZJoHXZr4LndxDAd7i/7SQYhV0EjWfb/a4/OZ6tuVwMCVPiwkU5nsEipxEf7hmkSU7Em5VQ8P5NGA== + +"@types/node@^12.7.7": + version "12.12.24" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.24.tgz#d4606afd8cf6c609036b854360367d1b2c78931f" + integrity sha512-1Ciqv9pqwVtW6FsIUKSZNB82E5Cu1I2bBTj1xuIHXLe/1zYLl3956Nbhg2MzSYHVfl9/rmanjbQIb7LibfCnug== + +"@types/puppeteer@^1.19.1": + version "1.20.3" + resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-1.20.3.tgz#9cccd94b649237136c02a41c21f959d9db8e3b41" + integrity sha512-U1H7E4wHDsPe2s7wa2fpUD4kPYmu3n4hYRmlFK4WgKQxXE1ctY2h9Exely8GXs7743gLvrnzuX7aJuyG0SEMIQ== + dependencies: + "@types/node" "*" + +agent-base@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" + integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== + dependencies: + es6-promisify "^5.0.0" + +ajv@^6.5.5: + version "6.10.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" + integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.0.tgz#24390e6ad61386b0a747265754d2a17219de862c" + integrity sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A== + +axe-cli@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/axe-cli/-/axe-cli-3.2.0.tgz#96bfdb34b904d2445ffd81fcd887e54f8a72530c" + integrity sha512-PxPEFEaGyCtQXAvoKcCKBnRP71vWfSLwrHCFw3b+jK2a97rKIN3XcSNWUgW5VN3rp76hD/96lWuOt6IE9DtapA== + dependencies: + axe-core "^3.2.2" + axe-webdriverjs "^2.2.0" + chromedriver latest + colors "^1.3.3" + commander "^2.19.0" + selenium-webdriver "^3.6.0" + +axe-core@3.4.1, axe-core@^3.1.2, axe-core@^3.2.2, axe-core@^3.3.1: + name axe-core-3.4.1 + version "3.4.1" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.4.1.tgz#e42623918bb85b5ef674633852cb9029db0309c5" + integrity sha512-+EhIdwR0hF6aeMx46gFDUy6qyCfsL0DmBrV3Z+LxYbsOd8e1zBaPHa3f9Rbjsz2dEwSBkLw6TwML/CAIIAqRpw== + +axe-puppeteer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/axe-puppeteer/-/axe-puppeteer-1.0.0.tgz#cebbeec2c65a2e0cb7d5fd1e7aef26c5f71895a4" + integrity sha512-hTF3u4mtatgTN7fsLVyVgbRdNc15ngjDcTEuqhn9A7ugqLhLCryJWp9fzqZkNlrW8awPcxugyTwLPR7mRdPZmA== + dependencies: + axe-core "^3.1.2" + +axe-webdriverjs@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/axe-webdriverjs/-/axe-webdriverjs-2.3.0.tgz#92511fbce38624a57e1aa861dd8a3c73c6a3a972" + integrity sha512-AuUsX5OFTXOJ6reIKjtGay4O656n5G+m8MzhfL1SC8MHINBFFFn3Taucckn8+UZYJuTtNEobllSfiuPTHyKnSA== + dependencies: + axe-core "^3.3.1" + babel-runtime "^6.26.0" + depd "^2.0.0" + +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chromedriver@latest: + version "79.0.0" + resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-79.0.0.tgz#1660ac29924dfcd847911025593d6b6746aeea35" + integrity sha512-DO29C7ntJfzu6q1vuoWwCON8E9x5xzopt7Q41A7Dr7hBKcdNpGw1l9DTt9b+l1qviOWiJLGsD+jHw21ptEHubA== + dependencies: + del "^4.1.1" + extract-zip "^1.6.7" + mkdirp "^0.5.1" + request "^2.88.0" + tcp-port-used "^1.0.1" + +colors@^1.3.3: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.19.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +core-js@^2.4.0: + version "2.6.11" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" + integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87" + integrity sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg== + dependencies: + ms "^2.1.1" + +debug@^3.1.0: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +debug@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + +deep-is@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +depd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +es6-promise@^4.0.3: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= + dependencies: + es6-promise "^4.0.3" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extract-zip@^1.6.6, extract-zip@^1.6.7: + version "1.6.7" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9" + integrity sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k= + dependencies: + concat-stream "1.6.2" + debug "2.6.9" + mkdirp "0.5.1" + yauzl "2.4.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fd-slicer@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU= + dependencies: + pend "~1.2.0" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob@^7.0.3, glob@^7.1.3: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-proxy-agent@^2.2.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" + integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== + dependencies: + agent-base "^4.3.0" + debug "^3.1.0" + +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + dependencies: + path-is-inside "^1.0.2" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-url@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" + integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== + +is2@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is2/-/is2-2.0.1.tgz#8ac355644840921ce435d94f05d3a94634d3481a" + integrity sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA== + dependencies: + deep-is "^0.1.3" + ip-regex "^2.1.0" + is-url "^1.2.2" + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +jszip@^3.1.3: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.2.2.tgz#b143816df7e106a9597a94c77493385adca5bd1d" + integrity sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA== + dependencies: + lie "~3.3.0" + pako "~1.0.2" + readable-stream "~2.3.6" + set-immediate-shim "~1.0.1" + +lie@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" + integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== + dependencies: + immediate "~3.0.5" + +mime-db@1.43.0: + version "1.43.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" + integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.26" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" + integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== + dependencies: + mime-db "1.43.0" + +mime@^2.0.3: + version "2.4.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" + integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +mkdirp@0.5.1, mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +os-tmpdir@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +pako@~1.0.2: + version "1.0.10" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" + integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +proxy-from-env@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= + +psl@^1.1.24: + version "1.7.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c" + integrity sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ== + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +puppeteer@^1.19.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.20.0.tgz#e3d267786f74e1d87cf2d15acc59177f471bbe38" + integrity sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ== + dependencies: + debug "^4.1.0" + extract-zip "^1.6.6" + https-proxy-agent "^2.2.1" + mime "^2.0.3" + progress "^2.0.1" + proxy-from-env "^1.0.0" + rimraf "^2.6.1" + ws "^6.1.0" + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +readable-stream@^2.2.2, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +request@^2.88.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +safe-buffer@^5.0.1, safe-buffer@^5.1.2: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@>=0.6.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +selenium-webdriver@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz#2ba87a1662c020b8988c981ae62cb2a01298eafc" + integrity sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q== + dependencies: + jszip "^3.1.3" + rimraf "^2.5.4" + tmp "0.0.30" + xml2js "^0.4.17" + +set-immediate-shim@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +tcp-port-used@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tcp-port-used/-/tcp-port-used-1.0.1.tgz#46061078e2d38c73979a2c2c12b5a674e6689d70" + integrity sha512-rwi5xJeU6utXoEIiMvVBMc9eJ2/ofzB+7nLOdnZuFTmNCLqRiQh2sMG9MqCxHU/69VC/Fwp5dV9306Qd54ll1Q== + dependencies: + debug "4.1.0" + is2 "2.0.1" + +tmp@0.0.30: + version "0.0.30" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.30.tgz#72419d4a8be7d6ce75148fd8b324e593a711c2ed" + integrity sha1-ckGdSovn1s51FI/YsyTlk6cRwu0= + dependencies: + os-tmpdir "~1.0.1" + +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +typescript@^3.6.3: + version "3.7.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.4.tgz#1743a5ec5fef6a1fa9f3e4708e33c81c73876c19" + integrity sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw== + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +uuid@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" + integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +ws@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + dependencies: + async-limiter "~1.0.0" + +xml2js@^0.4.17: + version "0.4.23" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" + integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +yauzl@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" + integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU= + dependencies: + fd-slicer "~1.0.1" diff --git a/src/test-resources/w3citylights-axe-v3.3.2.axe-cli-v3.1.1.json b/src/test-resources/w3citylights-axe-v3.3.2.axe-cli-v3.1.1.json index 46759ec7..6f7b3993 100644 --- a/src/test-resources/w3citylights-axe-v3.3.2.axe-cli-v3.1.1.json +++ b/src/test-resources/w3citylights-axe-v3.3.2.axe-cli-v3.1.1.json @@ -7909,7 +7909,7 @@ "testRunner": { "name": "axe" }, - "timestamp": "2019-03-22T19:12:06.129Z", + "timestamp": "2000-01-02T03:04:05.006Z", "toolOptions": { "reporter": "v1" }, @@ -10757,4 +10757,4 @@ } ] } -] \ No newline at end of file +] diff --git a/src/test-resources/w3citylights-axe-v3.3.2.reporter-v1.json b/src/test-resources/w3citylights-axe-v3.3.2.reporter-v1.json index dd57ac2c..c7b4f8cf 100644 --- a/src/test-resources/w3citylights-axe-v3.3.2.reporter-v1.json +++ b/src/test-resources/w3citylights-axe-v3.3.2.reporter-v1.json @@ -13,7 +13,7 @@ "orientationAngle": 0, "orientationType": "portrait-primary" }, - "timestamp": "2019-03-22T19:12:06.129Z", + "timestamp": "2000-01-02T03:04:05.006Z", "url": "https://www.w3.org/WAI/demos/bad/before/home.html", "toolOptions": { "xpath": true, @@ -10553,4 +10553,4 @@ "nodes": [] } ] -} \ No newline at end of file +} diff --git a/src/test-resources/w3citylights-axe-v3.3.2.reporter-v2.json b/src/test-resources/w3citylights-axe-v3.3.2.reporter-v2.json index 568ef97e..48420109 100644 --- a/src/test-resources/w3citylights-axe-v3.3.2.reporter-v2.json +++ b/src/test-resources/w3citylights-axe-v3.3.2.reporter-v2.json @@ -13,7 +13,7 @@ "orientationAngle": 0, "orientationType": "portrait-primary" }, - "timestamp": "2019-03-22T19:12:06.129Z", + "timestamp": "2000-01-02T03:04:05.006Z", "url": "https://www.w3.org/WAI/demos/bad/before/home.html", "toolOptions": { "xpath": true, @@ -10507,4 +10507,4 @@ "nodes": [] } ] -} \ No newline at end of file +} diff --git a/src/test-resources/w3citylights-axe-v3.3.2.sarif b/src/test-resources/w3citylights-axe-v3.3.2.sarif index f0cba33f..c332e0df 100644 --- a/src/test-resources/w3citylights-axe-v3.3.2.sarif +++ b/src/test-resources/w3citylights-axe-v3.3.2.sarif @@ -1925,8 +1925,8 @@ }, "invocations": [ { - "startTimeUtc": "2019-03-22T19:12:06.129Z", - "endTimeUtc": "2019-03-22T19:12:06.129Z", + "startTimeUtc": "2000-01-02T03:04:05.006Z", + "endTimeUtc": "2000-01-02T03:04:05.006Z", "executionSuccessful": true } ], diff --git a/src/test-resources/w3citylights-axe-v3.4.1.axe-cli-v3.2.0.json b/src/test-resources/w3citylights-axe-v3.4.1.axe-cli-v3.2.0.json new file mode 100644 index 00000000..34941ddf --- /dev/null +++ b/src/test-resources/w3citylights-axe-v3.4.1.axe-cli-v3.2.0.json @@ -0,0 +1,9512 @@ +[ + { + "inapplicable": [ + { + "description": "Ensures every accesskey attribute value is unique", + "help": "accesskey attribute value must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/accesskeys?application=webdriverjs", + "id": "accesskeys", + "impact": null, + "nodes": [], + "tags": [ + "best-practice", + "cat.keyboard" + ] + }, + { + "description": "Ensures <area> elements of image maps have alternate text", + "help": "Active <area> elements must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/area-alt?application=webdriverjs", + "id": "area-alt", + "impact": null, + "nodes": [], + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ] + }, + { + "description": "Ensures ARIA attributes are allowed for an element's role", + "help": "Elements must only use allowed ARIA attributes", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-allowed-attr?application=webdriverjs", + "id": "aria-allowed-attr", + "impact": null, + "nodes": [], + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ] + }, + { + "description": "Ensures role attribute has an appropriate value for the element", + "help": "ARIA role must be appropriate for the element", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-allowed-role?application=webdriverjs", + "id": "aria-allowed-role", + "impact": null, + "nodes": [], + "tags": [ + "cat.aria", + "best-practice" + ] + }, + { + "description": "Ensures unsupported DPUB roles are only used on elements with implicit fallback roles", + "help": "Unsupported DPUB ARIA roles should be used on elements with implicit fallback roles", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-dpub-role-fallback?application=webdriverjs", + "id": "aria-dpub-role-fallback", + "impact": null, + "nodes": [], + "tags": [ + "cat.aria", + "wcag2a", + "wcag131" + ] + }, + { + "description": "Ensures aria-hidden elements do not contain focusable elements", + "help": "ARIA hidden element must not contain focusable elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-hidden-focus?application=webdriverjs", + "id": "aria-hidden-focus", + "impact": null, + "nodes": [], + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "wcag131" + ] + }, + { + "description": "Ensures every ARIA input field has an accessible name", + "help": "ARIA input fields have an accessible name", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-input-field-name?application=webdriverjs", + "id": "aria-input-field-name", + "impact": null, + "nodes": [], + "tags": [ + "wcag2a", + "wcag412" + ] + }, + { + "description": "Ensures elements with ARIA roles have all required ARIA attributes", + "help": "Required ARIA attributes must be provided", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-required-attr?application=webdriverjs", + "id": "aria-required-attr", + "impact": null, + "nodes": [], + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ] + }, + { + "description": "Ensures elements with an ARIA role that require child roles contain them", + "help": "Certain ARIA roles must contain particular children", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-required-children?application=webdriverjs", + "id": "aria-required-children", + "impact": null, + "nodes": [], + "tags": [ + "cat.aria", + "wcag2a", + "wcag131" + ] + }, + { + "description": "Ensures elements with an ARIA role that require parent roles are contained by them", + "help": "Certain ARIA roles must be contained by particular parents", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-required-parent?application=webdriverjs", + "id": "aria-required-parent", + "impact": null, + "nodes": [], + "tags": [ + "cat.aria", + "wcag2a", + "wcag131" + ] + }, + { + "description": "Ensure aria-roledescription is only used on elements with an implicit or explicit role", + "help": "Use aria-roledescription on elements with a semantic role", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-roledescription?application=webdriverjs", + "id": "aria-roledescription", + "impact": null, + "nodes": [], + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ] + }, + { + "description": "Ensures all elements with a role attribute use a valid value", + "help": "ARIA roles used must conform to valid values", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-roles?application=webdriverjs", + "id": "aria-roles", + "impact": null, + "nodes": [], + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ] + }, + { + "description": "Ensures every ARIA toggle field has an accessible name", + "help": "ARIA toggle fields have an accessible name", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-toggle-field-name?application=webdriverjs", + "id": "aria-toggle-field-name", + "impact": null, + "nodes": [], + "tags": [ + "wcag2a", + "wcag412" + ] + }, + { + "description": "Ensures all ARIA attributes have valid values", + "help": "ARIA attributes must conform to valid values", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-valid-attr-value?application=webdriverjs", + "id": "aria-valid-attr-value", + "impact": null, + "nodes": [], + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ] + }, + { + "description": "Ensures attributes that begin with aria- are valid ARIA attributes", + "help": "ARIA attributes must conform to valid names", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-valid-attr?application=webdriverjs", + "id": "aria-valid-attr", + "impact": null, + "nodes": [], + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ] + }, + { + "description": "Ensure the autocomplete attribute is correct and suitable for the form field", + "help": "autocomplete attribute must be used correctly", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/autocomplete-valid?application=webdriverjs", + "id": "autocomplete-valid", + "impact": null, + "nodes": [], + "tags": [ + "cat.forms", + "wcag21aa", + "wcag135" + ] + }, + { + "description": "Ensures <blink> elements are not used", + "help": "<blink> elements are deprecated and must not be used", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/blink?application=webdriverjs", + "id": "blink", + "impact": null, + "nodes": [], + "tags": [ + "cat.time-and-media", + "wcag2a", + "wcag222", + "section508", + "section508.22.j" + ] + }, + { + "description": "Ensures buttons have discernible text", + "help": "Buttons must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/button-name?application=webdriverjs", + "id": "button-name", + "impact": null, + "nodes": [], + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "section508", + "section508.22.a" + ] + }, + { + "description": "Ensures <dl> elements are structured correctly", + "help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script> or <template> elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/definition-list?application=webdriverjs", + "id": "definition-list", + "impact": null, + "nodes": [], + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ] + }, + { + "description": "Ensures <dt> and <dd> elements are contained by a <dl>", + "help": "<dt> and <dd> elements must be contained by a <dl>", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/dlitem?application=webdriverjs", + "id": "dlitem", + "impact": null, + "nodes": [], + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ] + }, + { + "description": "Ensures every id attribute value of active elements is unique", + "help": "IDs of active elements must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id-active?application=webdriverjs", + "id": "duplicate-id-active", + "impact": null, + "nodes": [], + "tags": [ + "cat.parsing", + "wcag2a", + "wcag411" + ] + }, + { + "description": "Ensures every id attribute value used in ARIA and in labels is unique", + "help": "IDs used in ARIA and labels must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id-aria?application=webdriverjs", + "id": "duplicate-id-aria", + "impact": null, + "nodes": [], + "tags": [ + "cat.parsing", + "wcag2a", + "wcag411" + ] + }, + { + "description": "Ensures <iframe> and <frame> elements contain the axe-core script", + "help": "Frames must be tested with axe-core", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/frame-tested?application=webdriverjs", + "id": "frame-tested", + "impact": null, + "nodes": [], + "tags": [ + "cat.structure", + "review-item", + "best-practice" + ] + }, + { + "description": "Ensures <iframe> and <frame> elements contain a unique title attribute", + "help": "Frames must have a unique title attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/frame-title-unique?application=webdriverjs", + "id": "frame-title-unique", + "impact": null, + "nodes": [], + "tags": [ + "cat.text-alternatives", + "best-practice" + ] + }, + { + "description": "Ensures <iframe> and <frame> elements contain a non-empty title attribute", + "help": "Frames must have title attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/frame-title?application=webdriverjs", + "id": "frame-title", + "impact": null, + "nodes": [], + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag241", + "wcag412", + "section508", + "section508.22.i" + ] + }, + { + "description": "Ensures the lang attribute of the <html> element has a valid value", + "help": "<html> element must have a valid value for the lang attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/html-lang-valid?application=webdriverjs", + "id": "html-lang-valid", + "impact": null, + "nodes": [], + "tags": [ + "cat.language", + "wcag2a", + "wcag311" + ] + }, + { + "description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page", + "help": "HTML elements with lang and xml:lang must have the same base language", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/html-xml-lang-mismatch?application=webdriverjs", + "id": "html-xml-lang-mismatch", + "impact": null, + "nodes": [], + "tags": [ + "cat.language", + "wcag2a", + "wcag311" + ] + }, + { + "description": "Ensures input buttons have discernible text", + "help": "Input buttons must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/input-button-name?application=webdriverjs", + "id": "input-button-name", + "impact": null, + "nodes": [], + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "section508", + "section508.22.a" + ] + }, + { + "description": "Ensures <input type=\"image\"> elements have alternate text", + "help": "Image buttons must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/input-image-alt?application=webdriverjs", + "id": "input-image-alt", + "impact": null, + "nodes": [], + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ] + }, + { + "description": "Ensures the banner landmark is at top level", + "help": "Banner landmark must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-banner-is-top-level?application=webdriverjs", + "id": "landmark-banner-is-top-level", + "impact": null, + "nodes": [], + "tags": [ + "cat.semantics", + "best-practice" + ] + }, + { + "description": "Ensures the complementary landmark or aside is at top level", + "help": "Aside must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-complementary-is-top-level?application=webdriverjs", + "id": "landmark-complementary-is-top-level", + "impact": null, + "nodes": [], + "tags": [ + "cat.semantics", + "best-practice" + ] + }, + { + "description": "Ensures the contentinfo landmark is at top level", + "help": "Contentinfo landmark must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-contentinfo-is-top-level?application=webdriverjs", + "id": "landmark-contentinfo-is-top-level", + "impact": null, + "nodes": [], + "tags": [ + "cat.semantics", + "best-practice" + ] + }, + { + "description": "Ensures the main landmark is at top level", + "help": "Main landmark must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-main-is-top-level?application=webdriverjs", + "id": "landmark-main-is-top-level", + "impact": null, + "nodes": [], + "tags": [ + "cat.semantics", + "best-practice" + ] + }, + { + "description": "Landmarks must have a unique role or role/label/title (i.e. accessible name) combination", + "help": "Ensures landmarks are unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-unique?application=webdriverjs", + "id": "landmark-unique", + "impact": null, + "nodes": [], + "tags": [ + "cat.semantics", + "best-practice" + ] + }, + { + "description": "Ensures <marquee> elements are not used", + "help": "<marquee> elements are deprecated and must not be used", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/marquee?application=webdriverjs", + "id": "marquee", + "impact": null, + "nodes": [], + "tags": [ + "cat.parsing", + "wcag2a", + "wcag222" + ] + }, + { + "description": "Ensures <meta http-equiv=\"refresh\"> is not used", + "help": "Timed refresh must not exist", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/meta-refresh?application=webdriverjs", + "id": "meta-refresh", + "impact": null, + "nodes": [], + "tags": [ + "cat.time-and-media", + "wcag2a", + "wcag2aaa", + "wcag221", + "wcag224", + "wcag325" + ] + }, + { + "description": "Ensures <meta name=\"viewport\"> can scale a significant amount", + "help": "Users should be able to zoom and scale the text up to 500%", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/meta-viewport-large?application=webdriverjs", + "id": "meta-viewport-large", + "impact": null, + "nodes": [], + "tags": [ + "cat.sensory-and-visual-cues", + "best-practice" + ] + }, + { + "description": "Ensures <meta name=\"viewport\"> does not disable text scaling and zooming", + "help": "Zooming and scaling must not be disabled", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/meta-viewport?application=webdriverjs", + "id": "meta-viewport", + "impact": null, + "nodes": [], + "tags": [ + "cat.sensory-and-visual-cues", + "wcag2aa", + "wcag144" + ] + }, + { + "description": "Ensures <object> elements have alternate text", + "help": "<object> elements must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/object-alt?application=webdriverjs", + "id": "object-alt", + "impact": null, + "nodes": [], + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ] + }, + { + "description": "Ensures [role='img'] elements have alternate text", + "help": "[role='img'] elements have an alternative text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/role-img-alt?application=webdriverjs", + "id": "role-img-alt", + "impact": null, + "nodes": [], + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ] + }, + { + "description": "Ensures the scope attribute is used correctly on tables", + "help": "scope attribute should be used correctly", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/scope-attr-valid?application=webdriverjs", + "id": "scope-attr-valid", + "impact": null, + "nodes": [], + "tags": [ + "cat.tables", + "best-practice" + ] + }, + { + "description": "Elements that have scrollable content should be accessible by keyboard", + "help": "Ensure that scrollable region has keyboard access", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/scrollable-region-focusable?application=webdriverjs", + "id": "scrollable-region-focusable", + "impact": null, + "nodes": [], + "tags": [ + "wcag2a", + "wcag211" + ] + }, + { + "description": "Ensures that server-side image maps are not used", + "help": "Server-side image maps must not be used", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/server-side-image-map?application=webdriverjs", + "id": "server-side-image-map", + "impact": null, + "nodes": [], + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag211", + "section508", + "section508.22.f" + ] + }, + { + "description": "Ensures tabindex attribute values are not greater than 0", + "help": "Elements should not have tabindex greater than zero", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/tabindex?application=webdriverjs", + "id": "tabindex", + "impact": null, + "nodes": [], + "tags": [ + "cat.keyboard", + "best-practice" + ] + }, + { + "description": "Ensure that each table header in a data table refers to data cells", + "help": "All th elements and elements with role=columnheader/rowheader must have data cells they describe", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/th-has-data-cells?application=webdriverjs", + "id": "th-has-data-cells", + "impact": null, + "nodes": [], + "tags": [ + "cat.tables", + "wcag2a", + "wcag131", + "section508", + "section508.22.g" + ] + }, + { + "description": "Ensures lang attributes have valid values", + "help": "lang attribute must have a valid value", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/valid-lang?application=webdriverjs", + "id": "valid-lang", + "impact": null, + "nodes": [], + "tags": [ + "cat.language", + "wcag2aa", + "wcag312" + ] + }, + { + "description": "Ensures <video> elements have captions", + "help": "<video> elements must have captions", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/video-caption?application=webdriverjs", + "id": "video-caption", + "impact": null, + "nodes": [], + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag122", + "section508", + "section508.22.a" + ] + } + ], + "incomplete": [ + { + "description": "Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds", + "help": "Elements must have sufficient color contrast", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/color-contrast?application=webdriverjs", + "id": "color-contrast", + "impact": "serious", + "nodes": [ + { + "all": [], + "any": [ + { + "data": { + "bgColor": null, + "contrastRatio": 0, + "expectedContrastRatio": "4.5:1", + "fgColor": "#ffffff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": "bgImage" + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element's background color could not be determined due to a background image", + "relatedNodes": [ + { + "html": "<a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a>", + "target": [ + ".page.current" + ] + } + ] + } + ], + "html": "<a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a>", + "impact": "serious", + "none": [], + "target": [ + ".page.current" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": null, + "contrastRatio": 0, + "expectedContrastRatio": "4.5:1", + "fgColor": "#333333", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": "bgImage" + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element's background color could not be determined due to a background image", + "relatedNodes": [ + { + "html": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>", + "target": [ + ".annotoggle" + ] + } + ] + } + ], + "html": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>", + "impact": "serious", + "none": [], + "target": [ + ".annotoggle" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": null, + "contrastRatio": 0, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "9.8pt (13px)", + "fontWeight": "normal", + "missingData": "bgOverlap" + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element's background color could not be determined because it is overlapped by another element", + "relatedNodes": [] + } + ], + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">", + "impact": "serious", + "none": [], + "target": [ + "#WEATHER > font[color=\"BLACK\"][size=\"\\32 \"]" + ] + } + ], + "tags": [ + "cat.color", + "wcag2aa", + "wcag143" + ] + } + ], + "passes": [ + { + "description": "Ensures aria-hidden='true' is not present on the document body.", + "help": "aria-hidden='true' must not be present on the document body", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-hidden-body?application=webdriverjs", + "id": "aria-hidden-body", + "impact": null, + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "aria-hidden-body", + "impact": "critical", + "message": "No aria-hidden attribute is present on document body", + "relatedNodes": [] + } + ], + "html": "<body text=\"#000000\" bgcolor=\"#D7D7CD\" leftmargin=\"0px\" topmargin=\"0px\" marginwidth=\"0px\" marginheight=\"0px\" link=\"#226C8E\" vlink=\"#226C8E\" alink=\"#226C8E\">", + "impact": null, + "none": [], + "target": [ + "body" + ] + } + ], + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ] + }, + { + "description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets", + "help": "Inline text spacing must be adjustable with custom stylesheets", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/avoid-inline-spacing?application=webdriverjs", + "id": "avoid-inline-spacing", + "impact": null, + "nodes": [ + { + "all": [ + { + "data": null, + "id": "avoid-inline-spacing", + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified", + "relatedNodes": [] + } + ], + "any": [], + "html": "<div class=\"image\" style=\"background: url(./img/panda-sm.jpg) center center no-repeat #cccccc\" title=\"image\"><div class=\"null\"></div></div>", + "impact": null, + "none": [], + "target": [ + ".image[title=\"image\"]:nth-child(1)" + ] + }, + { + "all": [ + { + "data": null, + "id": "avoid-inline-spacing", + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified", + "relatedNodes": [] + } + ], + "any": [], + "html": "<div class=\"image\" style=\"background: url(./img/oldenburgstudentviolin34.jpg) center center no-repeat #cccccc\" title=\"image\"><div class=\"null\"></div></div>", + "impact": null, + "none": [], + "target": [ + ".image[title=\"image\"]:nth-child(2)" + ] + }, + { + "all": [ + { + "data": null, + "id": "avoid-inline-spacing", + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified", + "relatedNodes": [] + } + ], + "any": [], + "html": "<div class=\"image\" style=\"background: url(./img/BrainInJar.jpg) center center no-repeat #cccccc;\" title=\"image\"><div class=\"null\"></div></div>", + "impact": null, + "none": [], + "target": [ + ".image[title=\"image\"]:nth-child(3)" + ] + }, + { + "all": [ + { + "data": null, + "id": "avoid-inline-spacing", + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified", + "relatedNodes": [] + } + ], + "any": [], + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "impact": null, + "none": [], + "target": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ] + }, + { + "all": [ + { + "data": null, + "id": "avoid-inline-spacing", + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified", + "relatedNodes": [] + } + ], + "any": [], + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "impact": null, + "none": [], + "target": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ] + }, + { + "all": [ + { + "data": null, + "id": "avoid-inline-spacing", + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified", + "relatedNodes": [] + } + ], + "any": [], + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "impact": null, + "none": [], + "target": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ] + }, + { + "all": [ + { + "data": null, + "id": "avoid-inline-spacing", + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified", + "relatedNodes": [] + } + ], + "any": [], + "html": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [ + { + "data": null, + "id": "avoid-inline-spacing", + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified", + "relatedNodes": [] + } + ], + "any": [], + "html": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + } + ], + "tags": [ + "wcag21aa", + "wcag1412" + ] + }, + { + "description": "Ensures each page has at least one mechanism for a user to bypass navigation and jump straight to the content", + "help": "Page must have means to bypass repeated blocks", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/bypass?application=webdriverjs", + "id": "bypass", + "impact": null, + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "internal-link-present", + "impact": "serious", + "message": "Valid skip link found", + "relatedNodes": [] + }, + { + "data": null, + "id": "header-present", + "impact": "serious", + "message": "Page has a header", + "relatedNodes": [] + } + ], + "html": "<html class=\"deque-axe-is-ready\">", + "impact": null, + "none": [], + "target": [ + "html" + ] + } + ], + "tags": [ + "cat.keyboard", + "wcag2a", + "wcag241", + "section508", + "section508.22.o" + ] + }, + { + "description": "Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds", + "help": "Elements must have sufficient color contrast", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/color-contrast?application=webdriverjs", + "id": "color-contrast", + "impact": "serious", + "nodes": [ + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "3:1", + "fgColor": "#000000", + "fontSize": "21.6pt (28.8px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "impact": null, + "none": [], + "target": [ + "h1" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "13.6pt (18.144px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<span class=\"subhead\">Inaccessible Home Page</span>", + "impact": null, + "none": [], + "target": [ + ".subhead" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<p class=\"subline\">Improving a Web site using Web Content Accessibility Guidelines (WCAG) 2.0</p>", + "impact": null, + "none": [], + "target": [ + ".subline" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "expectedContrastRatio": "4.5:1", + "fgColor": "#222222", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71", + "relatedNodes": [] + } + ], + "html": "<a href=\"../Overview.html\">Overview</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"Overview\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#d7d7cd", + "contrastRatio": 10.97, + "expectedContrastRatio": "4.5:1", + "fgColor": "#222222", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 10.97", + "relatedNodes": [] + } + ], + "html": "<li class=\"current first\">", + "impact": null, + "none": [], + "target": [ + ".current.first" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#cc0000", + "contrastRatio": 5.88, + "expectedContrastRatio": "4.5:1", + "fgColor": "#ffffff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 5.88", + "relatedNodes": [] + } + ], + "html": "<strong>Inaccessible:</strong>", + "impact": null, + "none": [], + "target": [ + ".inaccessible > strong" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#cc0000", + "contrastRatio": 5.88, + "expectedContrastRatio": "4.5:1", + "fgColor": "#ffffff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 5.88", + "relatedNodes": [] + } + ], + "html": "<a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a>", + "impact": null, + "none": [], + "target": [ + ".inaccessible > .report[href$=\"home\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#447700", + "contrastRatio": 5.4, + "expectedContrastRatio": "4.5:1", + "fgColor": "#ffffff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 5.4", + "relatedNodes": [] + } + ], + "html": "<strong>Accessible:</strong>", + "impact": null, + "none": [], + "target": [ + ".accessible > strong" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#447700", + "contrastRatio": 5.4, + "expectedContrastRatio": "4.5:1", + "fgColor": "#ffffff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 5.4", + "relatedNodes": [] + } + ], + "html": "<a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a>", + "impact": null, + "none": [], + "target": [ + ".page[href$=\"home\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#447700", + "contrastRatio": 5.4, + "expectedContrastRatio": "4.5:1", + "fgColor": "#ffffff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 5.4", + "relatedNodes": [] + } + ], + "html": "<a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a>", + "impact": null, + "none": [], + "target": [ + ".accessible > .report[href$=\"home\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "expectedContrastRatio": "4.5:1", + "fgColor": "#222222", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71", + "relatedNodes": [] + } + ], + "html": "<a href=\"news.html\">News</a>", + "impact": null, + "none": [], + "target": [ + "li:nth-child(3) > a[href$=\"news\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "expectedContrastRatio": "4.5:1", + "fgColor": "#222222", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71", + "relatedNodes": [] + } + ], + "html": "<a href=\"tickets.html\">Tickets</a>", + "impact": null, + "none": [], + "target": [ + "li:nth-child(4) > a[href$=\"tickets\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "expectedContrastRatio": "4.5:1", + "fgColor": "#222222", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71", + "relatedNodes": [] + } + ], + "html": "<a href=\"survey.html\">Survey</a>", + "impact": null, + "none": [], + "target": [ + "li:nth-child(5) > a[href$=\"survey\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "expectedContrastRatio": "4.5:1", + "fgColor": "#222222", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71", + "relatedNodes": [] + } + ], + "html": "<a href=\"template.html\">Template</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"template\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "10.0pt (13.3333px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<select onchange=\"location.href = this.value;\">", + "impact": null, + "none": [], + "target": [ + "select" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 17.93, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "9.8pt (13px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93", + "relatedNodes": [] + } + ], + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">  <b>Traffic:</b> Construction work on Main Road</font>", + "impact": null, + "none": [], + "target": [ + "td[width=\"\\33 80px\"] > font[color=\"BLACK\"][size=\"\\32 \"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 17.93, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93", + "relatedNodes": [] + } + ], + "html": "<b>Traffic:</b>", + "impact": null, + "none": [], + "target": [ + "td[width=\"\\33 80px\"] > font[color=\"BLACK\"][size=\"\\32 \"] > b" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 17.93, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93", + "relatedNodes": [] + } + ], + "html": "<b>Today:</b>", + "impact": null, + "none": [], + "target": [ + "#WEATHER > font[color=\"BLACK\"][size=\"\\32 \"] > b" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 7.92, + "expectedContrastRatio": "3:1", + "fgColor": "#41545d", + "fontSize": "18.0pt (24px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 7.92", + "relatedNodes": [] + } + ], + "html": "<p class=\"headline\">Welcome to CityLights</p>", + "impact": null, + "none": [], + "target": [ + ".headline" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<p>Citylights is the new portal for visitors and residents. Find out what's on, book tickets, and get the latest news.</p>", + "impact": null, + "none": [], + "target": [ + "#main > p:nth-child(2)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 17.93, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "11.3pt (15px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93", + "relatedNodes": [] + } + ], + "html": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>", + "impact": null, + "none": [], + "target": [ + ".newsheadline:nth-child(1) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 17.93, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "11.3pt (15px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93", + "relatedNodes": [] + } + ], + "html": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>", + "impact": null, + "none": [], + "target": [ + ".newsheadline:nth-child(2) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 17.93, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "11.3pt (15px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93", + "relatedNodes": [] + } + ], + "html": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>", + "impact": null, + "none": [], + "target": [ + ".newsheadline:nth-child(3) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 17.93, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93", + "relatedNodes": [] + } + ], + "html": "<span>", + "impact": null, + "none": [], + "target": [ + ".story:nth-child(1) > span" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 17.93, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93", + "relatedNodes": [] + } + ], + "html": "<span>", + "impact": null, + "none": [], + "target": [ + ".story:nth-child(2) > span" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 17.93, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93", + "relatedNodes": [] + } + ], + "html": "<span>", + "impact": null, + "none": [], + "target": [ + ".story:nth-child(3) > span" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 7.92, + "expectedContrastRatio": "4.5:1", + "fgColor": "#41545d", + "fontSize": "15.0pt (20px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 7.92", + "relatedNodes": [] + } + ], + "html": "<p class=\"subheadline\">Elsewhere on the Web</p>", + "impact": null, + "none": [], + "target": [ + ".subheadline" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<p>", + "impact": null, + "none": [], + "target": [ + "p:nth-child(7)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<span>", + "impact": null, + "none": [], + "target": [ + "p:nth-child(7) > span" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "expectedContrastRatio": "4.5:1", + "fgColor": "#226c8e", + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82", + "relatedNodes": [] + } + ], + "html": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(2)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "expectedContrastRatio": "4.5:1", + "fgColor": "#226c8e", + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82", + "relatedNodes": [] + } + ], + "html": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(5)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<b>Artichoke advice telephone hotline: </b>", + "impact": null, + "none": [], + "target": [ + "p:nth-child(7) > b" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<div>\"Free penguins\" slogan at zoo benefit concert causes confusion among city rockers. Adjective or verb?<br><a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></div>", + "impact": null, + "none": [], + "target": [ + "table[cellpadding=\"\\33 px\"] > tbody > tr > td > div" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "expectedContrastRatio": "4.5:1", + "fgColor": "#226c8e", + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82", + "relatedNodes": [] + } + ], + "html": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<td>More parks and more green throughout the city at the price of already rare car parking spaces, how will this affect you?<br><a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></td>", + "impact": null, + "none": [], + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"] > tbody > tr > td" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "expectedContrastRatio": "4.5:1", + "fgColor": "#226c8e", + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82", + "relatedNodes": [] + } + ], + "html": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 17.93, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93", + "relatedNodes": [] + } + ], + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"1\">", + "impact": null, + "none": [], + "target": [ + "font[size=\"\\31 \"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 4.97, + "expectedContrastRatio": "4.5:1", + "fgColor": "#226c8e", + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97", + "relatedNodes": [] + } + ], + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "impact": null, + "none": [], + "target": [ + "font[size=\"\\31 \"] > a[rel=\"Copyright\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 4.97, + "expectedContrastRatio": "4.5:1", + "fgColor": "#226c8e", + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97", + "relatedNodes": [] + } + ], + "html": "<acronym title=\"World Wide Web Consortium\">W3C</acronym>", + "impact": null, + "none": [], + "target": [ + "font[size=\"\\31 \"] > a[href$=\"w3\\.org\\/\"] > acronym[title=\"World\\ Wide\\ Web\\ Consortium\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 17.93, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "6.2pt (8.33333px)", + "fontWeight": "normal", + "missingData": "shortTextContent" + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93", + "relatedNodes": [] + } + ], + "html": "<sup>®</sup>", + "impact": null, + "none": [], + "target": [ + "font[size=\"\\31 \"] > sup" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 4.97, + "expectedContrastRatio": "4.5:1", + "fgColor": "#226c8e", + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97", + "relatedNodes": [] + } + ], + "html": "<acronym title=\"Massachusetts Institute of Technology\">MIT</acronym>", + "impact": null, + "none": [], + "target": [ + "font[size=\"\\31 \"] > a[href$=\"csail\\.mit\\.edu\\/\"] > acronym" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 4.97, + "expectedContrastRatio": "4.5:1", + "fgColor": "#226c8e", + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97", + "relatedNodes": [] + } + ], + "html": "<acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym>", + "impact": null, + "none": [], + "target": [ + "font[size=\"\\31 \"] > a[href$=\"ercim\\.org\\/\"] > acronym" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ededed", + "contrastRatio": 4.97, + "expectedContrastRatio": "4.5:1", + "fgColor": "#226c8e", + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "impact": null, + "none": [], + "target": [ + "font[size=\"\\31 \"] > a[href$=\"keio\\.ac\\.jp\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<p>", + "impact": null, + "none": [], + "target": [ + "#meta-footer > p:nth-child(2)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<strong>Status:</strong>", + "impact": null, + "none": [], + "target": [ + "p:nth-child(2) > strong" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"../changelog.html\">changelog</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"changelog\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/People/shadi/\">Shadi Abou-Zahra</a>", + "impact": null, + "none": [], + "target": [ + "p:nth-child(2) > a:nth-child(4)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/WAI/EO/\">Education and Outreach Working Group (EOWG)</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"EO\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<acronym title=\"Web Accessibility Initiative: Training, Implementation, Education, Support\">WAI-TIES</acronym>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"TIES\\/\"] > acronym" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<acronym title=\"Web Accessibility Initiative: Ageing Education and Harmonisation\">WAI-AGE</acronym>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"WAI-AGE\\/\"] > acronym" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<acronym title=\"Information Society Technologies\">IST</acronym>", + "impact": null, + "none": [], + "target": [ + "p:nth-child(2) > acronym" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"../acks.html\">Acknowledgements</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"acks\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<p>", + "impact": null, + "none": [], + "target": [ + "p:nth-child(3)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/WAI/sitemap.html\" shape=\"rect\">WAI Site Map</a>", + "impact": null, + "none": [], + "target": [ + "p:nth-child(3) > a[shape=\"rect\"]:nth-child(1)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/WAI/sitehelp.html\" shape=\"rect\">Help with WAI Website</a>", + "impact": null, + "none": [], + "target": [ + "a[shape=\"rect\"]:nth-child(2)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/WAI/search.php\" shape=\"rect\">Search</a>", + "impact": null, + "none": [], + "target": [ + "a[shape=\"rect\"]:nth-child(3)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/WAI/contacts\" shape=\"rect\">Contacting WAI</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"contacts\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<strong>Feedback welcome to <a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a></strong>", + "impact": null, + "none": [], + "target": [ + "p:nth-child(3) > strong" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a>", + "impact": null, + "none": [], + "target": [ + "a[href=\"mailto\\:wai-eo-editors\\@w3\\.org\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"mailto:wai@w3.org\" shape=\"rect\">wai@w3.org</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"mailto\\:wai\\@w3\\.org\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<p>", + "impact": null, + "none": [], + "target": [ + ".copyright > p" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "impact": null, + "none": [], + "target": [ + "p > a[rel=\"Copyright\"]:nth-child(1)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<acronym title=\"World Wide Web Consortium\">W3C</acronym>", + "impact": null, + "none": [], + "target": [ + "p > a[href$=\"w3\\.org\\/\"] > acronym[title=\"World\\ Wide\\ Web\\ Consortium\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 21, + "expectedContrastRatio": "4.5:1", + "fgColor": "#000000", + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "missingData": "shortTextContent" + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 21", + "relatedNodes": [] + } + ], + "html": "<sup>®</sup>", + "impact": null, + "none": [], + "target": [ + "p > sup" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<acronym title=\"Massachusetts Institute of Technology\">MIT</acronym>", + "impact": null, + "none": [], + "target": [ + "p > a[href$=\"csail\\.mit\\.edu\\/\"] > acronym" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym>", + "impact": null, + "none": [], + "target": [ + "p > a[href$=\"ercim\\.org\\/\"] > acronym" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "impact": null, + "none": [], + "target": [ + "p > a[href$=\"keio\\.ac\\.jp\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer\">liability</a>", + "impact": null, + "none": [], + "target": [ + ".copyright > p > a:nth-child(7)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks\">trademark</a>", + "impact": null, + "none": [], + "target": [ + ".copyright > p > a:nth-child(8)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-documents\">document use</a>", + "impact": null, + "none": [], + "target": [ + "a[rel=\"Copyright\"]:nth-child(9)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-software\">software licensing</a>", + "impact": null, + "none": [], + "target": [ + "a[rel=\"Copyright\"]:nth-child(10)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Public\">public</a>", + "impact": null, + "none": [], + "target": [ + "a:nth-child(11)" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "expectedContrastRatio": "4.5:1", + "fgColor": "#0000ff", + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Members\">Member</a>", + "impact": null, + "none": [], + "target": [ + "a:nth-child(12)" + ] + } + ], + "tags": [ + "cat.color", + "wcag2aa", + "wcag143" + ] + }, + { + "description": "Ensures each HTML document contains a non-empty <title> element", + "help": "Documents must have <title> element to aid in navigation", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/document-title?application=webdriverjs", + "id": "document-title", + "impact": null, + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "doc-has-title", + "impact": "serious", + "message": "Document has a non-empty <title> element", + "relatedNodes": [] + } + ], + "html": "<html class=\"deque-axe-is-ready\">", + "impact": null, + "none": [], + "target": [ + "html" + ] + } + ], + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag242" + ] + }, + { + "description": "Ensures every id attribute value is unique", + "help": "id attribute value must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id?application=webdriverjs", + "id": "duplicate-id", + "impact": null, + "nodes": [ + { + "all": [], + "any": [ + { + "data": "meta-header", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<div id=\"meta-header\">", + "impact": null, + "none": [], + "target": [ + "#meta-header" + ] + }, + { + "all": [], + "any": [ + { + "data": "skipnav", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<p id=\"skipnav\"><a href=\"#page\">Skip to inaccessible demo page</a></p>", + "impact": null, + "none": [], + "target": [ + "#skipnav" + ] + }, + { + "all": [], + "any": [ + { + "data": "logos", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<p id=\"logos\"><a href=\"http://www.w3.org/\" title=\"W3C Home\"><img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\"></a><a href=\"http://www.w3.org/WAI/\" title=\"WAI Home\"><img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\"></a></p>", + "impact": null, + "none": [], + "target": [ + "#logos" + ] + }, + { + "all": [], + "any": [ + { + "data": "mnav", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<div id=\"mnav\" class=\"inaccessible\">", + "impact": null, + "none": [], + "target": [ + "#mnav" + ] + }, + { + "all": [], + "any": [ + { + "data": "page", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<div id=\"page\">", + "impact": null, + "none": [], + "target": [ + "#page" + ] + }, + { + "all": [], + "any": [ + { + "data": "startcontent", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<p class=\"skip\" id=\"startcontent\">Demo starts here</p>", + "impact": null, + "none": [], + "target": [ + "#startcontent" + ] + }, + { + "all": [], + "any": [ + { + "data": "WEATHER", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<td bgcolor=\"#EDEDED\" align=\"RIGHT\" id=\"WEATHER\">", + "impact": null, + "none": [], + "target": [ + "#WEATHER" + ] + }, + { + "all": [], + "any": [ + { + "data": "home", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"home\" onmouseover=\"switchImage('nav_home', './img/nav_home2.gif'); ChangeColor('home','#FFF')\" onmouseout=\"switchImage('nav_home', './img/nav_home.gif'); ChangeColor('home','#EDEDED')\">", + "impact": null, + "none": [], + "target": [ + "#home" + ] + }, + { + "all": [], + "any": [ + { + "data": "news", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"news\" onmouseover=\"switchImage('nav_news', './img/nav_news2.gif'); ChangeColor('news','#FFF')\" onmouseout=\"switchImage('nav_news', './img/nav_news.gif'); ChangeColor('news','#EDEDED')\">", + "impact": null, + "none": [], + "target": [ + "#news" + ] + }, + { + "all": [], + "any": [ + { + "data": "tickets", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"tickets\" onmouseover=\"switchImage('nav_facts', './img/nav_facts2.gif'); ChangeColor('tickets','#FFF')\" onmouseout=\"switchImage('nav_facts', './img/nav_facts.gif'); ChangeColor('tickets','#EDEDED')\">", + "impact": null, + "none": [], + "target": [ + "#tickets" + ] + }, + { + "all": [], + "any": [ + { + "data": "survey", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"survey\" onmouseover=\"switchImage('nav_survey', './img/nav_survey2.gif'); ChangeColor('survey','#FFF')\" onmouseout=\"switchImage('nav_survey', './img/nav_survey.gif'); ChangeColor('survey','#EDEDED')\">", + "impact": null, + "none": [], + "target": [ + "#survey" + ] + }, + { + "all": [], + "any": [ + { + "data": "main", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<td width=\"434px\" height=\"600px\" valign=\"TOP\" id=\"main\">", + "impact": null, + "none": [], + "target": [ + "#main" + ] + }, + { + "all": [], + "any": [ + { + "data": "content", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<div id=\"content\">", + "impact": null, + "none": [], + "target": [ + "#content" + ] + }, + { + "all": [], + "any": [ + { + "data": "meta-footer", + "id": "duplicate-id", + "impact": "minor", + "message": "Document has no static elements that share the same id attribute", + "relatedNodes": [] + } + ], + "html": "<div id=\"meta-footer\" class=\"meta\">", + "impact": null, + "none": [], + "target": [ + "#meta-footer" + ] + } + ], + "tags": [ + "cat.parsing", + "wcag2a", + "wcag411" + ] + }, + { + "description": "Ensures headings have discernible text", + "help": "Headings must not be empty", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/empty-heading?application=webdriverjs", + "id": "empty-heading", + "impact": null, + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "impact": null, + "none": [], + "target": [ + "h1" + ] + } + ], + "tags": [ + "cat.name-role-value", + "best-practice" + ] + }, + { + "description": "Ensures form field does not have multiple label elements", + "help": "Form field should not have multiple label elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/form-field-multiple-labels?application=webdriverjs", + "id": "form-field-multiple-labels", + "impact": null, + "nodes": [ + { + "all": [], + "any": [], + "html": "<select onchange=\"location.href = this.value;\">", + "impact": null, + "none": [ + { + "data": null, + "id": "multiple-label", + "impact": "moderate", + "message": "Form field does not have multiple label elements", + "relatedNodes": [] + } + ], + "target": [ + "select" + ] + } + ], + "tags": [ + "cat.forms", + "wcag2a", + "wcag332" + ] + }, + { + "description": "Ensures the order of headings is semantically correct", + "help": "Heading levels should only increase by one", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/heading-order?application=webdriverjs", + "id": "heading-order", + "impact": null, + "nodes": [ + { + "all": [], + "any": [ + { + "data": 1, + "id": "heading-order", + "impact": "moderate", + "message": "Heading order valid", + "relatedNodes": [] + } + ], + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "impact": null, + "none": [], + "target": [ + "h1" + ] + } + ], + "tags": [ + "cat.semantics", + "best-practice" + ] + }, + { + "description": "Ensures <img> elements have alternate text or a role of none or presentation", + "help": "Images must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/image-alt?application=webdriverjs", + "id": "image-alt", + "impact": "critical", + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element has an alt attribute", + "relatedNodes": [] + } + ], + "html": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">", + "impact": null, + "none": [ + { + "data": null, + "id": "alt-space-value", + "impact": "critical", + "message": "Element has a valid alt attribute value", + "relatedNodes": [] + } + ], + "target": [ + "img[alt=\"W3C\\ logo\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element has an alt attribute", + "relatedNodes": [] + } + ], + "html": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">", + "impact": null, + "none": [ + { + "data": null, + "id": "alt-space-value", + "impact": "critical", + "message": "Element has a valid alt attribute value", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"wai\\.png\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element has an alt attribute", + "relatedNodes": [] + } + ], + "html": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">", + "impact": null, + "none": [ + { + "data": null, + "id": "alt-space-value", + "impact": "critical", + "message": "Element has a valid alt attribute value", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"top_logo\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element has an alt attribute", + "relatedNodes": [] + } + ], + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "impact": null, + "none": [ + { + "data": null, + "id": "alt-space-value", + "impact": "critical", + "message": "Element has a valid alt attribute value", + "relatedNodes": [] + } + ], + "target": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element has an alt attribute", + "relatedNodes": [] + } + ], + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "impact": null, + "none": [ + { + "data": null, + "id": "alt-space-value", + "impact": "critical", + "message": "Element has a valid alt attribute value", + "relatedNodes": [] + } + ], + "target": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element has an alt attribute", + "relatedNodes": [] + } + ], + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "impact": null, + "none": [ + { + "data": null, + "id": "alt-space-value", + "impact": "critical", + "message": "Element has a valid alt attribute value", + "relatedNodes": [] + } + ], + "target": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element has an alt attribute", + "relatedNodes": [] + } + ], + "html": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "impact": null, + "none": [ + { + "data": null, + "id": "alt-space-value", + "impact": "critical", + "message": "Element has a valid alt attribute value", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(1)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element has an alt attribute", + "relatedNodes": [] + } + ], + "html": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "impact": null, + "none": [ + { + "data": null, + "id": "alt-space-value", + "impact": "critical", + "message": "Element has a valid alt attribute value", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(4)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element has an alt attribute", + "relatedNodes": [] + } + ], + "html": "<img src=\"./img/telefon_white_bg.gif\" alt=\"1234 56789\" border=\"0\" align=\"absmiddle\">", + "impact": null, + "none": [ + { + "data": null, + "id": "alt-space-value", + "impact": "critical", + "message": "Element has a valid alt attribute value", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"telefon_white_bg\\.gif\"]" + ] + } + ], + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ] + }, + { + "description": "Ensure image alternative is not repeated as text", + "help": "Alternative text of images should not be repeated as text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/image-redundant-alt?application=webdriverjs", + "id": "image-redundant-alt", + "impact": null, + "nodes": [ + { + "all": [], + "any": [], + "html": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[alt=\"W3C\\ logo\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"wai\\.png\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"border_left_top\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/border_top.gif\" height=\"10px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"border_top\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"border_right_top\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/border_left.gif\" width=\"10px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"border_left\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"top_logo\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"top_logo_next_end\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"top_weather\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"top_logo_next_start\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"mark\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "td[colspan=\"\\35 \"][background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\37 80px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "td[width=\"\\31 55px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[width=\"\\31 \"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[name=\"nav_home\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "tr[height=\"\\31 px\"]:nth-child(3) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"nav_news\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "tr[height=\"\\31 px\"]:nth-child(5) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[name=\"nav_facts\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "tr[height=\"\\31 px\"]:nth-child(7) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"nav_survey\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "tr[height=\"\\31 px\"]:nth-child(9) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "td[width=\"\\32 0px\"]:nth-child(2) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + ".newsheadline:nth-child(1) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + ".newsheadline:nth-child(2) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + ".newsheadline:nth-child(3) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(1)" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(4)" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/telefon_white_bg.gif\" alt=\"1234 56789\" border=\"0\" align=\"absmiddle\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"telefon_white_bg\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "td[width=\"\\32 0px\"]:nth-child(4) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"marker2_t\\.gif\"][height=\"\\33 0px\"][width=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "td[width=\"\\31 51px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"teaser_right1\\.jpg\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "td[background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\31 50px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"teaser_right2\\.jpg\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/border_right.gif\" width=\"10px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"border_right\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"border_bottom_left\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/border_bottom.gif\" height=\"10px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"border_bottom\\.gif\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "duplicate-img-label", + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text", + "relatedNodes": [] + } + ], + "target": [ + "img[src$=\"border_bottom_right\\.gif\"]" + ] + } + ], + "tags": [ + "cat.text-alternatives", + "best-practice" + ] + }, + { + "description": "Ensures that every form element is not solely labeled using the title or aria-describedby attributes", + "help": "Form elements should have a visible label", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/label-title-only?application=webdriverjs", + "id": "label-title-only", + "impact": null, + "nodes": [ + { + "all": [], + "any": [], + "html": "<select onchange=\"location.href = this.value;\">", + "impact": null, + "none": [ + { + "data": null, + "id": "title-only", + "impact": "serious", + "message": "Form element does not solely use title attribute for its label", + "relatedNodes": [] + } + ], + "target": [ + "select" + ] + } + ], + "tags": [ + "cat.forms", + "best-practice" + ] + }, + { + "description": "Ensures the document has at most one banner landmark", + "help": "Document must not have more than one banner landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-no-duplicate-banner?application=webdriverjs", + "id": "landmark-no-duplicate-banner", + "impact": null, + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "page-no-duplicate-banner", + "impact": "moderate", + "message": "Document does not have more than one banner landmark", + "relatedNodes": [] + } + ], + "html": "<html class=\"deque-axe-is-ready\">", + "impact": null, + "none": [], + "target": [ + "html" + ] + } + ], + "tags": [ + "cat.semantics", + "best-practice" + ] + }, + { + "description": "Ensures the document has at most one contentinfo landmark", + "help": "Document must not have more than one contentinfo landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-no-duplicate-contentinfo?application=webdriverjs", + "id": "landmark-no-duplicate-contentinfo", + "impact": null, + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "page-no-duplicate-contentinfo", + "impact": "moderate", + "message": "Document does not have more than one contentinfo landmark", + "relatedNodes": [] + } + ], + "html": "<html class=\"deque-axe-is-ready\">", + "impact": null, + "none": [], + "target": [ + "html" + ] + } + ], + "tags": [ + "cat.semantics", + "best-practice" + ] + }, + { + "description": "Ensures presentational <table> elements do not use <th>, <caption> elements or the summary attribute", + "help": "Layout tables must not use data table elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/layout-table?application=webdriverjs", + "id": "layout-table", + "impact": null, + "nodes": [ + { + "all": [], + "any": [], + "html": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">", + "impact": null, + "none": [ + { + "data": null, + "id": "has-th", + "impact": "serious", + "message": "Layout table does not use <th> elements", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-caption", + "impact": "serious", + "message": "Layout table does not use <caption> element", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-summary", + "impact": "serious", + "message": "Layout table does not use summary attribute", + "relatedNodes": [] + } + ], + "target": [ + "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "impact": null, + "none": [ + { + "data": null, + "id": "has-th", + "impact": "serious", + "message": "Layout table does not use <th> elements", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-caption", + "impact": "serious", + "message": "Layout table does not use <caption> element", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-summary", + "impact": "serious", + "message": "Layout table does not use summary attribute", + "relatedNodes": [] + } + ], + "target": [ + "table[width=\"\\38 00px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "impact": null, + "none": [ + { + "data": null, + "id": "has-th", + "impact": "serious", + "message": "Layout table does not use <th> elements", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-caption", + "impact": "serious", + "message": "Layout table does not use <caption> element", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-summary", + "impact": "serious", + "message": "Layout table does not use summary attribute", + "relatedNodes": [] + } + ], + "target": [ + "table[height=\"\\31 44px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "has-th", + "impact": "serious", + "message": "Layout table does not use <th> elements", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-caption", + "impact": "serious", + "message": "Layout table does not use <caption> element", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-summary", + "impact": "serious", + "message": "Layout table does not use summary attribute", + "relatedNodes": [] + } + ], + "target": [ + "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "impact": null, + "none": [ + { + "data": null, + "id": "has-th", + "impact": "serious", + "message": "Layout table does not use <th> elements", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-caption", + "impact": "serious", + "message": "Layout table does not use <caption> element", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-summary", + "impact": "serious", + "message": "Layout table does not use summary attribute", + "relatedNodes": [] + } + ], + "target": [ + "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "has-th", + "impact": "serious", + "message": "Layout table does not use <th> elements", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-caption", + "impact": "serious", + "message": "Layout table does not use <caption> element", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-summary", + "impact": "serious", + "message": "Layout table does not use summary attribute", + "relatedNodes": [] + } + ], + "target": [ + "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "has-th", + "impact": "serious", + "message": "Layout table does not use <th> elements", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-caption", + "impact": "serious", + "message": "Layout table does not use <caption> element", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-summary", + "impact": "serious", + "message": "Layout table does not use summary attribute", + "relatedNodes": [] + } + ], + "target": [ + "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "has-th", + "impact": "serious", + "message": "Layout table does not use <th> elements", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-caption", + "impact": "serious", + "message": "Layout table does not use <caption> element", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-summary", + "impact": "serious", + "message": "Layout table does not use summary attribute", + "relatedNodes": [] + } + ], + "target": [ + "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "has-th", + "impact": "serious", + "message": "Layout table does not use <th> elements", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-caption", + "impact": "serious", + "message": "Layout table does not use <caption> element", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-summary", + "impact": "serious", + "message": "Layout table does not use summary attribute", + "relatedNodes": [] + } + ], + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">", + "impact": null, + "none": [ + { + "data": null, + "id": "has-th", + "impact": "serious", + "message": "Layout table does not use <th> elements", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-caption", + "impact": "serious", + "message": "Layout table does not use <caption> element", + "relatedNodes": [] + }, + { + "data": null, + "id": "has-summary", + "impact": "serious", + "message": "Layout table does not use summary attribute", + "relatedNodes": [] + } + ], + "target": [ + "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]" + ] + } + ], + "tags": [ + "cat.semantics", + "wcag2a", + "wcag131" + ] + }, + { + "description": "Ensures links have discernible text", + "help": "Links must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/link-name?application=webdriverjs", + "id": "link-name", + "impact": "serious", + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"#page\">Skip to inaccessible demo page</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"\\#page\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/\" title=\"W3C Home\"><img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\"></a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[title=\"W3C\\ Home\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/WAI/\" title=\"WAI Home\"><img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\"></a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"WAI\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"../Overview.html\">Overview</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"Overview\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + ".inaccessible > .report[href$=\"home\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + ".page[href$=\"home\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + ".accessible > .report[href$=\"home\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + ".annotoggle" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"news.html\">News</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "li:nth-child(3) > a[href$=\"news\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"tickets.html\">Tickets</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "li:nth-child(4) > a[href$=\"tickets\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"survey.html\">Survey</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "li:nth-child(5) > a[href$=\"survey\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"template.html\">Template</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"template\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"home.html\">", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "td[width=\"\\34 43px\"][background=\"\\.\\/img\\/top_logo_next\\.gif\"][valign=\"MIDDLE\"] > div > a[href$=\"home\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + ".newsheadline:nth-child(1) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + ".newsheadline:nth-child(2) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + ".newsheadline:nth-child(3) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(2)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(5)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "font[size=\"\\31 \"] > a[rel=\"Copyright\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/\"><acronym title=\"World Wide Web Consortium\">W3C</acronym></a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "font[size=\"\\31 \"] > a[href$=\"w3\\.org\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.csail.mit.edu/\"><acronym title=\"Massachusetts Institute of Technology\">MIT</acronym></a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "font[size=\"\\31 \"] > a[href$=\"csail\\.mit\\.edu\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.ercim.org/\"><acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym></a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "font[size=\"\\31 \"] > a[href$=\"ercim\\.org\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "font[size=\"\\31 \"] > a[href$=\"keio\\.ac\\.jp\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"../changelog.html\">changelog</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"changelog\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/People/shadi/\">Shadi Abou-Zahra</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "p:nth-child(2) > a:nth-child(4)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/WAI/EO/\">Education and Outreach Working Group (EOWG)</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"EO\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/WAI/TIES/\"><acronym title=\"Web Accessibility Initiative: Training, Implementation, Education, Support\">WAI-TIES</acronym></a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"TIES\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/WAI/WAI-AGE/\"><acronym title=\"Web Accessibility Initiative: Ageing Education and Harmonisation\">WAI-AGE</acronym></a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"WAI-AGE\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"../acks.html\">Acknowledgements</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"acks\\.html\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/WAI/sitemap.html\" shape=\"rect\">WAI Site Map</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "p:nth-child(3) > a[shape=\"rect\"]:nth-child(1)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/WAI/sitehelp.html\" shape=\"rect\">Help with WAI Website</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[shape=\"rect\"]:nth-child(2)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/WAI/search.php\" shape=\"rect\">Search</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[shape=\"rect\"]:nth-child(3)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/WAI/contacts\" shape=\"rect\">Contacting WAI</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"contacts\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href=\"mailto\\:wai-eo-editors\\@w3\\.org\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"mailto:wai@w3.org\" shape=\"rect\">wai@w3.org</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[href$=\"mailto\\:wai\\@w3\\.org\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "p > a[rel=\"Copyright\"]:nth-child(1)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/\"><acronym title=\"World Wide Web Consortium\">W3C</acronym></a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + ".copyright > p > a[href$=\"w3\\.org\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.csail.mit.edu/\"><acronym title=\"Massachusetts Institute of Technology\">MIT</acronym></a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "p > a[href$=\"csail\\.mit\\.edu\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.ercim.org/\"><acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym></a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "p > a[href$=\"ercim\\.org\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "p > a[href$=\"keio\\.ac\\.jp\\/\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer\">liability</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + ".copyright > p > a:nth-child(7)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks\">trademark</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + ".copyright > p > a:nth-child(8)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-documents\">document use</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[rel=\"Copyright\"]:nth-child(9)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-software\">software licensing</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a[rel=\"Copyright\"]:nth-child(10)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Public\">public</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a:nth-child(11)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element has text that is visible to screen readers", + "relatedNodes": [] + } + ], + "html": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Members\">Member</a>", + "impact": null, + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is not in tab order or has accessible text", + "relatedNodes": [] + } + ], + "target": [ + "a:nth-child(12)" + ] + } + ], + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "wcag244", + "section508", + "section508.22.a" + ] + }, + { + "description": "Ensures that lists are structured correctly", + "help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/list?application=webdriverjs", + "id": "list", + "impact": null, + "nodes": [ + { + "all": [], + "any": [], + "html": "<ul>", + "impact": null, + "none": [ + { + "data": null, + "id": "only-listitems", + "impact": "serious", + "message": "List element only has direct children that are allowed inside <li> elements", + "relatedNodes": [] + } + ], + "target": [ + "#mnav > ul" + ] + }, + { + "all": [], + "any": [], + "html": "<ul>", + "impact": null, + "none": [ + { + "data": null, + "id": "only-listitems", + "impact": "serious", + "message": "List element only has direct children that are allowed inside <li> elements", + "relatedNodes": [] + } + ], + "target": [ + ".subnav > ul" + ] + } + ], + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ] + }, + { + "description": "Ensures <li> elements are used semantically", + "help": "<li> elements must be contained in a <ul> or <ol>", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/listitem?application=webdriverjs", + "id": "listitem", + "impact": null, + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "listitem", + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element", + "relatedNodes": [] + } + ], + "html": "<li class=\"first\"><a href=\"../Overview.html\">Overview</a></li>", + "impact": null, + "none": [], + "target": [ + ".first:nth-child(1)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "listitem", + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element", + "relatedNodes": [] + } + ], + "html": "<li class=\"current first\">", + "impact": null, + "none": [], + "target": [ + ".current.first" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "listitem", + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element", + "relatedNodes": [] + } + ], + "html": "<li class=\"inaccessible\"><strong>Inaccessible:</strong><a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a><a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a></li>", + "impact": null, + "none": [], + "target": [ + "ul > .inaccessible" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "listitem", + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element", + "relatedNodes": [] + } + ], + "html": "<li class=\"accessible\"><strong>Accessible:</strong><a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a><a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a></li>", + "impact": null, + "none": [], + "target": [ + ".accessible" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "listitem", + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element", + "relatedNodes": [] + } + ], + "html": "<li><a href=\"news.html\">News</a></li>", + "impact": null, + "none": [], + "target": [ + "li:nth-child(3)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "listitem", + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element", + "relatedNodes": [] + } + ], + "html": "<li><a href=\"tickets.html\">Tickets</a></li>", + "impact": null, + "none": [], + "target": [ + "li:nth-child(4)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "listitem", + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element", + "relatedNodes": [] + } + ], + "html": "<li><a href=\"survey.html\">Survey</a></li>", + "impact": null, + "none": [], + "target": [ + "li:nth-child(5)" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "listitem", + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element", + "relatedNodes": [] + } + ], + "html": "<li><a href=\"template.html\">Template</a></li>", + "impact": null, + "none": [], + "target": [ + "li:nth-child(6)" + ] + } + ], + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ] + }, + { + "description": "Ensure that the page, or at least one of its frames contains a level-one heading", + "help": "Page must contain a level-one heading", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/page-has-heading-one?application=webdriverjs", + "id": "page-has-heading-one", + "impact": null, + "nodes": [ + { + "all": [ + { + "data": null, + "id": "page-has-heading-one", + "impact": "moderate", + "message": "Page has at least one level-one heading", + "relatedNodes": [ + { + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "target": [ + "h1" + ] + } + ] + } + ], + "any": [], + "html": "<html class=\"deque-axe-is-ready\">", + "impact": null, + "none": [], + "target": [ + "html" + ] + } + ], + "tags": [ + "cat.semantics", + "best-practice" + ] + }, + { + "description": "Ensure all skip links have a focusable target", + "help": "The skip-link target should exist and be focusable", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/skip-link?application=webdriverjs", + "id": "skip-link", + "impact": null, + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "skip-link", + "impact": "moderate", + "message": "Skip link target exists", + "relatedNodes": [] + } + ], + "html": "<a href=\"#page\">Skip to inaccessible demo page</a>", + "impact": null, + "none": [], + "target": [ + "a[href$=\"\\#page\"]" + ] + } + ], + "tags": [ + "cat.keyboard", + "best-practice" + ] + }, + { + "description": "Ensure that tables do not have the same summary and caption", + "help": "The <caption> element should not contain the same text as the summary attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/table-duplicate-name?application=webdriverjs", + "id": "table-duplicate-name", + "impact": null, + "nodes": [ + { + "all": [], + "any": [], + "html": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">", + "impact": null, + "none": [ + { + "data": null, + "id": "same-caption-summary", + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated", + "relatedNodes": [] + } + ], + "target": [ + "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "impact": null, + "none": [ + { + "data": null, + "id": "same-caption-summary", + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated", + "relatedNodes": [] + } + ], + "target": [ + "table[width=\"\\38 00px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "impact": null, + "none": [ + { + "data": null, + "id": "same-caption-summary", + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated", + "relatedNodes": [] + } + ], + "target": [ + "table[height=\"\\31 44px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "same-caption-summary", + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated", + "relatedNodes": [] + } + ], + "target": [ + "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "impact": null, + "none": [ + { + "data": null, + "id": "same-caption-summary", + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated", + "relatedNodes": [] + } + ], + "target": [ + "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "same-caption-summary", + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated", + "relatedNodes": [] + } + ], + "target": [ + "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "same-caption-summary", + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated", + "relatedNodes": [] + } + ], + "target": [ + "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "same-caption-summary", + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated", + "relatedNodes": [] + } + ], + "target": [ + "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "impact": null, + "none": [ + { + "data": null, + "id": "same-caption-summary", + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated", + "relatedNodes": [] + } + ], + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ] + }, + { + "all": [], + "any": [], + "html": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">", + "impact": null, + "none": [ + { + "data": null, + "id": "same-caption-summary", + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated", + "relatedNodes": [] + } + ], + "target": [ + "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]" + ] + } + ], + "tags": [ + "cat.tables", + "best-practice" + ] + }, + { + "description": "Ensure that each cell in a table using the headers refers to another cell in that table", + "help": "All cells in a table element that use the headers attribute must only refer to other cells of that same table", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/td-headers-attr?application=webdriverjs", + "id": "td-headers-attr", + "impact": null, + "nodes": [ + { + "all": [ + { + "data": null, + "id": "td-headers-attr", + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table", + "relatedNodes": [] + } + ], + "any": [], + "html": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">", + "impact": null, + "none": [], + "target": [ + "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]" + ] + }, + { + "all": [ + { + "data": null, + "id": "td-headers-attr", + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table", + "relatedNodes": [] + } + ], + "any": [], + "html": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "impact": null, + "none": [], + "target": [ + "table[width=\"\\38 00px\"]" + ] + }, + { + "all": [ + { + "data": null, + "id": "td-headers-attr", + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table", + "relatedNodes": [] + } + ], + "any": [], + "html": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "impact": null, + "none": [], + "target": [ + "table[height=\"\\31 44px\"]" + ] + }, + { + "all": [ + { + "data": null, + "id": "td-headers-attr", + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table", + "relatedNodes": [] + } + ], + "any": [], + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "impact": null, + "none": [], + "target": [ + "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]" + ] + }, + { + "all": [ + { + "data": null, + "id": "td-headers-attr", + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table", + "relatedNodes": [] + } + ], + "any": [], + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "impact": null, + "none": [], + "target": [ + "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)" + ] + }, + { + "all": [ + { + "data": null, + "id": "td-headers-attr", + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table", + "relatedNodes": [] + } + ], + "any": [], + "html": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "impact": null, + "none": [], + "target": [ + "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]" + ] + }, + { + "all": [ + { + "data": null, + "id": "td-headers-attr", + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table", + "relatedNodes": [] + } + ], + "any": [], + "html": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "impact": null, + "none": [], + "target": [ + "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]" + ] + }, + { + "all": [ + { + "data": null, + "id": "td-headers-attr", + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table", + "relatedNodes": [] + } + ], + "any": [], + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "impact": null, + "none": [], + "target": [ + "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ] + }, + { + "all": [ + { + "data": null, + "id": "td-headers-attr", + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table", + "relatedNodes": [] + } + ], + "any": [], + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "impact": null, + "none": [], + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ] + }, + { + "all": [ + { + "data": null, + "id": "td-headers-attr", + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table", + "relatedNodes": [] + } + ], + "any": [], + "html": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">", + "impact": null, + "none": [], + "target": [ + "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]" + ] + } + ], + "tags": [ + "cat.tables", + "wcag2a", + "wcag131", + "section508", + "section508.22.g" + ] + } + ], + "testEngine": { + "name": "axe-core", + "version": "3.4.1" + }, + "testEnvironment": { + "orientationAngle": 0, + "orientationType": "landscape-primary", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/79.0.3945.88 Safari/537.36", + "windowHeight": 600, + "windowWidth": 800 + }, + "testRunner": { + "name": "axe" + }, + "timestamp": "2020-01-07T01:18:27.882Z", + "toolOptions": { + "reporter": "v1" + }, + "url": "https://www.w3.org/WAI/demos/bad/before/home.html", + "violations": [ + { + "description": "Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds", + "help": "Elements must have sufficient color contrast", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/color-contrast?application=webdriverjs", + "id": "color-contrast", + "impact": "serious", + "nodes": [ + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#a9b8bf", + "contrastRatio": 3.88, + "expectedContrastRatio": "4.5:1", + "fgColor": "#41545d", + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1", + "relatedNodes": [ + { + "html": "<td width=\"150px\" bgcolor=\"#A9B8BF\"><font color=\"#41545D\" face=\"Verdana\" size=\"2\"> <b>Free Penguins</b></font></td>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(2) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"]" + ] + } + ] + } + ], + "failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1", + "html": "<b>Free Penguins</b>", + "impact": "serious", + "none": [], + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(2) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ] + }, + { + "all": [], + "any": [ + { + "data": { + "bgColor": "#a9b8bf", + "contrastRatio": 3.88, + "expectedContrastRatio": "4.5:1", + "fgColor": "#41545d", + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "missingData": null + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1", + "relatedNodes": [ + { + "html": "<td width=\"150px\" bgcolor=\"#A9B8BF\"><font color=\"#41545D\" face=\"Verdana\" size=\"2\"> <b>More City Parks</b></font></td>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(7) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"]" + ] + } + ] + } + ], + "failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1", + "html": "<b>More City Parks</b>", + "impact": "serious", + "none": [], + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(7) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ] + } + ], + "tags": [ + "cat.color", + "wcag2aa", + "wcag143" + ] + }, + { + "description": "Ensures every HTML document has a lang attribute", + "help": "<html> element must have a lang attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/html-has-lang?application=webdriverjs", + "id": "html-has-lang", + "impact": "serious", + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "has-lang", + "impact": "serious", + "message": "The <html> element does not have a lang attribute", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n The <html> element does not have a lang attribute", + "html": "<html class=\"deque-axe-is-ready\">", + "impact": "serious", + "none": [], + "target": [ + "html" + ] + } + ], + "tags": [ + "cat.language", + "wcag2a", + "wcag311" + ] + }, + { + "description": "Ensures <img> elements have alternate text or a role of none or presentation", + "help": "Images must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/image-alt?application=webdriverjs", + "id": "image-alt", + "impact": "critical", + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"border_left_top\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/border_top.gif\" height=\"10px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"border_top\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"border_right_top\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/border_left.gif\" width=\"10px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"border_left\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"top_logo_next_end\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"top_weather\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"top_logo_next_start\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"mark\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": "critical", + "none": [], + "target": [ + "td[colspan=\"\\35 \"][background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\37 80px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": "critical", + "none": [], + "target": [ + "td[width=\"\\31 55px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">", + "impact": "critical", + "none": [], + "target": [ + "img[width=\"\\31 \"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">", + "impact": "critical", + "none": [], + "target": [ + "img[name=\"nav_home\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": "critical", + "none": [], + "target": [ + "tr[height=\"\\31 px\"]:nth-child(3) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"nav_news\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": "critical", + "none": [], + "target": [ + "tr[height=\"\\31 px\"]:nth-child(5) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">", + "impact": "critical", + "none": [], + "target": [ + "img[name=\"nav_facts\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": "critical", + "none": [], + "target": [ + "tr[height=\"\\31 px\"]:nth-child(7) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"nav_survey\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": "critical", + "none": [], + "target": [ + "tr[height=\"\\31 px\"]:nth-child(9) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "impact": "critical", + "none": [], + "target": [ + "td[width=\"\\32 0px\"]:nth-child(2) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "impact": "critical", + "none": [], + "target": [ + ".newsheadline:nth-child(1) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "impact": "critical", + "none": [], + "target": [ + ".newsheadline:nth-child(2) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "impact": "critical", + "none": [], + "target": [ + ".newsheadline:nth-child(3) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "impact": "critical", + "none": [], + "target": [ + "td[width=\"\\32 0px\"]:nth-child(4) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"marker2_t\\.gif\"][height=\"\\33 0px\"][width=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": "critical", + "none": [], + "target": [ + "td[width=\"\\31 51px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"teaser_right1\\.jpg\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "impact": "critical", + "none": [], + "target": [ + "td[background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\31 50px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"teaser_right2\\.jpg\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/border_right.gif\" width=\"10px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"border_right\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"border_bottom_left\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/border_bottom.gif\" height=\"10px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"border_bottom\\.gif\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-alt", + "impact": "critical", + "message": "Element does not have an alt attribute", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">", + "impact": "critical", + "none": [], + "target": [ + "img[src$=\"border_bottom_right\\.gif\"]" + ] + } + ], + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ] + }, + { + "description": "Ensures every form element has a label", + "help": "Form elements must have labels", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/label?application=webdriverjs", + "id": "label", + "impact": "critical", + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "implicit-label", + "impact": "critical", + "message": "Form element does not have an implicit (wrapped) <label>", + "relatedNodes": [] + }, + { + "data": null, + "id": "explicit-label", + "impact": "critical", + "message": "Form element does not have an explicit <label>", + "relatedNodes": [] + }, + { + "data": null, + "id": "non-empty-title", + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty", + "relatedNodes": [] + } + ], + "failureSummary": "Fix any of the following:\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Form element does not have an implicit (wrapped) <label>\n Form element does not have an explicit <label>\n Element has no title attribute or the title attribute is empty", + "html": "<select onchange=\"location.href = this.value;\">", + "impact": "critical", + "none": [], + "target": [ + "select" + ] + } + ], + "tags": [ + "cat.forms", + "wcag2a", + "wcag332", + "wcag131", + "section508", + "section508.22.n" + ] + }, + { + "description": "Ensures the document has only one main landmark and each iframe in the page has at most one main landmark", + "help": "Document must have one main landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-one-main?application=webdriverjs", + "id": "landmark-one-main", + "impact": "moderate", + "nodes": [ + { + "all": [ + { + "data": null, + "id": "page-has-main", + "impact": "moderate", + "message": "Document does not have a main landmark", + "relatedNodes": [] + } + ], + "any": [], + "failureSummary": "Fix all of the following:\n Document does not have a main landmark", + "html": "<html class=\"deque-axe-is-ready\">", + "impact": "moderate", + "none": [], + "target": [ + "html" + ] + } + ], + "tags": [ + "cat.semantics", + "best-practice" + ] + }, + { + "description": "Ensures links have discernible text", + "help": "Links must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/link-name?application=webdriverjs", + "id": "link-name", + "impact": "serious", + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element does not have text that is visible to screen readers", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<a href=\"javascript:location.href='home.html';\" onfocus=\"blur();\"><img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\"></a>", + "impact": "serious", + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is in tab order and does not have accessible text", + "relatedNodes": [] + } + ], + "target": [ + "#home > a[onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element does not have text that is visible to screen readers", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<a href=\"javascript:location.href='news.html';\" onfocus=\"blur();\"><img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\"></a>", + "impact": "serious", + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is in tab order and does not have accessible text", + "relatedNodes": [] + } + ], + "target": [ + "#news > a[onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element does not have text that is visible to screen readers", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<a href=\"javascript:location.href='tickets.html';\" onfocus=\"blur();\"><img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\"></a>", + "impact": "serious", + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is in tab order and does not have accessible text", + "relatedNodes": [] + } + ], + "target": [ + "#tickets > a[onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element does not have text that is visible to screen readers", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<a href=\"javascript:location.href='survey.html';\" onfocus=\"blur();\"><img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\"></a>", + "impact": "serious", + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is in tab order and does not have accessible text", + "relatedNodes": [] + } + ], + "target": [ + "#survey > a[onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element does not have text that is visible to screen readers", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>", + "impact": "serious", + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is in tab order and does not have accessible text", + "relatedNodes": [] + } + ], + "target": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element does not have text that is visible to screen readers", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>", + "impact": "serious", + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is in tab order and does not have accessible text", + "relatedNodes": [] + } + ], + "target": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "all": [], + "any": [ + { + "data": null, + "id": "has-visible-text", + "impact": "minor", + "message": "Element does not have text that is visible to screen readers", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-label", + "impact": "serious", + "message": "aria-label attribute does not exist or is empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "aria-labelledby", + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-presentation", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"", + "relatedNodes": [] + }, + { + "data": null, + "id": "role-none", + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"", + "relatedNodes": [] + } + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"", + "html": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>", + "impact": "serious", + "none": [ + { + "data": null, + "id": "focusable-no-name", + "impact": "serious", + "message": "Element is in tab order and does not have accessible text", + "relatedNodes": [] + } + ], + "target": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + } + ], + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "wcag244", + "section508", + "section508.22.a" + ] + }, + { + "description": "Ensures all page content is contained by landmarks", + "help": "All page content must be contained by landmarks", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/region?application=webdriverjs", + "id": "region", + "impact": "moderate", + "nodes": [ + { + "all": [], + "any": [ + { + "data": null, + "id": "region", + "impact": "moderate", + "message": "Some page content is not contained by landmarks", + "relatedNodes": [ + { + "html": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">", + "target": [ + "img[alt=\"W3C\\ logo\"]" + ] + }, + { + "html": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">", + "target": [ + "img[src$=\"wai\\.png\"]" + ] + }, + { + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "target": [ + "h1" + ] + }, + { + "html": "<p class=\"subline\">Improving a Web site using Web Content Accessibility Guidelines (WCAG) 2.0</p>", + "target": [ + ".subline" + ] + }, + { + "html": "<a href=\"../Overview.html\">Overview</a>", + "target": [ + "a[href$=\"Overview\\.html\"]" + ] + }, + { + "html": "<li class=\"current first\">", + "target": [ + ".current.first" + ] + }, + { + "html": "<a href=\"news.html\">News</a>", + "target": [ + "li:nth-child(3) > a[href$=\"news\\.html\"]" + ] + }, + { + "html": "<a href=\"tickets.html\">Tickets</a>", + "target": [ + "li:nth-child(4) > a[href$=\"tickets\\.html\"]" + ] + }, + { + "html": "<a href=\"survey.html\">Survey</a>", + "target": [ + "li:nth-child(5) > a[href$=\"survey\\.html\"]" + ] + }, + { + "html": "<a href=\"template.html\">Template</a>", + "target": [ + "a[href$=\"template\\.html\"]" + ] + }, + { + "html": "<p class=\"skip\" id=\"startcontent\">Demo starts here</p>", + "target": [ + "#startcontent" + ] + }, + { + "html": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_left_top\\.gif\"]" + ] + }, + { + "html": "<img src=\"./img/border_top.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_top\\.gif\"]" + ] + }, + { + "html": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_right_top\\.gif\"]" + ] + }, + { + "html": "<img src=\"./img/border_left.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_left\\.gif\"]" + ] + }, + { + "html": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">", + "target": [ + "img[src$=\"top_logo\\.gif\"]" + ] + }, + { + "html": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_end\\.gif\"]" + ] + }, + { + "html": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">", + "target": [ + "img[src$=\"top_weather\\.gif\"]" + ] + }, + { + "html": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_start\\.gif\"]" + ] + }, + { + "html": "<select onchange=\"location.href = this.value;\">", + "target": [ + "select" + ] + }, + { + "html": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">", + "target": [ + "img[src$=\"mark\\.gif\"]" + ] + }, + { + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">  <b>Traffic:</b> Construction work on Main Road</font>", + "target": [ + "td[width=\"\\33 80px\"] > font[color=\"BLACK\"][size=\"\\32 \"]" + ] + }, + { + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">", + "target": [ + "#WEATHER > font[color=\"BLACK\"][size=\"\\32 \"]" + ] + }, + { + "html": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[colspan=\"\\35 \"][background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\37 80px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 55px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "html": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">", + "target": [ + "img[width=\"\\31 \"]" + ] + }, + { + "html": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">", + "target": [ + "img[name=\"nav_home\"]" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(3) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "html": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">", + "target": [ + "img[src$=\"nav_news\\.gif\"]" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(5) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "html": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">", + "target": [ + "img[name=\"nav_facts\"]" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(7) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "html": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">", + "target": [ + "img[src$=\"nav_survey\\.gif\"]" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(9) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(2) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ] + }, + { + "html": "<p class=\"headline\">Welcome to CityLights</p>", + "target": [ + ".headline" + ] + }, + { + "html": "<p>Citylights is the new portal for visitors and residents. Find out what's on, book tickets, and get the latest news.</p>", + "target": [ + "#main > p:nth-child(2)" + ] + }, + { + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(1) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ] + }, + { + "html": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>", + "target": [ + ".newsheadline:nth-child(1) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(2) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ] + }, + { + "html": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>", + "target": [ + ".newsheadline:nth-child(2) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(3) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ] + }, + { + "html": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>", + "target": [ + ".newsheadline:nth-child(3) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ] + }, + { + "html": "<span>", + "target": [ + ".story:nth-child(1) > span" + ] + }, + { + "html": "<span>", + "target": [ + ".story:nth-child(2) > span" + ] + }, + { + "html": "<span>", + "target": [ + ".story:nth-child(3) > span" + ] + }, + { + "html": "<p class=\"subheadline\">Elsewhere on the Web</p>", + "target": [ + ".subheadline" + ] + }, + { + "html": "<p>", + "target": [ + "p:nth-child(7)" + ] + }, + { + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(4) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ] + }, + { + "html": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">", + "target": [ + "img[src$=\"marker2_t\\.gif\"][height=\"\\33 0px\"][width=\"\\31 px\"]" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 51px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "html": "<b>Free Penguins</b>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(2) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ] + }, + { + "html": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">", + "target": [ + "img[src$=\"teaser_right1\\.jpg\"]" + ] + }, + { + "html": "<div>\"Free penguins\" slogan at zoo benefit concert causes confusion among city rockers. Adjective or verb?<br><a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></div>", + "target": [ + "table[cellpadding=\"\\33 px\"] > tbody > tr > td > div" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\31 50px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ] + }, + { + "html": "<b>More City Parks</b>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(7) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ] + }, + { + "html": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">", + "target": [ + "img[src$=\"teaser_right2\\.jpg\"]" + ] + }, + { + "html": "<td>More parks and more green throughout the city at the price of already rare car parking spaces, how will this affect you?<br><a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></td>", + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"] > tbody > tr > td" + ] + }, + { + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"1\">", + "target": [ + "font[size=\"\\31 \"]" + ] + }, + { + "html": "<img src=\"./img/border_right.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_right\\.gif\"]" + ] + }, + { + "html": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_left\\.gif\"]" + ] + }, + { + "html": "<img src=\"./img/border_bottom.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom\\.gif\"]" + ] + }, + { + "html": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_right\\.gif\"]" + ] + }, + { + "html": "<p>", + "target": [ + "#meta-footer > p:nth-child(2)" + ] + }, + { + "html": "<p>", + "target": [ + "p:nth-child(3)" + ] + }, + { + "html": "<p>", + "target": [ + ".copyright > p" + ] + } + ] + } + ], + "failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks", + "html": "<html class=\"deque-axe-is-ready\">", + "impact": "moderate", + "none": [], + "target": [ + "html" + ] + } + ], + "tags": [ + "cat.keyboard", + "best-practice" + ] + } + ] + } +] \ No newline at end of file diff --git a/src/test-resources/w3citylights-axe-v3.4.1.reporter-raw.json b/src/test-resources/w3citylights-axe-v3.4.1.reporter-raw.json new file mode 100644 index 00000000..20ec76cc --- /dev/null +++ b/src/test-resources/w3citylights-axe-v3.4.1.reporter-raw.json @@ -0,0 +1,12548 @@ +[ + { + "id": "accesskeys", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "best-practice", + "cat.keyboard" + ], + "description": "Ensures every accesskey attribute value is unique", + "help": "accesskey attribute value must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/accesskeys?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "area-alt", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <area> elements of image maps have alternate text", + "help": "Active <area> elements must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/area-alt?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-allowed-attr", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures ARIA attributes are allowed for an element's role", + "help": "Elements must only use allowed ARIA attributes", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-allowed-attr?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-allowed-role", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.aria", + "best-practice" + ], + "description": "Ensures role attribute has an appropriate value for the element", + "help": "ARIA role must be appropriate for the element", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-allowed-role?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-dpub-role-fallback", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag131" + ], + "description": "Ensures unsupported DPUB roles are only used on elements with implicit fallback roles", + "help": "Unsupported DPUB ARIA roles should be used on elements with implicit fallback roles", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-dpub-role-fallback?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-hidden-body", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures aria-hidden='true' is not present on the document body.", + "help": "aria-hidden='true' must not be present on the document body", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-hidden-body?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [ + { + "id": "aria-hidden-body", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "No aria-hidden attribute is present on document body" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "body" + ], + "source": "<body text=\"#000000\" bgcolor=\"#D7D7CD\" leftmargin=\"0px\" topmargin=\"0px\" marginwidth=\"0px\" marginheight=\"0px\" link=\"#226C8E\" vlink=\"#226C8E\" alink=\"#226C8E\">", + "xpath": [ + "/html/body" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-hidden-focus", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "wcag131" + ], + "description": "Ensures aria-hidden elements do not contain focusable elements", + "help": "ARIA hidden element must not contain focusable elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-hidden-focus?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-input-field-name", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "wcag2a", + "wcag412" + ], + "description": "Ensures every ARIA input field has an accessible name", + "help": "ARIA input fields have an accessible name", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-input-field-name?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-required-attr", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures elements with ARIA roles have all required ARIA attributes", + "help": "Required ARIA attributes must be provided", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-required-attr?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-required-children", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag131" + ], + "description": "Ensures elements with an ARIA role that require child roles contain them", + "help": "Certain ARIA roles must contain particular children", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-required-children?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-required-parent", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag131" + ], + "description": "Ensures elements with an ARIA role that require parent roles are contained by them", + "help": "Certain ARIA roles must be contained by particular parents", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-required-parent?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-roledescription", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensure aria-roledescription is only used on elements with an implicit or explicit role", + "help": "Use aria-roledescription on elements with a semantic role", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-roledescription?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-roles", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures all elements with a role attribute use a valid value", + "help": "ARIA roles used must conform to valid values", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-roles?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-toggle-field-name", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "wcag2a", + "wcag412" + ], + "description": "Ensures every ARIA toggle field has an accessible name", + "help": "ARIA toggle fields have an accessible name", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-toggle-field-name?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-valid-attr-value", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures all ARIA attributes have valid values", + "help": "ARIA attributes must conform to valid values", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-valid-attr-value?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "aria-valid-attr", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures attributes that begin with aria- are valid ARIA attributes", + "help": "ARIA attributes must conform to valid names", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-valid-attr?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "autocomplete-valid", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.forms", + "wcag21aa", + "wcag135" + ], + "description": "Ensure the autocomplete attribute is correct and suitable for the form field", + "help": "autocomplete attribute must be used correctly", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/autocomplete-valid?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "avoid-inline-spacing", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "wcag21aa", + "wcag1412" + ], + "description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets", + "help": "Inline text spacing must be adjustable with custom stylesheets", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/avoid-inline-spacing?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "node": { + "selector": [ + ".image[title=\"image\"]:nth-child(1)" + ], + "source": "<div class=\"image\" style=\"background: url(./img/panda-sm.jpg) center center no-repeat #cccccc\" title=\"image\"><div class=\"null\"></div></div>", + "xpath": [ + "/div[@id='content']/div[3]/div" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "node": { + "selector": [ + ".image[title=\"image\"]:nth-child(2)" + ], + "source": "<div class=\"image\" style=\"background: url(./img/oldenburgstudentviolin34.jpg) center center no-repeat #cccccc\" title=\"image\"><div class=\"null\"></div></div>", + "xpath": [ + "/div[@id='content']/div[3]/div[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "node": { + "selector": [ + ".image[title=\"image\"]:nth-child(3)" + ], + "source": "<div class=\"image\" style=\"background: url(./img/BrainInJar.jpg) center center no-repeat #cccccc;\" title=\"image\"><div class=\"null\"></div></div>", + "xpath": [ + "/div[@id='content']/div[3]/div[3]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "node": { + "selector": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "source": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "xpath": [ + "/div[@id='content']/div[4]/div/span/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "node": { + "selector": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "source": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "node": { + "selector": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "source": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "node": { + "selector": [ + "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "node": { + "selector": [ + "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td/a" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "blink", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.time-and-media", + "wcag2a", + "wcag222", + "section508", + "section508.22.j" + ], + "description": "Ensures <blink> elements are not used", + "help": "<blink> elements are deprecated and must not be used", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/blink?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "button-name", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "section508", + "section508.22.a" + ], + "description": "Ensures buttons have discernible text", + "help": "Buttons must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/button-name?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "bypass", + "result": "passed", + "pageLevel": true, + "impact": null, + "tags": [ + "cat.keyboard", + "wcag2a", + "wcag241", + "section508", + "section508.22.o" + ], + "description": "Ensures each page has at least one mechanism for a user to bypass navigation and jump straight to the content", + "help": "Page must have means to bypass repeated blocks", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/bypass?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [ + { + "id": "internal-link-present", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Valid skip link found" + }, + { + "id": "header-present", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Page has a header" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "html" + ], + "source": "<html>", + "xpath": [ + "/html" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "color-contrast", + "result": "failed", + "pageLevel": false, + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143" + ], + "description": "Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds", + "help": "Elements must have sufficient color contrast", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/color-contrast?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "21.6pt (28.8px)", + "fontWeight": "bold", + "expectedContrastRatio": "3:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "h1" + ], + "source": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "xpath": [ + "/div[@id='meta-header']/h1" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "13.6pt (18.144px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".subhead" + ], + "source": "<span class=\"subhead\">Inaccessible Home Page</span>", + "xpath": [ + "/div[@id='meta-header']/h1/span" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".subline" + ], + "source": "<p class=\"subline\">Improving a Web site using Web Content Accessibility Guidelines (WCAG) 2.0</p>", + "xpath": [ + "/div[@id='meta-header']/p[3]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"Overview\\.html\"]" + ], + "source": "<a href=\"../Overview.html\">Overview</a>", + "xpath": [ + "/div[@id='mnav']/ul/li/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#d7d7cd", + "contrastRatio": 10.97, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 10.97" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".current.first" + ], + "source": "<li class=\"current first\">", + "xpath": [ + "/div[@id='mnav']/ul/li[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#cc0000", + "contrastRatio": 5.88, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.88" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".inaccessible > strong" + ], + "source": "<strong>Inaccessible:</strong>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/strong" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#cc0000", + "contrastRatio": 5.88, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.88" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".inaccessible > .report[href$=\"home\\.html\"]" + ], + "source": "<a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/a[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#447700", + "contrastRatio": 5.4, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.4" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".accessible > strong" + ], + "source": "<strong>Accessible:</strong>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/strong" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#447700", + "contrastRatio": 5.4, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.4" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".page[href$=\"home\\.html\"]" + ], + "source": "<a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#447700", + "contrastRatio": 5.4, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.4" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".accessible > .report[href$=\"home\\.html\"]" + ], + "source": "<a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "li:nth-child(3) > a[href$=\"news\\.html\"]" + ], + "source": "<a href=\"news.html\">News</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[3]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "li:nth-child(4) > a[href$=\"tickets\\.html\"]" + ], + "source": "<a href=\"tickets.html\">Tickets</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[4]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "li:nth-child(5) > a[href$=\"survey\\.html\"]" + ], + "source": "<a href=\"survey.html\">Survey</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[5]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"template\\.html\"]" + ], + "source": "<a href=\"template.html\">Template</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[6]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.0pt (13.3333px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "select" + ], + "source": "<select onchange=\"location.href = this.value;\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "9.8pt (13px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "td[width=\"\\33 80px\"] > font[color=\"BLACK\"][size=\"\\32 \"]" + ], + "source": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">  <b>Traffic:</b> Construction work on Main Road</font>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td/font" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "td[width=\"\\33 80px\"] > font[color=\"BLACK\"][size=\"\\32 \"] > b" + ], + "source": "<b>Traffic:</b>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td/font/b" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#WEATHER > font[color=\"BLACK\"][size=\"\\32 \"] > b" + ], + "source": "<b>Today:</b>", + "xpath": [ + "/td[@id='WEATHER']/font/b" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#41545d", + "bgColor": "#ffffff", + "contrastRatio": 7.92, + "fontSize": "18.0pt (24px)", + "fontWeight": "normal", + "expectedContrastRatio": "3:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 7.92" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".headline" + ], + "source": "<p class=\"headline\">Welcome to CityLights</p>", + "xpath": [ + "/td[@id='main']/p" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#main > p:nth-child(2)" + ], + "source": "<p>Citylights is the new portal for visitors and residents. Find out what's on, book tickets, and get the latest news.</p>", + "xpath": [ + "/td[@id='main']/p[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".newsheadline:nth-child(1) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>", + "xpath": [ + "/div[@id='content']/div[2]/div/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".newsheadline:nth-child(2) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>", + "xpath": [ + "/div[@id='content']/div[2]/div[2]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".newsheadline:nth-child(3) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>", + "xpath": [ + "/div[@id='content']/div[2]/div[3]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".story:nth-child(1) > span" + ], + "source": "<span>", + "xpath": [ + "/div[@id='content']/div[4]/div/span" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".story:nth-child(2) > span" + ], + "source": "<span>", + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".story:nth-child(3) > span" + ], + "source": "<span>", + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#41545d", + "bgColor": "#ffffff", + "contrastRatio": 7.92, + "fontSize": "15.0pt (20px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 7.92" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".subheadline" + ], + "source": "<p class=\"subheadline\">Elsewhere on the Web</p>", + "xpath": [ + "/div[@id='content']/p" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p:nth-child(7)" + ], + "source": "<p>", + "xpath": [ + "/div[@id='content']/p[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p:nth-child(7) > span" + ], + "source": "<span>", + "xpath": [ + "/div[@id='content']/p[2]/span" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(2)" + ], + "source": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "xpath": [ + "/div[@id='content']/p[2]/span/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(5)" + ], + "source": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "xpath": [ + "/div[@id='content']/p[2]/span/a[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p:nth-child(7) > b" + ], + "source": "<b>Artichoke advice telephone hotline: </b>", + "xpath": [ + "/div[@id='content']/p[2]/b" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "table[cellpadding=\"\\33 px\"] > tbody > tr > td > div" + ], + "source": "<div>\"Free penguins\" slogan at zoo benefit concert causes confusion among city rockers. Adjective or verb?<br><a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></div>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"] > tbody > tr > td" + ], + "source": "<td>More parks and more green throughout the city at the price of already rare car parking spaces, how will this affect you?<br><a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></td>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "font[size=\"\\31 \"]" + ], + "source": "<font color=\"BLACK\" face=\"Verdana\" size=\"1\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "font[size=\"\\31 \"] > a[rel=\"Copyright\"]" + ], + "source": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "font[size=\"\\31 \"] > a[href$=\"w3\\.org\\/\"] > acronym[title=\"World\\ Wide\\ Web\\ Consortium\"]" + ], + "source": "<acronym title=\"World Wide Web Consortium\">W3C</acronym>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[2]/acronym" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "6.2pt (8.33333px)", + "fontWeight": "normal", + "missingData": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "font[size=\"\\31 \"] > sup" + ], + "source": "<sup>®</sup>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/sup" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "font[size=\"\\31 \"] > a[href$=\"csail\\.mit\\.edu\\/\"] > acronym" + ], + "source": "<acronym title=\"Massachusetts Institute of Technology\">MIT</acronym>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[3]/acronym" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "font[size=\"\\31 \"] > a[href$=\"ercim\\.org\\/\"] > acronym" + ], + "source": "<acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[4]/acronym" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "font[size=\"\\31 \"] > a[href$=\"keio\\.ac\\.jp\\/\"]" + ], + "source": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[5]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#meta-footer > p:nth-child(2)" + ], + "source": "<p>", + "xpath": [ + "/div[@id='meta-footer']/p" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p:nth-child(2) > strong" + ], + "source": "<strong>Status:</strong>", + "xpath": [ + "/div[@id='meta-footer']/p/strong" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"changelog\\.html\"]" + ], + "source": "<a href=\"../changelog.html\">changelog</a>", + "xpath": [ + "/div[@id='meta-footer']/p/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p:nth-child(2) > a:nth-child(4)" + ], + "source": "<a href=\"http://www.w3.org/People/shadi/\">Shadi Abou-Zahra</a>", + "xpath": [ + "/div[@id='meta-footer']/p/a[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"EO\\/\"]" + ], + "source": "<a href=\"http://www.w3.org/WAI/EO/\">Education and Outreach Working Group (EOWG)</a>", + "xpath": [ + "/div[@id='meta-footer']/p/a[3]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"TIES\\/\"] > acronym" + ], + "source": "<acronym title=\"Web Accessibility Initiative: Training, Implementation, Education, Support\">WAI-TIES</acronym>", + "xpath": [ + "/div[@id='meta-footer']/p/a[4]/acronym" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"WAI-AGE\\/\"] > acronym" + ], + "source": "<acronym title=\"Web Accessibility Initiative: Ageing Education and Harmonisation\">WAI-AGE</acronym>", + "xpath": [ + "/div[@id='meta-footer']/p/a[5]/acronym" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p:nth-child(2) > acronym" + ], + "source": "<acronym title=\"Information Society Technologies\">IST</acronym>", + "xpath": [ + "/div[@id='meta-footer']/p/acronym" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"acks\\.html\"]" + ], + "source": "<a href=\"../acks.html\">Acknowledgements</a>", + "xpath": [ + "/div[@id='meta-footer']/p/a[6]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p:nth-child(3)" + ], + "source": "<p>", + "xpath": [ + "/div[@id='meta-footer']/p[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p:nth-child(3) > a[shape=\"rect\"]:nth-child(1)" + ], + "source": "<a href=\"http://www.w3.org/WAI/sitemap.html\" shape=\"rect\">WAI Site Map</a>", + "xpath": [ + "/div[@id='meta-footer']/p[2]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[shape=\"rect\"]:nth-child(2)" + ], + "source": "<a href=\"http://www.w3.org/WAI/sitehelp.html\" shape=\"rect\">Help with WAI Website</a>", + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[shape=\"rect\"]:nth-child(3)" + ], + "source": "<a href=\"http://www.w3.org/WAI/search.php\" shape=\"rect\">Search</a>", + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[3]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"contacts\"]" + ], + "source": "<a href=\"http://www.w3.org/WAI/contacts\" shape=\"rect\">Contacting WAI</a>", + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[4]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p:nth-child(3) > strong" + ], + "source": "<strong>Feedback welcome to <a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a></strong>", + "xpath": [ + "/div[@id='meta-footer']/p[2]/strong" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href=\"mailto\\:wai-eo-editors\\@w3\\.org\"]" + ], + "source": "<a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a>", + "xpath": [ + "/div[@id='meta-footer']/p[2]/strong/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"mailto\\:wai\\@w3\\.org\"]" + ], + "source": "<a href=\"mailto:wai@w3.org\" shape=\"rect\">wai@w3.org</a>", + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[5]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".copyright > p" + ], + "source": "<p>", + "xpath": [ + "/div[@id='meta-footer']/div/p" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p > a[rel=\"Copyright\"]:nth-child(1)" + ], + "source": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p > a[href$=\"w3\\.org\\/\"] > acronym[title=\"World\\ Wide\\ Web\\ Consortium\"]" + ], + "source": "<acronym title=\"World Wide Web Consortium\">W3C</acronym>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[2]/acronym" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "missingData": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p > sup" + ], + "source": "<sup>®</sup>", + "xpath": [ + "/div[@id='meta-footer']/div/p/sup" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p > a[href$=\"csail\\.mit\\.edu\\/\"] > acronym" + ], + "source": "<acronym title=\"Massachusetts Institute of Technology\">MIT</acronym>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[3]/acronym" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p > a[href$=\"ercim\\.org\\/\"] > acronym" + ], + "source": "<acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[4]/acronym" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "p > a[href$=\"keio\\.ac\\.jp\\/\"]" + ], + "source": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[5]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".copyright > p > a:nth-child(7)" + ], + "source": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer\">liability</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[6]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".copyright > p > a:nth-child(8)" + ], + "source": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks\">trademark</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[7]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[rel=\"Copyright\"]:nth-child(9)" + ], + "source": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-documents\">document use</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[8]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[rel=\"Copyright\"]:nth-child(10)" + ], + "source": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-software\">software licensing</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[9]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a:nth-child(11)" + ], + "source": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Public\">public</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[10]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a:nth-child(12)" + ], + "source": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Members\">Member</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[11]" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "contrastRatio": 0, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": "bgImage", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [ + { + "_fromFrame": false, + "spec": {}, + "source": "<a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a>", + "_element": {} + } + ], + "impact": "serious", + "message": "Element's background color could not be determined due to a background image" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".page.current" + ], + "source": "<a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/a" + ] + }, + "impact": "serious", + "result": "cantTell" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#333333", + "contrastRatio": 0, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": "bgImage", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [ + { + "_fromFrame": false, + "spec": {}, + "source": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>", + "_element": { + "piwikTrackers": [ + { + "getVisitorId": {}, + "getVisitorInfo": {}, + "getAttributionInfo": {}, + "getAttributionCampaignName": {}, + "getAttributionCampaignKeyword": {}, + "getAttributionReferrerTimestamp": {}, + "getAttributionReferrerUrl": {}, + "setTrackerUrl": {}, + "getTrackerUrl": {}, + "getPiwikUrl": {}, + "addTracker": {}, + "getSiteId": {}, + "setSiteId": {}, + "resetUserId": {}, + "setUserId": {}, + "getUserId": {}, + "setCustomData": {}, + "getCustomData": {}, + "setCustomRequestProcessing": {}, + "appendToTrackingUrl": {}, + "getRequest": {}, + "addPlugin": {}, + "setCustomDimension": {}, + "getCustomDimension": {}, + "deleteCustomDimension": {}, + "setCustomVariable": {}, + "getCustomVariable": {}, + "deleteCustomVariable": {}, + "deleteCustomVariables": {}, + "storeCustomVariablesInCookie": {}, + "setLinkTrackingTimer": {}, + "getLinkTrackingTimer": {}, + "setDownloadExtensions": {}, + "addDownloadExtensions": {}, + "removeDownloadExtensions": {}, + "setDomains": {}, + "enableCrossDomainLinking": {}, + "disableCrossDomainLinking": {}, + "isCrossDomainLinkingEnabled": {}, + "setCrossDomainLinkingTimeout": {}, + "getCrossDomainLinkingUrlParameter": {}, + "setIgnoreClasses": {}, + "setRequestMethod": {}, + "setRequestContentType": {}, + "setReferrerUrl": {}, + "setCustomUrl": {}, + "getCurrentUrl": {}, + "setDocumentTitle": {}, + "setAPIUrl": {}, + "setDownloadClasses": {}, + "setLinkClasses": {}, + "setCampaignNameKey": {}, + "setCampaignKeywordKey": {}, + "discardHashTag": {}, + "setCookieNamePrefix": {}, + "setCookieDomain": {}, + "getCookieDomain": {}, + "hasCookies": {}, + "setSessionCookie": {}, + "getCookie": {}, + "setCookiePath": {}, + "getCookiePath": {}, + "setVisitorCookieTimeout": {}, + "setSessionCookieTimeout": {}, + "getSessionCookieTimeout": {}, + "setReferralCookieTimeout": {}, + "setConversionAttributionFirstReferrer": {}, + "setSecureCookie": {}, + "disableCookies": {}, + "deleteCookies": {}, + "setDoNotTrack": {}, + "alwaysUseSendBeacon": {}, + "addListener": {}, + "enableLinkTracking": {}, + "enableJSErrorTracking": {}, + "disablePerformanceTracking": {}, + "setGenerationTimeMs": {}, + "setVisitStandardLength": {}, + "enableHeartBeatTimer": {}, + "disableHeartBeatTimer": {}, + "killFrame": {}, + "redirectFile": {}, + "setCountPreRendered": {}, + "trackGoal": {}, + "trackLink": {}, + "getNumTrackedPageViews": {}, + "trackPageView": {}, + "trackAllContentImpressions": {}, + "trackVisibleContentImpressions": {}, + "trackContentImpression": {}, + "trackContentImpressionsWithinNode": {}, + "trackContentInteraction": {}, + "trackContentInteractionNode": {}, + "logAllContentBlocksOnPage": {}, + "trackEvent": {}, + "trackSiteSearch": {}, + "setEcommerceView": {}, + "getEcommerceItems": {}, + "addEcommerceItem": {}, + "removeEcommerceItem": {}, + "clearEcommerceCart": {}, + "trackEcommerceOrder": {}, + "trackEcommerceCartUpdate": {}, + "trackRequest": {}, + "ping": {}, + "disableQueueRequest": {}, + "setRequestQueueInterval": {}, + "queueRequest": {}, + "getRememberedConsent": {}, + "hasRememberedConsent": {}, + "requireConsent": {}, + "setConsentGiven": {}, + "rememberConsentGiven": {}, + "forgetConsentGiven": {}, + "isUserOptedOut": {}, + "optUserOut": {}, + "forgetUserOptOut": {} + } + ] + } + } + ], + "impact": "serious", + "message": "Element's background color could not be determined due to a background image" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".annotoggle" + ], + "source": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/a" + ] + }, + "impact": "serious", + "result": "cantTell" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "contrastRatio": 0, + "fontSize": "9.8pt (13px)", + "fontWeight": "normal", + "missingData": "bgOverlap", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element's background color could not be determined because it is overlapped by another element" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#WEATHER > font[color=\"BLACK\"][size=\"\\32 \"]" + ], + "source": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">", + "xpath": [ + "/td[@id='WEATHER']/font" + ] + }, + "impact": "serious", + "result": "cantTell" + } + ], + "violations": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#41545d", + "bgColor": "#a9b8bf", + "contrastRatio": 3.88, + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [ + { + "_fromFrame": false, + "spec": {}, + "source": "<td width=\"150px\" bgcolor=\"#A9B8BF\"><font color=\"#41545D\" face=\"Verdana\" size=\"2\"> <b>Free Penguins</b></font></td>", + "_element": {} + } + ], + "impact": "serious", + "message": "Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "tr[height=\"\\32 5px\"]:nth-child(2) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ], + "source": "<b>Free Penguins</b>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[2]/td/font/b" + ] + }, + "impact": "serious", + "result": "failed" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#41545d", + "bgColor": "#a9b8bf", + "contrastRatio": 3.88, + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [ + { + "_fromFrame": false, + "spec": {}, + "source": "<td width=\"150px\" bgcolor=\"#A9B8BF\"><font color=\"#41545D\" face=\"Verdana\" size=\"2\"> <b>More City Parks</b></font></td>", + "_element": {} + } + ], + "impact": "serious", + "message": "Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "tr[height=\"\\32 5px\"]:nth-child(7) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ], + "source": "<b>More City Parks</b>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[7]/td/font/b" + ] + }, + "impact": "serious", + "result": "failed" + } + ] + }, + { + "id": "definition-list", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ], + "description": "Ensures <dl> elements are structured correctly", + "help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script> or <template> elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/definition-list?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "dlitem", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ], + "description": "Ensures <dt> and <dd> elements are contained by a <dl>", + "help": "<dt> and <dd> elements must be contained by a <dl>", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/dlitem?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "document-title", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag242" + ], + "description": "Ensures each HTML document contains a non-empty <title> element", + "help": "Documents must have <title> element to aid in navigation", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/document-title?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [ + { + "id": "doc-has-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Document has a non-empty <title> element" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "html" + ], + "source": "<html>", + "xpath": [ + "/html" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "duplicate-id-active", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.parsing", + "wcag2a", + "wcag411" + ], + "description": "Ensures every id attribute value of active elements is unique", + "help": "IDs of active elements must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id-active?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "duplicate-id-aria", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.parsing", + "wcag2a", + "wcag411" + ], + "description": "Ensures every id attribute value used in ARIA and in labels is unique", + "help": "IDs used in ARIA and labels must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id-aria?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "duplicate-id", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.parsing", + "wcag2a", + "wcag411" + ], + "description": "Ensures every id attribute value is unique", + "help": "id attribute value must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [ + { + "id": "duplicate-id", + "data": "meta-header", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#meta-header" + ], + "source": "<div id=\"meta-header\">", + "xpath": [ + "/div[@id='meta-header']" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "skipnav", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#skipnav" + ], + "source": "<p id=\"skipnav\"><a href=\"#page\">Skip to inaccessible demo page</a></p>", + "xpath": [ + "/p[@id='skipnav']" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "logos", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#logos" + ], + "source": "<p id=\"logos\"><a href=\"http://www.w3.org/\" title=\"W3C Home\"><img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\"></a><a href=\"http://www.w3.org/WAI/\" title=\"WAI Home\"><img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\"></a></p>", + "xpath": [ + "/p[@id='logos']" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "mnav", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#mnav" + ], + "source": "<div id=\"mnav\" class=\"inaccessible\">", + "xpath": [ + "/div[@id='mnav']" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "page", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#page" + ], + "source": "<div id=\"page\">", + "xpath": [ + "/div[@id='page']" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "startcontent", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#startcontent" + ], + "source": "<p class=\"skip\" id=\"startcontent\">Demo starts here</p>", + "xpath": [ + "/p[@id='startcontent']" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "WEATHER", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#WEATHER" + ], + "source": "<td bgcolor=\"#EDEDED\" align=\"RIGHT\" id=\"WEATHER\">", + "xpath": [ + "/td[@id='WEATHER']" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "home", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#home" + ], + "source": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"home\" onmouseover=\"switchImage('nav_home', './img/nav_home2.gif'); ChangeColor('home','#FFF')\" onmouseout=\"switchImage('nav_home', './img/nav_home.gif'); ChangeColor('home','#EDEDED')\">", + "xpath": [ + "/td[@id='home']" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "news", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#news" + ], + "source": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"news\" onmouseover=\"switchImage('nav_news', './img/nav_news2.gif'); ChangeColor('news','#FFF')\" onmouseout=\"switchImage('nav_news', './img/nav_news.gif'); ChangeColor('news','#EDEDED')\">", + "xpath": [ + "/td[@id='news']" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "tickets", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#tickets" + ], + "source": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"tickets\" onmouseover=\"switchImage('nav_facts', './img/nav_facts2.gif'); ChangeColor('tickets','#FFF')\" onmouseout=\"switchImage('nav_facts', './img/nav_facts.gif'); ChangeColor('tickets','#EDEDED')\">", + "xpath": [ + "/td[@id='tickets']" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "survey", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#survey" + ], + "source": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"survey\" onmouseover=\"switchImage('nav_survey', './img/nav_survey2.gif'); ChangeColor('survey','#FFF')\" onmouseout=\"switchImage('nav_survey', './img/nav_survey.gif'); ChangeColor('survey','#EDEDED')\">", + "xpath": [ + "/td[@id='survey']" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "main", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#main" + ], + "source": "<td width=\"434px\" height=\"600px\" valign=\"TOP\" id=\"main\">", + "xpath": [ + "/td[@id='main']" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "content", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#content" + ], + "source": "<div id=\"content\">", + "xpath": [ + "/div[@id='content']" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "meta-footer", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "#meta-footer" + ], + "source": "<div id=\"meta-footer\" class=\"meta\">", + "xpath": [ + "/div[@id='meta-footer']" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "empty-heading", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.name-role-value", + "best-practice" + ], + "description": "Ensures headings have discernible text", + "help": "Headings must not be empty", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/empty-heading?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "h1" + ], + "source": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "xpath": [ + "/div[@id='meta-header']/h1" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "form-field-multiple-labels", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.forms", + "wcag2a", + "wcag332" + ], + "description": "Ensures form field does not have multiple label elements", + "help": "Form field should not have multiple label elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/form-field-multiple-labels?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "multiple-label", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Form field does not have multiple label elements" + } + ], + "node": { + "selector": [ + "select" + ], + "source": "<select onchange=\"location.href = this.value;\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "frame-tested", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.structure", + "review-item", + "best-practice" + ], + "description": "Ensures <iframe> and <frame> elements contain the axe-core script", + "help": "Frames must be tested with axe-core", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/frame-tested?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "frame-title-unique", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.text-alternatives", + "best-practice" + ], + "description": "Ensures <iframe> and <frame> elements contain a unique title attribute", + "help": "Frames must have a unique title attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/frame-title-unique?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "frame-title", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag241", + "wcag412", + "section508", + "section508.22.i" + ], + "description": "Ensures <iframe> and <frame> elements contain a non-empty title attribute", + "help": "Frames must have title attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/frame-title?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "heading-order", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the order of headings is semantically correct", + "help": "Heading levels should only increase by one", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/heading-order?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [ + { + "id": "heading-order", + "data": 1, + "relatedNodes": [], + "impact": "moderate", + "message": "Heading order valid" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "h1" + ], + "source": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "xpath": [ + "/div[@id='meta-header']/h1" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "html-has-lang", + "result": "failed", + "pageLevel": false, + "impact": "serious", + "tags": [ + "cat.language", + "wcag2a", + "wcag311" + ], + "description": "Ensures every HTML document has a lang attribute", + "help": "<html> element must have a lang attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/html-has-lang?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [ + { + "any": [ + { + "id": "has-lang", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The <html> element does not have a lang attribute" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "html" + ], + "source": "<html>", + "xpath": [ + "/html" + ] + }, + "impact": "serious", + "result": "failed" + } + ] + }, + { + "id": "html-lang-valid", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.language", + "wcag2a", + "wcag311" + ], + "description": "Ensures the lang attribute of the <html> element has a valid value", + "help": "<html> element must have a valid value for the lang attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/html-lang-valid?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "html-xml-lang-mismatch", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.language", + "wcag2a", + "wcag311" + ], + "description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page", + "help": "HTML elements with lang and xml:lang must have the same base language", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/html-xml-lang-mismatch?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "image-alt", + "result": "failed", + "pageLevel": false, + "impact": "critical", + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <img> elements have alternate text or a role of none or presentation", + "help": "Images must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/image-alt?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "node": { + "selector": [ + "img[alt=\"W3C\\ logo\"]" + ], + "source": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">", + "xpath": [ + "/p[@id='logos']/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "node": { + "selector": [ + "img[src$=\"wai\\.png\"]" + ], + "source": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">", + "xpath": [ + "/p[@id='logos']/a[2]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "node": { + "selector": [ + "img[src$=\"top_logo\\.gif\"]" + ], + "source": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "node": { + "selector": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "source": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "xpath": [ + "/div[@id='content']/div[4]/div/span/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "node": { + "selector": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "source": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "node": { + "selector": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "source": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "node": { + "selector": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(1)" + ], + "source": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "xpath": [ + "/div[@id='content']/p[2]/span/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "node": { + "selector": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(4)" + ], + "source": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "xpath": [ + "/div[@id='content']/p[2]/span/img[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "node": { + "selector": [ + "img[src$=\"telefon_white_bg\\.gif\"]" + ], + "source": "<img src=\"./img/telefon_white_bg.gif\" alt=\"1234 56789\" border=\"0\" align=\"absmiddle\">", + "xpath": [ + "/div[@id='content']/p[2]/img" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [ + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"border_left_top\\.gif\"]" + ], + "source": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"border_top\\.gif\"]" + ], + "source": "<img src=\"./img/border_top.gif\" height=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"border_right_top\\.gif\"]" + ], + "source": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[3]/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"border_left\\.gif\"]" + ], + "source": "<img src=\"./img/border_left.gif\" width=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"top_logo_next_end\\.gif\"]" + ], + "source": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[2]/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"top_weather\\.gif\"]" + ], + "source": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[3]/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"top_logo_next_start\\.gif\"]" + ], + "source": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[4]/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"mark\\.gif\"]" + ], + "source": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "td[colspan=\"\\35 \"][background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\37 80px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[4]/td/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "td[width=\"\\31 55px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[width=\"\\31 \"]" + ], + "source": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[name=\"nav_home\"]" + ], + "source": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">", + "xpath": [ + "/td[@id='home']/a/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "tr[height=\"\\31 px\"]:nth-child(3) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"nav_news\\.gif\"]" + ], + "source": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">", + "xpath": [ + "/td[@id='news']/a/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "tr[height=\"\\31 px\"]:nth-child(5) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[5]/td/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[name=\"nav_facts\"]" + ], + "source": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">", + "xpath": [ + "/td[@id='tickets']/a/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "tr[height=\"\\31 px\"]:nth-child(7) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[7]/td/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"nav_survey\\.gif\"]" + ], + "source": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">", + "xpath": [ + "/td[@id='survey']/a/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "tr[height=\"\\31 px\"]:nth-child(9) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[9]/td/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "td[width=\"\\32 0px\"]:nth-child(2) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "source": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[2]/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".newsheadline:nth-child(1) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "source": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "xpath": [ + "/div[@id='content']/div[2]/div/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".newsheadline:nth-child(2) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "source": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "xpath": [ + "/div[@id='content']/div[2]/div[2]/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".newsheadline:nth-child(3) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "source": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "xpath": [ + "/div[@id='content']/div[2]/div[3]/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "td[width=\"\\32 0px\"]:nth-child(4) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "source": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[4]/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"marker2_t\\.gif\"][height=\"\\33 0px\"][width=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "td[width=\"\\31 51px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td[2]/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"teaser_right1\\.jpg\"]" + ], + "source": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[3]/td/div/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "td[background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\31 50px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[6]/td/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"teaser_right2\\.jpg\"]" + ], + "source": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[8]/td/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"border_right\\.gif\"]" + ], + "source": "<img src=\"./img/border_right.gif\" width=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[3]/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"border_bottom_left\\.gif\"]" + ], + "source": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"border_bottom\\.gif\"]" + ], + "source": "<img src=\"./img/border_bottom.gif\" height=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[2]/img" + ] + }, + "impact": "critical", + "result": "failed" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "img[src$=\"border_bottom_right\\.gif\"]" + ], + "source": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[3]/img" + ] + }, + "impact": "critical", + "result": "failed" + } + ] + }, + { + "id": "image-redundant-alt", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.text-alternatives", + "best-practice" + ], + "description": "Ensure image alternative is not repeated as text", + "help": "Alternative text of images should not be repeated as text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/image-redundant-alt?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[alt=\"W3C\\ logo\"]" + ], + "source": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">", + "xpath": [ + "/p[@id='logos']/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"wai\\.png\"]" + ], + "source": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">", + "xpath": [ + "/p[@id='logos']/a[2]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"border_left_top\\.gif\"]" + ], + "source": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"border_top\\.gif\"]" + ], + "source": "<img src=\"./img/border_top.gif\" height=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"border_right_top\\.gif\"]" + ], + "source": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[3]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"border_left\\.gif\"]" + ], + "source": "<img src=\"./img/border_left.gif\" width=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"top_logo\\.gif\"]" + ], + "source": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"top_logo_next_end\\.gif\"]" + ], + "source": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[2]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"top_weather\\.gif\"]" + ], + "source": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[3]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"top_logo_next_start\\.gif\"]" + ], + "source": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[4]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"mark\\.gif\"]" + ], + "source": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "td[colspan=\"\\35 \"][background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\37 80px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[4]/td/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "td[width=\"\\31 55px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[width=\"\\31 \"]" + ], + "source": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[name=\"nav_home\"]" + ], + "source": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">", + "xpath": [ + "/td[@id='home']/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "tr[height=\"\\31 px\"]:nth-child(3) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"nav_news\\.gif\"]" + ], + "source": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">", + "xpath": [ + "/td[@id='news']/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "tr[height=\"\\31 px\"]:nth-child(5) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[5]/td/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[name=\"nav_facts\"]" + ], + "source": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">", + "xpath": [ + "/td[@id='tickets']/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "tr[height=\"\\31 px\"]:nth-child(7) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[7]/td/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"nav_survey\\.gif\"]" + ], + "source": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">", + "xpath": [ + "/td[@id='survey']/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "tr[height=\"\\31 px\"]:nth-child(9) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[9]/td/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "td[width=\"\\32 0px\"]:nth-child(2) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "source": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[2]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + ".newsheadline:nth-child(1) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "source": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "xpath": [ + "/div[@id='content']/div[2]/div/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + ".newsheadline:nth-child(2) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "source": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "xpath": [ + "/div[@id='content']/div[2]/div[2]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + ".newsheadline:nth-child(3) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "source": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "xpath": [ + "/div[@id='content']/div[2]/div[3]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "source": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "xpath": [ + "/div[@id='content']/div[4]/div/span/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "source": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "source": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span/a/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(1)" + ], + "source": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "xpath": [ + "/div[@id='content']/p[2]/span/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(4)" + ], + "source": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "xpath": [ + "/div[@id='content']/p[2]/span/img[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"telefon_white_bg\\.gif\"]" + ], + "source": "<img src=\"./img/telefon_white_bg.gif\" alt=\"1234 56789\" border=\"0\" align=\"absmiddle\">", + "xpath": [ + "/div[@id='content']/p[2]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "td[width=\"\\32 0px\"]:nth-child(4) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "source": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[4]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"marker2_t\\.gif\"][height=\"\\33 0px\"][width=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "td[width=\"\\31 51px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td[2]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"teaser_right1\\.jpg\"]" + ], + "source": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[3]/td/div/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "td[background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\31 50px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[6]/td/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"teaser_right2\\.jpg\"]" + ], + "source": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[8]/td/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"border_right\\.gif\"]" + ], + "source": "<img src=\"./img/border_right.gif\" width=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[3]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"border_bottom_left\\.gif\"]" + ], + "source": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"border_bottom\\.gif\"]" + ], + "source": "<img src=\"./img/border_bottom.gif\" height=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[2]/img" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "node": { + "selector": [ + "img[src$=\"border_bottom_right\\.gif\"]" + ], + "source": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[3]/img" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "input-button-name", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "section508", + "section508.22.a" + ], + "description": "Ensures input buttons have discernible text", + "help": "Input buttons must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/input-button-name?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "input-image-alt", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <input type=\"image\"> elements have alternate text", + "help": "Image buttons must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/input-image-alt?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "label-title-only", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.forms", + "best-practice" + ], + "description": "Ensures that every form element is not solely labeled using the title or aria-describedby attributes", + "help": "Form elements should have a visible label", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/label-title-only?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "title-only", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Form element does not solely use title attribute for its label" + } + ], + "node": { + "selector": [ + "select" + ], + "source": "<select onchange=\"location.href = this.value;\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "label", + "result": "failed", + "pageLevel": false, + "impact": "critical", + "tags": [ + "cat.forms", + "wcag2a", + "wcag332", + "wcag131", + "section508", + "section508.22.n" + ], + "description": "Ensures every form element has a label", + "help": "Form elements must have labels", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/label?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [ + { + "any": [ + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "implicit-label", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Form element does not have an implicit (wrapped) <label>" + }, + { + "id": "explicit-label", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Form element does not have an explicit <label>" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "select" + ], + "source": "<select onchange=\"location.href = this.value;\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ] + }, + "impact": "critical", + "result": "failed" + } + ] + }, + { + "id": "landmark-banner-is-top-level", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the banner landmark is at top level", + "help": "Banner landmark must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-banner-is-top-level?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "landmark-complementary-is-top-level", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the complementary landmark or aside is at top level", + "help": "Aside must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-complementary-is-top-level?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "landmark-contentinfo-is-top-level", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the contentinfo landmark is at top level", + "help": "Contentinfo landmark must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-contentinfo-is-top-level?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "landmark-main-is-top-level", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the main landmark is at top level", + "help": "Main landmark must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-main-is-top-level?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "landmark-no-duplicate-banner", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the document has at most one banner landmark", + "help": "Document must not have more than one banner landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-no-duplicate-banner?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [ + { + "id": "page-no-duplicate-banner", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Document does not have more than one banner landmark" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "html" + ], + "source": "<html>", + "xpath": [ + "/html" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "landmark-no-duplicate-contentinfo", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the document has at most one contentinfo landmark", + "help": "Document must not have more than one contentinfo landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-no-duplicate-contentinfo?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [ + { + "id": "page-no-duplicate-contentinfo", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Document does not have more than one contentinfo landmark" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "html" + ], + "source": "<html>", + "xpath": [ + "/html" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "landmark-one-main", + "result": "failed", + "pageLevel": false, + "impact": "moderate", + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the document has only one main landmark and each iframe in the page has at most one main landmark", + "help": "Document must have one main landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-one-main?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [ + { + "any": [], + "all": [ + { + "id": "page-has-main", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Document does not have a main landmark" + } + ], + "none": [], + "node": { + "selector": [ + "html" + ], + "source": "<html>", + "xpath": [ + "/html" + ] + }, + "impact": "moderate", + "result": "failed" + } + ] + }, + { + "id": "landmark-unique", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "help": "Ensures landmarks are unique", + "description": "Landmarks must have a unique role or role/label/title (i.e. accessible name) combination", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-unique?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "layout-table", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.semantics", + "wcag2a", + "wcag131" + ], + "description": "Ensures presentational <table> elements do not use <th>, <caption> elements or the summary attribute", + "help": "Layout tables must not use data table elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/layout-table?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "node": { + "selector": [ + "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">", + "xpath": [ + "/div[@id='page']/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "node": { + "selector": [ + "table[width=\"\\38 00px\"]" + ], + "source": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "node": { + "selector": [ + "table[height=\"\\31 44px\"]" + ], + "source": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "node": { + "selector": [ + "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "node": { + "selector": [ + "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)" + ], + "source": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "node": { + "selector": [ + "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "node": { + "selector": [ + "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "node": { + "selector": [ + "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "source": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "node": { + "selector": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "source": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "node": { + "selector": [ + "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "link-name", + "result": "failed", + "pageLevel": false, + "impact": "serious", + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "wcag244", + "section508", + "section508.22.a" + ], + "description": "Ensures links have discernible text", + "help": "Links must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/link-name?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"\\#page\"]" + ], + "source": "<a href=\"#page\">Skip to inaccessible demo page</a>", + "xpath": [ + "/p[@id='skipnav']/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[title=\"W3C\\ Home\"]" + ], + "source": "<a href=\"http://www.w3.org/\" title=\"W3C Home\"><img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\"></a>", + "xpath": [ + "/p[@id='logos']/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"WAI\\/\"]" + ], + "source": "<a href=\"http://www.w3.org/WAI/\" title=\"WAI Home\"><img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\"></a>", + "xpath": [ + "/p[@id='logos']/a[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"Overview\\.html\"]" + ], + "source": "<a href=\"../Overview.html\">Overview</a>", + "xpath": [ + "/div[@id='mnav']/ul/li/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + ".inaccessible > .report[href$=\"home\\.html\"]" + ], + "source": "<a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/a[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + ".page[href$=\"home\\.html\"]" + ], + "source": "<a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + ".accessible > .report[href$=\"home\\.html\"]" + ], + "source": "<a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + ".annotoggle" + ], + "source": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "li:nth-child(3) > a[href$=\"news\\.html\"]" + ], + "source": "<a href=\"news.html\">News</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[3]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "li:nth-child(4) > a[href$=\"tickets\\.html\"]" + ], + "source": "<a href=\"tickets.html\">Tickets</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[4]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "li:nth-child(5) > a[href$=\"survey\\.html\"]" + ], + "source": "<a href=\"survey.html\">Survey</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[5]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"template\\.html\"]" + ], + "source": "<a href=\"template.html\">Template</a>", + "xpath": [ + "/div[@id='mnav']/ul/li[6]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "td[width=\"\\34 43px\"][background=\"\\.\\/img\\/top_logo_next\\.gif\"][valign=\"MIDDLE\"] > div > a[href$=\"home\\.html\"]" + ], + "source": "<a href=\"home.html\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + ".newsheadline:nth-child(1) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>", + "xpath": [ + "/div[@id='content']/div[2]/div/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + ".newsheadline:nth-child(2) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>", + "xpath": [ + "/div[@id='content']/div[2]/div[2]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + ".newsheadline:nth-child(3) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>", + "xpath": [ + "/div[@id='content']/div[2]/div[3]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(2)" + ], + "source": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "xpath": [ + "/div[@id='content']/p[2]/span/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(5)" + ], + "source": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "xpath": [ + "/div[@id='content']/p[2]/span/a[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "font[size=\"\\31 \"] > a[rel=\"Copyright\"]" + ], + "source": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "font[size=\"\\31 \"] > a[href$=\"w3\\.org\\/\"]" + ], + "source": "<a href=\"http://www.w3.org/\"><acronym title=\"World Wide Web Consortium\">W3C</acronym></a>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "font[size=\"\\31 \"] > a[href$=\"csail\\.mit\\.edu\\/\"]" + ], + "source": "<a href=\"http://www.csail.mit.edu/\"><acronym title=\"Massachusetts Institute of Technology\">MIT</acronym></a>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[3]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "font[size=\"\\31 \"] > a[href$=\"ercim\\.org\\/\"]" + ], + "source": "<a href=\"http://www.ercim.org/\"><acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym></a>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[4]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "font[size=\"\\31 \"] > a[href$=\"keio\\.ac\\.jp\\/\"]" + ], + "source": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[5]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"changelog\\.html\"]" + ], + "source": "<a href=\"../changelog.html\">changelog</a>", + "xpath": [ + "/div[@id='meta-footer']/p/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "p:nth-child(2) > a:nth-child(4)" + ], + "source": "<a href=\"http://www.w3.org/People/shadi/\">Shadi Abou-Zahra</a>", + "xpath": [ + "/div[@id='meta-footer']/p/a[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"EO\\/\"]" + ], + "source": "<a href=\"http://www.w3.org/WAI/EO/\">Education and Outreach Working Group (EOWG)</a>", + "xpath": [ + "/div[@id='meta-footer']/p/a[3]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"TIES\\/\"]" + ], + "source": "<a href=\"http://www.w3.org/WAI/TIES/\"><acronym title=\"Web Accessibility Initiative: Training, Implementation, Education, Support\">WAI-TIES</acronym></a>", + "xpath": [ + "/div[@id='meta-footer']/p/a[4]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"WAI-AGE\\/\"]" + ], + "source": "<a href=\"http://www.w3.org/WAI/WAI-AGE/\"><acronym title=\"Web Accessibility Initiative: Ageing Education and Harmonisation\">WAI-AGE</acronym></a>", + "xpath": [ + "/div[@id='meta-footer']/p/a[5]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"acks\\.html\"]" + ], + "source": "<a href=\"../acks.html\">Acknowledgements</a>", + "xpath": [ + "/div[@id='meta-footer']/p/a[6]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "p:nth-child(3) > a[shape=\"rect\"]:nth-child(1)" + ], + "source": "<a href=\"http://www.w3.org/WAI/sitemap.html\" shape=\"rect\">WAI Site Map</a>", + "xpath": [ + "/div[@id='meta-footer']/p[2]/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[shape=\"rect\"]:nth-child(2)" + ], + "source": "<a href=\"http://www.w3.org/WAI/sitehelp.html\" shape=\"rect\">Help with WAI Website</a>", + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[shape=\"rect\"]:nth-child(3)" + ], + "source": "<a href=\"http://www.w3.org/WAI/search.php\" shape=\"rect\">Search</a>", + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[3]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"contacts\"]" + ], + "source": "<a href=\"http://www.w3.org/WAI/contacts\" shape=\"rect\">Contacting WAI</a>", + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[4]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href=\"mailto\\:wai-eo-editors\\@w3\\.org\"]" + ], + "source": "<a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a>", + "xpath": [ + "/div[@id='meta-footer']/p[2]/strong/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[href$=\"mailto\\:wai\\@w3\\.org\"]" + ], + "source": "<a href=\"mailto:wai@w3.org\" shape=\"rect\">wai@w3.org</a>", + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[5]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "p > a[rel=\"Copyright\"]:nth-child(1)" + ], + "source": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + ".copyright > p > a[href$=\"w3\\.org\\/\"]" + ], + "source": "<a href=\"http://www.w3.org/\"><acronym title=\"World Wide Web Consortium\">W3C</acronym></a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "p > a[href$=\"csail\\.mit\\.edu\\/\"]" + ], + "source": "<a href=\"http://www.csail.mit.edu/\"><acronym title=\"Massachusetts Institute of Technology\">MIT</acronym></a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[3]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "p > a[href$=\"ercim\\.org\\/\"]" + ], + "source": "<a href=\"http://www.ercim.org/\"><acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym></a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[4]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "p > a[href$=\"keio\\.ac\\.jp\\/\"]" + ], + "source": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[5]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + ".copyright > p > a:nth-child(7)" + ], + "source": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer\">liability</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[6]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + ".copyright > p > a:nth-child(8)" + ], + "source": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks\">trademark</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[7]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[rel=\"Copyright\"]:nth-child(9)" + ], + "source": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-documents\">document use</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[8]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a[rel=\"Copyright\"]:nth-child(10)" + ], + "source": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-software\">software licensing</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[9]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a:nth-child(11)" + ], + "source": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Public\">public</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[10]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "node": { + "selector": [ + "a:nth-child(12)" + ], + "source": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Members\">Member</a>", + "xpath": [ + "/div[@id='meta-footer']/div/p/a[11]" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [ + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "node": { + "selector": [ + "#home > a[onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"javascript:location.href='home.html';\" onfocus=\"blur();\"><img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\"></a>", + "xpath": [ + "/td[@id='home']/a" + ] + }, + "impact": "serious", + "result": "failed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "node": { + "selector": [ + "#news > a[onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"javascript:location.href='news.html';\" onfocus=\"blur();\"><img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\"></a>", + "xpath": [ + "/td[@id='news']/a" + ] + }, + "impact": "serious", + "result": "failed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "node": { + "selector": [ + "#tickets > a[onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"javascript:location.href='tickets.html';\" onfocus=\"blur();\"><img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\"></a>", + "xpath": [ + "/td[@id='tickets']/a" + ] + }, + "impact": "serious", + "result": "failed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "node": { + "selector": [ + "#survey > a[onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"javascript:location.href='survey.html';\" onfocus=\"blur();\"><img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\"></a>", + "xpath": [ + "/td[@id='survey']/a" + ] + }, + "impact": "serious", + "result": "failed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "node": { + "selector": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>", + "xpath": [ + "/div[@id='content']/div[4]/div/span/a" + ] + }, + "impact": "serious", + "result": "failed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "node": { + "selector": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>", + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span/a" + ] + }, + "impact": "serious", + "result": "failed" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "node": { + "selector": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "source": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>", + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span/a" + ] + }, + "impact": "serious", + "result": "failed" + } + ] + }, + { + "id": "list", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ], + "description": "Ensures that lists are structured correctly", + "help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/list?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "only-listitems", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List element only has direct children that are allowed inside <li> elements" + } + ], + "node": { + "selector": [ + "#mnav > ul" + ], + "source": "<ul>", + "xpath": [ + "/div[@id='mnav']/ul" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "only-listitems", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List element only has direct children that are allowed inside <li> elements" + } + ], + "node": { + "selector": [ + ".subnav > ul" + ], + "source": "<ul>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "listitem", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ], + "description": "Ensures <li> elements are used semantically", + "help": "<li> elements must be contained in a <ul> or <ol>", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/listitem?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".first:nth-child(1)" + ], + "source": "<li class=\"first\"><a href=\"../Overview.html\">Overview</a></li>", + "xpath": [ + "/div[@id='mnav']/ul/li" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".current.first" + ], + "source": "<li class=\"current first\">", + "xpath": [ + "/div[@id='mnav']/ul/li[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "ul > .inaccessible" + ], + "source": "<li class=\"inaccessible\"><strong>Inaccessible:</strong><a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a><a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a></li>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + ".accessible" + ], + "source": "<li class=\"accessible\"><strong>Accessible:</strong><a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a><a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a></li>", + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "li:nth-child(3)" + ], + "source": "<li><a href=\"news.html\">News</a></li>", + "xpath": [ + "/div[@id='mnav']/ul/li[3]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "li:nth-child(4)" + ], + "source": "<li><a href=\"tickets.html\">Tickets</a></li>", + "xpath": [ + "/div[@id='mnav']/ul/li[4]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "li:nth-child(5)" + ], + "source": "<li><a href=\"survey.html\">Survey</a></li>", + "xpath": [ + "/div[@id='mnav']/ul/li[5]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "li:nth-child(6)" + ], + "source": "<li><a href=\"template.html\">Template</a></li>", + "xpath": [ + "/div[@id='mnav']/ul/li[6]" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "marquee", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.parsing", + "wcag2a", + "wcag222" + ], + "description": "Ensures <marquee> elements are not used", + "help": "<marquee> elements are deprecated and must not be used", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/marquee?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "meta-refresh", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.time-and-media", + "wcag2a", + "wcag2aaa", + "wcag221", + "wcag224", + "wcag325" + ], + "description": "Ensures <meta http-equiv=\"refresh\"> is not used", + "help": "Timed refresh must not exist", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/meta-refresh?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "meta-viewport-large", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.sensory-and-visual-cues", + "best-practice" + ], + "description": "Ensures <meta name=\"viewport\"> can scale a significant amount", + "help": "Users should be able to zoom and scale the text up to 500%", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/meta-viewport-large?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "meta-viewport", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.sensory-and-visual-cues", + "wcag2aa", + "wcag144" + ], + "description": "Ensures <meta name=\"viewport\"> does not disable text scaling and zooming", + "help": "Zooming and scaling must not be disabled", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/meta-viewport?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "object-alt", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <object> elements have alternate text", + "help": "<object> elements must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/object-alt?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "page-has-heading-one", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensure that the page, or at least one of its frames contains a level-one heading", + "help": "Page must contain a level-one heading", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/page-has-heading-one?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [], + "all": [ + { + "id": "page-has-heading-one", + "data": null, + "relatedNodes": [ + { + "_fromFrame": false, + "spec": {}, + "source": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "_element": {} + } + ], + "impact": "moderate", + "message": "Page has at least one level-one heading" + } + ], + "none": [], + "node": { + "selector": [ + "html" + ], + "source": "<html>", + "xpath": [ + "/html" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "region", + "result": "failed", + "pageLevel": true, + "impact": "moderate", + "tags": [ + "cat.keyboard", + "best-practice" + ], + "description": "Ensures all page content is contained by landmarks", + "help": "All page content must be contained by landmarks", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/region?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [ + { + "any": [ + { + "id": "region", + "data": null, + "relatedNodes": [ + { + "_fromFrame": false, + "spec": {}, + "source": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<p class=\"subline\">Improving a Web site using Web Content Accessibility Guidelines (WCAG) 2.0</p>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<a href=\"../Overview.html\">Overview</a>", + "_element": { + "piwikTrackers": [ + { + "getVisitorId": {}, + "getVisitorInfo": {}, + "getAttributionInfo": {}, + "getAttributionCampaignName": {}, + "getAttributionCampaignKeyword": {}, + "getAttributionReferrerTimestamp": {}, + "getAttributionReferrerUrl": {}, + "setTrackerUrl": {}, + "getTrackerUrl": {}, + "getPiwikUrl": {}, + "addTracker": {}, + "getSiteId": {}, + "setSiteId": {}, + "resetUserId": {}, + "setUserId": {}, + "getUserId": {}, + "setCustomData": {}, + "getCustomData": {}, + "setCustomRequestProcessing": {}, + "appendToTrackingUrl": {}, + "getRequest": {}, + "addPlugin": {}, + "setCustomDimension": {}, + "getCustomDimension": {}, + "deleteCustomDimension": {}, + "setCustomVariable": {}, + "getCustomVariable": {}, + "deleteCustomVariable": {}, + "deleteCustomVariables": {}, + "storeCustomVariablesInCookie": {}, + "setLinkTrackingTimer": {}, + "getLinkTrackingTimer": {}, + "setDownloadExtensions": {}, + "addDownloadExtensions": {}, + "removeDownloadExtensions": {}, + "setDomains": {}, + "enableCrossDomainLinking": {}, + "disableCrossDomainLinking": {}, + "isCrossDomainLinkingEnabled": {}, + "setCrossDomainLinkingTimeout": {}, + "getCrossDomainLinkingUrlParameter": {}, + "setIgnoreClasses": {}, + "setRequestMethod": {}, + "setRequestContentType": {}, + "setReferrerUrl": {}, + "setCustomUrl": {}, + "getCurrentUrl": {}, + "setDocumentTitle": {}, + "setAPIUrl": {}, + "setDownloadClasses": {}, + "setLinkClasses": {}, + "setCampaignNameKey": {}, + "setCampaignKeywordKey": {}, + "discardHashTag": {}, + "setCookieNamePrefix": {}, + "setCookieDomain": {}, + "getCookieDomain": {}, + "hasCookies": {}, + "setSessionCookie": {}, + "getCookie": {}, + "setCookiePath": {}, + "getCookiePath": {}, + "setVisitorCookieTimeout": {}, + "setSessionCookieTimeout": {}, + "getSessionCookieTimeout": {}, + "setReferralCookieTimeout": {}, + "setConversionAttributionFirstReferrer": {}, + "setSecureCookie": {}, + "disableCookies": {}, + "deleteCookies": {}, + "setDoNotTrack": {}, + "alwaysUseSendBeacon": {}, + "addListener": {}, + "enableLinkTracking": {}, + "enableJSErrorTracking": {}, + "disablePerformanceTracking": {}, + "setGenerationTimeMs": {}, + "setVisitStandardLength": {}, + "enableHeartBeatTimer": {}, + "disableHeartBeatTimer": {}, + "killFrame": {}, + "redirectFile": {}, + "setCountPreRendered": {}, + "trackGoal": {}, + "trackLink": {}, + "getNumTrackedPageViews": {}, + "trackPageView": {}, + "trackAllContentImpressions": {}, + "trackVisibleContentImpressions": {}, + "trackContentImpression": {}, + "trackContentImpressionsWithinNode": {}, + "trackContentInteraction": {}, + "trackContentInteractionNode": {}, + "logAllContentBlocksOnPage": {}, + "trackEvent": {}, + "trackSiteSearch": {}, + "setEcommerceView": {}, + "getEcommerceItems": {}, + "addEcommerceItem": {}, + "removeEcommerceItem": {}, + "clearEcommerceCart": {}, + "trackEcommerceOrder": {}, + "trackEcommerceCartUpdate": {}, + "trackRequest": {}, + "ping": {}, + "disableQueueRequest": {}, + "setRequestQueueInterval": {}, + "queueRequest": {}, + "getRememberedConsent": {}, + "hasRememberedConsent": {}, + "requireConsent": {}, + "setConsentGiven": {}, + "rememberConsentGiven": {}, + "forgetConsentGiven": {}, + "isUserOptedOut": {}, + "optUserOut": {}, + "forgetUserOptOut": {} + } + ] + } + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<li class=\"current first\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<a href=\"news.html\">News</a>", + "_element": { + "piwikTrackers": [ + { + "getVisitorId": {}, + "getVisitorInfo": {}, + "getAttributionInfo": {}, + "getAttributionCampaignName": {}, + "getAttributionCampaignKeyword": {}, + "getAttributionReferrerTimestamp": {}, + "getAttributionReferrerUrl": {}, + "setTrackerUrl": {}, + "getTrackerUrl": {}, + "getPiwikUrl": {}, + "addTracker": {}, + "getSiteId": {}, + "setSiteId": {}, + "resetUserId": {}, + "setUserId": {}, + "getUserId": {}, + "setCustomData": {}, + "getCustomData": {}, + "setCustomRequestProcessing": {}, + "appendToTrackingUrl": {}, + "getRequest": {}, + "addPlugin": {}, + "setCustomDimension": {}, + "getCustomDimension": {}, + "deleteCustomDimension": {}, + "setCustomVariable": {}, + "getCustomVariable": {}, + "deleteCustomVariable": {}, + "deleteCustomVariables": {}, + "storeCustomVariablesInCookie": {}, + "setLinkTrackingTimer": {}, + "getLinkTrackingTimer": {}, + "setDownloadExtensions": {}, + "addDownloadExtensions": {}, + "removeDownloadExtensions": {}, + "setDomains": {}, + "enableCrossDomainLinking": {}, + "disableCrossDomainLinking": {}, + "isCrossDomainLinkingEnabled": {}, + "setCrossDomainLinkingTimeout": {}, + "getCrossDomainLinkingUrlParameter": {}, + "setIgnoreClasses": {}, + "setRequestMethod": {}, + "setRequestContentType": {}, + "setReferrerUrl": {}, + "setCustomUrl": {}, + "getCurrentUrl": {}, + "setDocumentTitle": {}, + "setAPIUrl": {}, + "setDownloadClasses": {}, + "setLinkClasses": {}, + "setCampaignNameKey": {}, + "setCampaignKeywordKey": {}, + "discardHashTag": {}, + "setCookieNamePrefix": {}, + "setCookieDomain": {}, + "getCookieDomain": {}, + "hasCookies": {}, + "setSessionCookie": {}, + "getCookie": {}, + "setCookiePath": {}, + "getCookiePath": {}, + "setVisitorCookieTimeout": {}, + "setSessionCookieTimeout": {}, + "getSessionCookieTimeout": {}, + "setReferralCookieTimeout": {}, + "setConversionAttributionFirstReferrer": {}, + "setSecureCookie": {}, + "disableCookies": {}, + "deleteCookies": {}, + "setDoNotTrack": {}, + "alwaysUseSendBeacon": {}, + "addListener": {}, + "enableLinkTracking": {}, + "enableJSErrorTracking": {}, + "disablePerformanceTracking": {}, + "setGenerationTimeMs": {}, + "setVisitStandardLength": {}, + "enableHeartBeatTimer": {}, + "disableHeartBeatTimer": {}, + "killFrame": {}, + "redirectFile": {}, + "setCountPreRendered": {}, + "trackGoal": {}, + "trackLink": {}, + "getNumTrackedPageViews": {}, + "trackPageView": {}, + "trackAllContentImpressions": {}, + "trackVisibleContentImpressions": {}, + "trackContentImpression": {}, + "trackContentImpressionsWithinNode": {}, + "trackContentInteraction": {}, + "trackContentInteractionNode": {}, + "logAllContentBlocksOnPage": {}, + "trackEvent": {}, + "trackSiteSearch": {}, + "setEcommerceView": {}, + "getEcommerceItems": {}, + "addEcommerceItem": {}, + "removeEcommerceItem": {}, + "clearEcommerceCart": {}, + "trackEcommerceOrder": {}, + "trackEcommerceCartUpdate": {}, + "trackRequest": {}, + "ping": {}, + "disableQueueRequest": {}, + "setRequestQueueInterval": {}, + "queueRequest": {}, + "getRememberedConsent": {}, + "hasRememberedConsent": {}, + "requireConsent": {}, + "setConsentGiven": {}, + "rememberConsentGiven": {}, + "forgetConsentGiven": {}, + "isUserOptedOut": {}, + "optUserOut": {}, + "forgetUserOptOut": {} + } + ] + } + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<a href=\"tickets.html\">Tickets</a>", + "_element": { + "piwikTrackers": [ + { + "getVisitorId": {}, + "getVisitorInfo": {}, + "getAttributionInfo": {}, + "getAttributionCampaignName": {}, + "getAttributionCampaignKeyword": {}, + "getAttributionReferrerTimestamp": {}, + "getAttributionReferrerUrl": {}, + "setTrackerUrl": {}, + "getTrackerUrl": {}, + "getPiwikUrl": {}, + "addTracker": {}, + "getSiteId": {}, + "setSiteId": {}, + "resetUserId": {}, + "setUserId": {}, + "getUserId": {}, + "setCustomData": {}, + "getCustomData": {}, + "setCustomRequestProcessing": {}, + "appendToTrackingUrl": {}, + "getRequest": {}, + "addPlugin": {}, + "setCustomDimension": {}, + "getCustomDimension": {}, + "deleteCustomDimension": {}, + "setCustomVariable": {}, + "getCustomVariable": {}, + "deleteCustomVariable": {}, + "deleteCustomVariables": {}, + "storeCustomVariablesInCookie": {}, + "setLinkTrackingTimer": {}, + "getLinkTrackingTimer": {}, + "setDownloadExtensions": {}, + "addDownloadExtensions": {}, + "removeDownloadExtensions": {}, + "setDomains": {}, + "enableCrossDomainLinking": {}, + "disableCrossDomainLinking": {}, + "isCrossDomainLinkingEnabled": {}, + "setCrossDomainLinkingTimeout": {}, + "getCrossDomainLinkingUrlParameter": {}, + "setIgnoreClasses": {}, + "setRequestMethod": {}, + "setRequestContentType": {}, + "setReferrerUrl": {}, + "setCustomUrl": {}, + "getCurrentUrl": {}, + "setDocumentTitle": {}, + "setAPIUrl": {}, + "setDownloadClasses": {}, + "setLinkClasses": {}, + "setCampaignNameKey": {}, + "setCampaignKeywordKey": {}, + "discardHashTag": {}, + "setCookieNamePrefix": {}, + "setCookieDomain": {}, + "getCookieDomain": {}, + "hasCookies": {}, + "setSessionCookie": {}, + "getCookie": {}, + "setCookiePath": {}, + "getCookiePath": {}, + "setVisitorCookieTimeout": {}, + "setSessionCookieTimeout": {}, + "getSessionCookieTimeout": {}, + "setReferralCookieTimeout": {}, + "setConversionAttributionFirstReferrer": {}, + "setSecureCookie": {}, + "disableCookies": {}, + "deleteCookies": {}, + "setDoNotTrack": {}, + "alwaysUseSendBeacon": {}, + "addListener": {}, + "enableLinkTracking": {}, + "enableJSErrorTracking": {}, + "disablePerformanceTracking": {}, + "setGenerationTimeMs": {}, + "setVisitStandardLength": {}, + "enableHeartBeatTimer": {}, + "disableHeartBeatTimer": {}, + "killFrame": {}, + "redirectFile": {}, + "setCountPreRendered": {}, + "trackGoal": {}, + "trackLink": {}, + "getNumTrackedPageViews": {}, + "trackPageView": {}, + "trackAllContentImpressions": {}, + "trackVisibleContentImpressions": {}, + "trackContentImpression": {}, + "trackContentImpressionsWithinNode": {}, + "trackContentInteraction": {}, + "trackContentInteractionNode": {}, + "logAllContentBlocksOnPage": {}, + "trackEvent": {}, + "trackSiteSearch": {}, + "setEcommerceView": {}, + "getEcommerceItems": {}, + "addEcommerceItem": {}, + "removeEcommerceItem": {}, + "clearEcommerceCart": {}, + "trackEcommerceOrder": {}, + "trackEcommerceCartUpdate": {}, + "trackRequest": {}, + "ping": {}, + "disableQueueRequest": {}, + "setRequestQueueInterval": {}, + "queueRequest": {}, + "getRememberedConsent": {}, + "hasRememberedConsent": {}, + "requireConsent": {}, + "setConsentGiven": {}, + "rememberConsentGiven": {}, + "forgetConsentGiven": {}, + "isUserOptedOut": {}, + "optUserOut": {}, + "forgetUserOptOut": {} + } + ] + } + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<a href=\"survey.html\">Survey</a>", + "_element": { + "piwikTrackers": [ + { + "getVisitorId": {}, + "getVisitorInfo": {}, + "getAttributionInfo": {}, + "getAttributionCampaignName": {}, + "getAttributionCampaignKeyword": {}, + "getAttributionReferrerTimestamp": {}, + "getAttributionReferrerUrl": {}, + "setTrackerUrl": {}, + "getTrackerUrl": {}, + "getPiwikUrl": {}, + "addTracker": {}, + "getSiteId": {}, + "setSiteId": {}, + "resetUserId": {}, + "setUserId": {}, + "getUserId": {}, + "setCustomData": {}, + "getCustomData": {}, + "setCustomRequestProcessing": {}, + "appendToTrackingUrl": {}, + "getRequest": {}, + "addPlugin": {}, + "setCustomDimension": {}, + "getCustomDimension": {}, + "deleteCustomDimension": {}, + "setCustomVariable": {}, + "getCustomVariable": {}, + "deleteCustomVariable": {}, + "deleteCustomVariables": {}, + "storeCustomVariablesInCookie": {}, + "setLinkTrackingTimer": {}, + "getLinkTrackingTimer": {}, + "setDownloadExtensions": {}, + "addDownloadExtensions": {}, + "removeDownloadExtensions": {}, + "setDomains": {}, + "enableCrossDomainLinking": {}, + "disableCrossDomainLinking": {}, + "isCrossDomainLinkingEnabled": {}, + "setCrossDomainLinkingTimeout": {}, + "getCrossDomainLinkingUrlParameter": {}, + "setIgnoreClasses": {}, + "setRequestMethod": {}, + "setRequestContentType": {}, + "setReferrerUrl": {}, + "setCustomUrl": {}, + "getCurrentUrl": {}, + "setDocumentTitle": {}, + "setAPIUrl": {}, + "setDownloadClasses": {}, + "setLinkClasses": {}, + "setCampaignNameKey": {}, + "setCampaignKeywordKey": {}, + "discardHashTag": {}, + "setCookieNamePrefix": {}, + "setCookieDomain": {}, + "getCookieDomain": {}, + "hasCookies": {}, + "setSessionCookie": {}, + "getCookie": {}, + "setCookiePath": {}, + "getCookiePath": {}, + "setVisitorCookieTimeout": {}, + "setSessionCookieTimeout": {}, + "getSessionCookieTimeout": {}, + "setReferralCookieTimeout": {}, + "setConversionAttributionFirstReferrer": {}, + "setSecureCookie": {}, + "disableCookies": {}, + "deleteCookies": {}, + "setDoNotTrack": {}, + "alwaysUseSendBeacon": {}, + "addListener": {}, + "enableLinkTracking": {}, + "enableJSErrorTracking": {}, + "disablePerformanceTracking": {}, + "setGenerationTimeMs": {}, + "setVisitStandardLength": {}, + "enableHeartBeatTimer": {}, + "disableHeartBeatTimer": {}, + "killFrame": {}, + "redirectFile": {}, + "setCountPreRendered": {}, + "trackGoal": {}, + "trackLink": {}, + "getNumTrackedPageViews": {}, + "trackPageView": {}, + "trackAllContentImpressions": {}, + "trackVisibleContentImpressions": {}, + "trackContentImpression": {}, + "trackContentImpressionsWithinNode": {}, + "trackContentInteraction": {}, + "trackContentInteractionNode": {}, + "logAllContentBlocksOnPage": {}, + "trackEvent": {}, + "trackSiteSearch": {}, + "setEcommerceView": {}, + "getEcommerceItems": {}, + "addEcommerceItem": {}, + "removeEcommerceItem": {}, + "clearEcommerceCart": {}, + "trackEcommerceOrder": {}, + "trackEcommerceCartUpdate": {}, + "trackRequest": {}, + "ping": {}, + "disableQueueRequest": {}, + "setRequestQueueInterval": {}, + "queueRequest": {}, + "getRememberedConsent": {}, + "hasRememberedConsent": {}, + "requireConsent": {}, + "setConsentGiven": {}, + "rememberConsentGiven": {}, + "forgetConsentGiven": {}, + "isUserOptedOut": {}, + "optUserOut": {}, + "forgetUserOptOut": {} + } + ] + } + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<a href=\"template.html\">Template</a>", + "_element": { + "piwikTrackers": [ + { + "getVisitorId": {}, + "getVisitorInfo": {}, + "getAttributionInfo": {}, + "getAttributionCampaignName": {}, + "getAttributionCampaignKeyword": {}, + "getAttributionReferrerTimestamp": {}, + "getAttributionReferrerUrl": {}, + "setTrackerUrl": {}, + "getTrackerUrl": {}, + "getPiwikUrl": {}, + "addTracker": {}, + "getSiteId": {}, + "setSiteId": {}, + "resetUserId": {}, + "setUserId": {}, + "getUserId": {}, + "setCustomData": {}, + "getCustomData": {}, + "setCustomRequestProcessing": {}, + "appendToTrackingUrl": {}, + "getRequest": {}, + "addPlugin": {}, + "setCustomDimension": {}, + "getCustomDimension": {}, + "deleteCustomDimension": {}, + "setCustomVariable": {}, + "getCustomVariable": {}, + "deleteCustomVariable": {}, + "deleteCustomVariables": {}, + "storeCustomVariablesInCookie": {}, + "setLinkTrackingTimer": {}, + "getLinkTrackingTimer": {}, + "setDownloadExtensions": {}, + "addDownloadExtensions": {}, + "removeDownloadExtensions": {}, + "setDomains": {}, + "enableCrossDomainLinking": {}, + "disableCrossDomainLinking": {}, + "isCrossDomainLinkingEnabled": {}, + "setCrossDomainLinkingTimeout": {}, + "getCrossDomainLinkingUrlParameter": {}, + "setIgnoreClasses": {}, + "setRequestMethod": {}, + "setRequestContentType": {}, + "setReferrerUrl": {}, + "setCustomUrl": {}, + "getCurrentUrl": {}, + "setDocumentTitle": {}, + "setAPIUrl": {}, + "setDownloadClasses": {}, + "setLinkClasses": {}, + "setCampaignNameKey": {}, + "setCampaignKeywordKey": {}, + "discardHashTag": {}, + "setCookieNamePrefix": {}, + "setCookieDomain": {}, + "getCookieDomain": {}, + "hasCookies": {}, + "setSessionCookie": {}, + "getCookie": {}, + "setCookiePath": {}, + "getCookiePath": {}, + "setVisitorCookieTimeout": {}, + "setSessionCookieTimeout": {}, + "getSessionCookieTimeout": {}, + "setReferralCookieTimeout": {}, + "setConversionAttributionFirstReferrer": {}, + "setSecureCookie": {}, + "disableCookies": {}, + "deleteCookies": {}, + "setDoNotTrack": {}, + "alwaysUseSendBeacon": {}, + "addListener": {}, + "enableLinkTracking": {}, + "enableJSErrorTracking": {}, + "disablePerformanceTracking": {}, + "setGenerationTimeMs": {}, + "setVisitStandardLength": {}, + "enableHeartBeatTimer": {}, + "disableHeartBeatTimer": {}, + "killFrame": {}, + "redirectFile": {}, + "setCountPreRendered": {}, + "trackGoal": {}, + "trackLink": {}, + "getNumTrackedPageViews": {}, + "trackPageView": {}, + "trackAllContentImpressions": {}, + "trackVisibleContentImpressions": {}, + "trackContentImpression": {}, + "trackContentImpressionsWithinNode": {}, + "trackContentInteraction": {}, + "trackContentInteractionNode": {}, + "logAllContentBlocksOnPage": {}, + "trackEvent": {}, + "trackSiteSearch": {}, + "setEcommerceView": {}, + "getEcommerceItems": {}, + "addEcommerceItem": {}, + "removeEcommerceItem": {}, + "clearEcommerceCart": {}, + "trackEcommerceOrder": {}, + "trackEcommerceCartUpdate": {}, + "trackRequest": {}, + "ping": {}, + "disableQueueRequest": {}, + "setRequestQueueInterval": {}, + "queueRequest": {}, + "getRememberedConsent": {}, + "hasRememberedConsent": {}, + "requireConsent": {}, + "setConsentGiven": {}, + "rememberConsentGiven": {}, + "forgetConsentGiven": {}, + "isUserOptedOut": {}, + "optUserOut": {}, + "forgetUserOptOut": {} + } + ] + } + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<p class=\"skip\" id=\"startcontent\">Demo starts here</p>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/border_top.gif\" height=\"10px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/border_left.gif\" width=\"10px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<select onchange=\"location.href = this.value;\">", + "_element": { + "0": {}, + "1": {}, + "2": {}, + "3": {}, + "4": {}, + "5": {}, + "6": {}, + "7": {}, + "8": {}, + "9": {}, + "10": {}, + "11": {}, + "12": {}, + "13": {}, + "14": {}, + "15": {} + } + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">  <b>Traffic:</b> Construction work on Main Road</font>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<p class=\"headline\">Welcome to CityLights</p>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<p>Citylights is the new portal for visitors and residents. Find out what's on, book tickets, and get the latest news.</p>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>", + "_element": { + "piwikTrackers": [ + { + "getVisitorId": {}, + "getVisitorInfo": {}, + "getAttributionInfo": {}, + "getAttributionCampaignName": {}, + "getAttributionCampaignKeyword": {}, + "getAttributionReferrerTimestamp": {}, + "getAttributionReferrerUrl": {}, + "setTrackerUrl": {}, + "getTrackerUrl": {}, + "getPiwikUrl": {}, + "addTracker": {}, + "getSiteId": {}, + "setSiteId": {}, + "resetUserId": {}, + "setUserId": {}, + "getUserId": {}, + "setCustomData": {}, + "getCustomData": {}, + "setCustomRequestProcessing": {}, + "appendToTrackingUrl": {}, + "getRequest": {}, + "addPlugin": {}, + "setCustomDimension": {}, + "getCustomDimension": {}, + "deleteCustomDimension": {}, + "setCustomVariable": {}, + "getCustomVariable": {}, + "deleteCustomVariable": {}, + "deleteCustomVariables": {}, + "storeCustomVariablesInCookie": {}, + "setLinkTrackingTimer": {}, + "getLinkTrackingTimer": {}, + "setDownloadExtensions": {}, + "addDownloadExtensions": {}, + "removeDownloadExtensions": {}, + "setDomains": {}, + "enableCrossDomainLinking": {}, + "disableCrossDomainLinking": {}, + "isCrossDomainLinkingEnabled": {}, + "setCrossDomainLinkingTimeout": {}, + "getCrossDomainLinkingUrlParameter": {}, + "setIgnoreClasses": {}, + "setRequestMethod": {}, + "setRequestContentType": {}, + "setReferrerUrl": {}, + "setCustomUrl": {}, + "getCurrentUrl": {}, + "setDocumentTitle": {}, + "setAPIUrl": {}, + "setDownloadClasses": {}, + "setLinkClasses": {}, + "setCampaignNameKey": {}, + "setCampaignKeywordKey": {}, + "discardHashTag": {}, + "setCookieNamePrefix": {}, + "setCookieDomain": {}, + "getCookieDomain": {}, + "hasCookies": {}, + "setSessionCookie": {}, + "getCookie": {}, + "setCookiePath": {}, + "getCookiePath": {}, + "setVisitorCookieTimeout": {}, + "setSessionCookieTimeout": {}, + "getSessionCookieTimeout": {}, + "setReferralCookieTimeout": {}, + "setConversionAttributionFirstReferrer": {}, + "setSecureCookie": {}, + "disableCookies": {}, + "deleteCookies": {}, + "setDoNotTrack": {}, + "alwaysUseSendBeacon": {}, + "addListener": {}, + "enableLinkTracking": {}, + "enableJSErrorTracking": {}, + "disablePerformanceTracking": {}, + "setGenerationTimeMs": {}, + "setVisitStandardLength": {}, + "enableHeartBeatTimer": {}, + "disableHeartBeatTimer": {}, + "killFrame": {}, + "redirectFile": {}, + "setCountPreRendered": {}, + "trackGoal": {}, + "trackLink": {}, + "getNumTrackedPageViews": {}, + "trackPageView": {}, + "trackAllContentImpressions": {}, + "trackVisibleContentImpressions": {}, + "trackContentImpression": {}, + "trackContentImpressionsWithinNode": {}, + "trackContentInteraction": {}, + "trackContentInteractionNode": {}, + "logAllContentBlocksOnPage": {}, + "trackEvent": {}, + "trackSiteSearch": {}, + "setEcommerceView": {}, + "getEcommerceItems": {}, + "addEcommerceItem": {}, + "removeEcommerceItem": {}, + "clearEcommerceCart": {}, + "trackEcommerceOrder": {}, + "trackEcommerceCartUpdate": {}, + "trackRequest": {}, + "ping": {}, + "disableQueueRequest": {}, + "setRequestQueueInterval": {}, + "queueRequest": {}, + "getRememberedConsent": {}, + "hasRememberedConsent": {}, + "requireConsent": {}, + "setConsentGiven": {}, + "rememberConsentGiven": {}, + "forgetConsentGiven": {}, + "isUserOptedOut": {}, + "optUserOut": {}, + "forgetUserOptOut": {} + } + ] + } + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>", + "_element": { + "piwikTrackers": [ + { + "getVisitorId": {}, + "getVisitorInfo": {}, + "getAttributionInfo": {}, + "getAttributionCampaignName": {}, + "getAttributionCampaignKeyword": {}, + "getAttributionReferrerTimestamp": {}, + "getAttributionReferrerUrl": {}, + "setTrackerUrl": {}, + "getTrackerUrl": {}, + "getPiwikUrl": {}, + "addTracker": {}, + "getSiteId": {}, + "setSiteId": {}, + "resetUserId": {}, + "setUserId": {}, + "getUserId": {}, + "setCustomData": {}, + "getCustomData": {}, + "setCustomRequestProcessing": {}, + "appendToTrackingUrl": {}, + "getRequest": {}, + "addPlugin": {}, + "setCustomDimension": {}, + "getCustomDimension": {}, + "deleteCustomDimension": {}, + "setCustomVariable": {}, + "getCustomVariable": {}, + "deleteCustomVariable": {}, + "deleteCustomVariables": {}, + "storeCustomVariablesInCookie": {}, + "setLinkTrackingTimer": {}, + "getLinkTrackingTimer": {}, + "setDownloadExtensions": {}, + "addDownloadExtensions": {}, + "removeDownloadExtensions": {}, + "setDomains": {}, + "enableCrossDomainLinking": {}, + "disableCrossDomainLinking": {}, + "isCrossDomainLinkingEnabled": {}, + "setCrossDomainLinkingTimeout": {}, + "getCrossDomainLinkingUrlParameter": {}, + "setIgnoreClasses": {}, + "setRequestMethod": {}, + "setRequestContentType": {}, + "setReferrerUrl": {}, + "setCustomUrl": {}, + "getCurrentUrl": {}, + "setDocumentTitle": {}, + "setAPIUrl": {}, + "setDownloadClasses": {}, + "setLinkClasses": {}, + "setCampaignNameKey": {}, + "setCampaignKeywordKey": {}, + "discardHashTag": {}, + "setCookieNamePrefix": {}, + "setCookieDomain": {}, + "getCookieDomain": {}, + "hasCookies": {}, + "setSessionCookie": {}, + "getCookie": {}, + "setCookiePath": {}, + "getCookiePath": {}, + "setVisitorCookieTimeout": {}, + "setSessionCookieTimeout": {}, + "getSessionCookieTimeout": {}, + "setReferralCookieTimeout": {}, + "setConversionAttributionFirstReferrer": {}, + "setSecureCookie": {}, + "disableCookies": {}, + "deleteCookies": {}, + "setDoNotTrack": {}, + "alwaysUseSendBeacon": {}, + "addListener": {}, + "enableLinkTracking": {}, + "enableJSErrorTracking": {}, + "disablePerformanceTracking": {}, + "setGenerationTimeMs": {}, + "setVisitStandardLength": {}, + "enableHeartBeatTimer": {}, + "disableHeartBeatTimer": {}, + "killFrame": {}, + "redirectFile": {}, + "setCountPreRendered": {}, + "trackGoal": {}, + "trackLink": {}, + "getNumTrackedPageViews": {}, + "trackPageView": {}, + "trackAllContentImpressions": {}, + "trackVisibleContentImpressions": {}, + "trackContentImpression": {}, + "trackContentImpressionsWithinNode": {}, + "trackContentInteraction": {}, + "trackContentInteractionNode": {}, + "logAllContentBlocksOnPage": {}, + "trackEvent": {}, + "trackSiteSearch": {}, + "setEcommerceView": {}, + "getEcommerceItems": {}, + "addEcommerceItem": {}, + "removeEcommerceItem": {}, + "clearEcommerceCart": {}, + "trackEcommerceOrder": {}, + "trackEcommerceCartUpdate": {}, + "trackRequest": {}, + "ping": {}, + "disableQueueRequest": {}, + "setRequestQueueInterval": {}, + "queueRequest": {}, + "getRememberedConsent": {}, + "hasRememberedConsent": {}, + "requireConsent": {}, + "setConsentGiven": {}, + "rememberConsentGiven": {}, + "forgetConsentGiven": {}, + "isUserOptedOut": {}, + "optUserOut": {}, + "forgetUserOptOut": {} + } + ] + } + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>", + "_element": { + "piwikTrackers": [ + { + "getVisitorId": {}, + "getVisitorInfo": {}, + "getAttributionInfo": {}, + "getAttributionCampaignName": {}, + "getAttributionCampaignKeyword": {}, + "getAttributionReferrerTimestamp": {}, + "getAttributionReferrerUrl": {}, + "setTrackerUrl": {}, + "getTrackerUrl": {}, + "getPiwikUrl": {}, + "addTracker": {}, + "getSiteId": {}, + "setSiteId": {}, + "resetUserId": {}, + "setUserId": {}, + "getUserId": {}, + "setCustomData": {}, + "getCustomData": {}, + "setCustomRequestProcessing": {}, + "appendToTrackingUrl": {}, + "getRequest": {}, + "addPlugin": {}, + "setCustomDimension": {}, + "getCustomDimension": {}, + "deleteCustomDimension": {}, + "setCustomVariable": {}, + "getCustomVariable": {}, + "deleteCustomVariable": {}, + "deleteCustomVariables": {}, + "storeCustomVariablesInCookie": {}, + "setLinkTrackingTimer": {}, + "getLinkTrackingTimer": {}, + "setDownloadExtensions": {}, + "addDownloadExtensions": {}, + "removeDownloadExtensions": {}, + "setDomains": {}, + "enableCrossDomainLinking": {}, + "disableCrossDomainLinking": {}, + "isCrossDomainLinkingEnabled": {}, + "setCrossDomainLinkingTimeout": {}, + "getCrossDomainLinkingUrlParameter": {}, + "setIgnoreClasses": {}, + "setRequestMethod": {}, + "setRequestContentType": {}, + "setReferrerUrl": {}, + "setCustomUrl": {}, + "getCurrentUrl": {}, + "setDocumentTitle": {}, + "setAPIUrl": {}, + "setDownloadClasses": {}, + "setLinkClasses": {}, + "setCampaignNameKey": {}, + "setCampaignKeywordKey": {}, + "discardHashTag": {}, + "setCookieNamePrefix": {}, + "setCookieDomain": {}, + "getCookieDomain": {}, + "hasCookies": {}, + "setSessionCookie": {}, + "getCookie": {}, + "setCookiePath": {}, + "getCookiePath": {}, + "setVisitorCookieTimeout": {}, + "setSessionCookieTimeout": {}, + "getSessionCookieTimeout": {}, + "setReferralCookieTimeout": {}, + "setConversionAttributionFirstReferrer": {}, + "setSecureCookie": {}, + "disableCookies": {}, + "deleteCookies": {}, + "setDoNotTrack": {}, + "alwaysUseSendBeacon": {}, + "addListener": {}, + "enableLinkTracking": {}, + "enableJSErrorTracking": {}, + "disablePerformanceTracking": {}, + "setGenerationTimeMs": {}, + "setVisitStandardLength": {}, + "enableHeartBeatTimer": {}, + "disableHeartBeatTimer": {}, + "killFrame": {}, + "redirectFile": {}, + "setCountPreRendered": {}, + "trackGoal": {}, + "trackLink": {}, + "getNumTrackedPageViews": {}, + "trackPageView": {}, + "trackAllContentImpressions": {}, + "trackVisibleContentImpressions": {}, + "trackContentImpression": {}, + "trackContentImpressionsWithinNode": {}, + "trackContentInteraction": {}, + "trackContentInteractionNode": {}, + "logAllContentBlocksOnPage": {}, + "trackEvent": {}, + "trackSiteSearch": {}, + "setEcommerceView": {}, + "getEcommerceItems": {}, + "addEcommerceItem": {}, + "removeEcommerceItem": {}, + "clearEcommerceCart": {}, + "trackEcommerceOrder": {}, + "trackEcommerceCartUpdate": {}, + "trackRequest": {}, + "ping": {}, + "disableQueueRequest": {}, + "setRequestQueueInterval": {}, + "queueRequest": {}, + "getRememberedConsent": {}, + "hasRememberedConsent": {}, + "requireConsent": {}, + "setConsentGiven": {}, + "rememberConsentGiven": {}, + "forgetConsentGiven": {}, + "isUserOptedOut": {}, + "optUserOut": {}, + "forgetUserOptOut": {} + } + ] + } + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<span>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<span>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<span>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<p class=\"subheadline\">Elsewhere on the Web</p>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<p>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<b>Free Penguins</b>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<div>\"Free penguins\" slogan at zoo benefit concert causes confusion among city rockers. Adjective or verb?<br><a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></div>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<b>More City Parks</b>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<td>More parks and more green throughout the city at the price of already rare car parking spaces, how will this affect you?<br><a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></td>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<font color=\"BLACK\" face=\"Verdana\" size=\"1\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/border_right.gif\" width=\"10px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/border_bottom.gif\" height=\"10px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<p>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<p>", + "_element": {} + }, + { + "_fromFrame": false, + "spec": {}, + "source": "<p>", + "_element": {} + } + ], + "impact": "moderate", + "message": "Some page content is not contained by landmarks" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "html" + ], + "source": "<html>", + "xpath": [ + "/html" + ] + }, + "impact": "moderate", + "result": "failed" + } + ] + }, + { + "id": "role-img-alt", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures [role='img'] elements have alternate text", + "help": "[role='img'] elements have an alternative text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/role-img-alt?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "scope-attr-valid", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.tables", + "best-practice" + ], + "description": "Ensures the scope attribute is used correctly on tables", + "help": "scope attribute should be used correctly", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/scope-attr-valid?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "scrollable-region-focusable", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "wcag2a", + "wcag211" + ], + "description": "Elements that have scrollable content should be accessible by keyboard", + "help": "Ensure that scrollable region has keyboard access", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/scrollable-region-focusable?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "server-side-image-map", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag211", + "section508", + "section508.22.f" + ], + "description": "Ensures that server-side image maps are not used", + "help": "Server-side image maps must not be used", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/server-side-image-map?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "skip-link", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.keyboard", + "best-practice" + ], + "description": "Ensure all skip links have a focusable target", + "help": "The skip-link target should exist and be focusable", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/skip-link?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [ + { + "id": "skip-link", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Skip link target exists" + } + ], + "all": [], + "none": [], + "node": { + "selector": [ + "a[href$=\"\\#page\"]" + ], + "source": "<a href=\"#page\">Skip to inaccessible demo page</a>", + "xpath": [ + "/p[@id='skipnav']/a" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "tabindex", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.keyboard", + "best-practice" + ], + "description": "Ensures tabindex attribute values are not greater than 0", + "help": "Elements should not have tabindex greater than zero", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/tabindex?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "table-duplicate-name", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.tables", + "best-practice" + ], + "description": "Ensure that tables do not have the same summary and caption", + "help": "The <caption> element should not contain the same text as the summary attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/table-duplicate-name?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "node": { + "selector": [ + "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">", + "xpath": [ + "/div[@id='page']/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "node": { + "selector": [ + "table[width=\"\\38 00px\"]" + ], + "source": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "node": { + "selector": [ + "table[height=\"\\31 44px\"]" + ], + "source": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "node": { + "selector": [ + "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "node": { + "selector": [ + "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)" + ], + "source": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "node": { + "selector": [ + "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "node": { + "selector": [ + "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "node": { + "selector": [ + "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "source": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "node": { + "selector": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "source": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "node": { + "selector": [ + "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "td-headers-attr", + "result": "passed", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.tables", + "wcag2a", + "wcag131", + "section508", + "section508.22.g" + ], + "description": "Ensure that each cell in a table using the headers refers to another cell in that table", + "help": "All cells in a table element that use the headers attribute must only refer to other cells of that same table", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/td-headers-attr?application=axe-puppeteer", + "inapplicable": [], + "passes": [ + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "node": { + "selector": [ + "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">", + "xpath": [ + "/div[@id='page']/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "node": { + "selector": [ + "table[width=\"\\38 00px\"]" + ], + "source": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "node": { + "selector": [ + "table[height=\"\\31 44px\"]" + ], + "source": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "node": { + "selector": [ + "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "node": { + "selector": [ + "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)" + ], + "source": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "node": { + "selector": [ + "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "node": { + "selector": [ + "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "node": { + "selector": [ + "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "source": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "node": { + "selector": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "source": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table" + ] + }, + "impact": null, + "result": "passed" + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "node": { + "selector": [ + "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]" + ], + "source": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">", + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]" + ] + }, + "impact": null, + "result": "passed" + } + ], + "incomplete": [], + "violations": [] + }, + { + "id": "th-has-data-cells", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.tables", + "wcag2a", + "wcag131", + "section508", + "section508.22.g" + ], + "description": "Ensure that each table header in a data table refers to data cells", + "help": "All th elements and elements with role=columnheader/rowheader must have data cells they describe", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/th-has-data-cells?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "valid-lang", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.language", + "wcag2aa", + "wcag312" + ], + "description": "Ensures lang attributes have valid values", + "help": "lang attribute must have a valid value", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/valid-lang?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + }, + { + "id": "video-caption", + "result": "inapplicable", + "pageLevel": false, + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag122", + "section508", + "section508.22.a" + ], + "description": "Ensures <video> elements have captions", + "help": "<video> elements must have captions", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/video-caption?application=axe-puppeteer", + "inapplicable": [], + "passes": [], + "incomplete": [], + "violations": [] + } +] \ No newline at end of file diff --git a/src/test-resources/w3citylights-axe-v3.4.1.reporter-v1.json b/src/test-resources/w3citylights-axe-v3.4.1.reporter-v1.json new file mode 100644 index 00000000..be34715a --- /dev/null +++ b/src/test-resources/w3citylights-axe-v3.4.1.reporter-v1.json @@ -0,0 +1,10530 @@ +{ + "testEngine": { + "name": "axe-core", + "version": "3.4.1" + }, + "testRunner": { + "name": "axe" + }, + "testEnvironment": { + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/78.0.3882.0 Safari/537.36", + "windowWidth": 800, + "windowHeight": 600, + "orientationAngle": 0, + "orientationType": "portrait-primary" + }, + "timestamp": "2000-01-02T03:04:05.006Z", + "url": "https://www.w3.org/WAI/demos/bad/before/home.html", + "toolOptions": { + "xpath": true, + "reporter": "v1" + }, + "violations": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143" + ], + "description": "Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds", + "help": "Elements must have sufficient color contrast", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/color-contrast?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#41545d", + "bgColor": "#a9b8bf", + "contrastRatio": 3.88, + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [ + { + "html": "<td width=\"150px\" bgcolor=\"#A9B8BF\"><font color=\"#41545D\" face=\"Verdana\" size=\"2\"> <b>Free Penguins</b></font></td>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(2) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[2]/td" + ] + } + ], + "impact": "serious", + "message": "Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<b>Free Penguins</b>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(2) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[2]/td/font/b" + ], + "failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1" + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#41545d", + "bgColor": "#a9b8bf", + "contrastRatio": 3.88, + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [ + { + "html": "<td width=\"150px\" bgcolor=\"#A9B8BF\"><font color=\"#41545D\" face=\"Verdana\" size=\"2\"> <b>More City Parks</b></font></td>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(7) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[7]/td" + ] + } + ], + "impact": "serious", + "message": "Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<b>More City Parks</b>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(7) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[7]/td/font/b" + ], + "failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1" + } + ] + }, + { + "id": "html-has-lang", + "impact": "serious", + "tags": [ + "cat.language", + "wcag2a", + "wcag311" + ], + "description": "Ensures every HTML document has a lang attribute", + "help": "<html> element must have a lang attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/html-has-lang?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "has-lang", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The <html> element does not have a lang attribute" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ], + "failureSummary": "Fix any of the following:\n The <html> element does not have a lang attribute" + } + ] + }, + { + "id": "image-alt", + "impact": "critical", + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <img> elements have alternate text or a role of none or presentation", + "help": "Images must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/image-alt?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_left_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_top.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[2]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_right_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[3]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_left.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_left\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_end\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[2]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">", + "target": [ + "img[src$=\"top_weather\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[3]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_start\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[4]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">", + "target": [ + "img[src$=\"mark\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[colspan=\"\\35 \"][background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\37 80px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[4]/td/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 55px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">", + "target": [ + "img[width=\"\\31 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td[2]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">", + "target": [ + "img[name=\"nav_home\"]" + ], + "xpath": [ + "/td[@id='home']/a/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(3) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[3]/td/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">", + "target": [ + "img[src$=\"nav_news\\.gif\"]" + ], + "xpath": [ + "/td[@id='news']/a/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(5) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[5]/td/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">", + "target": [ + "img[name=\"nav_facts\"]" + ], + "xpath": [ + "/td[@id='tickets']/a/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(7) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[7]/td/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">", + "target": [ + "img[src$=\"nav_survey\\.gif\"]" + ], + "xpath": [ + "/td[@id='survey']/a/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(9) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[9]/td/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(2) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[2]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(1) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(2) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[2]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(3) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[3]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(4) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[4]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">", + "target": [ + "img[src$=\"marker2_t\\.gif\"][height=\"\\33 0px\"][width=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 51px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td[2]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">", + "target": [ + "img[src$=\"teaser_right1\\.jpg\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[3]/td/div/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\31 50px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[6]/td/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">", + "target": [ + "img[src$=\"teaser_right2\\.jpg\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[8]/td/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_right.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_right\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[3]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_left\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_bottom.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[2]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_right\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[3]/img" + ], + "failureSummary": "Fix any of the following:\n Element does not have an alt attribute\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute or the title attribute is empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + } + ] + }, + { + "id": "label", + "impact": "critical", + "tags": [ + "cat.forms", + "wcag2a", + "wcag332", + "wcag131", + "section508", + "section508.22.n" + ], + "description": "Ensures every form element has a label", + "help": "Form elements must have labels", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/label?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "implicit-label", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Form element does not have an implicit (wrapped) <label>" + }, + { + "id": "explicit-label", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Form element does not have an explicit <label>" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<select onchange=\"location.href = this.value;\">", + "target": [ + "select" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ], + "failureSummary": "Fix any of the following:\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Form element does not have an implicit (wrapped) <label>\n Form element does not have an explicit <label>\n Element has no title attribute or the title attribute is empty" + } + ] + }, + { + "id": "landmark-one-main", + "impact": "moderate", + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the document has only one main landmark and each iframe in the page has at most one main landmark", + "help": "Document must have one main landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-one-main?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [ + { + "id": "page-has-main", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Document does not have a main landmark" + } + ], + "none": [], + "impact": "moderate", + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ], + "failureSummary": "Fix all of the following:\n Document does not have a main landmark" + } + ] + }, + { + "id": "link-name", + "impact": "serious", + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "wcag244", + "section508", + "section508.22.a" + ], + "description": "Ensures links have discernible text", + "help": "Links must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/link-name?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"javascript:location.href='home.html';\" onfocus=\"blur();\"><img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\"></a>", + "target": [ + "#home > a[onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/td[@id='home']/a" + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"javascript:location.href='news.html';\" onfocus=\"blur();\"><img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\"></a>", + "target": [ + "#news > a[onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/td[@id='news']/a" + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"javascript:location.href='tickets.html';\" onfocus=\"blur();\"><img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\"></a>", + "target": [ + "#tickets > a[onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/td[@id='tickets']/a" + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"javascript:location.href='survey.html';\" onfocus=\"blur();\"><img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\"></a>", + "target": [ + "#survey > a[onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/td[@id='survey']/a" + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>", + "target": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div/span/a" + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>", + "target": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span/a" + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>", + "target": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span/a" + ], + "failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element's default semantics were not overridden with role=\"presentation\"\n Element's default semantics were not overridden with role=\"none\"" + } + ] + }, + { + "id": "region", + "impact": "moderate", + "tags": [ + "cat.keyboard", + "best-practice" + ], + "description": "Ensures all page content is contained by landmarks", + "help": "All page content must be contained by landmarks", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/region?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "region", + "data": null, + "relatedNodes": [ + { + "html": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">", + "target": [ + "img[alt=\"W3C\\ logo\"]" + ], + "xpath": [ + "/p[@id='logos']/a/img" + ] + }, + { + "html": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">", + "target": [ + "img[src$=\"wai\\.png\"]" + ], + "xpath": [ + "/p[@id='logos']/a[2]/img" + ] + }, + { + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "target": [ + "h1" + ], + "xpath": [ + "/div[@id='meta-header']/h1" + ] + }, + { + "html": "<p class=\"subline\">Improving a Web site using Web Content Accessibility Guidelines (WCAG) 2.0</p>", + "target": [ + ".subline" + ], + "xpath": [ + "/div[@id='meta-header']/p[3]" + ] + }, + { + "html": "<a href=\"../Overview.html\">Overview</a>", + "target": [ + "a[href$=\"Overview\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li/a" + ] + }, + { + "html": "<li class=\"current first\">", + "target": [ + ".current.first" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]" + ] + }, + { + "html": "<a href=\"news.html\">News</a>", + "target": [ + "li:nth-child(3) > a[href$=\"news\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[3]/a" + ] + }, + { + "html": "<a href=\"tickets.html\">Tickets</a>", + "target": [ + "li:nth-child(4) > a[href$=\"tickets\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[4]/a" + ] + }, + { + "html": "<a href=\"survey.html\">Survey</a>", + "target": [ + "li:nth-child(5) > a[href$=\"survey\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[5]/a" + ] + }, + { + "html": "<a href=\"template.html\">Template</a>", + "target": [ + "a[href$=\"template\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[6]/a" + ] + }, + { + "html": "<p class=\"skip\" id=\"startcontent\">Demo starts here</p>", + "target": [ + "#startcontent" + ], + "xpath": [ + "/p[@id='startcontent']" + ] + }, + { + "html": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_left_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + { + "html": "<img src=\"./img/border_top.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + { + "html": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_right_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[3]/img" + ] + }, + { + "html": "<img src=\"./img/border_left.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_left\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td/img" + ] + }, + { + "html": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">", + "target": [ + "img[src$=\"top_logo\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a/img" + ] + }, + { + "html": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_end\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[2]/img" + ] + }, + { + "html": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">", + "target": [ + "img[src$=\"top_weather\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[3]/img" + ] + }, + { + "html": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_start\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[4]/img" + ] + }, + { + "html": "<select onchange=\"location.href = this.value;\">", + "target": [ + "select" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ] + }, + { + "html": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">", + "target": [ + "img[src$=\"mark\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/img" + ] + }, + { + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">  <b>Traffic:</b> Construction work on Main Road</font>", + "target": [ + "td[width=\"\\33 80px\"] > font[color=\"BLACK\"][size=\"\\32 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td/font" + ] + }, + { + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">", + "target": [ + "#WEATHER > font[color=\"BLACK\"][size=\"\\32 \"]" + ], + "xpath": [ + "/td[@id='WEATHER']/font" + ] + }, + { + "html": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[colspan=\"\\35 \"][background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\37 80px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[4]/td/img" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 55px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + { + "html": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">", + "target": [ + "img[width=\"\\31 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + { + "html": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">", + "target": [ + "img[name=\"nav_home\"]" + ], + "xpath": [ + "/td[@id='home']/a/img" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(3) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + { + "html": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">", + "target": [ + "img[src$=\"nav_news\\.gif\"]" + ], + "xpath": [ + "/td[@id='news']/a/img" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(5) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[5]/td/img" + ] + }, + { + "html": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">", + "target": [ + "img[name=\"nav_facts\"]" + ], + "xpath": [ + "/td[@id='tickets']/a/img" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(7) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[7]/td/img" + ] + }, + { + "html": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">", + "target": [ + "img[src$=\"nav_survey\\.gif\"]" + ], + "xpath": [ + "/td[@id='survey']/a/img" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(9) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[9]/td/img" + ] + }, + { + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(2) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[2]/img" + ] + }, + { + "html": "<p class=\"headline\">Welcome to CityLights</p>", + "target": [ + ".headline" + ], + "xpath": [ + "/td[@id='main']/p" + ] + }, + { + "html": "<p>Citylights is the new portal for visitors and residents. Find out what's on, book tickets, and get the latest news.</p>", + "target": [ + "#main > p:nth-child(2)" + ], + "xpath": [ + "/td[@id='main']/p[2]" + ] + }, + { + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(1) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div/img" + ] + }, + { + "html": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>", + "target": [ + ".newsheadline:nth-child(1) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div/a" + ] + }, + { + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(2) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[2]/img" + ] + }, + { + "html": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>", + "target": [ + ".newsheadline:nth-child(2) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[2]/a" + ] + }, + { + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(3) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[3]/img" + ] + }, + { + "html": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>", + "target": [ + ".newsheadline:nth-child(3) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[3]/a" + ] + }, + { + "html": "<span>", + "target": [ + ".story:nth-child(1) > span" + ], + "xpath": [ + "/div[@id='content']/div[4]/div/span" + ] + }, + { + "html": "<span>", + "target": [ + ".story:nth-child(2) > span" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span" + ] + }, + { + "html": "<span>", + "target": [ + ".story:nth-child(3) > span" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span" + ] + }, + { + "html": "<p class=\"subheadline\">Elsewhere on the Web</p>", + "target": [ + ".subheadline" + ], + "xpath": [ + "/div[@id='content']/p" + ] + }, + { + "html": "<p>", + "target": [ + "p:nth-child(7)" + ], + "xpath": [ + "/div[@id='content']/p[2]" + ] + }, + { + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(4) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[4]/img" + ] + }, + { + "html": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">", + "target": [ + "img[src$=\"marker2_t\\.gif\"][height=\"\\33 0px\"][width=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td/img" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 51px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td[2]/img" + ] + }, + { + "html": "<b>Free Penguins</b>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(2) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[2]/td/font/b" + ] + }, + { + "html": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">", + "target": [ + "img[src$=\"teaser_right1\\.jpg\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[3]/td/div/img" + ] + }, + { + "html": "<div>\"Free penguins\" slogan at zoo benefit concert causes confusion among city rockers. Adjective or verb?<br><a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></div>", + "target": [ + "table[cellpadding=\"\\33 px\"] > tbody > tr > td > div" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\31 50px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[6]/td/img" + ] + }, + { + "html": "<b>More City Parks</b>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(7) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[7]/td/font/b" + ] + }, + { + "html": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">", + "target": [ + "img[src$=\"teaser_right2\\.jpg\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[8]/td/img" + ] + }, + { + "html": "<td>More parks and more green throughout the city at the price of already rare car parking spaces, how will this affect you?<br><a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></td>", + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"] > tbody > tr > td" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td" + ] + }, + { + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"1\">", + "target": [ + "font[size=\"\\31 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font" + ] + }, + { + "html": "<img src=\"./img/border_right.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_right\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[3]/img" + ] + }, + { + "html": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_left\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + { + "html": "<img src=\"./img/border_bottom.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[2]/img" + ] + }, + { + "html": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_right\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[3]/img" + ] + }, + { + "html": "<p>", + "target": [ + "#meta-footer > p:nth-child(2)" + ], + "xpath": [ + "/div[@id='meta-footer']/p" + ] + }, + { + "html": "<p>", + "target": [ + "p:nth-child(3)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]" + ] + }, + { + "html": "<p>", + "target": [ + ".copyright > p" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p" + ] + } + ], + "impact": "moderate", + "message": "Some page content is not contained by landmarks" + } + ], + "all": [], + "none": [], + "impact": "moderate", + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ], + "failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks" + } + ] + } + ], + "passes": [ + { + "id": "aria-hidden-body", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures aria-hidden='true' is not present on the document body.", + "help": "aria-hidden='true' must not be present on the document body", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-hidden-body?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "aria-hidden-body", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "No aria-hidden attribute is present on document body" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<body text=\"#000000\" bgcolor=\"#D7D7CD\" leftmargin=\"0px\" topmargin=\"0px\" marginwidth=\"0px\" marginheight=\"0px\" link=\"#226C8E\" vlink=\"#226C8E\" alink=\"#226C8E\">", + "target": [ + "body" + ], + "xpath": [ + "/html/body" + ] + } + ] + }, + { + "id": "avoid-inline-spacing", + "impact": null, + "tags": [ + "wcag21aa", + "wcag1412" + ], + "description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets", + "help": "Inline text spacing must be adjustable with custom stylesheets", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/avoid-inline-spacing?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<div class=\"image\" style=\"background: url(./img/panda-sm.jpg) center center no-repeat #cccccc\" title=\"image\"><div class=\"null\"></div></div>", + "target": [ + ".image[title=\"image\"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='content']/div[3]/div" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<div class=\"image\" style=\"background: url(./img/oldenburgstudentviolin34.jpg) center center no-repeat #cccccc\" title=\"image\"><div class=\"null\"></div></div>", + "target": [ + ".image[title=\"image\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='content']/div[3]/div[2]" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<div class=\"image\" style=\"background: url(./img/BrainInJar.jpg) center center no-repeat #cccccc;\" title=\"image\"><div class=\"null\"></div></div>", + "target": [ + ".image[title=\"image\"]:nth-child(3)" + ], + "xpath": [ + "/div[@id='content']/div[3]/div[3]" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div/span/a/img" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span/a/img" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span/a/img" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "target": [ + "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div/a" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "target": [ + "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td/a" + ] + } + ] + }, + { + "id": "bypass", + "impact": null, + "tags": [ + "cat.keyboard", + "wcag2a", + "wcag241", + "section508", + "section508.22.o" + ], + "description": "Ensures each page has at least one mechanism for a user to bypass navigation and jump straight to the content", + "help": "Page must have means to bypass repeated blocks", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/bypass?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "internal-link-present", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Valid skip link found" + }, + { + "id": "header-present", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Page has a header" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + }, + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143" + ], + "description": "Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds", + "help": "Elements must have sufficient color contrast", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/color-contrast?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "21.6pt (28.8px)", + "fontWeight": "bold", + "expectedContrastRatio": "3:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "target": [ + "h1" + ], + "xpath": [ + "/div[@id='meta-header']/h1" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "13.6pt (18.144px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<span class=\"subhead\">Inaccessible Home Page</span>", + "target": [ + ".subhead" + ], + "xpath": [ + "/div[@id='meta-header']/h1/span" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p class=\"subline\">Improving a Web site using Web Content Accessibility Guidelines (WCAG) 2.0</p>", + "target": [ + ".subline" + ], + "xpath": [ + "/div[@id='meta-header']/p[3]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"../Overview.html\">Overview</a>", + "target": [ + "a[href$=\"Overview\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#d7d7cd", + "contrastRatio": 10.97, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 10.97" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li class=\"current first\">", + "target": [ + ".current.first" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#cc0000", + "contrastRatio": 5.88, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.88" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<strong>Inaccessible:</strong>", + "target": [ + ".inaccessible > strong" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/strong" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#cc0000", + "contrastRatio": 5.88, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.88" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a>", + "target": [ + ".inaccessible > .report[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/a[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#447700", + "contrastRatio": 5.4, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.4" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<strong>Accessible:</strong>", + "target": [ + ".accessible > strong" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/strong" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#447700", + "contrastRatio": 5.4, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.4" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a>", + "target": [ + ".page[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#447700", + "contrastRatio": 5.4, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.4" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a>", + "target": [ + ".accessible > .report[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"news.html\">News</a>", + "target": [ + "li:nth-child(3) > a[href$=\"news\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[3]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"tickets.html\">Tickets</a>", + "target": [ + "li:nth-child(4) > a[href$=\"tickets\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[4]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"survey.html\">Survey</a>", + "target": [ + "li:nth-child(5) > a[href$=\"survey\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[5]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"template.html\">Template</a>", + "target": [ + "a[href$=\"template\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[6]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.0pt (13.3333px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<select onchange=\"location.href = this.value;\">", + "target": [ + "select" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "9.8pt (13px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">  <b>Traffic:</b> Construction work on Main Road</font>", + "target": [ + "td[width=\"\\33 80px\"] > font[color=\"BLACK\"][size=\"\\32 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td/font" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<b>Traffic:</b>", + "target": [ + "td[width=\"\\33 80px\"] > font[color=\"BLACK\"][size=\"\\32 \"] > b" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td/font/b" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<b>Today:</b>", + "target": [ + "#WEATHER > font[color=\"BLACK\"][size=\"\\32 \"] > b" + ], + "xpath": [ + "/td[@id='WEATHER']/font/b" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#41545d", + "bgColor": "#ffffff", + "contrastRatio": 7.92, + "fontSize": "18.0pt (24px)", + "fontWeight": "normal", + "expectedContrastRatio": "3:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 7.92" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p class=\"headline\">Welcome to CityLights</p>", + "target": [ + ".headline" + ], + "xpath": [ + "/td[@id='main']/p" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p>Citylights is the new portal for visitors and residents. Find out what's on, book tickets, and get the latest news.</p>", + "target": [ + "#main > p:nth-child(2)" + ], + "xpath": [ + "/td[@id='main']/p[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>", + "target": [ + ".newsheadline:nth-child(1) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>", + "target": [ + ".newsheadline:nth-child(2) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[2]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>", + "target": [ + ".newsheadline:nth-child(3) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[3]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<span>", + "target": [ + ".story:nth-child(1) > span" + ], + "xpath": [ + "/div[@id='content']/div[4]/div/span" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<span>", + "target": [ + ".story:nth-child(2) > span" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<span>", + "target": [ + ".story:nth-child(3) > span" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#41545d", + "bgColor": "#ffffff", + "contrastRatio": 7.92, + "fontSize": "15.0pt (20px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 7.92" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p class=\"subheadline\">Elsewhere on the Web</p>", + "target": [ + ".subheadline" + ], + "xpath": [ + "/div[@id='content']/p" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p>", + "target": [ + "p:nth-child(7)" + ], + "xpath": [ + "/div[@id='content']/p[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<span>", + "target": [ + "p:nth-child(7) > span" + ], + "xpath": [ + "/div[@id='content']/p[2]/span" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "target": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "target": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(5)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/a[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<b>Artichoke advice telephone hotline: </b>", + "target": [ + "p:nth-child(7) > b" + ], + "xpath": [ + "/div[@id='content']/p[2]/b" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<div>\"Free penguins\" slogan at zoo benefit concert causes confusion among city rockers. Adjective or verb?<br><a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></div>", + "target": [ + "table[cellpadding=\"\\33 px\"] > tbody > tr > td > div" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "target": [ + "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td>More parks and more green throughout the city at the price of already rare car parking spaces, how will this affect you?<br><a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></td>", + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"] > tbody > tr > td" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "target": [ + "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"1\">", + "target": [ + "font[size=\"\\31 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "target": [ + "font[size=\"\\31 \"] > a[rel=\"Copyright\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"World Wide Web Consortium\">W3C</acronym>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"w3\\.org\\/\"] > acronym[title=\"World\\ Wide\\ Web\\ Consortium\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[2]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "6.2pt (8.33333px)", + "fontWeight": "normal", + "missingData": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<sup>®</sup>", + "target": [ + "font[size=\"\\31 \"] > sup" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/sup" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"Massachusetts Institute of Technology\">MIT</acronym>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"csail\\.mit\\.edu\\/\"] > acronym" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[3]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"ercim\\.org\\/\"] > acronym" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[4]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"keio\\.ac\\.jp\\/\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[5]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p>", + "target": [ + "#meta-footer > p:nth-child(2)" + ], + "xpath": [ + "/div[@id='meta-footer']/p" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<strong>Status:</strong>", + "target": [ + "p:nth-child(2) > strong" + ], + "xpath": [ + "/div[@id='meta-footer']/p/strong" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"../changelog.html\">changelog</a>", + "target": [ + "a[href$=\"changelog\\.html\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/People/shadi/\">Shadi Abou-Zahra</a>", + "target": [ + "p:nth-child(2) > a:nth-child(4)" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/EO/\">Education and Outreach Working Group (EOWG)</a>", + "target": [ + "a[href$=\"EO\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[3]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"Web Accessibility Initiative: Training, Implementation, Education, Support\">WAI-TIES</acronym>", + "target": [ + "a[href$=\"TIES\\/\"] > acronym" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[4]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"Web Accessibility Initiative: Ageing Education and Harmonisation\">WAI-AGE</acronym>", + "target": [ + "a[href$=\"WAI-AGE\\/\"] > acronym" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[5]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"Information Society Technologies\">IST</acronym>", + "target": [ + "p:nth-child(2) > acronym" + ], + "xpath": [ + "/div[@id='meta-footer']/p/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"../acks.html\">Acknowledgements</a>", + "target": [ + "a[href$=\"acks\\.html\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[6]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p>", + "target": [ + "p:nth-child(3)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/sitemap.html\" shape=\"rect\">WAI Site Map</a>", + "target": [ + "p:nth-child(3) > a[shape=\"rect\"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/sitehelp.html\" shape=\"rect\">Help with WAI Website</a>", + "target": [ + "a[shape=\"rect\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/search.php\" shape=\"rect\">Search</a>", + "target": [ + "a[shape=\"rect\"]:nth-child(3)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[3]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/contacts\" shape=\"rect\">Contacting WAI</a>", + "target": [ + "a[href$=\"contacts\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[4]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<strong>Feedback welcome to <a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a></strong>", + "target": [ + "p:nth-child(3) > strong" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/strong" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a>", + "target": [ + "a[href=\"mailto\\:wai-eo-editors\\@w3\\.org\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/strong/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"mailto:wai@w3.org\" shape=\"rect\">wai@w3.org</a>", + "target": [ + "a[href$=\"mailto\\:wai\\@w3\\.org\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[5]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p>", + "target": [ + ".copyright > p" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "target": [ + "p > a[rel=\"Copyright\"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"World Wide Web Consortium\">W3C</acronym>", + "target": [ + "p > a[href$=\"w3\\.org\\/\"] > acronym[title=\"World\\ Wide\\ Web\\ Consortium\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[2]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "missingData": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<sup>®</sup>", + "target": [ + "p > sup" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/sup" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"Massachusetts Institute of Technology\">MIT</acronym>", + "target": [ + "p > a[href$=\"csail\\.mit\\.edu\\/\"] > acronym" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[3]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym>", + "target": [ + "p > a[href$=\"ercim\\.org\\/\"] > acronym" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[4]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "target": [ + "p > a[href$=\"keio\\.ac\\.jp\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[5]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer\">liability</a>", + "target": [ + ".copyright > p > a:nth-child(7)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[6]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks\">trademark</a>", + "target": [ + ".copyright > p > a:nth-child(8)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[7]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-documents\">document use</a>", + "target": [ + "a[rel=\"Copyright\"]:nth-child(9)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[8]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-software\">software licensing</a>", + "target": [ + "a[rel=\"Copyright\"]:nth-child(10)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[9]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Public\">public</a>", + "target": [ + "a:nth-child(11)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[10]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Members\">Member</a>", + "target": [ + "a:nth-child(12)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[11]" + ] + } + ] + }, + { + "id": "document-title", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag242" + ], + "description": "Ensures each HTML document contains a non-empty <title> element", + "help": "Documents must have <title> element to aid in navigation", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/document-title?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "doc-has-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Document has a non-empty <title> element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + }, + { + "id": "duplicate-id", + "impact": null, + "tags": [ + "cat.parsing", + "wcag2a", + "wcag411" + ], + "description": "Ensures every id attribute value is unique", + "help": "id attribute value must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "duplicate-id", + "data": "meta-header", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<div id=\"meta-header\">", + "target": [ + "#meta-header" + ], + "xpath": [ + "/div[@id='meta-header']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "skipnav", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p id=\"skipnav\"><a href=\"#page\">Skip to inaccessible demo page</a></p>", + "target": [ + "#skipnav" + ], + "xpath": [ + "/p[@id='skipnav']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "logos", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p id=\"logos\"><a href=\"http://www.w3.org/\" title=\"W3C Home\"><img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\"></a><a href=\"http://www.w3.org/WAI/\" title=\"WAI Home\"><img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\"></a></p>", + "target": [ + "#logos" + ], + "xpath": [ + "/p[@id='logos']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "mnav", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<div id=\"mnav\" class=\"inaccessible\">", + "target": [ + "#mnav" + ], + "xpath": [ + "/div[@id='mnav']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "page", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<div id=\"page\">", + "target": [ + "#page" + ], + "xpath": [ + "/div[@id='page']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "startcontent", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p class=\"skip\" id=\"startcontent\">Demo starts here</p>", + "target": [ + "#startcontent" + ], + "xpath": [ + "/p[@id='startcontent']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "WEATHER", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td bgcolor=\"#EDEDED\" align=\"RIGHT\" id=\"WEATHER\">", + "target": [ + "#WEATHER" + ], + "xpath": [ + "/td[@id='WEATHER']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "home", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"home\" onmouseover=\"switchImage('nav_home', './img/nav_home2.gif'); ChangeColor('home','#FFF')\" onmouseout=\"switchImage('nav_home', './img/nav_home.gif'); ChangeColor('home','#EDEDED')\">", + "target": [ + "#home" + ], + "xpath": [ + "/td[@id='home']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "news", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"news\" onmouseover=\"switchImage('nav_news', './img/nav_news2.gif'); ChangeColor('news','#FFF')\" onmouseout=\"switchImage('nav_news', './img/nav_news.gif'); ChangeColor('news','#EDEDED')\">", + "target": [ + "#news" + ], + "xpath": [ + "/td[@id='news']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "tickets", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"tickets\" onmouseover=\"switchImage('nav_facts', './img/nav_facts2.gif'); ChangeColor('tickets','#FFF')\" onmouseout=\"switchImage('nav_facts', './img/nav_facts.gif'); ChangeColor('tickets','#EDEDED')\">", + "target": [ + "#tickets" + ], + "xpath": [ + "/td[@id='tickets']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "survey", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"survey\" onmouseover=\"switchImage('nav_survey', './img/nav_survey2.gif'); ChangeColor('survey','#FFF')\" onmouseout=\"switchImage('nav_survey', './img/nav_survey.gif'); ChangeColor('survey','#EDEDED')\">", + "target": [ + "#survey" + ], + "xpath": [ + "/td[@id='survey']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "main", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td width=\"434px\" height=\"600px\" valign=\"TOP\" id=\"main\">", + "target": [ + "#main" + ], + "xpath": [ + "/td[@id='main']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "content", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<div id=\"content\">", + "target": [ + "#content" + ], + "xpath": [ + "/div[@id='content']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "meta-footer", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<div id=\"meta-footer\" class=\"meta\">", + "target": [ + "#meta-footer" + ], + "xpath": [ + "/div[@id='meta-footer']" + ] + } + ] + }, + { + "id": "empty-heading", + "impact": null, + "tags": [ + "cat.name-role-value", + "best-practice" + ], + "description": "Ensures headings have discernible text", + "help": "Headings must not be empty", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/empty-heading?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "target": [ + "h1" + ], + "xpath": [ + "/div[@id='meta-header']/h1" + ] + } + ] + }, + { + "id": "form-field-multiple-labels", + "impact": null, + "tags": [ + "cat.forms", + "wcag2a", + "wcag332" + ], + "description": "Ensures form field does not have multiple label elements", + "help": "Form field should not have multiple label elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/form-field-multiple-labels?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "multiple-label", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Form field does not have multiple label elements" + } + ], + "impact": null, + "html": "<select onchange=\"location.href = this.value;\">", + "target": [ + "select" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ] + } + ] + }, + { + "id": "heading-order", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the order of headings is semantically correct", + "help": "Heading levels should only increase by one", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/heading-order?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "heading-order", + "data": 1, + "relatedNodes": [], + "impact": "moderate", + "message": "Heading order valid" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "target": [ + "h1" + ], + "xpath": [ + "/div[@id='meta-header']/h1" + ] + } + ] + }, + { + "id": "image-alt", + "impact": "critical", + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <img> elements have alternate text or a role of none or presentation", + "help": "Images must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/image-alt?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">", + "target": [ + "img[alt=\"W3C\\ logo\"]" + ], + "xpath": [ + "/p[@id='logos']/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">", + "target": [ + "img[src$=\"wai\\.png\"]" + ], + "xpath": [ + "/p[@id='logos']/a[2]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">", + "target": [ + "img[src$=\"top_logo\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div/span/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "target": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "target": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(4)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/img[2]" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/telefon_white_bg.gif\" alt=\"1234 56789\" border=\"0\" align=\"absmiddle\">", + "target": [ + "img[src$=\"telefon_white_bg\\.gif\"]" + ], + "xpath": [ + "/div[@id='content']/p[2]/img" + ] + } + ] + }, + { + "id": "image-redundant-alt", + "impact": null, + "tags": [ + "cat.text-alternatives", + "best-practice" + ], + "description": "Ensure image alternative is not repeated as text", + "help": "Alternative text of images should not be repeated as text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/image-redundant-alt?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">", + "target": [ + "img[alt=\"W3C\\ logo\"]" + ], + "xpath": [ + "/p[@id='logos']/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">", + "target": [ + "img[src$=\"wai\\.png\"]" + ], + "xpath": [ + "/p[@id='logos']/a[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_left_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_top.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_right_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[3]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_left.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_left\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">", + "target": [ + "img[src$=\"top_logo\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_end\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">", + "target": [ + "img[src$=\"top_weather\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[3]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_start\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[4]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">", + "target": [ + "img[src$=\"mark\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[colspan=\"\\35 \"][background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\37 80px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[4]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 55px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">", + "target": [ + "img[width=\"\\31 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">", + "target": [ + "img[name=\"nav_home\"]" + ], + "xpath": [ + "/td[@id='home']/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(3) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">", + "target": [ + "img[src$=\"nav_news\\.gif\"]" + ], + "xpath": [ + "/td[@id='news']/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(5) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[5]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">", + "target": [ + "img[name=\"nav_facts\"]" + ], + "xpath": [ + "/td[@id='tickets']/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(7) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[7]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">", + "target": [ + "img[src$=\"nav_survey\\.gif\"]" + ], + "xpath": [ + "/td[@id='survey']/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(9) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[9]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(2) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(1) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(2) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(3) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[3]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div/span/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "target": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "target": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(4)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/img[2]" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/telefon_white_bg.gif\" alt=\"1234 56789\" border=\"0\" align=\"absmiddle\">", + "target": [ + "img[src$=\"telefon_white_bg\\.gif\"]" + ], + "xpath": [ + "/div[@id='content']/p[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(4) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[4]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">", + "target": [ + "img[src$=\"marker2_t\\.gif\"][height=\"\\33 0px\"][width=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 51px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">", + "target": [ + "img[src$=\"teaser_right1\\.jpg\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[3]/td/div/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\31 50px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[6]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">", + "target": [ + "img[src$=\"teaser_right2\\.jpg\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[8]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_right.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_right\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[3]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_left\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_bottom.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_right\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[3]/img" + ] + } + ] + }, + { + "id": "label-title-only", + "impact": null, + "tags": [ + "cat.forms", + "best-practice" + ], + "description": "Ensures that every form element is not solely labeled using the title or aria-describedby attributes", + "help": "Form elements should have a visible label", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/label-title-only?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "title-only", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Form element does not solely use title attribute for its label" + } + ], + "impact": null, + "html": "<select onchange=\"location.href = this.value;\">", + "target": [ + "select" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ] + } + ] + }, + { + "id": "landmark-no-duplicate-banner", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the document has at most one banner landmark", + "help": "Document must not have more than one banner landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-no-duplicate-banner?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "page-no-duplicate-banner", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Document does not have more than one banner landmark" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + }, + { + "id": "landmark-no-duplicate-contentinfo", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the document has at most one contentinfo landmark", + "help": "Document must not have more than one contentinfo landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-no-duplicate-contentinfo?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "page-no-duplicate-contentinfo", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Document does not have more than one contentinfo landmark" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + }, + { + "id": "layout-table", + "impact": null, + "tags": [ + "cat.semantics", + "wcag2a", + "wcag131" + ], + "description": "Ensures presentational <table> elements do not use <th>, <caption> elements or the summary attribute", + "help": "Layout tables must not use data table elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/layout-table?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">", + "target": [ + "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[width=\"\\38 00px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[height=\"\\31 44px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "target": [ + "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">", + "target": [ + "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]" + ] + } + ] + }, + { + "id": "link-name", + "impact": "serious", + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "wcag244", + "section508", + "section508.22.a" + ], + "description": "Ensures links have discernible text", + "help": "Links must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/link-name?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"#page\">Skip to inaccessible demo page</a>", + "target": [ + "a[href$=\"\\#page\"]" + ], + "xpath": [ + "/p[@id='skipnav']/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/\" title=\"W3C Home\"><img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\"></a>", + "target": [ + "a[title=\"W3C\\ Home\"]" + ], + "xpath": [ + "/p[@id='logos']/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/\" title=\"WAI Home\"><img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\"></a>", + "target": [ + "a[href$=\"WAI\\/\"]" + ], + "xpath": [ + "/p[@id='logos']/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"../Overview.html\">Overview</a>", + "target": [ + "a[href$=\"Overview\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a>", + "target": [ + ".inaccessible > .report[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a>", + "target": [ + ".page[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a>", + "target": [ + ".accessible > .report[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>", + "target": [ + ".annotoggle" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"news.html\">News</a>", + "target": [ + "li:nth-child(3) > a[href$=\"news\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[3]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"tickets.html\">Tickets</a>", + "target": [ + "li:nth-child(4) > a[href$=\"tickets\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[4]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"survey.html\">Survey</a>", + "target": [ + "li:nth-child(5) > a[href$=\"survey\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[5]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"template.html\">Template</a>", + "target": [ + "a[href$=\"template\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[6]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"home.html\">", + "target": [ + "td[width=\"\\34 43px\"][background=\"\\.\\/img\\/top_logo_next\\.gif\"][valign=\"MIDDLE\"] > div > a[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>", + "target": [ + ".newsheadline:nth-child(1) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>", + "target": [ + ".newsheadline:nth-child(2) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[2]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>", + "target": [ + ".newsheadline:nth-child(3) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[3]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "target": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "target": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(5)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "target": [ + "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "target": [ + "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "target": [ + "font[size=\"\\31 \"] > a[rel=\"Copyright\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/\"><acronym title=\"World Wide Web Consortium\">W3C</acronym></a>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"w3\\.org\\/\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.csail.mit.edu/\"><acronym title=\"Massachusetts Institute of Technology\">MIT</acronym></a>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"csail\\.mit\\.edu\\/\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[3]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.ercim.org/\"><acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym></a>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"ercim\\.org\\/\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[4]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"keio\\.ac\\.jp\\/\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[5]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"../changelog.html\">changelog</a>", + "target": [ + "a[href$=\"changelog\\.html\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/People/shadi/\">Shadi Abou-Zahra</a>", + "target": [ + "p:nth-child(2) > a:nth-child(4)" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/EO/\">Education and Outreach Working Group (EOWG)</a>", + "target": [ + "a[href$=\"EO\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[3]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/TIES/\"><acronym title=\"Web Accessibility Initiative: Training, Implementation, Education, Support\">WAI-TIES</acronym></a>", + "target": [ + "a[href$=\"TIES\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[4]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/WAI-AGE/\"><acronym title=\"Web Accessibility Initiative: Ageing Education and Harmonisation\">WAI-AGE</acronym></a>", + "target": [ + "a[href$=\"WAI-AGE\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[5]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"../acks.html\">Acknowledgements</a>", + "target": [ + "a[href$=\"acks\\.html\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[6]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/sitemap.html\" shape=\"rect\">WAI Site Map</a>", + "target": [ + "p:nth-child(3) > a[shape=\"rect\"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/sitehelp.html\" shape=\"rect\">Help with WAI Website</a>", + "target": [ + "a[shape=\"rect\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/search.php\" shape=\"rect\">Search</a>", + "target": [ + "a[shape=\"rect\"]:nth-child(3)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[3]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/contacts\" shape=\"rect\">Contacting WAI</a>", + "target": [ + "a[href$=\"contacts\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[4]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a>", + "target": [ + "a[href=\"mailto\\:wai-eo-editors\\@w3\\.org\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/strong/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"mailto:wai@w3.org\" shape=\"rect\">wai@w3.org</a>", + "target": [ + "a[href$=\"mailto\\:wai\\@w3\\.org\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[5]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "target": [ + "p > a[rel=\"Copyright\"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/\"><acronym title=\"World Wide Web Consortium\">W3C</acronym></a>", + "target": [ + ".copyright > p > a[href$=\"w3\\.org\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.csail.mit.edu/\"><acronym title=\"Massachusetts Institute of Technology\">MIT</acronym></a>", + "target": [ + "p > a[href$=\"csail\\.mit\\.edu\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[3]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.ercim.org/\"><acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym></a>", + "target": [ + "p > a[href$=\"ercim\\.org\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[4]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "target": [ + "p > a[href$=\"keio\\.ac\\.jp\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[5]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer\">liability</a>", + "target": [ + ".copyright > p > a:nth-child(7)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[6]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks\">trademark</a>", + "target": [ + ".copyright > p > a:nth-child(8)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[7]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-documents\">document use</a>", + "target": [ + "a[rel=\"Copyright\"]:nth-child(9)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[8]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-software\">software licensing</a>", + "target": [ + "a[rel=\"Copyright\"]:nth-child(10)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[9]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Public\">public</a>", + "target": [ + "a:nth-child(11)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[10]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Members\">Member</a>", + "target": [ + "a:nth-child(12)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[11]" + ] + } + ] + }, + { + "id": "list", + "impact": null, + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ], + "description": "Ensures that lists are structured correctly", + "help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/list?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "only-listitems", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List element only has direct children that are allowed inside <li> elements" + } + ], + "impact": null, + "html": "<ul>", + "target": [ + "#mnav > ul" + ], + "xpath": [ + "/div[@id='mnav']/ul" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "only-listitems", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List element only has direct children that are allowed inside <li> elements" + } + ], + "impact": null, + "html": "<ul>", + "target": [ + ".subnav > ul" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul" + ] + } + ] + }, + { + "id": "listitem", + "impact": null, + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ], + "description": "Ensures <li> elements are used semantically", + "help": "<li> elements must be contained in a <ul> or <ol>", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/listitem?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li class=\"first\"><a href=\"../Overview.html\">Overview</a></li>", + "target": [ + ".first:nth-child(1)" + ], + "xpath": [ + "/div[@id='mnav']/ul/li" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li class=\"current first\">", + "target": [ + ".current.first" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li class=\"inaccessible\"><strong>Inaccessible:</strong><a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a><a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a></li>", + "target": [ + "ul > .inaccessible" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li class=\"accessible\"><strong>Accessible:</strong><a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a><a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a></li>", + "target": [ + ".accessible" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li><a href=\"news.html\">News</a></li>", + "target": [ + "li:nth-child(3)" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[3]" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li><a href=\"tickets.html\">Tickets</a></li>", + "target": [ + "li:nth-child(4)" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[4]" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li><a href=\"survey.html\">Survey</a></li>", + "target": [ + "li:nth-child(5)" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[5]" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li><a href=\"template.html\">Template</a></li>", + "target": [ + "li:nth-child(6)" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[6]" + ] + } + ] + }, + { + "id": "page-has-heading-one", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensure that the page, or at least one of its frames contains a level-one heading", + "help": "Page must contain a level-one heading", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/page-has-heading-one?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [ + { + "id": "page-has-heading-one", + "data": null, + "relatedNodes": [ + { + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "target": [ + "h1" + ], + "xpath": [ + "/div[@id='meta-header']/h1" + ] + } + ], + "impact": "moderate", + "message": "Page has at least one level-one heading" + } + ], + "none": [], + "impact": null, + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + }, + { + "id": "skip-link", + "impact": null, + "tags": [ + "cat.keyboard", + "best-practice" + ], + "description": "Ensure all skip links have a focusable target", + "help": "The skip-link target should exist and be focusable", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/skip-link?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "skip-link", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Skip link target exists" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"#page\">Skip to inaccessible demo page</a>", + "target": [ + "a[href$=\"\\#page\"]" + ], + "xpath": [ + "/p[@id='skipnav']/a" + ] + } + ] + }, + { + "id": "table-duplicate-name", + "impact": null, + "tags": [ + "cat.tables", + "best-practice" + ], + "description": "Ensure that tables do not have the same summary and caption", + "help": "The <caption> element should not contain the same text as the summary attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/table-duplicate-name?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">", + "target": [ + "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[width=\"\\38 00px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[height=\"\\31 44px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "target": [ + "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">", + "target": [ + "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]" + ] + } + ] + }, + { + "id": "td-headers-attr", + "impact": null, + "tags": [ + "cat.tables", + "wcag2a", + "wcag131", + "section508", + "section508.22.g" + ], + "description": "Ensure that each cell in a table using the headers refers to another cell in that table", + "help": "All cells in a table element that use the headers attribute must only refer to other cells of that same table", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/td-headers-attr?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">", + "target": [ + "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[width=\"\\38 00px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[height=\"\\31 44px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "target": [ + "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">", + "target": [ + "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]" + ] + } + ] + } + ], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143" + ], + "description": "Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds", + "help": "Elements must have sufficient color contrast", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/color-contrast?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "contrastRatio": 0, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": "bgImage", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [ + { + "html": "<a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a>", + "target": [ + ".page.current" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/a" + ] + } + ], + "impact": "serious", + "message": "Element's background color could not be determined due to a background image" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a>", + "target": [ + ".page.current" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#333333", + "contrastRatio": 0, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": "bgImage", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [ + { + "html": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>", + "target": [ + ".annotoggle" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/a" + ] + } + ], + "impact": "serious", + "message": "Element's background color could not be determined due to a background image" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>", + "target": [ + ".annotoggle" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "contrastRatio": 0, + "fontSize": "9.8pt (13px)", + "fontWeight": "normal", + "missingData": "bgOverlap", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element's background color could not be determined because it is overlapped by another element" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">", + "target": [ + "#WEATHER > font[color=\"BLACK\"][size=\"\\32 \"]" + ], + "xpath": [ + "/td[@id='WEATHER']/font" + ] + } + ] + } + ], + "inapplicable": [ + { + "id": "accesskeys", + "impact": null, + "tags": [ + "best-practice", + "cat.keyboard" + ], + "description": "Ensures every accesskey attribute value is unique", + "help": "accesskey attribute value must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/accesskeys?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "area-alt", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <area> elements of image maps have alternate text", + "help": "Active <area> elements must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/area-alt?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-allowed-attr", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures ARIA attributes are allowed for an element's role", + "help": "Elements must only use allowed ARIA attributes", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-allowed-attr?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-allowed-role", + "impact": null, + "tags": [ + "cat.aria", + "best-practice" + ], + "description": "Ensures role attribute has an appropriate value for the element", + "help": "ARIA role must be appropriate for the element", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-allowed-role?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-dpub-role-fallback", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag131" + ], + "description": "Ensures unsupported DPUB roles are only used on elements with implicit fallback roles", + "help": "Unsupported DPUB ARIA roles should be used on elements with implicit fallback roles", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-dpub-role-fallback?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-hidden-focus", + "impact": null, + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "wcag131" + ], + "description": "Ensures aria-hidden elements do not contain focusable elements", + "help": "ARIA hidden element must not contain focusable elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-hidden-focus?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-input-field-name", + "impact": null, + "tags": [ + "wcag2a", + "wcag412" + ], + "description": "Ensures every ARIA input field has an accessible name", + "help": "ARIA input fields have an accessible name", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-input-field-name?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-required-attr", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures elements with ARIA roles have all required ARIA attributes", + "help": "Required ARIA attributes must be provided", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-required-attr?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-required-children", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag131" + ], + "description": "Ensures elements with an ARIA role that require child roles contain them", + "help": "Certain ARIA roles must contain particular children", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-required-children?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-required-parent", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag131" + ], + "description": "Ensures elements with an ARIA role that require parent roles are contained by them", + "help": "Certain ARIA roles must be contained by particular parents", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-required-parent?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-roledescription", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensure aria-roledescription is only used on elements with an implicit or explicit role", + "help": "Use aria-roledescription on elements with a semantic role", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-roledescription?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-roles", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures all elements with a role attribute use a valid value", + "help": "ARIA roles used must conform to valid values", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-roles?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-toggle-field-name", + "impact": null, + "tags": [ + "wcag2a", + "wcag412" + ], + "description": "Ensures every ARIA toggle field has an accessible name", + "help": "ARIA toggle fields have an accessible name", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-toggle-field-name?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-valid-attr-value", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures all ARIA attributes have valid values", + "help": "ARIA attributes must conform to valid values", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-valid-attr-value?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-valid-attr", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures attributes that begin with aria- are valid ARIA attributes", + "help": "ARIA attributes must conform to valid names", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-valid-attr?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "autocomplete-valid", + "impact": null, + "tags": [ + "cat.forms", + "wcag21aa", + "wcag135" + ], + "description": "Ensure the autocomplete attribute is correct and suitable for the form field", + "help": "autocomplete attribute must be used correctly", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/autocomplete-valid?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "blink", + "impact": null, + "tags": [ + "cat.time-and-media", + "wcag2a", + "wcag222", + "section508", + "section508.22.j" + ], + "description": "Ensures <blink> elements are not used", + "help": "<blink> elements are deprecated and must not be used", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/blink?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "button-name", + "impact": null, + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "section508", + "section508.22.a" + ], + "description": "Ensures buttons have discernible text", + "help": "Buttons must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/button-name?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "definition-list", + "impact": null, + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ], + "description": "Ensures <dl> elements are structured correctly", + "help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script> or <template> elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/definition-list?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "dlitem", + "impact": null, + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ], + "description": "Ensures <dt> and <dd> elements are contained by a <dl>", + "help": "<dt> and <dd> elements must be contained by a <dl>", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/dlitem?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "duplicate-id-active", + "impact": null, + "tags": [ + "cat.parsing", + "wcag2a", + "wcag411" + ], + "description": "Ensures every id attribute value of active elements is unique", + "help": "IDs of active elements must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id-active?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "duplicate-id-aria", + "impact": null, + "tags": [ + "cat.parsing", + "wcag2a", + "wcag411" + ], + "description": "Ensures every id attribute value used in ARIA and in labels is unique", + "help": "IDs used in ARIA and labels must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id-aria?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "frame-tested", + "impact": null, + "tags": [ + "cat.structure", + "review-item", + "best-practice" + ], + "description": "Ensures <iframe> and <frame> elements contain the axe-core script", + "help": "Frames must be tested with axe-core", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/frame-tested?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "frame-title-unique", + "impact": null, + "tags": [ + "cat.text-alternatives", + "best-practice" + ], + "description": "Ensures <iframe> and <frame> elements contain a unique title attribute", + "help": "Frames must have a unique title attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/frame-title-unique?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "frame-title", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag241", + "wcag412", + "section508", + "section508.22.i" + ], + "description": "Ensures <iframe> and <frame> elements contain a non-empty title attribute", + "help": "Frames must have title attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/frame-title?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "html-lang-valid", + "impact": null, + "tags": [ + "cat.language", + "wcag2a", + "wcag311" + ], + "description": "Ensures the lang attribute of the <html> element has a valid value", + "help": "<html> element must have a valid value for the lang attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/html-lang-valid?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "html-xml-lang-mismatch", + "impact": null, + "tags": [ + "cat.language", + "wcag2a", + "wcag311" + ], + "description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page", + "help": "HTML elements with lang and xml:lang must have the same base language", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/html-xml-lang-mismatch?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "input-button-name", + "impact": null, + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "section508", + "section508.22.a" + ], + "description": "Ensures input buttons have discernible text", + "help": "Input buttons must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/input-button-name?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "input-image-alt", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <input type=\"image\"> elements have alternate text", + "help": "Image buttons must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/input-image-alt?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "landmark-banner-is-top-level", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the banner landmark is at top level", + "help": "Banner landmark must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-banner-is-top-level?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "landmark-complementary-is-top-level", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the complementary landmark or aside is at top level", + "help": "Aside must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-complementary-is-top-level?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "landmark-contentinfo-is-top-level", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the contentinfo landmark is at top level", + "help": "Contentinfo landmark must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-contentinfo-is-top-level?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "landmark-main-is-top-level", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the main landmark is at top level", + "help": "Main landmark must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-main-is-top-level?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "landmark-unique", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "help": "Ensures landmarks are unique", + "description": "Landmarks must have a unique role or role/label/title (i.e. accessible name) combination", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-unique?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "marquee", + "impact": null, + "tags": [ + "cat.parsing", + "wcag2a", + "wcag222" + ], + "description": "Ensures <marquee> elements are not used", + "help": "<marquee> elements are deprecated and must not be used", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/marquee?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "meta-refresh", + "impact": null, + "tags": [ + "cat.time-and-media", + "wcag2a", + "wcag2aaa", + "wcag221", + "wcag224", + "wcag325" + ], + "description": "Ensures <meta http-equiv=\"refresh\"> is not used", + "help": "Timed refresh must not exist", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/meta-refresh?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "meta-viewport-large", + "impact": null, + "tags": [ + "cat.sensory-and-visual-cues", + "best-practice" + ], + "description": "Ensures <meta name=\"viewport\"> can scale a significant amount", + "help": "Users should be able to zoom and scale the text up to 500%", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/meta-viewport-large?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "meta-viewport", + "impact": null, + "tags": [ + "cat.sensory-and-visual-cues", + "wcag2aa", + "wcag144" + ], + "description": "Ensures <meta name=\"viewport\"> does not disable text scaling and zooming", + "help": "Zooming and scaling must not be disabled", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/meta-viewport?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "object-alt", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <object> elements have alternate text", + "help": "<object> elements must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/object-alt?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "role-img-alt", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures [role='img'] elements have alternate text", + "help": "[role='img'] elements have an alternative text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/role-img-alt?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "scope-attr-valid", + "impact": null, + "tags": [ + "cat.tables", + "best-practice" + ], + "description": "Ensures the scope attribute is used correctly on tables", + "help": "scope attribute should be used correctly", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/scope-attr-valid?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "scrollable-region-focusable", + "impact": null, + "tags": [ + "wcag2a", + "wcag211" + ], + "description": "Elements that have scrollable content should be accessible by keyboard", + "help": "Ensure that scrollable region has keyboard access", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/scrollable-region-focusable?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "server-side-image-map", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag211", + "section508", + "section508.22.f" + ], + "description": "Ensures that server-side image maps are not used", + "help": "Server-side image maps must not be used", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/server-side-image-map?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "tabindex", + "impact": null, + "tags": [ + "cat.keyboard", + "best-practice" + ], + "description": "Ensures tabindex attribute values are not greater than 0", + "help": "Elements should not have tabindex greater than zero", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/tabindex?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "th-has-data-cells", + "impact": null, + "tags": [ + "cat.tables", + "wcag2a", + "wcag131", + "section508", + "section508.22.g" + ], + "description": "Ensure that each table header in a data table refers to data cells", + "help": "All th elements and elements with role=columnheader/rowheader must have data cells they describe", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/th-has-data-cells?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "valid-lang", + "impact": null, + "tags": [ + "cat.language", + "wcag2aa", + "wcag312" + ], + "description": "Ensures lang attributes have valid values", + "help": "lang attribute must have a valid value", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/valid-lang?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "video-caption", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag122", + "section508", + "section508.22.a" + ], + "description": "Ensures <video> elements have captions", + "help": "<video> elements must have captions", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/video-caption?application=axe-puppeteer", + "nodes": [] + } + ] +} \ No newline at end of file diff --git a/src/test-resources/w3citylights-axe-v3.4.1.reporter-v2.json b/src/test-resources/w3citylights-axe-v3.4.1.reporter-v2.json new file mode 100644 index 00000000..af658b2d --- /dev/null +++ b/src/test-resources/w3citylights-axe-v3.4.1.reporter-v2.json @@ -0,0 +1,10484 @@ +{ + "testEngine": { + "name": "axe-core", + "version": "3.4.1" + }, + "testRunner": { + "name": "axe" + }, + "testEnvironment": { + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/78.0.3882.0 Safari/537.36", + "windowWidth": 800, + "windowHeight": 600, + "orientationAngle": 0, + "orientationType": "portrait-primary" + }, + "timestamp": "2000-01-02T03:04:05.006Z", + "url": "https://www.w3.org/WAI/demos/bad/before/home.html", + "toolOptions": { + "xpath": true, + "reporter": "v2" + }, + "violations": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143" + ], + "description": "Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds", + "help": "Elements must have sufficient color contrast", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/color-contrast?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#41545d", + "bgColor": "#a9b8bf", + "contrastRatio": 3.88, + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [ + { + "html": "<td width=\"150px\" bgcolor=\"#A9B8BF\"><font color=\"#41545D\" face=\"Verdana\" size=\"2\"> <b>Free Penguins</b></font></td>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(2) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[2]/td" + ] + } + ], + "impact": "serious", + "message": "Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<b>Free Penguins</b>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(2) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[2]/td/font/b" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#41545d", + "bgColor": "#a9b8bf", + "contrastRatio": 3.88, + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [ + { + "html": "<td width=\"150px\" bgcolor=\"#A9B8BF\"><font color=\"#41545D\" face=\"Verdana\" size=\"2\"> <b>More City Parks</b></font></td>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(7) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[7]/td" + ] + } + ], + "impact": "serious", + "message": "Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<b>More City Parks</b>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(7) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[7]/td/font/b" + ] + } + ] + }, + { + "id": "html-has-lang", + "impact": "serious", + "tags": [ + "cat.language", + "wcag2a", + "wcag311" + ], + "description": "Ensures every HTML document has a lang attribute", + "help": "<html> element must have a lang attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/html-has-lang?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "has-lang", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The <html> element does not have a lang attribute" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + }, + { + "id": "image-alt", + "impact": "critical", + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <img> elements have alternate text or a role of none or presentation", + "help": "Images must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/image-alt?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_left_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_top.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_right_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[3]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_left.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_left\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_end\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[2]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">", + "target": [ + "img[src$=\"top_weather\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[3]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_start\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[4]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">", + "target": [ + "img[src$=\"mark\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[colspan=\"\\35 \"][background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\37 80px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[4]/td/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 55px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">", + "target": [ + "img[width=\"\\31 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">", + "target": [ + "img[name=\"nav_home\"]" + ], + "xpath": [ + "/td[@id='home']/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(3) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">", + "target": [ + "img[src$=\"nav_news\\.gif\"]" + ], + "xpath": [ + "/td[@id='news']/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(5) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[5]/td/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">", + "target": [ + "img[name=\"nav_facts\"]" + ], + "xpath": [ + "/td[@id='tickets']/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(7) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[7]/td/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">", + "target": [ + "img[src$=\"nav_survey\\.gif\"]" + ], + "xpath": [ + "/td[@id='survey']/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(9) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[9]/td/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(2) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[2]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(1) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(2) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[2]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(3) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[3]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(4) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[4]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">", + "target": [ + "img[src$=\"marker2_t\\.gif\"][height=\"\\33 0px\"][width=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 51px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td[2]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">", + "target": [ + "img[src$=\"teaser_right1\\.jpg\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[3]/td/div/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\31 50px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[6]/td/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">", + "target": [ + "img[src$=\"teaser_right2\\.jpg\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[8]/td/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_right.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_right\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[3]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_left\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_bottom.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[2]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element does not have an alt attribute" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_right\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[3]/img" + ] + } + ] + }, + { + "id": "label", + "impact": "critical", + "tags": [ + "cat.forms", + "wcag2a", + "wcag332", + "wcag131", + "section508", + "section508.22.n" + ], + "description": "Ensures every form element has a label", + "help": "Form elements must have labels", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/label?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "implicit-label", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Form element does not have an implicit (wrapped) <label>" + }, + { + "id": "explicit-label", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Form element does not have an explicit <label>" + }, + { + "id": "non-empty-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element has no title attribute or the title attribute is empty" + } + ], + "all": [], + "none": [], + "impact": "critical", + "html": "<select onchange=\"location.href = this.value;\">", + "target": [ + "select" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ] + } + ] + }, + { + "id": "landmark-one-main", + "impact": "moderate", + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the document has only one main landmark and each iframe in the page has at most one main landmark", + "help": "Document must have one main landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-one-main?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [ + { + "id": "page-has-main", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Document does not have a main landmark" + } + ], + "none": [], + "impact": "moderate", + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + }, + { + "id": "link-name", + "impact": "serious", + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "wcag244", + "section508", + "section508.22.a" + ], + "description": "Ensures links have discernible text", + "help": "Links must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/link-name?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"javascript:location.href='home.html';\" onfocus=\"blur();\"><img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\"></a>", + "target": [ + "#home > a[onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/td[@id='home']/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"javascript:location.href='news.html';\" onfocus=\"blur();\"><img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\"></a>", + "target": [ + "#news > a[onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/td[@id='news']/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"javascript:location.href='tickets.html';\" onfocus=\"blur();\"><img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\"></a>", + "target": [ + "#tickets > a[onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/td[@id='tickets']/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"javascript:location.href='survey.html';\" onfocus=\"blur();\"><img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\"></a>", + "target": [ + "#survey > a[onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/td[@id='survey']/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>", + "target": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div/span/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>", + "target": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not have text that is visible to screen readers" + }, + { + "id": "aria-label", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-label attribute does not exist or is empty" + }, + { + "id": "aria-labelledby", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty" + }, + { + "id": "role-presentation", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"presentation\"" + }, + { + "id": "role-none", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element's default semantics were not overridden with role=\"none\"" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is in tab order and does not have accessible text" + } + ], + "impact": "serious", + "html": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>", + "target": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span/a" + ] + } + ] + }, + { + "id": "region", + "impact": "moderate", + "tags": [ + "cat.keyboard", + "best-practice" + ], + "description": "Ensures all page content is contained by landmarks", + "help": "All page content must be contained by landmarks", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/region?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "region", + "data": null, + "relatedNodes": [ + { + "html": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">", + "target": [ + "img[alt=\"W3C\\ logo\"]" + ], + "xpath": [ + "/p[@id='logos']/a/img" + ] + }, + { + "html": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">", + "target": [ + "img[src$=\"wai\\.png\"]" + ], + "xpath": [ + "/p[@id='logos']/a[2]/img" + ] + }, + { + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "target": [ + "h1" + ], + "xpath": [ + "/div[@id='meta-header']/h1" + ] + }, + { + "html": "<p class=\"subline\">Improving a Web site using Web Content Accessibility Guidelines (WCAG) 2.0</p>", + "target": [ + ".subline" + ], + "xpath": [ + "/div[@id='meta-header']/p[3]" + ] + }, + { + "html": "<a href=\"../Overview.html\">Overview</a>", + "target": [ + "a[href$=\"Overview\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li/a" + ] + }, + { + "html": "<li class=\"current first\">", + "target": [ + ".current.first" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]" + ] + }, + { + "html": "<a href=\"news.html\">News</a>", + "target": [ + "li:nth-child(3) > a[href$=\"news\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[3]/a" + ] + }, + { + "html": "<a href=\"tickets.html\">Tickets</a>", + "target": [ + "li:nth-child(4) > a[href$=\"tickets\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[4]/a" + ] + }, + { + "html": "<a href=\"survey.html\">Survey</a>", + "target": [ + "li:nth-child(5) > a[href$=\"survey\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[5]/a" + ] + }, + { + "html": "<a href=\"template.html\">Template</a>", + "target": [ + "a[href$=\"template\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[6]/a" + ] + }, + { + "html": "<p class=\"skip\" id=\"startcontent\">Demo starts here</p>", + "target": [ + "#startcontent" + ], + "xpath": [ + "/p[@id='startcontent']" + ] + }, + { + "html": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_left_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + { + "html": "<img src=\"./img/border_top.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + { + "html": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_right_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[3]/img" + ] + }, + { + "html": "<img src=\"./img/border_left.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_left\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td/img" + ] + }, + { + "html": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">", + "target": [ + "img[src$=\"top_logo\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a/img" + ] + }, + { + "html": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_end\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[2]/img" + ] + }, + { + "html": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">", + "target": [ + "img[src$=\"top_weather\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[3]/img" + ] + }, + { + "html": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_start\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[4]/img" + ] + }, + { + "html": "<select onchange=\"location.href = this.value;\">", + "target": [ + "select" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ] + }, + { + "html": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">", + "target": [ + "img[src$=\"mark\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/img" + ] + }, + { + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">  <b>Traffic:</b> Construction work on Main Road</font>", + "target": [ + "td[width=\"\\33 80px\"] > font[color=\"BLACK\"][size=\"\\32 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td/font" + ] + }, + { + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">", + "target": [ + "#WEATHER > font[color=\"BLACK\"][size=\"\\32 \"]" + ], + "xpath": [ + "/td[@id='WEATHER']/font" + ] + }, + { + "html": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[colspan=\"\\35 \"][background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\37 80px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[4]/td/img" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 55px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + { + "html": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">", + "target": [ + "img[width=\"\\31 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + { + "html": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">", + "target": [ + "img[name=\"nav_home\"]" + ], + "xpath": [ + "/td[@id='home']/a/img" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(3) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + { + "html": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">", + "target": [ + "img[src$=\"nav_news\\.gif\"]" + ], + "xpath": [ + "/td[@id='news']/a/img" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(5) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[5]/td/img" + ] + }, + { + "html": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">", + "target": [ + "img[name=\"nav_facts\"]" + ], + "xpath": [ + "/td[@id='tickets']/a/img" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(7) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[7]/td/img" + ] + }, + { + "html": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">", + "target": [ + "img[src$=\"nav_survey\\.gif\"]" + ], + "xpath": [ + "/td[@id='survey']/a/img" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(9) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[9]/td/img" + ] + }, + { + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(2) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[2]/img" + ] + }, + { + "html": "<p class=\"headline\">Welcome to CityLights</p>", + "target": [ + ".headline" + ], + "xpath": [ + "/td[@id='main']/p" + ] + }, + { + "html": "<p>Citylights is the new portal for visitors and residents. Find out what's on, book tickets, and get the latest news.</p>", + "target": [ + "#main > p:nth-child(2)" + ], + "xpath": [ + "/td[@id='main']/p[2]" + ] + }, + { + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(1) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div/img" + ] + }, + { + "html": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>", + "target": [ + ".newsheadline:nth-child(1) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div/a" + ] + }, + { + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(2) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[2]/img" + ] + }, + { + "html": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>", + "target": [ + ".newsheadline:nth-child(2) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[2]/a" + ] + }, + { + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(3) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[3]/img" + ] + }, + { + "html": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>", + "target": [ + ".newsheadline:nth-child(3) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[3]/a" + ] + }, + { + "html": "<span>", + "target": [ + ".story:nth-child(1) > span" + ], + "xpath": [ + "/div[@id='content']/div[4]/div/span" + ] + }, + { + "html": "<span>", + "target": [ + ".story:nth-child(2) > span" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span" + ] + }, + { + "html": "<span>", + "target": [ + ".story:nth-child(3) > span" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span" + ] + }, + { + "html": "<p class=\"subheadline\">Elsewhere on the Web</p>", + "target": [ + ".subheadline" + ], + "xpath": [ + "/div[@id='content']/p" + ] + }, + { + "html": "<p>", + "target": [ + "p:nth-child(7)" + ], + "xpath": [ + "/div[@id='content']/p[2]" + ] + }, + { + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(4) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[4]/img" + ] + }, + { + "html": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">", + "target": [ + "img[src$=\"marker2_t\\.gif\"][height=\"\\33 0px\"][width=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td/img" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 51px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td[2]/img" + ] + }, + { + "html": "<b>Free Penguins</b>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(2) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[2]/td/font/b" + ] + }, + { + "html": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">", + "target": [ + "img[src$=\"teaser_right1\\.jpg\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[3]/td/div/img" + ] + }, + { + "html": "<div>\"Free penguins\" slogan at zoo benefit concert causes confusion among city rockers. Adjective or verb?<br><a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></div>", + "target": [ + "table[cellpadding=\"\\33 px\"] > tbody > tr > td > div" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div" + ] + }, + { + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\31 50px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[6]/td/img" + ] + }, + { + "html": "<b>More City Parks</b>", + "target": [ + "tr[height=\"\\32 5px\"]:nth-child(7) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[7]/td/font/b" + ] + }, + { + "html": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">", + "target": [ + "img[src$=\"teaser_right2\\.jpg\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[8]/td/img" + ] + }, + { + "html": "<td>More parks and more green throughout the city at the price of already rare car parking spaces, how will this affect you?<br><a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></td>", + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"] > tbody > tr > td" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td" + ] + }, + { + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"1\">", + "target": [ + "font[size=\"\\31 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font" + ] + }, + { + "html": "<img src=\"./img/border_right.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_right\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[3]/img" + ] + }, + { + "html": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_left\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + { + "html": "<img src=\"./img/border_bottom.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[2]/img" + ] + }, + { + "html": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_right\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[3]/img" + ] + }, + { + "html": "<p>", + "target": [ + "#meta-footer > p:nth-child(2)" + ], + "xpath": [ + "/div[@id='meta-footer']/p" + ] + }, + { + "html": "<p>", + "target": [ + "p:nth-child(3)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]" + ] + }, + { + "html": "<p>", + "target": [ + ".copyright > p" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p" + ] + } + ], + "impact": "moderate", + "message": "Some page content is not contained by landmarks" + } + ], + "all": [], + "none": [], + "impact": "moderate", + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + } + ], + "passes": [ + { + "id": "aria-hidden-body", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures aria-hidden='true' is not present on the document body.", + "help": "aria-hidden='true' must not be present on the document body", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-hidden-body?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "aria-hidden-body", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "No aria-hidden attribute is present on document body" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<body text=\"#000000\" bgcolor=\"#D7D7CD\" leftmargin=\"0px\" topmargin=\"0px\" marginwidth=\"0px\" marginheight=\"0px\" link=\"#226C8E\" vlink=\"#226C8E\" alink=\"#226C8E\">", + "target": [ + "body" + ], + "xpath": [ + "/html/body" + ] + } + ] + }, + { + "id": "avoid-inline-spacing", + "impact": null, + "tags": [ + "wcag21aa", + "wcag1412" + ], + "description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets", + "help": "Inline text spacing must be adjustable with custom stylesheets", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/avoid-inline-spacing?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<div class=\"image\" style=\"background: url(./img/panda-sm.jpg) center center no-repeat #cccccc\" title=\"image\"><div class=\"null\"></div></div>", + "target": [ + ".image[title=\"image\"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='content']/div[3]/div" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<div class=\"image\" style=\"background: url(./img/oldenburgstudentviolin34.jpg) center center no-repeat #cccccc\" title=\"image\"><div class=\"null\"></div></div>", + "target": [ + ".image[title=\"image\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='content']/div[3]/div[2]" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<div class=\"image\" style=\"background: url(./img/BrainInJar.jpg) center center no-repeat #cccccc;\" title=\"image\"><div class=\"null\"></div></div>", + "target": [ + ".image[title=\"image\"]:nth-child(3)" + ], + "xpath": [ + "/div[@id='content']/div[3]/div[3]" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div/span/a/img" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span/a/img" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span/a/img" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "target": [ + "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div/a" + ] + }, + { + "any": [], + "all": [ + { + "id": "avoid-inline-spacing", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "No inline styles with '!important' that affect text spacing has been specified" + } + ], + "none": [], + "impact": null, + "html": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "target": [ + "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td/a" + ] + } + ] + }, + { + "id": "bypass", + "impact": null, + "tags": [ + "cat.keyboard", + "wcag2a", + "wcag241", + "section508", + "section508.22.o" + ], + "description": "Ensures each page has at least one mechanism for a user to bypass navigation and jump straight to the content", + "help": "Page must have means to bypass repeated blocks", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/bypass?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "internal-link-present", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Valid skip link found" + }, + { + "id": "header-present", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Page has a header" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + }, + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143" + ], + "description": "Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds", + "help": "Elements must have sufficient color contrast", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/color-contrast?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "21.6pt (28.8px)", + "fontWeight": "bold", + "expectedContrastRatio": "3:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "target": [ + "h1" + ], + "xpath": [ + "/div[@id='meta-header']/h1" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "13.6pt (18.144px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<span class=\"subhead\">Inaccessible Home Page</span>", + "target": [ + ".subhead" + ], + "xpath": [ + "/div[@id='meta-header']/h1/span" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p class=\"subline\">Improving a Web site using Web Content Accessibility Guidelines (WCAG) 2.0</p>", + "target": [ + ".subline" + ], + "xpath": [ + "/div[@id='meta-header']/p[3]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"../Overview.html\">Overview</a>", + "target": [ + "a[href$=\"Overview\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#d7d7cd", + "contrastRatio": 10.97, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 10.97" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li class=\"current first\">", + "target": [ + ".current.first" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#cc0000", + "contrastRatio": 5.88, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.88" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<strong>Inaccessible:</strong>", + "target": [ + ".inaccessible > strong" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/strong" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#cc0000", + "contrastRatio": 5.88, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.88" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a>", + "target": [ + ".inaccessible > .report[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/a[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#447700", + "contrastRatio": 5.4, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.4" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<strong>Accessible:</strong>", + "target": [ + ".accessible > strong" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/strong" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#447700", + "contrastRatio": 5.4, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.4" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a>", + "target": [ + ".page[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "bgColor": "#447700", + "contrastRatio": 5.4, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.4" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a>", + "target": [ + ".accessible > .report[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"news.html\">News</a>", + "target": [ + "li:nth-child(3) > a[href$=\"news\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[3]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"tickets.html\">Tickets</a>", + "target": [ + "li:nth-child(4) > a[href$=\"tickets\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[4]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"survey.html\">Survey</a>", + "target": [ + "li:nth-child(5) > a[href$=\"survey\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[5]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#222222", + "bgColor": "#eeeeee", + "contrastRatio": 13.71, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 13.71" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"template.html\">Template</a>", + "target": [ + "a[href$=\"template\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[6]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.0pt (13.3333px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<select onchange=\"location.href = this.value;\">", + "target": [ + "select" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "9.8pt (13px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">  <b>Traffic:</b> Construction work on Main Road</font>", + "target": [ + "td[width=\"\\33 80px\"] > font[color=\"BLACK\"][size=\"\\32 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td/font" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<b>Traffic:</b>", + "target": [ + "td[width=\"\\33 80px\"] > font[color=\"BLACK\"][size=\"\\32 \"] > b" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td/font/b" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "9.8pt (13px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<b>Today:</b>", + "target": [ + "#WEATHER > font[color=\"BLACK\"][size=\"\\32 \"] > b" + ], + "xpath": [ + "/td[@id='WEATHER']/font/b" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#41545d", + "bgColor": "#ffffff", + "contrastRatio": 7.92, + "fontSize": "18.0pt (24px)", + "fontWeight": "normal", + "expectedContrastRatio": "3:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 7.92" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p class=\"headline\">Welcome to CityLights</p>", + "target": [ + ".headline" + ], + "xpath": [ + "/td[@id='main']/p" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p>Citylights is the new portal for visitors and residents. Find out what's on, book tickets, and get the latest news.</p>", + "target": [ + "#main > p:nth-child(2)" + ], + "xpath": [ + "/td[@id='main']/p[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>", + "target": [ + ".newsheadline:nth-child(1) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>", + "target": [ + ".newsheadline:nth-child(2) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[2]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>", + "target": [ + ".newsheadline:nth-child(3) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[3]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<span>", + "target": [ + ".story:nth-child(1) > span" + ], + "xpath": [ + "/div[@id='content']/div[4]/div/span" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<span>", + "target": [ + ".story:nth-child(2) > span" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<span>", + "target": [ + ".story:nth-child(3) > span" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#41545d", + "bgColor": "#ffffff", + "contrastRatio": 7.92, + "fontSize": "15.0pt (20px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 7.92" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p class=\"subheadline\">Elsewhere on the Web</p>", + "target": [ + ".subheadline" + ], + "xpath": [ + "/div[@id='content']/p" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p>", + "target": [ + "p:nth-child(7)" + ], + "xpath": [ + "/div[@id='content']/p[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<span>", + "target": [ + "p:nth-child(7) > span" + ], + "xpath": [ + "/div[@id='content']/p[2]/span" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "target": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "target": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(5)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/a[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "11.3pt (15px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<b>Artichoke advice telephone hotline: </b>", + "target": [ + "p:nth-child(7) > b" + ], + "xpath": [ + "/div[@id='content']/p[2]/b" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<div>\"Free penguins\" slogan at zoo benefit concert causes confusion among city rockers. Adjective or verb?<br><a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></div>", + "target": [ + "table[cellpadding=\"\\33 px\"] > tbody > tr > td > div" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "target": [ + "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td>More parks and more green throughout the city at the price of already rare car parking spaces, how will this affect you?<br><a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></td>", + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"] > tbody > tr > td" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ffffff", + "contrastRatio": 5.82, + "fontSize": "12.0pt (16px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 5.82" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "target": [ + "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"1\">", + "target": [ + "font[size=\"\\31 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "target": [ + "font[size=\"\\31 \"] > a[rel=\"Copyright\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"World Wide Web Consortium\">W3C</acronym>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"w3\\.org\\/\"] > acronym[title=\"World\\ Wide\\ Web\\ Consortium\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[2]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ededed", + "contrastRatio": 17.93, + "fontSize": "6.2pt (8.33333px)", + "fontWeight": "normal", + "missingData": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 17.93" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<sup>®</sup>", + "target": [ + "font[size=\"\\31 \"] > sup" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/sup" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"Massachusetts Institute of Technology\">MIT</acronym>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"csail\\.mit\\.edu\\/\"] > acronym" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[3]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"ercim\\.org\\/\"] > acronym" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[4]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#226c8e", + "bgColor": "#ededed", + "contrastRatio": 4.97, + "fontSize": "7.5pt (10px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 4.97" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"keio\\.ac\\.jp\\/\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[5]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p>", + "target": [ + "#meta-footer > p:nth-child(2)" + ], + "xpath": [ + "/div[@id='meta-footer']/p" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<strong>Status:</strong>", + "target": [ + "p:nth-child(2) > strong" + ], + "xpath": [ + "/div[@id='meta-footer']/p/strong" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"../changelog.html\">changelog</a>", + "target": [ + "a[href$=\"changelog\\.html\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/People/shadi/\">Shadi Abou-Zahra</a>", + "target": [ + "p:nth-child(2) > a:nth-child(4)" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/EO/\">Education and Outreach Working Group (EOWG)</a>", + "target": [ + "a[href$=\"EO\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[3]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"Web Accessibility Initiative: Training, Implementation, Education, Support\">WAI-TIES</acronym>", + "target": [ + "a[href$=\"TIES\\/\"] > acronym" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[4]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"Web Accessibility Initiative: Ageing Education and Harmonisation\">WAI-AGE</acronym>", + "target": [ + "a[href$=\"WAI-AGE\\/\"] > acronym" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[5]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"Information Society Technologies\">IST</acronym>", + "target": [ + "p:nth-child(2) > acronym" + ], + "xpath": [ + "/div[@id='meta-footer']/p/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"../acks.html\">Acknowledgements</a>", + "target": [ + "a[href$=\"acks\\.html\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[6]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p>", + "target": [ + "p:nth-child(3)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/sitemap.html\" shape=\"rect\">WAI Site Map</a>", + "target": [ + "p:nth-child(3) > a[shape=\"rect\"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/sitehelp.html\" shape=\"rect\">Help with WAI Website</a>", + "target": [ + "a[shape=\"rect\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[2]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/search.php\" shape=\"rect\">Search</a>", + "target": [ + "a[shape=\"rect\"]:nth-child(3)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[3]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/contacts\" shape=\"rect\">Contacting WAI</a>", + "target": [ + "a[href$=\"contacts\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[4]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<strong>Feedback welcome to <a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a></strong>", + "target": [ + "p:nth-child(3) > strong" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/strong" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a>", + "target": [ + "a[href=\"mailto\\:wai-eo-editors\\@w3\\.org\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/strong/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"mailto:wai@w3.org\" shape=\"rect\">wai@w3.org</a>", + "target": [ + "a[href$=\"mailto\\:wai\\@w3\\.org\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[5]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p>", + "target": [ + ".copyright > p" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "target": [ + "p > a[rel=\"Copyright\"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"World Wide Web Consortium\">W3C</acronym>", + "target": [ + "p > a[href$=\"w3\\.org\\/\"] > acronym[title=\"World\\ Wide\\ Web\\ Consortium\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[2]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "bgColor": "#ffffff", + "contrastRatio": 21, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "missingData": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 21" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<sup>®</sup>", + "target": [ + "p > sup" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/sup" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"Massachusetts Institute of Technology\">MIT</acronym>", + "target": [ + "p > a[href$=\"csail\\.mit\\.edu\\/\"] > acronym" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[3]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym>", + "target": [ + "p > a[href$=\"ercim\\.org\\/\"] > acronym" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[4]/acronym" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "target": [ + "p > a[href$=\"keio\\.ac\\.jp\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[5]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer\">liability</a>", + "target": [ + ".copyright > p > a:nth-child(7)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[6]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks\">trademark</a>", + "target": [ + ".copyright > p > a:nth-child(8)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[7]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-documents\">document use</a>", + "target": [ + "a[rel=\"Copyright\"]:nth-child(9)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[8]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-software\">software licensing</a>", + "target": [ + "a[rel=\"Copyright\"]:nth-child(10)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[9]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Public\">public</a>", + "target": [ + "a:nth-child(11)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[10]" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#0000ff", + "bgColor": "#ffffff", + "contrastRatio": 8.59, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element has sufficient color contrast of 8.59" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Members\">Member</a>", + "target": [ + "a:nth-child(12)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[11]" + ] + } + ] + }, + { + "id": "document-title", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag242" + ], + "description": "Ensures each HTML document contains a non-empty <title> element", + "help": "Documents must have <title> element to aid in navigation", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/document-title?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "doc-has-title", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Document has a non-empty <title> element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + }, + { + "id": "duplicate-id", + "impact": null, + "tags": [ + "cat.parsing", + "wcag2a", + "wcag411" + ], + "description": "Ensures every id attribute value is unique", + "help": "id attribute value must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "duplicate-id", + "data": "meta-header", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<div id=\"meta-header\">", + "target": [ + "#meta-header" + ], + "xpath": [ + "/div[@id='meta-header']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "skipnav", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p id=\"skipnav\"><a href=\"#page\">Skip to inaccessible demo page</a></p>", + "target": [ + "#skipnav" + ], + "xpath": [ + "/p[@id='skipnav']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "logos", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p id=\"logos\"><a href=\"http://www.w3.org/\" title=\"W3C Home\"><img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\"></a><a href=\"http://www.w3.org/WAI/\" title=\"WAI Home\"><img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\"></a></p>", + "target": [ + "#logos" + ], + "xpath": [ + "/p[@id='logos']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "mnav", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<div id=\"mnav\" class=\"inaccessible\">", + "target": [ + "#mnav" + ], + "xpath": [ + "/div[@id='mnav']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "page", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<div id=\"page\">", + "target": [ + "#page" + ], + "xpath": [ + "/div[@id='page']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "startcontent", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<p class=\"skip\" id=\"startcontent\">Demo starts here</p>", + "target": [ + "#startcontent" + ], + "xpath": [ + "/p[@id='startcontent']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "WEATHER", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td bgcolor=\"#EDEDED\" align=\"RIGHT\" id=\"WEATHER\">", + "target": [ + "#WEATHER" + ], + "xpath": [ + "/td[@id='WEATHER']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "home", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"home\" onmouseover=\"switchImage('nav_home', './img/nav_home2.gif'); ChangeColor('home','#FFF')\" onmouseout=\"switchImage('nav_home', './img/nav_home.gif'); ChangeColor('home','#EDEDED')\">", + "target": [ + "#home" + ], + "xpath": [ + "/td[@id='home']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "news", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"news\" onmouseover=\"switchImage('nav_news', './img/nav_news2.gif'); ChangeColor('news','#FFF')\" onmouseout=\"switchImage('nav_news', './img/nav_news.gif'); ChangeColor('news','#EDEDED')\">", + "target": [ + "#news" + ], + "xpath": [ + "/td[@id='news']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "tickets", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"tickets\" onmouseover=\"switchImage('nav_facts', './img/nav_facts2.gif'); ChangeColor('tickets','#FFF')\" onmouseout=\"switchImage('nav_facts', './img/nav_facts.gif'); ChangeColor('tickets','#EDEDED')\">", + "target": [ + "#tickets" + ], + "xpath": [ + "/td[@id='tickets']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "survey", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"survey\" onmouseover=\"switchImage('nav_survey', './img/nav_survey2.gif'); ChangeColor('survey','#FFF')\" onmouseout=\"switchImage('nav_survey', './img/nav_survey.gif'); ChangeColor('survey','#EDEDED')\">", + "target": [ + "#survey" + ], + "xpath": [ + "/td[@id='survey']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "main", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<td width=\"434px\" height=\"600px\" valign=\"TOP\" id=\"main\">", + "target": [ + "#main" + ], + "xpath": [ + "/td[@id='main']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "content", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<div id=\"content\">", + "target": [ + "#content" + ], + "xpath": [ + "/div[@id='content']" + ] + }, + { + "any": [ + { + "id": "duplicate-id", + "data": "meta-footer", + "relatedNodes": [], + "impact": "minor", + "message": "Document has no static elements that share the same id attribute" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<div id=\"meta-footer\" class=\"meta\">", + "target": [ + "#meta-footer" + ], + "xpath": [ + "/div[@id='meta-footer']" + ] + } + ] + }, + { + "id": "empty-heading", + "impact": null, + "tags": [ + "cat.name-role-value", + "best-practice" + ], + "description": "Ensures headings have discernible text", + "help": "Headings must not be empty", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/empty-heading?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "target": [ + "h1" + ], + "xpath": [ + "/div[@id='meta-header']/h1" + ] + } + ] + }, + { + "id": "form-field-multiple-labels", + "impact": null, + "tags": [ + "cat.forms", + "wcag2a", + "wcag332" + ], + "description": "Ensures form field does not have multiple label elements", + "help": "Form field should not have multiple label elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/form-field-multiple-labels?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "multiple-label", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Form field does not have multiple label elements" + } + ], + "impact": null, + "html": "<select onchange=\"location.href = this.value;\">", + "target": [ + "select" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ] + } + ] + }, + { + "id": "heading-order", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the order of headings is semantically correct", + "help": "Heading levels should only increase by one", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/heading-order?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "heading-order", + "data": 1, + "relatedNodes": [], + "impact": "moderate", + "message": "Heading order valid" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "target": [ + "h1" + ], + "xpath": [ + "/div[@id='meta-header']/h1" + ] + } + ] + }, + { + "id": "image-alt", + "impact": "critical", + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <img> elements have alternate text or a role of none or presentation", + "help": "Images must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/image-alt?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">", + "target": [ + "img[alt=\"W3C\\ logo\"]" + ], + "xpath": [ + "/p[@id='logos']/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">", + "target": [ + "img[src$=\"wai\\.png\"]" + ], + "xpath": [ + "/p[@id='logos']/a[2]/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">", + "target": [ + "img[src$=\"top_logo\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div/span/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span/a/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "target": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/img" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "target": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(4)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/img[2]" + ] + }, + { + "any": [ + { + "id": "has-alt", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has an alt attribute" + } + ], + "all": [], + "none": [ + { + "id": "alt-space-value", + "data": null, + "relatedNodes": [], + "impact": "critical", + "message": "Element has a valid alt attribute value" + } + ], + "impact": null, + "html": "<img src=\"./img/telefon_white_bg.gif\" alt=\"1234 56789\" border=\"0\" align=\"absmiddle\">", + "target": [ + "img[src$=\"telefon_white_bg\\.gif\"]" + ], + "xpath": [ + "/div[@id='content']/p[2]/img" + ] + } + ] + }, + { + "id": "image-redundant-alt", + "impact": null, + "tags": [ + "cat.text-alternatives", + "best-practice" + ], + "description": "Ensure image alternative is not repeated as text", + "help": "Alternative text of images should not be repeated as text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/image-redundant-alt?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">", + "target": [ + "img[alt=\"W3C\\ logo\"]" + ], + "xpath": [ + "/p[@id='logos']/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">", + "target": [ + "img[src$=\"wai\\.png\"]" + ], + "xpath": [ + "/p[@id='logos']/a[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_left_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_top.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_right_top\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[3]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_left.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_left\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">", + "target": [ + "img[src$=\"top_logo\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_end\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">", + "target": [ + "img[src$=\"top_weather\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[3]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">", + "target": [ + "img[src$=\"top_logo_next_start\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[4]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">", + "target": [ + "img[src$=\"mark\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[colspan=\"\\35 \"][background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\37 80px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[4]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 55px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">", + "target": [ + "img[width=\"\\31 \"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">", + "target": [ + "img[name=\"nav_home\"]" + ], + "xpath": [ + "/td[@id='home']/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(3) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">", + "target": [ + "img[src$=\"nav_news\\.gif\"]" + ], + "xpath": [ + "/td[@id='news']/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(5) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[5]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">", + "target": [ + "img[name=\"nav_facts\"]" + ], + "xpath": [ + "/td[@id='tickets']/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(7) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[7]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">", + "target": [ + "img[src$=\"nav_survey\\.gif\"]" + ], + "xpath": [ + "/td[@id='survey']/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "tr[height=\"\\31 px\"]:nth-child(9) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[9]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(2) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(1) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(2) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">", + "target": [ + ".newsheadline:nth-child(3) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[3]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div/span/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[2]/span/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">", + "target": [ + ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]" + ], + "xpath": [ + "/div[@id='content']/div[4]/div[3]/span/a/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "target": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">", + "target": [ + "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(4)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/img[2]" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/telefon_white_bg.gif\" alt=\"1234 56789\" border=\"0\" align=\"absmiddle\">", + "target": [ + "img[src$=\"telefon_white_bg\\.gif\"]" + ], + "xpath": [ + "/div[@id='content']/p[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">", + "target": [ + "td[width=\"\\32 0px\"]:nth-child(4) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[4]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">", + "target": [ + "img[src$=\"marker2_t\\.gif\"][height=\"\\33 0px\"][width=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[width=\"\\31 51px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">", + "target": [ + "img[src$=\"teaser_right1\\.jpg\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[3]/td/div/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">", + "target": [ + "td[background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\31 50px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[6]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">", + "target": [ + "img[src$=\"teaser_right2\\.jpg\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[8]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_right.gif\" width=\"10px\">", + "target": [ + "img[src$=\"border_right\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[3]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_left\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_bottom.gif\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[2]/img" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "duplicate-img-label", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element does not duplicate existing text in <img> alt text" + } + ], + "impact": null, + "html": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">", + "target": [ + "img[src$=\"border_bottom_right\\.gif\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[3]/img" + ] + } + ] + }, + { + "id": "label-title-only", + "impact": null, + "tags": [ + "cat.forms", + "best-practice" + ], + "description": "Ensures that every form element is not solely labeled using the title or aria-describedby attributes", + "help": "Form elements should have a visible label", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/label-title-only?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "title-only", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Form element does not solely use title attribute for its label" + } + ], + "impact": null, + "html": "<select onchange=\"location.href = this.value;\">", + "target": [ + "select" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select" + ] + } + ] + }, + { + "id": "landmark-no-duplicate-banner", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the document has at most one banner landmark", + "help": "Document must not have more than one banner landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-no-duplicate-banner?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "page-no-duplicate-banner", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Document does not have more than one banner landmark" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + }, + { + "id": "landmark-no-duplicate-contentinfo", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the document has at most one contentinfo landmark", + "help": "Document must not have more than one contentinfo landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-no-duplicate-contentinfo?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "page-no-duplicate-contentinfo", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Document does not have more than one contentinfo landmark" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + }, + { + "id": "layout-table", + "impact": null, + "tags": [ + "cat.semantics", + "wcag2a", + "wcag131" + ], + "description": "Ensures presentational <table> elements do not use <th>, <caption> elements or the summary attribute", + "help": "Layout tables must not use data table elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/layout-table?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">", + "target": [ + "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[width=\"\\38 00px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[height=\"\\31 44px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "target": [ + "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "has-th", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <th> elements" + }, + { + "id": "has-caption", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use <caption> element" + }, + { + "id": "has-summary", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Layout table does not use summary attribute" + } + ], + "impact": null, + "html": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">", + "target": [ + "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]" + ] + } + ] + }, + { + "id": "link-name", + "impact": "serious", + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "wcag244", + "section508", + "section508.22.a" + ], + "description": "Ensures links have discernible text", + "help": "Links must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/link-name?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"#page\">Skip to inaccessible demo page</a>", + "target": [ + "a[href$=\"\\#page\"]" + ], + "xpath": [ + "/p[@id='skipnav']/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/\" title=\"W3C Home\"><img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\"></a>", + "target": [ + "a[title=\"W3C\\ Home\"]" + ], + "xpath": [ + "/p[@id='logos']/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/\" title=\"WAI Home\"><img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\"></a>", + "target": [ + "a[href$=\"WAI\\/\"]" + ], + "xpath": [ + "/p[@id='logos']/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"../Overview.html\">Overview</a>", + "target": [ + "a[href$=\"Overview\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a>", + "target": [ + ".inaccessible > .report[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a>", + "target": [ + ".page[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a>", + "target": [ + ".accessible > .report[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>", + "target": [ + ".annotoggle" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"news.html\">News</a>", + "target": [ + "li:nth-child(3) > a[href$=\"news\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[3]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"tickets.html\">Tickets</a>", + "target": [ + "li:nth-child(4) > a[href$=\"tickets\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[4]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"survey.html\">Survey</a>", + "target": [ + "li:nth-child(5) > a[href$=\"survey\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[5]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"template.html\">Template</a>", + "target": [ + "a[href$=\"template\\.html\"]" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[6]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"home.html\">", + "target": [ + "td[width=\"\\34 43px\"][background=\"\\.\\/img\\/top_logo_next\\.gif\"][valign=\"MIDDLE\"] > div > a[href$=\"home\\.html\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>", + "target": [ + ".newsheadline:nth-child(1) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>", + "target": [ + ".newsheadline:nth-child(2) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[2]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>", + "target": [ + ".newsheadline:nth-child(3) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='content']/div[2]/div[3]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "target": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>", + "target": [ + "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(5)" + ], + "xpath": [ + "/div[@id='content']/p[2]/span/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "target": [ + "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>", + "target": [ + "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "target": [ + "font[size=\"\\31 \"] > a[rel=\"Copyright\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/\"><acronym title=\"World Wide Web Consortium\">W3C</acronym></a>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"w3\\.org\\/\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.csail.mit.edu/\"><acronym title=\"Massachusetts Institute of Technology\">MIT</acronym></a>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"csail\\.mit\\.edu\\/\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[3]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.ercim.org/\"><acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym></a>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"ercim\\.org\\/\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[4]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "target": [ + "font[size=\"\\31 \"] > a[href$=\"keio\\.ac\\.jp\\/\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[5]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"../changelog.html\">changelog</a>", + "target": [ + "a[href$=\"changelog\\.html\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/People/shadi/\">Shadi Abou-Zahra</a>", + "target": [ + "p:nth-child(2) > a:nth-child(4)" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/EO/\">Education and Outreach Working Group (EOWG)</a>", + "target": [ + "a[href$=\"EO\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[3]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/TIES/\"><acronym title=\"Web Accessibility Initiative: Training, Implementation, Education, Support\">WAI-TIES</acronym></a>", + "target": [ + "a[href$=\"TIES\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[4]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/WAI-AGE/\"><acronym title=\"Web Accessibility Initiative: Ageing Education and Harmonisation\">WAI-AGE</acronym></a>", + "target": [ + "a[href$=\"WAI-AGE\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[5]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"../acks.html\">Acknowledgements</a>", + "target": [ + "a[href$=\"acks\\.html\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p/a[6]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/sitemap.html\" shape=\"rect\">WAI Site Map</a>", + "target": [ + "p:nth-child(3) > a[shape=\"rect\"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/sitehelp.html\" shape=\"rect\">Help with WAI Website</a>", + "target": [ + "a[shape=\"rect\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/search.php\" shape=\"rect\">Search</a>", + "target": [ + "a[shape=\"rect\"]:nth-child(3)" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[3]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/WAI/contacts\" shape=\"rect\">Contacting WAI</a>", + "target": [ + "a[href$=\"contacts\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[4]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a>", + "target": [ + "a[href=\"mailto\\:wai-eo-editors\\@w3\\.org\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/strong/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"mailto:wai@w3.org\" shape=\"rect\">wai@w3.org</a>", + "target": [ + "a[href$=\"mailto\\:wai\\@w3\\.org\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/p[2]/a[5]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>", + "target": [ + "p > a[rel=\"Copyright\"]:nth-child(1)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/\"><acronym title=\"World Wide Web Consortium\">W3C</acronym></a>", + "target": [ + ".copyright > p > a[href$=\"w3\\.org\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[2]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.csail.mit.edu/\"><acronym title=\"Massachusetts Institute of Technology\">MIT</acronym></a>", + "target": [ + "p > a[href$=\"csail\\.mit\\.edu\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[3]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.ercim.org/\"><acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym></a>", + "target": [ + "p > a[href$=\"ercim\\.org\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[4]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.keio.ac.jp/\">Keio</a>", + "target": [ + "p > a[href$=\"keio\\.ac\\.jp\\/\"]" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[5]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer\">liability</a>", + "target": [ + ".copyright > p > a:nth-child(7)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[6]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks\">trademark</a>", + "target": [ + ".copyright > p > a:nth-child(8)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[7]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-documents\">document use</a>", + "target": [ + "a[rel=\"Copyright\"]:nth-child(9)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[8]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-software\">software licensing</a>", + "target": [ + "a[rel=\"Copyright\"]:nth-child(10)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[9]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Public\">public</a>", + "target": [ + "a:nth-child(11)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[10]" + ] + }, + { + "any": [ + { + "id": "has-visible-text", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Element has text that is visible to screen readers" + } + ], + "all": [], + "none": [ + { + "id": "focusable-no-name", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "Element is not in tab order or has accessible text" + } + ], + "impact": null, + "html": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Members\">Member</a>", + "target": [ + "a:nth-child(12)" + ], + "xpath": [ + "/div[@id='meta-footer']/div/p/a[11]" + ] + } + ] + }, + { + "id": "list", + "impact": null, + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ], + "description": "Ensures that lists are structured correctly", + "help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/list?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "only-listitems", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List element only has direct children that are allowed inside <li> elements" + } + ], + "impact": null, + "html": "<ul>", + "target": [ + "#mnav > ul" + ], + "xpath": [ + "/div[@id='mnav']/ul" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "only-listitems", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List element only has direct children that are allowed inside <li> elements" + } + ], + "impact": null, + "html": "<ul>", + "target": [ + ".subnav > ul" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul" + ] + } + ] + }, + { + "id": "listitem", + "impact": null, + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ], + "description": "Ensures <li> elements are used semantically", + "help": "<li> elements must be contained in a <ul> or <ol>", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/listitem?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li class=\"first\"><a href=\"../Overview.html\">Overview</a></li>", + "target": [ + ".first:nth-child(1)" + ], + "xpath": [ + "/div[@id='mnav']/ul/li" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li class=\"current first\">", + "target": [ + ".current.first" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li class=\"inaccessible\"><strong>Inaccessible:</strong><a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a><a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a></li>", + "target": [ + "ul > .inaccessible" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li class=\"accessible\"><strong>Accessible:</strong><a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a><a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a></li>", + "target": [ + ".accessible" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li[2]" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li><a href=\"news.html\">News</a></li>", + "target": [ + "li:nth-child(3)" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[3]" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li><a href=\"tickets.html\">Tickets</a></li>", + "target": [ + "li:nth-child(4)" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[4]" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li><a href=\"survey.html\">Survey</a></li>", + "target": [ + "li:nth-child(5)" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[5]" + ] + }, + { + "any": [ + { + "id": "listitem", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "List item has a <ul>, <ol> or role=\"list\" parent element" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<li><a href=\"template.html\">Template</a></li>", + "target": [ + "li:nth-child(6)" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[6]" + ] + } + ] + }, + { + "id": "page-has-heading-one", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensure that the page, or at least one of its frames contains a level-one heading", + "help": "Page must contain a level-one heading", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/page-has-heading-one?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [ + { + "id": "page-has-heading-one", + "data": null, + "relatedNodes": [ + { + "html": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>", + "target": [ + "h1" + ], + "xpath": [ + "/div[@id='meta-header']/h1" + ] + } + ], + "impact": "moderate", + "message": "Page has at least one level-one heading" + } + ], + "none": [], + "impact": null, + "html": "<html>", + "target": [ + "html" + ], + "xpath": [ + "/html" + ] + } + ] + }, + { + "id": "skip-link", + "impact": null, + "tags": [ + "cat.keyboard", + "best-practice" + ], + "description": "Ensure all skip links have a focusable target", + "help": "The skip-link target should exist and be focusable", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/skip-link?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "skip-link", + "data": null, + "relatedNodes": [], + "impact": "moderate", + "message": "Skip link target exists" + } + ], + "all": [], + "none": [], + "impact": null, + "html": "<a href=\"#page\">Skip to inaccessible demo page</a>", + "target": [ + "a[href$=\"\\#page\"]" + ], + "xpath": [ + "/p[@id='skipnav']/a" + ] + } + ] + }, + { + "id": "table-duplicate-name", + "impact": null, + "tags": [ + "cat.tables", + "best-practice" + ], + "description": "Ensure that tables do not have the same summary and caption", + "help": "The <caption> element should not contain the same text as the summary attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/table-duplicate-name?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">", + "target": [ + "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[width=\"\\38 00px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[height=\"\\31 44px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "target": [ + "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table" + ] + }, + { + "any": [], + "all": [], + "none": [ + { + "id": "same-caption-summary", + "data": null, + "relatedNodes": [], + "impact": "minor", + "message": "Content of summary attribute and <caption> are not duplicated" + } + ], + "impact": null, + "html": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">", + "target": [ + "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]" + ] + } + ] + }, + { + "id": "td-headers-attr", + "impact": null, + "tags": [ + "cat.tables", + "wcag2a", + "wcag131", + "section508", + "section508.22.g" + ], + "description": "Ensure that each cell in a table using the headers refers to another cell in that table", + "help": "All cells in a table element that use the headers attribute must only refer to other cells of that same table", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/td-headers-attr?application=axe-puppeteer", + "nodes": [ + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">", + "target": [ + "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[width=\"\\38 00px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[height=\"\\31 44px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">", + "target": [ + "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">", + "target": [ + "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "target": [ + "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">", + "target": [ + "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table" + ] + }, + { + "any": [], + "all": [ + { + "id": "td-headers-attr", + "data": null, + "relatedNodes": [], + "impact": "serious", + "message": "The headers attribute is exclusively used to refer to other cells in the table" + } + ], + "none": [], + "impact": null, + "html": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">", + "target": [ + "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]" + ], + "xpath": [ + "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]" + ] + } + ] + } + ], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143" + ], + "description": "Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds", + "help": "Elements must have sufficient color contrast", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/color-contrast?application=axe-puppeteer", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#ffffff", + "contrastRatio": 0, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "bold", + "missingData": "bgImage", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [ + { + "html": "<a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a>", + "target": [ + ".page.current" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/a" + ] + } + ], + "impact": "serious", + "message": "Element's background color could not be determined due to a background image" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a>", + "target": [ + ".page.current" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/ul/li/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#333333", + "contrastRatio": 0, + "fontSize": "10.8pt (14.4px)", + "fontWeight": "normal", + "missingData": "bgImage", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [ + { + "html": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>", + "target": [ + ".annotoggle" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/a" + ] + } + ], + "impact": "serious", + "message": "Element's background color could not be determined due to a background image" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>", + "target": [ + ".annotoggle" + ], + "xpath": [ + "/div[@id='mnav']/ul/li[2]/div/a" + ] + }, + { + "any": [ + { + "id": "color-contrast", + "data": { + "fgColor": "#000000", + "contrastRatio": 0, + "fontSize": "9.8pt (13px)", + "fontWeight": "normal", + "missingData": "bgOverlap", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element's background color could not be determined because it is overlapped by another element" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">", + "target": [ + "#WEATHER > font[color=\"BLACK\"][size=\"\\32 \"]" + ], + "xpath": [ + "/td[@id='WEATHER']/font" + ] + } + ] + } + ], + "inapplicable": [ + { + "id": "accesskeys", + "impact": null, + "tags": [ + "best-practice", + "cat.keyboard" + ], + "description": "Ensures every accesskey attribute value is unique", + "help": "accesskey attribute value must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/accesskeys?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "area-alt", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <area> elements of image maps have alternate text", + "help": "Active <area> elements must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/area-alt?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-allowed-attr", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures ARIA attributes are allowed for an element's role", + "help": "Elements must only use allowed ARIA attributes", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-allowed-attr?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-allowed-role", + "impact": null, + "tags": [ + "cat.aria", + "best-practice" + ], + "description": "Ensures role attribute has an appropriate value for the element", + "help": "ARIA role must be appropriate for the element", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-allowed-role?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-dpub-role-fallback", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag131" + ], + "description": "Ensures unsupported DPUB roles are only used on elements with implicit fallback roles", + "help": "Unsupported DPUB ARIA roles should be used on elements with implicit fallback roles", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-dpub-role-fallback?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-hidden-focus", + "impact": null, + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "wcag131" + ], + "description": "Ensures aria-hidden elements do not contain focusable elements", + "help": "ARIA hidden element must not contain focusable elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-hidden-focus?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-input-field-name", + "impact": null, + "tags": [ + "wcag2a", + "wcag412" + ], + "description": "Ensures every ARIA input field has an accessible name", + "help": "ARIA input fields have an accessible name", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-input-field-name?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-required-attr", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures elements with ARIA roles have all required ARIA attributes", + "help": "Required ARIA attributes must be provided", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-required-attr?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-required-children", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag131" + ], + "description": "Ensures elements with an ARIA role that require child roles contain them", + "help": "Certain ARIA roles must contain particular children", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-required-children?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-required-parent", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag131" + ], + "description": "Ensures elements with an ARIA role that require parent roles are contained by them", + "help": "Certain ARIA roles must be contained by particular parents", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-required-parent?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-roledescription", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensure aria-roledescription is only used on elements with an implicit or explicit role", + "help": "Use aria-roledescription on elements with a semantic role", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-roledescription?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-roles", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures all elements with a role attribute use a valid value", + "help": "ARIA roles used must conform to valid values", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-roles?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-toggle-field-name", + "impact": null, + "tags": [ + "wcag2a", + "wcag412" + ], + "description": "Ensures every ARIA toggle field has an accessible name", + "help": "ARIA toggle fields have an accessible name", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-toggle-field-name?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-valid-attr-value", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures all ARIA attributes have valid values", + "help": "ARIA attributes must conform to valid values", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-valid-attr-value?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "aria-valid-attr", + "impact": null, + "tags": [ + "cat.aria", + "wcag2a", + "wcag412" + ], + "description": "Ensures attributes that begin with aria- are valid ARIA attributes", + "help": "ARIA attributes must conform to valid names", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/aria-valid-attr?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "autocomplete-valid", + "impact": null, + "tags": [ + "cat.forms", + "wcag21aa", + "wcag135" + ], + "description": "Ensure the autocomplete attribute is correct and suitable for the form field", + "help": "autocomplete attribute must be used correctly", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/autocomplete-valid?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "blink", + "impact": null, + "tags": [ + "cat.time-and-media", + "wcag2a", + "wcag222", + "section508", + "section508.22.j" + ], + "description": "Ensures <blink> elements are not used", + "help": "<blink> elements are deprecated and must not be used", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/blink?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "button-name", + "impact": null, + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "section508", + "section508.22.a" + ], + "description": "Ensures buttons have discernible text", + "help": "Buttons must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/button-name?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "definition-list", + "impact": null, + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ], + "description": "Ensures <dl> elements are structured correctly", + "help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script> or <template> elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/definition-list?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "dlitem", + "impact": null, + "tags": [ + "cat.structure", + "wcag2a", + "wcag131" + ], + "description": "Ensures <dt> and <dd> elements are contained by a <dl>", + "help": "<dt> and <dd> elements must be contained by a <dl>", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/dlitem?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "duplicate-id-active", + "impact": null, + "tags": [ + "cat.parsing", + "wcag2a", + "wcag411" + ], + "description": "Ensures every id attribute value of active elements is unique", + "help": "IDs of active elements must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id-active?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "duplicate-id-aria", + "impact": null, + "tags": [ + "cat.parsing", + "wcag2a", + "wcag411" + ], + "description": "Ensures every id attribute value used in ARIA and in labels is unique", + "help": "IDs used in ARIA and labels must be unique", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id-aria?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "frame-tested", + "impact": null, + "tags": [ + "cat.structure", + "review-item", + "best-practice" + ], + "description": "Ensures <iframe> and <frame> elements contain the axe-core script", + "help": "Frames must be tested with axe-core", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/frame-tested?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "frame-title-unique", + "impact": null, + "tags": [ + "cat.text-alternatives", + "best-practice" + ], + "description": "Ensures <iframe> and <frame> elements contain a unique title attribute", + "help": "Frames must have a unique title attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/frame-title-unique?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "frame-title", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag241", + "wcag412", + "section508", + "section508.22.i" + ], + "description": "Ensures <iframe> and <frame> elements contain a non-empty title attribute", + "help": "Frames must have title attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/frame-title?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "html-lang-valid", + "impact": null, + "tags": [ + "cat.language", + "wcag2a", + "wcag311" + ], + "description": "Ensures the lang attribute of the <html> element has a valid value", + "help": "<html> element must have a valid value for the lang attribute", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/html-lang-valid?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "html-xml-lang-mismatch", + "impact": null, + "tags": [ + "cat.language", + "wcag2a", + "wcag311" + ], + "description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page", + "help": "HTML elements with lang and xml:lang must have the same base language", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/html-xml-lang-mismatch?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "input-button-name", + "impact": null, + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "section508", + "section508.22.a" + ], + "description": "Ensures input buttons have discernible text", + "help": "Input buttons must have discernible text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/input-button-name?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "input-image-alt", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <input type=\"image\"> elements have alternate text", + "help": "Image buttons must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/input-image-alt?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "landmark-banner-is-top-level", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the banner landmark is at top level", + "help": "Banner landmark must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-banner-is-top-level?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "landmark-complementary-is-top-level", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the complementary landmark or aside is at top level", + "help": "Aside must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-complementary-is-top-level?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "landmark-contentinfo-is-top-level", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the contentinfo landmark is at top level", + "help": "Contentinfo landmark must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-contentinfo-is-top-level?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "landmark-main-is-top-level", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "description": "Ensures the main landmark is at top level", + "help": "Main landmark must not be contained in another landmark", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-main-is-top-level?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "landmark-unique", + "impact": null, + "tags": [ + "cat.semantics", + "best-practice" + ], + "help": "Ensures landmarks are unique", + "description": "Landmarks must have a unique role or role/label/title (i.e. accessible name) combination", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/landmark-unique?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "marquee", + "impact": null, + "tags": [ + "cat.parsing", + "wcag2a", + "wcag222" + ], + "description": "Ensures <marquee> elements are not used", + "help": "<marquee> elements are deprecated and must not be used", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/marquee?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "meta-refresh", + "impact": null, + "tags": [ + "cat.time-and-media", + "wcag2a", + "wcag2aaa", + "wcag221", + "wcag224", + "wcag325" + ], + "description": "Ensures <meta http-equiv=\"refresh\"> is not used", + "help": "Timed refresh must not exist", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/meta-refresh?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "meta-viewport-large", + "impact": null, + "tags": [ + "cat.sensory-and-visual-cues", + "best-practice" + ], + "description": "Ensures <meta name=\"viewport\"> can scale a significant amount", + "help": "Users should be able to zoom and scale the text up to 500%", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/meta-viewport-large?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "meta-viewport", + "impact": null, + "tags": [ + "cat.sensory-and-visual-cues", + "wcag2aa", + "wcag144" + ], + "description": "Ensures <meta name=\"viewport\"> does not disable text scaling and zooming", + "help": "Zooming and scaling must not be disabled", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/meta-viewport?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "object-alt", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures <object> elements have alternate text", + "help": "<object> elements must have alternate text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/object-alt?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "role-img-alt", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag111", + "section508", + "section508.22.a" + ], + "description": "Ensures [role='img'] elements have alternate text", + "help": "[role='img'] elements have an alternative text", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/role-img-alt?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "scope-attr-valid", + "impact": null, + "tags": [ + "cat.tables", + "best-practice" + ], + "description": "Ensures the scope attribute is used correctly on tables", + "help": "scope attribute should be used correctly", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/scope-attr-valid?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "scrollable-region-focusable", + "impact": null, + "tags": [ + "wcag2a", + "wcag211" + ], + "description": "Elements that have scrollable content should be accessible by keyboard", + "help": "Ensure that scrollable region has keyboard access", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/scrollable-region-focusable?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "server-side-image-map", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag211", + "section508", + "section508.22.f" + ], + "description": "Ensures that server-side image maps are not used", + "help": "Server-side image maps must not be used", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/server-side-image-map?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "tabindex", + "impact": null, + "tags": [ + "cat.keyboard", + "best-practice" + ], + "description": "Ensures tabindex attribute values are not greater than 0", + "help": "Elements should not have tabindex greater than zero", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/tabindex?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "th-has-data-cells", + "impact": null, + "tags": [ + "cat.tables", + "wcag2a", + "wcag131", + "section508", + "section508.22.g" + ], + "description": "Ensure that each table header in a data table refers to data cells", + "help": "All th elements and elements with role=columnheader/rowheader must have data cells they describe", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/th-has-data-cells?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "valid-lang", + "impact": null, + "tags": [ + "cat.language", + "wcag2aa", + "wcag312" + ], + "description": "Ensures lang attributes have valid values", + "help": "lang attribute must have a valid value", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/valid-lang?application=axe-puppeteer", + "nodes": [] + }, + { + "id": "video-caption", + "impact": null, + "tags": [ + "cat.text-alternatives", + "wcag2a", + "wcag122", + "section508", + "section508.22.a" + ], + "description": "Ensures <video> elements have captions", + "help": "<video> elements must have captions", + "helpUrl": "https://dequeuniversity.com/rules/axe/3.4/video-caption?application=axe-puppeteer", + "nodes": [] + } + ] +} \ No newline at end of file diff --git a/src/test-resources/w3citylights-axe-v3.4.1.sarif b/src/test-resources/w3citylights-axe-v3.4.1.sarif new file mode 100644 index 00000000..c8d54a1e --- /dev/null +++ b/src/test-resources/w3citylights-axe-v3.4.1.sarif @@ -0,0 +1,13302 @@ +{ + "version": "2.1.0", + "runs": [ + { + "conversion": { + "tool": { + "driver": { + "name": "axe-sarif-converter", + "fullName": "axe-sarif-converter v0.0.0-managed-by-semantic-release", + "version": "0.0.0-managed-by-semantic-release", + "semanticVersion": "0.0.0-managed-by-semantic-release", + "informationUri": "https://github.com/microsoft/axe-sarif-converter/releases/tag/v0.0.0-managed-by-semantic-release", + "downloadUri": "https://www.npmjs.com/package/axe-sarif-converter/v/0.0.0-managed-by-semantic-release" + } + } + }, + "tool": { + "driver": { + "name": "axe-core", + "fullName": "axe for Web v3.4.1", + "shortDescription": { + "text": "An open source accessibility rules library for automated testing." + }, + "version": "3.4.1", + "semanticVersion": "3.4.1", + "informationUri": "https://www.deque.com/axe/axe-for-web/", + "downloadUri": "https://www.npmjs.com/package/axe-core/v/3.4.1", + "properties": { + "microsoft/qualityDomain": "Accessibility" + }, + "supportedTaxonomies": [ + { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + ], + "rules": [ + { + "id": "accesskeys", + "name": "accesskey attribute value must be unique", + "fullDescription": { + "text": "Ensures every accesskey attribute value is unique." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/accesskeys?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "area-alt", + "name": "Active <area> elements must have alternate text", + "fullDescription": { + "text": "Ensures <area> elements of image maps have alternate text." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/area-alt?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag111", + "index": 1, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-allowed-attr", + "name": "Elements must only use allowed ARIA attributes", + "fullDescription": { + "text": "Ensures ARIA attributes are allowed for an element's role." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-allowed-attr?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-allowed-role", + "name": "ARIA role must be appropriate for the element", + "fullDescription": { + "text": "Ensures role attribute has an appropriate value for the element." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-allowed-role?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-dpub-role-fallback", + "name": "Unsupported DPUB ARIA roles should be used on elements with implicit fallback roles", + "fullDescription": { + "text": "Ensures unsupported DPUB roles are only used on elements with implicit fallback roles." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-dpub-role-fallback?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag131", + "index": 11, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-hidden-body", + "name": "aria-hidden='true' must not be present on the document body", + "fullDescription": { + "text": "Ensures aria-hidden='true' is not present on the document body.." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-hidden-body?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-hidden-focus", + "name": "ARIA hidden element must not contain focusable elements", + "fullDescription": { + "text": "Ensures aria-hidden elements do not contain focusable elements." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-hidden-focus?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "wcag131", + "index": 11, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-input-field-name", + "name": "ARIA input fields have an accessible name", + "fullDescription": { + "text": "Ensures every ARIA input field has an accessible name." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-input-field-name?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-required-attr", + "name": "Required ARIA attributes must be provided", + "fullDescription": { + "text": "Ensures elements with ARIA roles have all required ARIA attributes." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-required-attr?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-required-children", + "name": "Certain ARIA roles must contain particular children", + "fullDescription": { + "text": "Ensures elements with an ARIA role that require child roles contain them." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-required-children?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag131", + "index": 11, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-required-parent", + "name": "Certain ARIA roles must be contained by particular parents", + "fullDescription": { + "text": "Ensures elements with an ARIA role that require parent roles are contained by them." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-required-parent?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag131", + "index": 11, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-roledescription", + "name": "Use aria-roledescription on elements with a semantic role", + "fullDescription": { + "text": "Ensure aria-roledescription is only used on elements with an implicit or explicit role." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-roledescription?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-roles", + "name": "ARIA roles used must conform to valid values", + "fullDescription": { + "text": "Ensures all elements with a role attribute use a valid value." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-roles?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-toggle-field-name", + "name": "ARIA toggle fields have an accessible name", + "fullDescription": { + "text": "Ensures every ARIA toggle field has an accessible name." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-toggle-field-name?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-valid-attr", + "name": "ARIA attributes must conform to valid names", + "fullDescription": { + "text": "Ensures attributes that begin with aria- are valid ARIA attributes." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-valid-attr?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "aria-valid-attr-value", + "name": "ARIA attributes must conform to valid values", + "fullDescription": { + "text": "Ensures all ARIA attributes have valid values." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/aria-valid-attr-value?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "autocomplete-valid", + "name": "autocomplete attribute must be used correctly", + "fullDescription": { + "text": "Ensure the autocomplete attribute is correct and suitable for the form field." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/autocomplete-valid?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag135", + "index": 15, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "avoid-inline-spacing", + "name": "Inline text spacing must be adjustable with custom stylesheets", + "fullDescription": { + "text": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/avoid-inline-spacing?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag1412", + "index": 20, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "blink", + "name": "<blink> elements are deprecated and must not be used", + "fullDescription": { + "text": "Ensures <blink> elements are not used." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/blink?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag222", + "index": 35, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "button-name", + "name": "Buttons must have discernible text", + "fullDescription": { + "text": "Ensures buttons have discernible text." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/button-name?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "bypass", + "name": "Page must have means to bypass repeated blocks", + "fullDescription": { + "text": "Ensures each page has at least one mechanism for a user to bypass navigation and jump straight to the content." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/bypass?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag241", + "index": 43, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "color-contrast", + "name": "Elements must have sufficient color contrast", + "fullDescription": { + "text": "Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/color-contrast?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag143", + "index": 23, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "definition-list", + "name": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script> or <template> elements", + "fullDescription": { + "text": "Ensures <dl> elements are structured correctly." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/definition-list?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag131", + "index": 11, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "dlitem", + "name": "<dt> and <dd> elements must be contained by a <dl>", + "fullDescription": { + "text": "Ensures <dt> and <dd> elements are contained by a <dl>." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/dlitem?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag131", + "index": 11, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "document-title", + "name": "Documents must have <title> element to aid in navigation", + "fullDescription": { + "text": "Ensures each HTML document contains a non-empty <title> element." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/document-title?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag242", + "index": 45, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "duplicate-id", + "name": "id attribute value must be unique", + "fullDescription": { + "text": "Ensures every id attribute value is unique." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag411", + "index": 76, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "duplicate-id-active", + "name": "IDs of active elements must be unique", + "fullDescription": { + "text": "Ensures every id attribute value of active elements is unique." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id-active?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag411", + "index": 76, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "duplicate-id-aria", + "name": "IDs used in ARIA and labels must be unique", + "fullDescription": { + "text": "Ensures every id attribute value used in ARIA and in labels is unique." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/duplicate-id-aria?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag411", + "index": 76, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "empty-heading", + "name": "Headings must not be empty", + "fullDescription": { + "text": "Ensures headings have discernible text." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/empty-heading?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "form-field-multiple-labels", + "name": "Form field should not have multiple label elements", + "fullDescription": { + "text": "Ensures form field does not have multiple label elements." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/form-field-multiple-labels?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag332", + "index": 71, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "frame-tested", + "name": "Frames must be tested with axe-core", + "fullDescription": { + "text": "Ensures <iframe> and <frame> elements contain the axe-core script." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/frame-tested?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "frame-title", + "name": "Frames must have title attribute", + "fullDescription": { + "text": "Ensures <iframe> and <frame> elements contain a non-empty title attribute." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/frame-title?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag241", + "index": 43, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "frame-title-unique", + "name": "Frames must have a unique title attribute", + "fullDescription": { + "text": "Ensures <iframe> and <frame> elements contain a unique title attribute." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/frame-title-unique?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "heading-order", + "name": "Heading levels should only increase by one", + "fullDescription": { + "text": "Ensures the order of headings is semantically correct." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/heading-order?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "html-has-lang", + "name": "<html> element must have a lang attribute", + "fullDescription": { + "text": "Ensures every HTML document has a lang attribute." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/html-has-lang?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag311", + "index": 59, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "html-lang-valid", + "name": "<html> element must have a valid value for the lang attribute", + "fullDescription": { + "text": "Ensures the lang attribute of the <html> element has a valid value." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/html-lang-valid?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag311", + "index": 59, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "html-xml-lang-mismatch", + "name": "HTML elements with lang and xml:lang must have the same base language", + "fullDescription": { + "text": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/html-xml-lang-mismatch?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag311", + "index": 59, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "image-alt", + "name": "Images must have alternate text", + "fullDescription": { + "text": "Ensures <img> elements have alternate text or a role of none or presentation." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/image-alt?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag111", + "index": 1, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "image-redundant-alt", + "name": "Alternative text of images should not be repeated as text", + "fullDescription": { + "text": "Ensure image alternative is not repeated as text." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/image-redundant-alt?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "input-button-name", + "name": "Input buttons must have discernible text", + "fullDescription": { + "text": "Ensures input buttons have discernible text." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/input-button-name?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "input-image-alt", + "name": "Image buttons must have alternate text", + "fullDescription": { + "text": "Ensures <input type=\"image\"> elements have alternate text." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/input-image-alt?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag111", + "index": 1, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "label", + "name": "Form elements must have labels", + "fullDescription": { + "text": "Ensures every form element has a label." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/label?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag332", + "index": 71, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "wcag131", + "index": 11, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "label-title-only", + "name": "Form elements should have a visible label", + "fullDescription": { + "text": "Ensures that every form element is not solely labeled using the title or aria-describedby attributes." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/label-title-only?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "landmark-banner-is-top-level", + "name": "Banner landmark must not be contained in another landmark", + "fullDescription": { + "text": "Ensures the banner landmark is at top level." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/landmark-banner-is-top-level?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "landmark-complementary-is-top-level", + "name": "Aside must not be contained in another landmark", + "fullDescription": { + "text": "Ensures the complementary landmark or aside is at top level." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/landmark-complementary-is-top-level?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "landmark-contentinfo-is-top-level", + "name": "Contentinfo landmark must not be contained in another landmark", + "fullDescription": { + "text": "Ensures the contentinfo landmark is at top level." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/landmark-contentinfo-is-top-level?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "landmark-main-is-top-level", + "name": "Main landmark must not be contained in another landmark", + "fullDescription": { + "text": "Ensures the main landmark is at top level." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/landmark-main-is-top-level?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "landmark-no-duplicate-banner", + "name": "Document must not have more than one banner landmark", + "fullDescription": { + "text": "Ensures the document has at most one banner landmark." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/landmark-no-duplicate-banner?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "landmark-no-duplicate-contentinfo", + "name": "Document must not have more than one contentinfo landmark", + "fullDescription": { + "text": "Ensures the document has at most one contentinfo landmark." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/landmark-no-duplicate-contentinfo?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "landmark-one-main", + "name": "Document must have one main landmark", + "fullDescription": { + "text": "Ensures the document has only one main landmark and each iframe in the page has at most one main landmark." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/landmark-one-main?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "landmark-unique", + "name": "Ensures landmarks are unique", + "fullDescription": { + "text": "Landmarks must have a unique role or role/label/title (i.e. accessible name) combination." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/landmark-unique?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "layout-table", + "name": "Layout tables must not use data table elements", + "fullDescription": { + "text": "Ensures presentational <table> elements do not use <th>, <caption> elements or the summary attribute." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/layout-table?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag131", + "index": 11, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "link-name", + "name": "Links must have discernible text", + "fullDescription": { + "text": "Ensures links have discernible text." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/link-name?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag412", + "index": 77, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "wcag244", + "index": 47, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "list", + "name": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements", + "fullDescription": { + "text": "Ensures that lists are structured correctly." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/list?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag131", + "index": 11, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "listitem", + "name": "<li> elements must be contained in a <ul> or <ol>", + "fullDescription": { + "text": "Ensures <li> elements are used semantically." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/listitem?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag131", + "index": 11, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "marquee", + "name": "<marquee> elements are deprecated and must not be used", + "fullDescription": { + "text": "Ensures <marquee> elements are not used." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/marquee?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag222", + "index": 35, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "meta-refresh", + "name": "Timed refresh must not exist", + "fullDescription": { + "text": "Ensures <meta http-equiv=\"refresh\"> is not used." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/meta-refresh?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag221", + "index": 34, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "wcag224", + "index": 37, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "wcag325", + "index": 69, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "meta-viewport", + "name": "Zooming and scaling must not be disabled", + "fullDescription": { + "text": "Ensures <meta name=\"viewport\"> does not disable text scaling and zooming." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/meta-viewport?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag144", + "index": 24, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "meta-viewport-large", + "name": "Users should be able to zoom and scale the text up to 500%", + "fullDescription": { + "text": "Ensures <meta name=\"viewport\"> can scale a significant amount." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/meta-viewport-large?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "object-alt", + "name": "<object> elements must have alternate text", + "fullDescription": { + "text": "Ensures <object> elements have alternate text." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/object-alt?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag111", + "index": 1, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "page-has-heading-one", + "name": "Page must contain a level-one heading", + "fullDescription": { + "text": "Ensure that the page, or at least one of its frames contains a level-one heading." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/page-has-heading-one?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "region", + "name": "All page content must be contained by landmarks", + "fullDescription": { + "text": "Ensures all page content is contained by landmarks." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/region?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "role-img-alt", + "name": "[role='img'] elements have an alternative text", + "fullDescription": { + "text": "Ensures [role='img'] elements have alternate text." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/role-img-alt?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag111", + "index": 1, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "scope-attr-valid", + "name": "scope attribute should be used correctly", + "fullDescription": { + "text": "Ensures the scope attribute is used correctly on tables." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/scope-attr-valid?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "scrollable-region-focusable", + "name": "Ensure that scrollable region has keyboard access", + "fullDescription": { + "text": "Elements that have scrollable content should be accessible by keyboard." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/scrollable-region-focusable?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag211", + "index": 30, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "server-side-image-map", + "name": "Server-side image maps must not be used", + "fullDescription": { + "text": "Ensures that server-side image maps are not used." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/server-side-image-map?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag211", + "index": 30, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "skip-link", + "name": "The skip-link target should exist and be focusable", + "fullDescription": { + "text": "Ensure all skip links have a focusable target." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/skip-link?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "tabindex", + "name": "Elements should not have tabindex greater than zero", + "fullDescription": { + "text": "Ensures tabindex attribute values are not greater than 0." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/tabindex?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "table-duplicate-name", + "name": "The <caption> element should not contain the same text as the summary attribute", + "fullDescription": { + "text": "Ensure that tables do not have the same summary and caption." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/table-duplicate-name?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "best-practice", + "index": 0, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "td-headers-attr", + "name": "All cells in a table element that use the headers attribute must only refer to other cells of that same table", + "fullDescription": { + "text": "Ensure that each cell in a table using the headers refers to another cell in that table." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/td-headers-attr?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag131", + "index": 11, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "th-has-data-cells", + "name": "All th elements and elements with role=columnheader/rowheader must have data cells they describe", + "fullDescription": { + "text": "Ensure that each table header in a data table refers to data cells." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/th-has-data-cells?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag131", + "index": 11, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "valid-lang", + "name": "lang attribute must have a valid value", + "fullDescription": { + "text": "Ensures lang attributes have valid values." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/valid-lang?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag312", + "index": 60, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "video-caption", + "name": "<video> elements must have captions", + "fullDescription": { + "text": "Ensures <video> elements have captions." + }, + "helpUri": "https://dequeuniversity.com/rules/axe/3.4/video-caption?application=axe-puppeteer", + "relationships": [ + { + "target": { + "id": "wcag122", + "index": 3, + "toolComponent": { + "name": "WCAG", + "index": 0, + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ] + } + }, + "invocations": [ + { + "startTimeUtc": "2000-01-02T03:04:05.006Z", + "endTimeUtc": "2000-01-02T03:04:05.006Z", + "executionSuccessful": true + } + ], + "artifacts": [ + { + "location": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "sourceLanguage": "html", + "roles": [ + "analysisTarget" + ] + } + ], + "results": [ + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1.", + "markdown": "Fix any of the following:\n- Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<b>Free Penguins</b>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr[height=\"\\32 5px\"]:nth-child(2) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[2]/td/font/b", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1.", + "markdown": "Fix any of the following:\n- Element has insufficient color contrast of 3.88 (foreground color: #41545d, background color: #a9b8bf, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<b>More City Parks</b>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr[height=\"\\32 5px\"]:nth-child(7) > td[bgcolor=\"\\#A9B8BF\"][width=\"\\31 50px\"] > font[color=\"\\#41545D\"][size=\"\\32 \"] > b", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[7]/td/font/b", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "html-has-lang", + "ruleIndex": 34, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: The <html> element does not have a lang attribute.", + "markdown": "Fix any of the following:\n- The <html> element does not have a lang attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<html>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "html", + "kind": "element" + }, + { + "fullyQualifiedName": "/html", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_left_top\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_top.gif\" height=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_top\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_right_top\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[3]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_left.gif\" width=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_left\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"top_logo_next_end\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"top_weather\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[3]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"top_logo_next_start\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[4]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"mark\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[colspan=\"\\35 \"][background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\37 80px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[4]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[width=\"\\31 55px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[width=\"\\31 \"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[name=\"nav_home\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='home']/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr[height=\"\\31 px\"]:nth-child(3) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[3]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"nav_news\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='news']/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr[height=\"\\31 px\"]:nth-child(5) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[5]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[name=\"nav_facts\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='tickets']/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr[height=\"\\31 px\"]:nth-child(7) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[7]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"nav_survey\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='survey']/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr[height=\"\\31 px\"]:nth-child(9) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[9]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[width=\"\\32 0px\"]:nth-child(2) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".newsheadline:nth-child(1) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[2]/div/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".newsheadline:nth-child(2) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[2]/div[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".newsheadline:nth-child(3) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[2]/div[3]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[width=\"\\32 0px\"]:nth-child(4) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[4]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"marker2_t\\.gif\"][height=\"\\33 0px\"][width=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[width=\"\\31 51px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"teaser_right1\\.jpg\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[3]/td/div/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\31 50px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[6]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"teaser_right2\\.jpg\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[8]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_right.gif\" width=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_right\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[3]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_bottom_left\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_bottom.gif\" height=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_bottom\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element has no title attribute or the title attribute is empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix any of the following:\n- Element does not have an alt attribute.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element has no title attribute or the title attribute is empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_bottom_right\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[3]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "label", + "ruleIndex": 41, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Form element does not have an implicit (wrapped) <label>. Form element does not have an explicit <label>. Element has no title attribute or the title attribute is empty.", + "markdown": "Fix any of the following:\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Form element does not have an implicit (wrapped) <label>.\n- Form element does not have an explicit <label>.\n- Element has no title attribute or the title attribute is empty." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<select onchange=\"location.href = this.value;\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "select", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "landmark-one-main", + "ruleIndex": 49, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix all of the following: Document does not have a main landmark.", + "markdown": "Fix all of the following:\n- Document does not have a main landmark." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<html>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "html", + "kind": "element" + }, + { + "fullyQualifiedName": "/html", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix all of the following: Element is in tab order and does not have accessible text. Fix any of the following: Element does not have text that is visible to screen readers. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix all of the following:\n- Element is in tab order and does not have accessible text.\n\nFix any of the following:\n- Element does not have text that is visible to screen readers.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"javascript:location.href='home.html';\" onfocus=\"blur();\"><img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\"></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#home > a[onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='home']/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix all of the following: Element is in tab order and does not have accessible text. Fix any of the following: Element does not have text that is visible to screen readers. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix all of the following:\n- Element is in tab order and does not have accessible text.\n\nFix any of the following:\n- Element does not have text that is visible to screen readers.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"javascript:location.href='news.html';\" onfocus=\"blur();\"><img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\"></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#news > a[onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='news']/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix all of the following: Element is in tab order and does not have accessible text. Fix any of the following: Element does not have text that is visible to screen readers. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix all of the following:\n- Element is in tab order and does not have accessible text.\n\nFix any of the following:\n- Element does not have text that is visible to screen readers.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"javascript:location.href='tickets.html';\" onfocus=\"blur();\"><img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\"></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#tickets > a[onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='tickets']/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix all of the following: Element is in tab order and does not have accessible text. Fix any of the following: Element does not have text that is visible to screen readers. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix all of the following:\n- Element is in tab order and does not have accessible text.\n\nFix any of the following:\n- Element does not have text that is visible to screen readers.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"javascript:location.href='survey.html';\" onfocus=\"blur();\"><img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\"></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#survey > a[onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='survey']/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix all of the following: Element is in tab order and does not have accessible text. Fix any of the following: Element does not have text that is visible to screen readers. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix all of the following:\n- Element is in tab order and does not have accessible text.\n\nFix any of the following:\n- Element does not have text that is visible to screen readers.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div/span/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix all of the following: Element is in tab order and does not have accessible text. Fix any of the following: Element does not have text that is visible to screen readers. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix all of the following:\n- Element is in tab order and does not have accessible text.\n\nFix any of the following:\n- Element does not have text that is visible to screen readers.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div[2]/span/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix all of the following: Element is in tab order and does not have accessible text. Fix any of the following: Element does not have text that is visible to screen readers. aria-label attribute does not exist or is empty. aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty. Element's default semantics were not overridden with role=\"presentation\". Element's default semantics were not overridden with role=\"none\".", + "markdown": "Fix all of the following:\n- Element is in tab order and does not have accessible text.\n\nFix any of the following:\n- Element does not have text that is visible to screen readers.\n- aria-label attribute does not exist or is empty.\n- aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty.\n- Element's default semantics were not overridden with role=\"presentation\".\n- Element's default semantics were not overridden with role=\"none\"." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"news.html\" onfocus=\"blur();\"><img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\"></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div[3]/span/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "region", + "ruleIndex": 61, + "kind": "fail", + "level": "error", + "message": { + "text": "Fix any of the following: Some page content is not contained by landmarks.", + "markdown": "Fix any of the following:\n- Some page content is not contained by landmarks." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<html>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "html", + "kind": "element" + }, + { + "fullyQualifiedName": "/html", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "aria-hidden-body", + "ruleIndex": 5, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: No aria-hidden attribute is present on document body.", + "markdown": "The following tests passed:\n- No aria-hidden attribute is present on document body." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<body text=\"#000000\" bgcolor=\"#D7D7CD\" leftmargin=\"0px\" topmargin=\"0px\" marginwidth=\"0px\" marginheight=\"0px\" link=\"#226C8E\" vlink=\"#226C8E\" alink=\"#226C8E\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "body", + "kind": "element" + }, + { + "fullyQualifiedName": "/html/body", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "avoid-inline-spacing", + "ruleIndex": 17, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: No inline styles with '!important' that affect text spacing has been specified.", + "markdown": "The following tests passed:\n- No inline styles with '!important' that affect text spacing has been specified." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<div class=\"image\" style=\"background: url(./img/panda-sm.jpg) center center no-repeat #cccccc\" title=\"image\"><div class=\"null\"></div></div>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".image[title=\"image\"]:nth-child(1)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[3]/div", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "avoid-inline-spacing", + "ruleIndex": 17, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: No inline styles with '!important' that affect text spacing has been specified.", + "markdown": "The following tests passed:\n- No inline styles with '!important' that affect text spacing has been specified." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<div class=\"image\" style=\"background: url(./img/oldenburgstudentviolin34.jpg) center center no-repeat #cccccc\" title=\"image\"><div class=\"null\"></div></div>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".image[title=\"image\"]:nth-child(2)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[3]/div[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "avoid-inline-spacing", + "ruleIndex": 17, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: No inline styles with '!important' that affect text spacing has been specified.", + "markdown": "The following tests passed:\n- No inline styles with '!important' that affect text spacing has been specified." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<div class=\"image\" style=\"background: url(./img/BrainInJar.jpg) center center no-repeat #cccccc;\" title=\"image\"><div class=\"null\"></div></div>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".image[title=\"image\"]:nth-child(3)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[3]/div[3]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "avoid-inline-spacing", + "ruleIndex": 17, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: No inline styles with '!important' that affect text spacing has been specified.", + "markdown": "The following tests passed:\n- No inline styles with '!important' that affect text spacing has been specified." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div/span/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "avoid-inline-spacing", + "ruleIndex": 17, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: No inline styles with '!important' that affect text spacing has been specified.", + "markdown": "The following tests passed:\n- No inline styles with '!important' that affect text spacing has been specified." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div[2]/span/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "avoid-inline-spacing", + "ruleIndex": 17, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: No inline styles with '!important' that affect text spacing has been specified.", + "markdown": "The following tests passed:\n- No inline styles with '!important' that affect text spacing has been specified." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div[3]/span/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "avoid-inline-spacing", + "ruleIndex": 17, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: No inline styles with '!important' that affect text spacing has been specified.", + "markdown": "The following tests passed:\n- No inline styles with '!important' that affect text spacing has been specified." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "avoid-inline-spacing", + "ruleIndex": 17, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: No inline styles with '!important' that affect text spacing has been specified.", + "markdown": "The following tests passed:\n- No inline styles with '!important' that affect text spacing has been specified." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "bypass", + "ruleIndex": 20, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Valid skip link found. Page has a header.", + "markdown": "The following tests passed:\n- Valid skip link found.\n- Page has a header." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<html>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "html", + "kind": "element" + }, + { + "fullyQualifiedName": "/html", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "h1", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-header']/h1", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<span class=\"subhead\">Inaccessible Home Page</span>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".subhead", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-header']/h1/span", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<p class=\"subline\">Improving a Web site using Web Content Accessibility Guidelines (WCAG) 2.0</p>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".subline", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-header']/p[3]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 13.71.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 13.71." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"../Overview.html\">Overview</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"Overview\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 10.97.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 10.97." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<li class=\"current first\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".current.first", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 5.88.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 5.88." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<strong>Inaccessible:</strong>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".inaccessible > strong", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/ul/li/strong", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 5.88.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 5.88." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".inaccessible > .report[href$=\"home\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/ul/li/a[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 5.4.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 5.4." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<strong>Accessible:</strong>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".accessible > strong", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/strong", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 5.4.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 5.4." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".page[href$=\"home\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 5.4.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 5.4." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".accessible > .report[href$=\"home\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 13.71.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 13.71." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"news.html\">News</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "li:nth-child(3) > a[href$=\"news\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[3]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 13.71.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 13.71." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"tickets.html\">Tickets</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "li:nth-child(4) > a[href$=\"tickets\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[4]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 13.71.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 13.71." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"survey.html\">Survey</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "li:nth-child(5) > a[href$=\"survey\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[5]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 13.71.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 13.71." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"template.html\">Template</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"template\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[6]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<select onchange=\"location.href = this.value;\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "select", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 17.93.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 17.93." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">  <b>Traffic:</b> Construction work on Main Road</font>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[width=\"\\33 80px\"] > font[color=\"BLACK\"][size=\"\\32 \"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td/font", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 17.93.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 17.93." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<b>Traffic:</b>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[width=\"\\33 80px\"] > font[color=\"BLACK\"][size=\"\\32 \"] > b", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td/font/b", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 17.93.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 17.93." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<b>Today:</b>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#WEATHER > font[color=\"BLACK\"][size=\"\\32 \"] > b", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='WEATHER']/font/b", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 7.92.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 7.92." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<p class=\"headline\">Welcome to CityLights</p>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".headline", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='main']/p", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<p>Citylights is the new portal for visitors and residents. Find out what's on, book tickets, and get the latest news.</p>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#main > p:nth-child(2)", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='main']/p[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 17.93.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 17.93." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".newsheadline:nth-child(1) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[2]/div/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 17.93.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 17.93." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".newsheadline:nth-child(2) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[2]/div[2]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 17.93.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 17.93." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".newsheadline:nth-child(3) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[2]/div[3]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 17.93.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 17.93." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<span>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(1) > span", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div/span", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 17.93.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 17.93." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<span>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(2) > span", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div[2]/span", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 17.93.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 17.93." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<span>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(3) > span", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div[3]/span", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 7.92.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 7.92." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<p class=\"subheadline\">Elsewhere on the Web</p>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".subheadline", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<p>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p:nth-child(7)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<span>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p:nth-child(7) > span", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p[2]/span", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 5.82.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 5.82." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(2)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p[2]/span/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 5.82.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 5.82." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(5)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p[2]/span/a[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<b>Artichoke advice telephone hotline: </b>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p:nth-child(7) > b", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p[2]/b", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<div>\"Free penguins\" slogan at zoo benefit concert causes confusion among city rockers. Adjective or verb?<br><a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></div>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[cellpadding=\"\\33 px\"] > tbody > tr > td > div", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 5.82.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 5.82." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<td>More parks and more green throughout the city at the price of already rare car parking spaces, how will this affect you?<br><a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a></td>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"] > tbody > tr > td", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 5.82.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 5.82." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 17.93.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 17.93." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<font color=\"BLACK\" face=\"Verdana\" size=\"1\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "font[size=\"\\31 \"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 4.97.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 4.97." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "font[size=\"\\31 \"] > a[rel=\"Copyright\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 4.97.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 4.97." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<acronym title=\"World Wide Web Consortium\">W3C</acronym>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "font[size=\"\\31 \"] > a[href$=\"w3\\.org\\/\"] > acronym[title=\"World\\ Wide\\ Web\\ Consortium\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[2]/acronym", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 17.93.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 17.93." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<sup>®</sup>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "font[size=\"\\31 \"] > sup", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/sup", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 4.97.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 4.97." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<acronym title=\"Massachusetts Institute of Technology\">MIT</acronym>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "font[size=\"\\31 \"] > a[href$=\"csail\\.mit\\.edu\\/\"] > acronym", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[3]/acronym", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 4.97.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 4.97." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "font[size=\"\\31 \"] > a[href$=\"ercim\\.org\\/\"] > acronym", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[4]/acronym", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 4.97.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 4.97." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.keio.ac.jp/\">Keio</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "font[size=\"\\31 \"] > a[href$=\"keio\\.ac\\.jp\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[5]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<p>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#meta-footer > p:nth-child(2)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<strong>Status:</strong>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p:nth-child(2) > strong", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/strong", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"../changelog.html\">changelog</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"changelog\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/People/shadi/\">Shadi Abou-Zahra</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p:nth-child(2) > a:nth-child(4)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/a[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/WAI/EO/\">Education and Outreach Working Group (EOWG)</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"EO\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/a[3]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<acronym title=\"Web Accessibility Initiative: Training, Implementation, Education, Support\">WAI-TIES</acronym>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"TIES\\/\"] > acronym", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/a[4]/acronym", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<acronym title=\"Web Accessibility Initiative: Ageing Education and Harmonisation\">WAI-AGE</acronym>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"WAI-AGE\\/\"] > acronym", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/a[5]/acronym", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<acronym title=\"Information Society Technologies\">IST</acronym>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p:nth-child(2) > acronym", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/acronym", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"../acks.html\">Acknowledgements</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"acks\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/a[6]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<p>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p:nth-child(3)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/WAI/sitemap.html\" shape=\"rect\">WAI Site Map</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p:nth-child(3) > a[shape=\"rect\"]:nth-child(1)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/WAI/sitehelp.html\" shape=\"rect\">Help with WAI Website</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[shape=\"rect\"]:nth-child(2)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]/a[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/WAI/search.php\" shape=\"rect\">Search</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[shape=\"rect\"]:nth-child(3)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]/a[3]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/WAI/contacts\" shape=\"rect\">Contacting WAI</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"contacts\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]/a[4]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<strong>Feedback welcome to <a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a></strong>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p:nth-child(3) > strong", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]/strong", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href=\"mailto\\:wai-eo-editors\\@w3\\.org\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]/strong/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"mailto:wai@w3.org\" shape=\"rect\">wai@w3.org</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"mailto\\:wai\\@w3\\.org\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]/a[5]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<p>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".copyright > p", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p > a[rel=\"Copyright\"]:nth-child(1)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<acronym title=\"World Wide Web Consortium\">W3C</acronym>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p > a[href$=\"w3\\.org\\/\"] > acronym[title=\"World\\ Wide\\ Web\\ Consortium\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[2]/acronym", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 21.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 21." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<sup>®</sup>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p > sup", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/sup", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<acronym title=\"Massachusetts Institute of Technology\">MIT</acronym>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p > a[href$=\"csail\\.mit\\.edu\\/\"] > acronym", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[3]/acronym", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p > a[href$=\"ercim\\.org\\/\"] > acronym", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[4]/acronym", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.keio.ac.jp/\">Keio</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p > a[href$=\"keio\\.ac\\.jp\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[5]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer\">liability</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".copyright > p > a:nth-child(7)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[6]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks\">trademark</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".copyright > p > a:nth-child(8)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[7]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-documents\">document use</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[rel=\"Copyright\"]:nth-child(9)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[8]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-software\">software licensing</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[rel=\"Copyright\"]:nth-child(10)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[9]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Public\">public</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a:nth-child(11)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[10]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has sufficient color contrast of 8.59.", + "markdown": "The following tests passed:\n- Element has sufficient color contrast of 8.59." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Members\">Member</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a:nth-child(12)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[11]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "document-title", + "ruleIndex": 24, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has a non-empty <title> element.", + "markdown": "The following tests passed:\n- Document has a non-empty <title> element." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<html>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "html", + "kind": "element" + }, + { + "fullyQualifiedName": "/html", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<div id=\"meta-header\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#meta-header", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-header']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<p id=\"skipnav\"><a href=\"#page\">Skip to inaccessible demo page</a></p>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#skipnav", + "kind": "element" + }, + { + "fullyQualifiedName": "/p[@id='skipnav']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<p id=\"logos\"><a href=\"http://www.w3.org/\" title=\"W3C Home\"><img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\"></a><a href=\"http://www.w3.org/WAI/\" title=\"WAI Home\"><img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\"></a></p>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#logos", + "kind": "element" + }, + { + "fullyQualifiedName": "/p[@id='logos']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<div id=\"mnav\" class=\"inaccessible\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#mnav", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<div id=\"page\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#page", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<p class=\"skip\" id=\"startcontent\">Demo starts here</p>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#startcontent", + "kind": "element" + }, + { + "fullyQualifiedName": "/p[@id='startcontent']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<td bgcolor=\"#EDEDED\" align=\"RIGHT\" id=\"WEATHER\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#WEATHER", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='WEATHER']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"home\" onmouseover=\"switchImage('nav_home', './img/nav_home2.gif'); ChangeColor('home','#FFF')\" onmouseout=\"switchImage('nav_home', './img/nav_home.gif'); ChangeColor('home','#EDEDED')\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#home", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='home']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"news\" onmouseover=\"switchImage('nav_news', './img/nav_news2.gif'); ChangeColor('news','#FFF')\" onmouseout=\"switchImage('nav_news', './img/nav_news.gif'); ChangeColor('news','#EDEDED')\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#news", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='news']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"tickets\" onmouseover=\"switchImage('nav_facts', './img/nav_facts2.gif'); ChangeColor('tickets','#FFF')\" onmouseout=\"switchImage('nav_facts', './img/nav_facts.gif'); ChangeColor('tickets','#EDEDED')\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#tickets", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='tickets']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<td width=\"154px\" bgcolor=\"#EDEDED\" id=\"survey\" onmouseover=\"switchImage('nav_survey', './img/nav_survey2.gif'); ChangeColor('survey','#FFF')\" onmouseout=\"switchImage('nav_survey', './img/nav_survey.gif'); ChangeColor('survey','#EDEDED')\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#survey", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='survey']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<td width=\"434px\" height=\"600px\" valign=\"TOP\" id=\"main\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#main", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='main']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<div id=\"content\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#content", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "duplicate-id", + "ruleIndex": 25, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document has no static elements that share the same id attribute.", + "markdown": "The following tests passed:\n- Document has no static elements that share the same id attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<div id=\"meta-footer\" class=\"meta\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#meta-footer", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "empty-heading", + "ruleIndex": 28, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "h1", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-header']/h1", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "form-field-multiple-labels", + "ruleIndex": 29, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Form field does not have multiple label elements.", + "markdown": "The following tests passed:\n- Form field does not have multiple label elements." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<select onchange=\"location.href = this.value;\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "select", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "heading-order", + "ruleIndex": 33, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Heading order valid.", + "markdown": "The following tests passed:\n- Heading order valid." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<h1><span class=\"subhead\">Inaccessible Home Page</span><span class=\"hidden\"> -</span> Before and After Demonstration</h1>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "h1", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-header']/h1", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has a valid alt attribute value. Element has an alt attribute.", + "markdown": "The following tests passed:\n- Element has a valid alt attribute value.\n- Element has an alt attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[alt=\"W3C\\ logo\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/p[@id='logos']/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has a valid alt attribute value. Element has an alt attribute.", + "markdown": "The following tests passed:\n- Element has a valid alt attribute value.\n- Element has an alt attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"wai\\.png\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/p[@id='logos']/a[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has a valid alt attribute value. Element has an alt attribute.", + "markdown": "The following tests passed:\n- Element has a valid alt attribute value.\n- Element has an alt attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"top_logo\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has a valid alt attribute value. Element has an alt attribute.", + "markdown": "The following tests passed:\n- Element has a valid alt attribute value.\n- Element has an alt attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div/span/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has a valid alt attribute value. Element has an alt attribute.", + "markdown": "The following tests passed:\n- Element has a valid alt attribute value.\n- Element has an alt attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div[2]/span/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has a valid alt attribute value. Element has an alt attribute.", + "markdown": "The following tests passed:\n- Element has a valid alt attribute value.\n- Element has an alt attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div[3]/span/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has a valid alt attribute value. Element has an alt attribute.", + "markdown": "The following tests passed:\n- Element has a valid alt attribute value.\n- Element has an alt attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(1)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p[2]/span/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has a valid alt attribute value. Element has an alt attribute.", + "markdown": "The following tests passed:\n- Element has a valid alt attribute value.\n- Element has an alt attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(4)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p[2]/span/img[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-alt", + "ruleIndex": 37, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element has a valid alt attribute value. Element has an alt attribute.", + "markdown": "The following tests passed:\n- Element has a valid alt attribute value.\n- Element has an alt attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/telefon_white_bg.gif\" alt=\"1234 56789\" border=\"0\" align=\"absmiddle\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"telefon_white_bg\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[alt=\"W3C\\ logo\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/p[@id='logos']/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"wai\\.png\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/p[@id='logos']/a[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_left_top.gif\" width=\"10px\" height=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_left_top\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_top.gif\" height=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_top\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_right_top.gif\" width=\"10px\" height=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_right_top\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr/td[3]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_left.gif\" width=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_left\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/top_logo.gif\" width=\"443px\" height=\"86px\" alt=\"Red dot with a white letter 'C' that symbolizes a moon crescent as well as the sun. This logo is followed by a black banner that says 'CITYLIGHTS' which is the name of this online portal. Finally, the slogan of the portal, 'your access to the city', follows in a turquoise green handwriting style and with a slight slant across the top banner.\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"top_logo\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/top_logo_next_end.gif\" width=\"24px\" height=\"86px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"top_logo_next_end\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/top_weather.gif\" width=\"128px\" height=\"86px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"top_weather\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[3]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/top_logo_next_start.gif\" width=\"22px\" height=\"86px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"top_logo_next_start\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[4]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/mark.gif\" width=\"158px\" height=\"7px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"mark\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\".img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[colspan=\"\\35 \"][background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\37 80px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[4]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[width=\"\\31 55px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_t.gif\" width=\"1\" height=\"30px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[width=\"\\31 \"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img name=\"nav_home\" src=\"./img/nav_home.gif\" width=\"88\" height=\"27\" hspace=\"15\" border=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[name=\"nav_home\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='home']/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr[height=\"\\31 px\"]:nth-child(3) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[3]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/nav_news.gif\" name=\"nav_news\" width=\"90\" height=\"21\" hspace=\"12\" border=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"nav_news\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='news']/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr[height=\"\\31 px\"]:nth-child(5) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[5]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img name=\"nav_facts\" src=\"./img/nav_facts.gif\" width=\"105\" height=\"23\" hspace=\"9\" border=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[name=\"nav_facts\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='tickets']/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr[height=\"\\31 px\"]:nth-child(7) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[7]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/nav_survey.gif\" name=\"nav_survey\" width=\"107\" height=\"32\" hspace=\"8\" border=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"nav_survey\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='survey']/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr[height=\"\\31 px\"]:nth-child(9) > td[width=\"\\31 54px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr[9]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[width=\"\\32 0px\"]:nth-child(2) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".newsheadline:nth-child(1) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[2]/div/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".newsheadline:nth-child(2) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[2]/div[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/headline_middle.gif\" width=\"23\" height=\"24\" align=\"absmiddle\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".newsheadline:nth-child(3) > img[src$=\"headline_middle\\.gif\"][width=\"\\32 3\"][height=\"\\32 4\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[2]/div[3]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(1) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div/span/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(2) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div[2]/span/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/morearrow.gif\" width=\"48\" height=\"10\" alt=\"\" border=\"0\" onmouseover=\"this.src='./img/morearrow_a.gif'\" onmouseout=\"this.src='./img/morearrow.gif'\" style=\"vertical-align: bottom\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".story:nth-child(3) > span > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"] > img[src$=\"morearrow\\.gif\"][width=\"\\34 8\"][height=\"\\31 0\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[4]/div[3]/span/a/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(1)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p[2]/span/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/list_bullets.gif\" alt=\"bullet\" border=\"0\" align=\"absmiddle\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"list_bullets\\.gif\"][alt=\"bullet\"][border=\"\\30 \"]:nth-child(4)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p[2]/span/img[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/telefon_white_bg.gif\" alt=\"1234 56789\" border=\"0\" align=\"absmiddle\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"telefon_white_bg\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/blank_5x5.gif\" width=\"20px\" height=\"5px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[width=\"\\32 0px\"]:nth-child(4) > img[src$=\"blank_5x5\\.gif\"][height=\"\\35 px\"][width=\"\\32 0px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[4]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_t.gif\" width=\"1px\" height=\"30px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"marker2_t\\.gif\"][height=\"\\33 0px\"][width=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[width=\"\\31 51px\"][background=\"\\.\\/img\\/marker2_w\\.gif\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr/td[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/teaser_right1.jpg\" width=\"150px\" height=\"106px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"teaser_right1\\.jpg\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[3]/td/div/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/marker2_w.gif\" width=\"78px\" height=\"1px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[background=\"\\.\\/img\\/marker2_w\\.gif\"][width=\"\\31 50px\"] > img[src$=\"marker2_w\\.gif\"][width=\"\\37 8px\"][height=\"\\31 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[6]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/teaser_right2.jpg\" width=\"150px\" height=\"154px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"teaser_right2\\.jpg\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[8]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_right.gif\" width=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_right\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[3]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_bottom_left.gif\" width=\"10px\" height=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_bottom_left\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_bottom.gif\" height=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_bottom\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[2]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "image-redundant-alt", + "ruleIndex": 38, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element does not duplicate existing text in <img> alt text.", + "markdown": "The following tests passed:\n- Element does not duplicate existing text in <img> alt text." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<img src=\"./img/border_bottom_right.gif\" width=\"10px\" height=\"10px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "img[src$=\"border_bottom_right\\.gif\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[3]/td[3]/img", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "label-title-only", + "ruleIndex": 42, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Form element does not solely use title attribute for its label.", + "markdown": "The following tests passed:\n- Form element does not solely use title attribute for its label." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<select onchange=\"location.href = this.value;\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "select", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td[5]/select", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "landmark-no-duplicate-banner", + "ruleIndex": 47, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document does not have more than one banner landmark.", + "markdown": "The following tests passed:\n- Document does not have more than one banner landmark." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<html>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "html", + "kind": "element" + }, + { + "fullyQualifiedName": "/html", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "landmark-no-duplicate-contentinfo", + "ruleIndex": 48, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Document does not have more than one contentinfo landmark.", + "markdown": "The following tests passed:\n- Document does not have more than one contentinfo landmark." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<html>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "html", + "kind": "element" + }, + { + "fullyQualifiedName": "/html", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "layout-table", + "ruleIndex": 51, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Layout table does not use <th> elements. Layout table does not use <caption> element. Layout table does not use summary attribute.", + "markdown": "The following tests passed:\n- Layout table does not use <th> elements.\n- Layout table does not use <caption> element.\n- Layout table does not use summary attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "layout-table", + "ruleIndex": 51, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Layout table does not use <th> elements. Layout table does not use <caption> element. Layout table does not use summary attribute.", + "markdown": "The following tests passed:\n- Layout table does not use <th> elements.\n- Layout table does not use <caption> element.\n- Layout table does not use summary attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[width=\"\\38 00px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "layout-table", + "ruleIndex": 51, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Layout table does not use <th> elements. Layout table does not use <caption> element. Layout table does not use summary attribute.", + "markdown": "The following tests passed:\n- Layout table does not use <th> elements.\n- Layout table does not use <caption> element.\n- Layout table does not use summary attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[height=\"\\31 44px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "layout-table", + "ruleIndex": 51, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Layout table does not use <th> elements. Layout table does not use <caption> element. Layout table does not use summary attribute.", + "markdown": "The following tests passed:\n- Layout table does not use <th> elements.\n- Layout table does not use <caption> element.\n- Layout table does not use summary attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "layout-table", + "ruleIndex": 51, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Layout table does not use <th> elements. Layout table does not use <caption> element. Layout table does not use summary attribute.", + "markdown": "The following tests passed:\n- Layout table does not use <th> elements.\n- Layout table does not use <caption> element.\n- Layout table does not use summary attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "layout-table", + "ruleIndex": 51, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Layout table does not use <th> elements. Layout table does not use <caption> element. Layout table does not use summary attribute.", + "markdown": "The following tests passed:\n- Layout table does not use <th> elements.\n- Layout table does not use <caption> element.\n- Layout table does not use summary attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "layout-table", + "ruleIndex": 51, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Layout table does not use <th> elements. Layout table does not use <caption> element. Layout table does not use summary attribute.", + "markdown": "The following tests passed:\n- Layout table does not use <th> elements.\n- Layout table does not use <caption> element.\n- Layout table does not use summary attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "layout-table", + "ruleIndex": 51, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Layout table does not use <th> elements. Layout table does not use <caption> element. Layout table does not use summary attribute.", + "markdown": "The following tests passed:\n- Layout table does not use <th> elements.\n- Layout table does not use <caption> element.\n- Layout table does not use summary attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "layout-table", + "ruleIndex": 51, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Layout table does not use <th> elements. Layout table does not use <caption> element. Layout table does not use summary attribute.", + "markdown": "The following tests passed:\n- Layout table does not use <th> elements.\n- Layout table does not use <caption> element.\n- Layout table does not use summary attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "layout-table", + "ruleIndex": 51, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Layout table does not use <th> elements. Layout table does not use <caption> element. Layout table does not use summary attribute.", + "markdown": "The following tests passed:\n- Layout table does not use <th> elements.\n- Layout table does not use <caption> element.\n- Layout table does not use summary attribute." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"#page\">Skip to inaccessible demo page</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"\\#page\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/p[@id='skipnav']/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/\" title=\"W3C Home\"><img alt=\"W3C logo\" src=\"../img/w3c.png\" height=\"48\" width=\"72\"></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[title=\"W3C\\ Home\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/p[@id='logos']/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/WAI/\" title=\"WAI Home\"><img alt=\"Web Accessibility Initiative (WAI) logo\" src=\"../img/wai.png\" height=\"48\"></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"WAI\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/p[@id='logos']/a[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"../Overview.html\">Overview</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"Overview\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".inaccessible > .report[href$=\"home\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/ul/li/a[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".page[href$=\"home\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".accessible > .report[href$=\"home\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/ul/li[2]/a[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".annotoggle", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"news.html\">News</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "li:nth-child(3) > a[href$=\"news\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[3]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"tickets.html\">Tickets</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "li:nth-child(4) > a[href$=\"tickets\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[4]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"survey.html\">Survey</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "li:nth-child(5) > a[href$=\"survey\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[5]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"template.html\">Template</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"template\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[6]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"home.html\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[width=\"\\34 43px\"][background=\"\\.\\/img\\/top_logo_next\\.gif\"][valign=\"MIDDLE\"] > div > a[href$=\"home\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/div/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"news.html\" onfocus=\"blur();\">Heat wave linked to temperatures</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".newsheadline:nth-child(1) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[2]/div/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"news.html\" onfocus=\"blur();\">Man Gets Nine Months in Violin Case</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".newsheadline:nth-child(2) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[2]/div[2]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"news.html\" onfocus=\"blur();\">Lack of brains hinders research</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".newsheadline:nth-child(3) > a[href$=\"news\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/div[2]/div[3]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(2)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p[2]/span/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a onfocus=\"blur();\" href=\"../offsite.html\" target=\"_blank\">Click here</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"offsite\\.html\"][target=\"_blank\"][onfocus=\"blur\\(\\)\\;\"]:nth-child(5)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='content']/p[2]/span/a[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"tickets.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"tickets\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table/tbody/tr/td/div/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"survey.html\" onfocus=\"blur();\" style=\"text-decoration:none;\">Read More...</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"survey\\.html\"][onfocus=\"blur\\(\\)\\;\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table/tbody/tr/td/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "font[size=\"\\31 \"] > a[rel=\"Copyright\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/\"><acronym title=\"World Wide Web Consortium\">W3C</acronym></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "font[size=\"\\31 \"] > a[href$=\"w3\\.org\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.csail.mit.edu/\"><acronym title=\"Massachusetts Institute of Technology\">MIT</acronym></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "font[size=\"\\31 \"] > a[href$=\"csail\\.mit\\.edu\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[3]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.ercim.org/\"><acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "font[size=\"\\31 \"] > a[href$=\"ercim\\.org\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[4]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.keio.ac.jp/\">Keio</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "font[size=\"\\31 \"] > a[href$=\"keio\\.ac\\.jp\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td/font/a[5]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"../changelog.html\">changelog</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"changelog\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/People/shadi/\">Shadi Abou-Zahra</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p:nth-child(2) > a:nth-child(4)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/a[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/WAI/EO/\">Education and Outreach Working Group (EOWG)</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"EO\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/a[3]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/WAI/TIES/\"><acronym title=\"Web Accessibility Initiative: Training, Implementation, Education, Support\">WAI-TIES</acronym></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"TIES\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/a[4]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/WAI/WAI-AGE/\"><acronym title=\"Web Accessibility Initiative: Ageing Education and Harmonisation\">WAI-AGE</acronym></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"WAI-AGE\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/a[5]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"../acks.html\">Acknowledgements</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"acks\\.html\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p/a[6]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/WAI/sitemap.html\" shape=\"rect\">WAI Site Map</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p:nth-child(3) > a[shape=\"rect\"]:nth-child(1)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/WAI/sitehelp.html\" shape=\"rect\">Help with WAI Website</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[shape=\"rect\"]:nth-child(2)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]/a[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/WAI/search.php\" shape=\"rect\">Search</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[shape=\"rect\"]:nth-child(3)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]/a[3]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/WAI/contacts\" shape=\"rect\">Contacting WAI</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"contacts\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]/a[4]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"mailto:wai-eo-editors@w3.org\" shape=\"rect\">wai-eo-editors@w3.org</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href=\"mailto\\:wai-eo-editors\\@w3\\.org\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]/strong/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"mailto:wai@w3.org\" shape=\"rect\">wai@w3.org</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"mailto\\:wai\\@w3\\.org\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/p[2]/a[5]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright\">Copyright</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p > a[rel=\"Copyright\"]:nth-child(1)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/\"><acronym title=\"World Wide Web Consortium\">W3C</acronym></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".copyright > p > a[href$=\"w3\\.org\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.csail.mit.edu/\"><acronym title=\"Massachusetts Institute of Technology\">MIT</acronym></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p > a[href$=\"csail\\.mit\\.edu\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[3]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.ercim.org/\"><acronym title=\"European Research Consortium for Informatics and Mathematics\">ERCIM</acronym></a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p > a[href$=\"ercim\\.org\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[4]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.keio.ac.jp/\">Keio</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "p > a[href$=\"keio\\.ac\\.jp\\/\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[5]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer\">liability</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".copyright > p > a:nth-child(7)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[6]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks\">trademark</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".copyright > p > a:nth-child(8)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[7]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-documents\">document use</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[rel=\"Copyright\"]:nth-child(9)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[8]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a rel=\"Copyright\" href=\"http://www.w3.org/Consortium/Legal/copyright-software\">software licensing</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[rel=\"Copyright\"]:nth-child(10)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[9]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Public\">public</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a:nth-child(11)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[10]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "link-name", + "ruleIndex": 52, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Element is not in tab order or has accessible text. Element has text that is visible to screen readers.", + "markdown": "The following tests passed:\n- Element is not in tab order or has accessible text.\n- Element has text that is visible to screen readers." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"http://www.w3.org/Consortium/Legal/privacy-statement#Members\">Member</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a:nth-child(12)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='meta-footer']/div/p/a[11]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "list", + "ruleIndex": 53, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: List element only has direct children that are allowed inside <li> elements.", + "markdown": "The following tests passed:\n- List element only has direct children that are allowed inside <li> elements." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<ul>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#mnav > ul", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "list", + "ruleIndex": 53, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: List element only has direct children that are allowed inside <li> elements.", + "markdown": "The following tests passed:\n- List element only has direct children that are allowed inside <li> elements." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<ul>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".subnav > ul", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/ul", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "listitem", + "ruleIndex": 54, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: List item has a <ul>, <ol> or role=\"list\" parent element.", + "markdown": "The following tests passed:\n- List item has a <ul>, <ol> or role=\"list\" parent element." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<li class=\"first\"><a href=\"../Overview.html\">Overview</a></li>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".first:nth-child(1)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "listitem", + "ruleIndex": 54, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: List item has a <ul>, <ol> or role=\"list\" parent element.", + "markdown": "The following tests passed:\n- List item has a <ul>, <ol> or role=\"list\" parent element." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<li class=\"current first\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".current.first", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "listitem", + "ruleIndex": 54, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: List item has a <ul>, <ol> or role=\"list\" parent element.", + "markdown": "The following tests passed:\n- List item has a <ul>, <ol> or role=\"list\" parent element." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<li class=\"inaccessible\"><strong>Inaccessible:</strong><a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a><a href=\"./reports/home.html\" class=\"report\"><span class=\"hidden\">Inaccessible Home Page </span> Report</a></li>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "ul > .inaccessible", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/ul/li", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "listitem", + "ruleIndex": 54, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: List item has a <ul>, <ol> or role=\"list\" parent element.", + "markdown": "The following tests passed:\n- List item has a <ul>, <ol> or role=\"list\" parent element." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<li class=\"accessible\"><strong>Accessible:</strong><a href=\"../after/home.html\" class=\"page\"><span class=\"hidden\">Accessible </span>Home Page</a><a href=\"../after/reports/home.html\" class=\"report\"><span class=\"hidden\">Accessible Home Page </span> Report</a></li>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".accessible", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/ul/li[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "listitem", + "ruleIndex": 54, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: List item has a <ul>, <ol> or role=\"list\" parent element.", + "markdown": "The following tests passed:\n- List item has a <ul>, <ol> or role=\"list\" parent element." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<li><a href=\"news.html\">News</a></li>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "li:nth-child(3)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[3]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "listitem", + "ruleIndex": 54, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: List item has a <ul>, <ol> or role=\"list\" parent element.", + "markdown": "The following tests passed:\n- List item has a <ul>, <ol> or role=\"list\" parent element." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<li><a href=\"tickets.html\">Tickets</a></li>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "li:nth-child(4)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[4]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "listitem", + "ruleIndex": 54, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: List item has a <ul>, <ol> or role=\"list\" parent element.", + "markdown": "The following tests passed:\n- List item has a <ul>, <ol> or role=\"list\" parent element." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<li><a href=\"survey.html\">Survey</a></li>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "li:nth-child(5)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[5]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "listitem", + "ruleIndex": 54, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: List item has a <ul>, <ol> or role=\"list\" parent element.", + "markdown": "The following tests passed:\n- List item has a <ul>, <ol> or role=\"list\" parent element." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<li><a href=\"template.html\">Template</a></li>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "li:nth-child(6)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[6]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "page-has-heading-one", + "ruleIndex": 60, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Page has at least one level-one heading.", + "markdown": "The following tests passed:\n- Page has at least one level-one heading." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<html>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "html", + "kind": "element" + }, + { + "fullyQualifiedName": "/html", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "skip-link", + "ruleIndex": 66, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Skip link target exists.", + "markdown": "The following tests passed:\n- Skip link target exists." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"#page\">Skip to inaccessible demo page</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "a[href$=\"\\#page\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/p[@id='skipnav']/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "table-duplicate-name", + "ruleIndex": 68, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Content of summary attribute and <caption> are not duplicated.", + "markdown": "The following tests passed:\n- Content of summary attribute and <caption> are not duplicated." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "table-duplicate-name", + "ruleIndex": 68, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Content of summary attribute and <caption> are not duplicated.", + "markdown": "The following tests passed:\n- Content of summary attribute and <caption> are not duplicated." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[width=\"\\38 00px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "table-duplicate-name", + "ruleIndex": 68, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Content of summary attribute and <caption> are not duplicated.", + "markdown": "The following tests passed:\n- Content of summary attribute and <caption> are not duplicated." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[height=\"\\31 44px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "table-duplicate-name", + "ruleIndex": 68, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Content of summary attribute and <caption> are not duplicated.", + "markdown": "The following tests passed:\n- Content of summary attribute and <caption> are not duplicated." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "table-duplicate-name", + "ruleIndex": 68, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Content of summary attribute and <caption> are not duplicated.", + "markdown": "The following tests passed:\n- Content of summary attribute and <caption> are not duplicated." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "table-duplicate-name", + "ruleIndex": 68, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Content of summary attribute and <caption> are not duplicated.", + "markdown": "The following tests passed:\n- Content of summary attribute and <caption> are not duplicated." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "table-duplicate-name", + "ruleIndex": 68, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Content of summary attribute and <caption> are not duplicated.", + "markdown": "The following tests passed:\n- Content of summary attribute and <caption> are not duplicated." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "table-duplicate-name", + "ruleIndex": 68, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Content of summary attribute and <caption> are not duplicated.", + "markdown": "The following tests passed:\n- Content of summary attribute and <caption> are not duplicated." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "table-duplicate-name", + "ruleIndex": 68, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Content of summary attribute and <caption> are not duplicated.", + "markdown": "The following tests passed:\n- Content of summary attribute and <caption> are not duplicated." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "table-duplicate-name", + "ruleIndex": 68, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: Content of summary attribute and <caption> are not duplicated.", + "markdown": "The following tests passed:\n- Content of summary attribute and <caption> are not duplicated." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "td-headers-attr", + "ruleIndex": 69, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: The headers attribute is exclusively used to refer to other cells in the table.", + "markdown": "The following tests passed:\n- The headers attribute is exclusively used to refer to other cells in the table." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"100%\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#D7D7CD\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[width=\"\\31 00\\%\"][bgcolor=\"\\#D7D7CD\"][cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "td-headers-attr", + "ruleIndex": 69, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: The headers attribute is exclusively used to refer to other cells in the table.", + "markdown": "The following tests passed:\n- The headers attribute is exclusively used to refer to other cells in the table." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"800px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[width=\"\\38 00px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "td-headers-attr", + "ruleIndex": 69, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: The headers attribute is exclusively used to refer to other cells in the table.", + "markdown": "The following tests passed:\n- The headers attribute is exclusively used to refer to other cells in the table." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"780px\" height=\"144px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[height=\"\\31 44px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "td-headers-attr", + "ruleIndex": 69, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: The headers attribute is exclusively used to refer to other cells in the table.", + "markdown": "The following tests passed:\n- The headers attribute is exclusively used to refer to other cells in the table." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "td[colspan=\"\\35 \"] > table[cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "td-headers-attr", + "ruleIndex": 69, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: The headers attribute is exclusively used to refer to other cells in the table.", + "markdown": "The following tests passed:\n- The headers attribute is exclusively used to refer to other cells in the table." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"780px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"WHITE\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[bgcolor=\"WHITE\"][cellpadding=\"\\30 px\"]:nth-child(2)", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "td-headers-attr", + "ruleIndex": 69, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: The headers attribute is exclusively used to refer to other cells in the table.", + "markdown": "The following tests passed:\n- The headers attribute is exclusively used to refer to other cells in the table." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"155px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[width=\"\\31 55px\"][cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "td-headers-attr", + "ruleIndex": 69, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: The headers attribute is exclusively used to refer to other cells in the table.", + "markdown": "The following tests passed:\n- The headers attribute is exclusively used to refer to other cells in the table." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"151px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[width=\"\\31 51px\"][cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "td-headers-attr", + "ruleIndex": 69, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: The headers attribute is exclusively used to refer to other cells in the table.", + "markdown": "The following tests passed:\n- The headers attribute is exclusively used to refer to other cells in the table." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr:nth-child(4) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[4]/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "td-headers-attr", + "ruleIndex": 69, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: The headers attribute is exclusively used to refer to other cells in the table.", + "markdown": "The following tests passed:\n- The headers attribute is exclusively used to refer to other cells in the table." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"150px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"3px\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "tr:nth-child(9) > td[width=\"\\31 50px\"] > table[cellpadding=\"\\33 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[5]/table/tbody/tr[9]/td/table", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "td-headers-attr", + "ruleIndex": 69, + "kind": "pass", + "level": "none", + "message": { + "text": "The following tests passed: The headers attribute is exclusively used to refer to other cells in the table.", + "markdown": "The following tests passed:\n- The headers attribute is exclusively used to refer to other cells in the table." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<table width=\"780px\" height=\"17px\" border=\"0px\" cellspacing=\"0px\" cellpadding=\"0px\" bgcolor=\"#EDEDED\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "table[height=\"\\31 7px\"][bgcolor=\"\\#EDEDED\"][cellpadding=\"\\30 px\"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='page']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "open", + "level": "none", + "message": { + "text": "The following tests passed: Element's background color could not be determined due to a background image.", + "markdown": "The following tests passed:\n- Element's background color could not be determined due to a background image." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a class=\"page current\"><span class=\"hidden\">Inaccessible </span>Home Page</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".page.current", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/ul/li/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "open", + "level": "none", + "message": { + "text": "The following tests passed: Element's background color could not be determined due to a background image.", + "markdown": "The following tests passed:\n- Element's background color could not be determined due to a background image." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<a href=\"./annotated/home.html\" class=\"annotoggle\">Show <br>Annotations</a>" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": ".annotoggle", + "kind": "element" + }, + { + "fullyQualifiedName": "/div[@id='mnav']/ul/li[2]/div/a", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "color-contrast", + "ruleIndex": 21, + "kind": "open", + "level": "none", + "message": { + "text": "The following tests passed: Element's background color could not be determined because it is overlapped by another element.", + "markdown": "The following tests passed:\n- Element's background color could not be determined because it is overlapped by another element." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "https://www.w3.org/WAI/demos/bad/before/home.html", + "index": 0 + }, + "region": { + "snippet": { + "text": "<font color=\"BLACK\" face=\"Verdana\" size=\"2\">" + } + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "#WEATHER > font[color=\"BLACK\"][size=\"\\32 \"]", + "kind": "element" + }, + { + "fullyQualifiedName": "/td[@id='WEATHER']/font", + "kind": "element" + } + ] + } + ] + }, + { + "ruleId": "accesskeys", + "ruleIndex": 0, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures every accesskey attribute value is unique." + }, + "locations": [] + }, + { + "ruleId": "area-alt", + "ruleIndex": 1, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <area> elements of image maps have alternate text." + }, + "locations": [] + }, + { + "ruleId": "aria-allowed-attr", + "ruleIndex": 2, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures ARIA attributes are allowed for an element's role." + }, + "locations": [] + }, + { + "ruleId": "aria-allowed-role", + "ruleIndex": 3, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures role attribute has an appropriate value for the element." + }, + "locations": [] + }, + { + "ruleId": "aria-dpub-role-fallback", + "ruleIndex": 4, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures unsupported DPUB roles are only used on elements with implicit fallback roles." + }, + "locations": [] + }, + { + "ruleId": "aria-hidden-focus", + "ruleIndex": 6, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures aria-hidden elements do not contain focusable elements." + }, + "locations": [] + }, + { + "ruleId": "aria-input-field-name", + "ruleIndex": 7, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures every ARIA input field has an accessible name." + }, + "locations": [] + }, + { + "ruleId": "aria-required-attr", + "ruleIndex": 8, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures elements with ARIA roles have all required ARIA attributes." + }, + "locations": [] + }, + { + "ruleId": "aria-required-children", + "ruleIndex": 9, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures elements with an ARIA role that require child roles contain them." + }, + "locations": [] + }, + { + "ruleId": "aria-required-parent", + "ruleIndex": 10, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures elements with an ARIA role that require parent roles are contained by them." + }, + "locations": [] + }, + { + "ruleId": "aria-roledescription", + "ruleIndex": 11, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensure aria-roledescription is only used on elements with an implicit or explicit role." + }, + "locations": [] + }, + { + "ruleId": "aria-roles", + "ruleIndex": 12, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures all elements with a role attribute use a valid value." + }, + "locations": [] + }, + { + "ruleId": "aria-toggle-field-name", + "ruleIndex": 13, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures every ARIA toggle field has an accessible name." + }, + "locations": [] + }, + { + "ruleId": "aria-valid-attr-value", + "ruleIndex": 15, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures all ARIA attributes have valid values." + }, + "locations": [] + }, + { + "ruleId": "aria-valid-attr", + "ruleIndex": 14, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures attributes that begin with aria- are valid ARIA attributes." + }, + "locations": [] + }, + { + "ruleId": "autocomplete-valid", + "ruleIndex": 16, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensure the autocomplete attribute is correct and suitable for the form field." + }, + "locations": [] + }, + { + "ruleId": "blink", + "ruleIndex": 18, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <blink> elements are not used." + }, + "locations": [] + }, + { + "ruleId": "button-name", + "ruleIndex": 19, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures buttons have discernible text." + }, + "locations": [] + }, + { + "ruleId": "definition-list", + "ruleIndex": 22, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <dl> elements are structured correctly." + }, + "locations": [] + }, + { + "ruleId": "dlitem", + "ruleIndex": 23, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <dt> and <dd> elements are contained by a <dl>." + }, + "locations": [] + }, + { + "ruleId": "duplicate-id-active", + "ruleIndex": 26, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures every id attribute value of active elements is unique." + }, + "locations": [] + }, + { + "ruleId": "duplicate-id-aria", + "ruleIndex": 27, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures every id attribute value used in ARIA and in labels is unique." + }, + "locations": [] + }, + { + "ruleId": "frame-tested", + "ruleIndex": 30, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <iframe> and <frame> elements contain the axe-core script." + }, + "locations": [] + }, + { + "ruleId": "frame-title-unique", + "ruleIndex": 32, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <iframe> and <frame> elements contain a unique title attribute." + }, + "locations": [] + }, + { + "ruleId": "frame-title", + "ruleIndex": 31, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <iframe> and <frame> elements contain a non-empty title attribute." + }, + "locations": [] + }, + { + "ruleId": "html-lang-valid", + "ruleIndex": 35, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures the lang attribute of the <html> element has a valid value." + }, + "locations": [] + }, + { + "ruleId": "html-xml-lang-mismatch", + "ruleIndex": 36, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page." + }, + "locations": [] + }, + { + "ruleId": "input-button-name", + "ruleIndex": 39, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures input buttons have discernible text." + }, + "locations": [] + }, + { + "ruleId": "input-image-alt", + "ruleIndex": 40, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <input type=\"image\"> elements have alternate text." + }, + "locations": [] + }, + { + "ruleId": "landmark-banner-is-top-level", + "ruleIndex": 43, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures the banner landmark is at top level." + }, + "locations": [] + }, + { + "ruleId": "landmark-complementary-is-top-level", + "ruleIndex": 44, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures the complementary landmark or aside is at top level." + }, + "locations": [] + }, + { + "ruleId": "landmark-contentinfo-is-top-level", + "ruleIndex": 45, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures the contentinfo landmark is at top level." + }, + "locations": [] + }, + { + "ruleId": "landmark-main-is-top-level", + "ruleIndex": 46, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures the main landmark is at top level." + }, + "locations": [] + }, + { + "ruleId": "landmark-unique", + "ruleIndex": 50, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Landmarks must have a unique role or role/label/title (i.e. accessible name) combination." + }, + "locations": [] + }, + { + "ruleId": "marquee", + "ruleIndex": 55, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <marquee> elements are not used." + }, + "locations": [] + }, + { + "ruleId": "meta-refresh", + "ruleIndex": 56, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <meta http-equiv=\"refresh\"> is not used." + }, + "locations": [] + }, + { + "ruleId": "meta-viewport-large", + "ruleIndex": 58, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <meta name=\"viewport\"> can scale a significant amount." + }, + "locations": [] + }, + { + "ruleId": "meta-viewport", + "ruleIndex": 57, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <meta name=\"viewport\"> does not disable text scaling and zooming." + }, + "locations": [] + }, + { + "ruleId": "object-alt", + "ruleIndex": 59, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <object> elements have alternate text." + }, + "locations": [] + }, + { + "ruleId": "role-img-alt", + "ruleIndex": 62, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures [role='img'] elements have alternate text." + }, + "locations": [] + }, + { + "ruleId": "scope-attr-valid", + "ruleIndex": 63, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures the scope attribute is used correctly on tables." + }, + "locations": [] + }, + { + "ruleId": "scrollable-region-focusable", + "ruleIndex": 64, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Elements that have scrollable content should be accessible by keyboard." + }, + "locations": [] + }, + { + "ruleId": "server-side-image-map", + "ruleIndex": 65, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures that server-side image maps are not used." + }, + "locations": [] + }, + { + "ruleId": "tabindex", + "ruleIndex": 67, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures tabindex attribute values are not greater than 0." + }, + "locations": [] + }, + { + "ruleId": "th-has-data-cells", + "ruleIndex": 70, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensure that each table header in a data table refers to data cells." + }, + "locations": [] + }, + { + "ruleId": "valid-lang", + "ruleIndex": 71, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures lang attributes have valid values." + }, + "locations": [] + }, + { + "ruleId": "video-caption", + "ruleIndex": 72, + "kind": "notApplicable", + "level": "none", + "message": { + "text": "Ensures <video> elements have captions." + }, + "locations": [] + } + ], + "taxonomies": [ + { + "name": "WCAG", + "fullName": "Web Content Accessibility Guidelines (WCAG) 2.1", + "organization": "W3C", + "informationUri": "https://www.w3.org/TR/WCAG21", + "version": "2.1", + "guid": "ca34e0e1-5faf-4f55-a989-cdae42a98f18", + "isComprehensive": true, + "taxa": [ + { + "id": "best-practice", + "name": "Best Practice" + }, + { + "id": "wcag111", + "name": "WCAG 1.1.1", + "shortDescription": { + "text": "Non-text Content" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/non-text-content" + }, + { + "id": "wcag121", + "name": "WCAG 1.2.1", + "shortDescription": { + "text": "Audio-only and Video-only (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/audio-only-and-video-only-prerecorded" + }, + { + "id": "wcag122", + "name": "WCAG 1.2.2", + "shortDescription": { + "text": "Captions (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/captions-prerecorded" + }, + { + "id": "wcag123", + "name": "WCAG 1.2.3", + "shortDescription": { + "text": "Audio Description or Media Alternative (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/audio-description-or-media-alternative-prerecorded" + }, + { + "id": "wcag124", + "name": "WCAG 1.2.4", + "shortDescription": { + "text": "Captions (Live)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/captions-live" + }, + { + "id": "wcag125", + "name": "WCAG 1.2.5", + "shortDescription": { + "text": "Audio Description (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/audio-description-prerecorded" + }, + { + "id": "wcag126", + "name": "WCAG 1.2.6", + "shortDescription": { + "text": "Sign Language (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/sign-language-prerecorded" + }, + { + "id": "wcag127", + "name": "WCAG 1.2.7", + "shortDescription": { + "text": "Extended Audio Description (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/extended-audio-description-prerecorded" + }, + { + "id": "wcag128", + "name": "WCAG 1.2.8", + "shortDescription": { + "text": "Media Alternative (Prerecorded)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/media-alternative-prerecorded" + }, + { + "id": "wcag129", + "name": "WCAG 1.2.9", + "shortDescription": { + "text": "Audio-only (Live)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/audio-only-live" + }, + { + "id": "wcag131", + "name": "WCAG 1.3.1", + "shortDescription": { + "text": "Info and Relationships" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/info-and-relationships" + }, + { + "id": "wcag132", + "name": "WCAG 1.3.2", + "shortDescription": { + "text": "Meaningful Sequence" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/meaningful-sequence" + }, + { + "id": "wcag133", + "name": "WCAG 1.3.3", + "shortDescription": { + "text": "Sensory Characteristics" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/sensory-characteristics" + }, + { + "id": "wcag134", + "name": "WCAG 1.3.4", + "shortDescription": { + "text": "Orientation" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/orientation" + }, + { + "id": "wcag135", + "name": "WCAG 1.3.5", + "shortDescription": { + "text": "Identify Input Purpose" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose" + }, + { + "id": "wcag136", + "name": "WCAG 1.3.6", + "shortDescription": { + "text": "Identify Purpose" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/identify-purpose" + }, + { + "id": "wcag141", + "name": "WCAG 1.4.1", + "shortDescription": { + "text": "Use of Color" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/use-of-color" + }, + { + "id": "wcag1410", + "name": "WCAG 1.4.10", + "shortDescription": { + "text": "Reflow" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/reflow" + }, + { + "id": "wcag1411", + "name": "WCAG 1.4.11", + "shortDescription": { + "text": "Non-text Contrast" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/non-text-contrast" + }, + { + "id": "wcag1412", + "name": "WCAG 1.4.12", + "shortDescription": { + "text": "Text Spacing" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/text-spacing" + }, + { + "id": "wcag1413", + "name": "WCAG 1.4.13", + "shortDescription": { + "text": "Content on Hover or Focus" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/content-on-hover-or-focus" + }, + { + "id": "wcag142", + "name": "WCAG 1.4.2", + "shortDescription": { + "text": "Audio Control" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/audio-control" + }, + { + "id": "wcag143", + "name": "WCAG 1.4.3", + "shortDescription": { + "text": "Contrast (Minimum)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum" + }, + { + "id": "wcag144", + "name": "WCAG 1.4.4", + "shortDescription": { + "text": "Resize text" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/resize-text" + }, + { + "id": "wcag145", + "name": "WCAG 1.4.5", + "shortDescription": { + "text": "Images of Text" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/images-of-text" + }, + { + "id": "wcag146", + "name": "WCAG 1.4.6", + "shortDescription": { + "text": "Contrast (Enhanced)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced" + }, + { + "id": "wcag147", + "name": "WCAG 1.4.7", + "shortDescription": { + "text": "Low or No Background Audio" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/low-or-no-background-audio" + }, + { + "id": "wcag148", + "name": "WCAG 1.4.8", + "shortDescription": { + "text": "Visual Presentation" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/visual-presentation" + }, + { + "id": "wcag149", + "name": "WCAG 1.4.9", + "shortDescription": { + "text": "Images of Text (No Exception)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/images-of-text-no-exception" + }, + { + "id": "wcag211", + "name": "WCAG 2.1.1", + "shortDescription": { + "text": "Keyboard" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/keyboard" + }, + { + "id": "wcag212", + "name": "WCAG 2.1.2", + "shortDescription": { + "text": "No Keyboard Trap" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/no-keyboard-trap" + }, + { + "id": "wcag213", + "name": "WCAG 2.1.3", + "shortDescription": { + "text": "Keyboard (No Exception)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/keyboard-no-exception" + }, + { + "id": "wcag214", + "name": "WCAG 2.1.4", + "shortDescription": { + "text": "Character Key Shortcuts" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/character-key-shortcuts" + }, + { + "id": "wcag221", + "name": "WCAG 2.2.1", + "shortDescription": { + "text": "Timing Adjustable" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/timing-adjustable" + }, + { + "id": "wcag222", + "name": "WCAG 2.2.2", + "shortDescription": { + "text": "Pause, Stop, Hide" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/pause-stop-hide" + }, + { + "id": "wcag223", + "name": "WCAG 2.2.3", + "shortDescription": { + "text": "No Timing" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/no-timing" + }, + { + "id": "wcag224", + "name": "WCAG 2.2.4", + "shortDescription": { + "text": "Interruptions" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/interruptions" + }, + { + "id": "wcag225", + "name": "WCAG 2.2.5", + "shortDescription": { + "text": "Re-authenticating" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/re-authenticating" + }, + { + "id": "wcag226", + "name": "WCAG 2.2.6", + "shortDescription": { + "text": "Timeouts" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/timeouts" + }, + { + "id": "wcag231", + "name": "WCAG 2.3.1", + "shortDescription": { + "text": "Three Flashes or Below Threshold" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/three-flashes-or-below-threshold" + }, + { + "id": "wcag232", + "name": "WCAG 2.3.2", + "shortDescription": { + "text": "Three Flashes" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/three-flashes" + }, + { + "id": "wcag233", + "name": "WCAG 2.3.3", + "shortDescription": { + "text": "Animation from Interactions" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/animation-from-interactions" + }, + { + "id": "wcag241", + "name": "WCAG 2.4.1", + "shortDescription": { + "text": "Bypass Blocks" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/bypass-blocks" + }, + { + "id": "wcag2410", + "name": "WCAG 2.4.10", + "shortDescription": { + "text": "Section Headings" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/section-headings" + }, + { + "id": "wcag242", + "name": "WCAG 2.4.2", + "shortDescription": { + "text": "Page Titled" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/page-titled" + }, + { + "id": "wcag243", + "name": "WCAG 2.4.3", + "shortDescription": { + "text": "Focus Order" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/focus-order" + }, + { + "id": "wcag244", + "name": "WCAG 2.4.4", + "shortDescription": { + "text": "Link Purpose (In Context)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/link-purpose-in-context" + }, + { + "id": "wcag245", + "name": "WCAG 2.4.5", + "shortDescription": { + "text": "Multiple Ways" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/multiple-ways" + }, + { + "id": "wcag246", + "name": "WCAG 2.4.6", + "shortDescription": { + "text": "Headings and Labels" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/headings-and-labels" + }, + { + "id": "wcag247", + "name": "WCAG 2.4.7", + "shortDescription": { + "text": "Focus Visible" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/focus-visible" + }, + { + "id": "wcag248", + "name": "WCAG 2.4.8", + "shortDescription": { + "text": "Location" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/location" + }, + { + "id": "wcag249", + "name": "WCAG 2.4.9", + "shortDescription": { + "text": "Link Purpose (Link Only)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/link-purpose-link-only" + }, + { + "id": "wcag251", + "name": "WCAG 2.5.1", + "shortDescription": { + "text": "Pointer Gestures" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/pointer-gestures" + }, + { + "id": "wcag252", + "name": "WCAG 2.5.2", + "shortDescription": { + "text": "Pointer Cancellation" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/pointer-cancellation" + }, + { + "id": "wcag253", + "name": "WCAG 2.5.3", + "shortDescription": { + "text": "Label in Name" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/label-in-name" + }, + { + "id": "wcag254", + "name": "WCAG 2.5.4", + "shortDescription": { + "text": "Motion Actuation" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/motion-actuation" + }, + { + "id": "wcag255", + "name": "WCAG 2.5.5", + "shortDescription": { + "text": "Target Size" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/target-size" + }, + { + "id": "wcag256", + "name": "WCAG 2.5.6", + "shortDescription": { + "text": "Concurrent Input Mechanisms" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/concurrent-input-mechanisms" + }, + { + "id": "wcag311", + "name": "WCAG 3.1.1", + "shortDescription": { + "text": "Language of Page" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/language-of-page" + }, + { + "id": "wcag312", + "name": "WCAG 3.1.2", + "shortDescription": { + "text": "Language of Parts" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/language-of-parts" + }, + { + "id": "wcag313", + "name": "WCAG 3.1.3", + "shortDescription": { + "text": "Unusual Words" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/unusual-words" + }, + { + "id": "wcag314", + "name": "WCAG 3.1.4", + "shortDescription": { + "text": "Abbreviations" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/abbreviations" + }, + { + "id": "wcag315", + "name": "WCAG 3.1.5", + "shortDescription": { + "text": "Reading Level" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/reading-level" + }, + { + "id": "wcag316", + "name": "WCAG 3.1.6", + "shortDescription": { + "text": "Pronunciation" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/pronunciation" + }, + { + "id": "wcag321", + "name": "WCAG 3.2.1", + "shortDescription": { + "text": "On Focus" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/on-focus" + }, + { + "id": "wcag322", + "name": "WCAG 3.2.2", + "shortDescription": { + "text": "On Input" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/on-input" + }, + { + "id": "wcag323", + "name": "WCAG 3.2.3", + "shortDescription": { + "text": "Consistent Navigation" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/consistent-navigation" + }, + { + "id": "wcag324", + "name": "WCAG 3.2.4", + "shortDescription": { + "text": "Consistent Identification" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/consistent-identification" + }, + { + "id": "wcag325", + "name": "WCAG 3.2.5", + "shortDescription": { + "text": "Change on Request" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/change-on-request" + }, + { + "id": "wcag331", + "name": "WCAG 3.3.1", + "shortDescription": { + "text": "Error Identification" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/error-identification" + }, + { + "id": "wcag332", + "name": "WCAG 3.3.2", + "shortDescription": { + "text": "Labels or Instructions" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/labels-or-instructions" + }, + { + "id": "wcag333", + "name": "WCAG 3.3.3", + "shortDescription": { + "text": "Error Suggestion" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/error-suggestion" + }, + { + "id": "wcag334", + "name": "WCAG 3.3.4", + "shortDescription": { + "text": "Error Prevention (Legal, Financial, Data)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/error-prevention-legal-financial-data" + }, + { + "id": "wcag335", + "name": "WCAG 3.3.5", + "shortDescription": { + "text": "Help" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/help" + }, + { + "id": "wcag336", + "name": "WCAG 3.3.6", + "shortDescription": { + "text": "Error Prevention (All)" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/error-prevention-all" + }, + { + "id": "wcag411", + "name": "WCAG 4.1.1", + "shortDescription": { + "text": "Parsing" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/parsing" + }, + { + "id": "wcag412", + "name": "WCAG 4.1.2", + "shortDescription": { + "text": "Name, Role, Value" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/name-role-value" + }, + { + "id": "wcag413", + "name": "WCAG 4.1.3", + "shortDescription": { + "text": "Status Messages" + }, + "helpUri": "https://www.w3.org/WAI/WCAG21/Understanding/status-messages" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index e4471cda..d30ef235 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,5 +12,5 @@ "target": "es5" }, "include": ["src/**/*"], - "exclude": ["node_modules", "**/*.test.ts"] + "exclude": ["node_modules", "**/*.test.ts", "src/test-resources/generator"] } diff --git a/yarn.lock b/yarn.lock index 494cd8fc..13af88ac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -875,9 +875,9 @@ aws4@^1.8.0: integrity sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A== axe-core@^3.2.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.3.2.tgz#7baf3c55a5cf1621534a2c38735f5a1bf2f7e1a8" - integrity sha512-lRdxsRt7yNhqpcXQk1ao1BL73OZDzmFCWOG0mC4tGR/r14ohH2payjHwCMQjHGbBKm924eDlmG7utAGHiX/A6g== + version "3.4.1" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.4.1.tgz#e42623918bb85b5ef674633852cb9029db0309c5" + integrity sha512-+EhIdwR0hF6aeMx46gFDUy6qyCfsL0DmBrV3Z+LxYbsOd8e1zBaPHa3f9Rbjsz2dEwSBkLw6TwML/CAIIAqRpw== babel-jest@^24.9.0: version "24.9.0"