diff --git a/.circleci/config.yml b/.circleci/config.yml
index 450be0423c..dbe006fb84 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -11,13 +11,7 @@ unix_nightly_box: &unix_nightly_box
docker:
- image: cimg/node:lts-browsers
-win_box: &win_box
- executor:
- name: win/default
- shell: bash.exe
-
orbs:
- win: circleci/windows@2.2.0
puppeteer: threetreeslight/puppeteer@0.1.2
browser-tools: circleci/browser-tools@1.1.0
@@ -30,12 +24,6 @@ restore_dependency_cache_unix: &restore_dependency_cache_unix
- v9-cache-unix-{{ checksum "package-lock.json" }}
- v9-cache-unix-
-restore_dependency_cache_win: &restore_dependency_cache_win
- restore_cache:
- keys:
- - v9-cache-win-{{ checksum "package-lock.json" }}
- - v9-cache-win-
-
jobs:
# Fetch and cache dependencies.
dependencies_unix:
@@ -52,18 +40,6 @@ jobs:
key: v9-cache-unix-{{ checksum "package-lock.json" }}
paths:
- node_modules
- dependencies_win:
- <<: *defaults
- <<: *win_box
- steps:
- - checkout
- - <<: *set_npm_auth
- - <<: *restore_dependency_cache_win
- - run: npm ci
- - save_cache:
- key: v9-cache-win-{{ checksum "package-lock.json" }}
- paths:
- - node_modules
# Run ESLINT
lint:
@@ -88,23 +64,6 @@ jobs:
- run: npm run test:integration:chrome
- run: npm run test:integration:firefox
- # Run the test suite in IE in windows
- test_win:
- <<: *defaults
- <<: *win_box
- steps:
- - checkout
- # npm i or restore cache
- - <<: *restore_dependency_cache_win
- - run: npm run build
- - run: npm run test -- --browsers IE
- # install selenium
- - run: |
- choco install selenium-ie-driver --version 3.141.5
- export PATH=/c/tools/selenium:$PATH
- echo $PATH
- - run: npm run test:integration:ie
-
# Run examples under `doc/examples`
test_examples:
<<: *defaults
@@ -312,7 +271,6 @@ workflows:
jobs:
# install deps
- dependencies_unix
- - dependencies_win
# Run linting
- lint:
requires:
@@ -321,10 +279,6 @@ workflows:
- test_unix:
requires:
- lint
- # Run IE/ Windows test on all commits
- - test_win:
- requires:
- - dependencies_win
- test_examples:
requires:
- test_unix
@@ -354,7 +308,6 @@ workflows:
type: approval
requires:
- test_unix
- - test_win
- test_examples
- test_locales
- test_virtual_rules
diff --git a/README.md b/README.md
index e84eab2130..f63f8e3946 100644
--- a/README.md
+++ b/README.md
@@ -78,9 +78,9 @@ The [axe-core API](doc/API.md) fully supports the following browsers:
- Google Chrome v42 and above
- Mozilla Firefox v38 and above
- Apple Safari v7 and above
-- Internet Explorer v11
+- Internet Explorer v11 (DEPRECATED)
-Support means that we will fix bugs and attempt to test each browser regularly. Only Firefox, Chrome, and Internet Explorer 11 are currently tested on every pull request.
+Support means that we will fix bugs and attempt to test each browser regularly. Only Chrome and Firefox are currently tested on every pull request.
There is limited support for JSDOM. We will attempt to make all rules compatible with JSDOM but where this is not possible, we recommend turning those rules off. Currently the `color-contrast` rule is known not to work with JSDOM.
@@ -127,8 +127,7 @@ axe.configure({
},
'aria-errormessage': {
// Note: doT (https://github.com/olado/dot) templates are supported here.
- fail:
- 'Der Wert der aria-errormessage ${data.values}` muss eine Technik verwenden, um die Message anzukündigen (z. B., aria-live, aria-describedby, role=alert, etc.).'
+ fail: 'Der Wert der aria-errormessage ${data.values}` muss eine Technik verwenden, um die Message anzukündigen (z. B., aria-live, aria-describedby, role=alert, etc.).'
}
// ...
}
diff --git a/doc/accessibility-supported.md b/doc/accessibility-supported.md
index d183f5ced1..4e334f6c5e 100644
--- a/doc/accessibility-supported.md
+++ b/doc/accessibility-supported.md
@@ -13,7 +13,7 @@ We currently test the following AT combinations for support
1. VoiceOver and Safari on OS X
1. VoiceOver and Safari on iOS
-1. JAWS and IE11 on Windows
+1. JAWS and IE11 on Windows (DEPRECATED)
1. JAWS and Chrome on Windows
1. NVDA and Firefox on Windows
1. Talkback and Chrome on Android
diff --git a/package.json b/package.json
index 648a39a428..6d9f0dc18f 100644
--- a/package.json
+++ b/package.json
@@ -86,11 +86,9 @@
"integration:apg": "mocha test/aria-practices/*.spec.js",
"integration:chrome": "npm run integration -- browser=Chrome",
"integration:firefox": "npm run integration -- browser=Firefox",
- "integration:ie": "npm run integration -- browser=\"Internet Explorer\"",
"test:integration": "npm run test:integration:chrome",
"test:integration:chrome": "start-server-and-test 9876 integration:chrome",
"test:integration:firefox": "start-server-and-test 9876 integration:firefox",
- "test:integration:ie": "start-server-and-test 9876 integration:ie",
"test:examples": "node ./doc/examples/test-examples",
"test:act": "karma start test/act-mapping/karma.config.js",
"test:act:debug": "npm run test:act -- --no-single-run --browsers=Chrome",
diff --git a/test/checks/color/color-contrast.js b/test/checks/color/color-contrast.js
index c165796f57..ba49188e37 100644
--- a/test/checks/color/color-contrast.js
+++ b/test/checks/color/color-contrast.js
@@ -1,4 +1,4 @@
-describe('color-contrast', function() {
+describe('color-contrast', function () {
'use strict';
var fixture = document.getElementById('fixture');
@@ -6,17 +6,16 @@ describe('color-contrast', function() {
var checkSetup = axe.testUtils.checkSetup;
var shadowSupported = axe.testUtils.shadowSupport.v1;
var shadowCheckSetup = axe.testUtils.shadowCheckSetup;
- var isIE11 = axe.testUtils.isIE11;
var checkContext = axe.testUtils.MockCheckContext();
var contrastEvaluate = axe.testUtils.getCheckEvaluate('color-contrast');
- afterEach(function() {
+ afterEach(function () {
fixture.innerHTML = '';
checkContext.reset();
axe._tree = undefined;
});
- it('should return true for hidden element', function() {
+ it('should return true for hidden element', function () {
var params = checkSetup(
'
' +
'My text
'
@@ -26,7 +25,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return true for child of hidden element', function() {
+ it('should return true for child of hidden element', function () {
var params = checkSetup(
'
' +
'My text
'
@@ -36,7 +35,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return the proper values stored in data', function() {
+ it('should return the proper values stored in data', function () {
var params = checkSetup(
'
' +
'My text
'
@@ -53,7 +52,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return true when there is sufficient contrast because of bold tag', function() {
+ it('should return true when there is sufficient contrast because of bold tag', function () {
var params = checkSetup(
'
' +
'My text
'
@@ -63,7 +62,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return true when there is sufficient contrast because of font weight', function() {
+ it('should return true when there is sufficient contrast because of font weight', function () {
var params = checkSetup(
'
' +
'My text
'
@@ -73,7 +72,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return false when there is not sufficient contrast because of font weight', function() {
+ it('should return false when there is not sufficient contrast because of font weight', function () {
var params = checkSetup(
'
' +
'My text
'
@@ -83,7 +82,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, [params[0]]);
});
- it('should return true when there is sufficient contrast because of font size', function() {
+ it('should return true when there is sufficient contrast because of font size', function () {
var params = checkSetup(
'
' +
'My text
'
@@ -92,7 +91,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return false when there is not sufficient contrast because of font size', function() {
+ it('should return false when there is not sufficient contrast because of font size', function () {
var params = checkSetup(
'
' +
'My text
'
@@ -102,7 +101,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, [params[0]]);
});
- it('should return true when there is sufficient contrast with explicit transparency', function() {
+ it('should return true when there is sufficient contrast with explicit transparency', function () {
var params = checkSetup(
'
' +
'My text
'
@@ -112,7 +111,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return true when there is sufficient contrast with implicit transparency', function() {
+ it('should return true when there is sufficient contrast with implicit transparency', function () {
var params = checkSetup(
'
' +
'My text
'
@@ -122,7 +121,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return true when there is sufficient contrast', function() {
+ it('should return true when there is sufficient contrast', function () {
var params = checkSetup(
'
' +
'My text
'
@@ -132,7 +131,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return true for inline elements with sufficient contrast spanning multiple lines', function() {
+ it('should return true for inline elements with sufficient contrast spanning multiple lines', function () {
var params = checkSetup(
'
'
);
@@ -140,7 +139,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return undefined for inline elements spanning multiple lines that are overlapped', function() {
+ it('should return undefined for inline elements spanning multiple lines that are overlapped', function () {
var params = checkSetup(
'
'
@@ -149,7 +148,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return true for truncated inline elements', function() {
+ it('should return true for truncated inline elements', function () {
var params = checkSetup(
'
Text oh heyyyy Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed et sollicitudin quam. Fusce mi odio, egestas pulvinar erat eget, vehicula tempus est. Proin vitae ullamcorper velit. Donec sagittis est justo, mattis iaculis arcu facilisis id. Proin pulvinar ornare arcu a fermentum. Quisque et dignissim nulla, sit amet consectetur ipsum. Donec in libero porttitor, dapibus neque imperdiet, aliquam est. Vivamus blandit volutpat fringilla. In mi magna, mollis sit amet imperdiet eu, rutrum ut tellus. Mauris vel condimentum nibh, quis ultricies nisi. Vivamus accumsan quam mauris, id iaculis quam fringilla ac. Curabitur pulvinar dolor ac magna vehicula, non auctor ligula dignissim. Nam ac nibh porttitor, malesuada tortor varius, feugiat turpis. Mauris dapibus, tellus ut viverra porta, ipsum turpis bibendum ligula, at tempor felis ante non libero. Donec dapibus, diam sit amet posuere commodo, magna orci hendrerit ipsum, eu egestas mauris nulla ut ipsum. Sed luctus, orci in fringilla finibus, odio leo porta dolor, eu dignissim risus eros eget erat
'
);
@@ -157,7 +156,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return true for inline elements with sufficient contrast', function() {
+ it('should return true for inline elements with sufficient contrast', function () {
var params = checkSetup(
'
Text oh heyyyy and here\'s bold text
'
);
@@ -165,7 +164,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return false when there is not sufficient contrast between foreground and background', function() {
+ it('should return false when there is not sufficient contrast between foreground and background', function () {
var params = checkSetup(
'
' +
'My text
'
@@ -176,7 +175,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._data.messageKey, null);
});
- it('should ignore position:fixed elements above the target', function() {
+ it('should ignore position:fixed elements above the target', function () {
var params = checkSetup(
'
' +
'
header
' +
@@ -190,7 +189,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, [expectedRelatedNodes]);
});
- it('should ignore position:fixed elements directly above the target', function() {
+ it('should ignore position:fixed elements directly above the target', function () {
var params = checkSetup(
'
' +
'
header
' +
@@ -204,7 +203,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, [expectedRelatedNodes]);
});
- it('should find contrast issues on position:fixed elements', function() {
+ it('should find contrast issues on position:fixed elements', function () {
var params = checkSetup(
'
' +
'
header
' +
@@ -217,7 +216,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, [params[0]]);
});
- it('should return undefined for background-image elements', function() {
+ it('should return undefined for background-image elements', function () {
var dataURI =
'data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/' +
'XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkA' +
@@ -238,7 +237,7 @@ describe('color-contrast', function() {
assert.equal(checkContext._data.messageKey, 'bgImage');
});
- it('should return undefined for background-gradient elements', function() {
+ it('should return undefined for background-gradient elements', function () {
var params = checkSetup(
'
' +
'
Text 2
' +
@@ -251,9 +250,9 @@ describe('color-contrast', function() {
assert.equal(checkContext._data.contrastRatio, 0);
});
- it('should return undefined when there are elements overlapping', function(done) {
+ it('should return undefined when there are elements overlapping', function (done) {
// Give Edge time to scroll... :/
- setTimeout(function() {
+ setTimeout(function () {
var params = checkSetup(
'
' +
'My text
'
@@ -267,14 +266,14 @@ describe('color-contrast', function() {
}, 10);
});
- it('should return true when a form wraps mixed content', function() {
+ it('should return true when a form wraps mixed content', function () {
var params = checkSetup(
''
);
assert.isTrue(contrastEvaluate.apply(checkContext, params));
});
- it('should return true when a label wraps a text input', function() {
+ it('should return true when a label wraps a text input', function () {
fixtureSetup('');
var target = fixture.querySelector('#target');
var virtualNode = axe.utils.getNodeFromTree(target);
@@ -282,7 +281,7 @@ describe('color-contrast', function() {
assert.isTrue(result);
});
- it("should return true when a label wraps a text input but doesn't overlap", function() {
+ it("should return true when a label wraps a text input but doesn't overlap", function () {
var params = checkSetup(
''
@@ -291,7 +290,7 @@ describe('color-contrast', function() {
assert.isTrue(result);
});
- it('should return true when there is sufficient contrast based on thead', function() {
+ it('should return true when there is sufficient contrast based on thead', function () {
var params = checkSetup(
'
Col 1
'
);
@@ -299,7 +298,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return true when there is sufficient contrast based on tbody', function() {
+ it('should return true when there is sufficient contrast based on tbody', function () {
var params = checkSetup(
'
Col 1
'
);
@@ -307,9 +306,9 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should return undefined if element overlaps text content', function(done) {
+ it('should return undefined if element overlaps text content', function (done) {
// Give Edge time to scroll
- setTimeout(function() {
+ setTimeout(function () {
var params = checkSetup(
'
' +
'
Hi
' +
@@ -324,7 +323,7 @@ describe('color-contrast', function() {
}, 10);
});
- it('should return undefined if element has same color as background', function() {
+ it('should return undefined if element has same color as background', function () {
var params = checkSetup(
'
' +
'
Text
' +
@@ -336,7 +335,7 @@ describe('color-contrast', function() {
assert.equal(checkContext._data.contrastRatio, 1);
});
- it('returns relatedNodes with undefined', function() {
+ it('returns relatedNodes with undefined', function () {
var dataURI =
'data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/' +
'XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkA' +
@@ -358,7 +357,7 @@ describe('color-contrast', function() {
);
});
- it('should not error if client rects do not fill entire bounding rect', function() {
+ it('should not error if client rects do not fill entire bounding rect', function () {
var params = checkSetup(
'
' +
'\nx x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ' +
@@ -395,13 +394,13 @@ describe('color-contrast', function() {
'\nx' +
'\n
'
);
- assert.doesNotThrow(function() {
+ assert.doesNotThrow(function () {
contrastEvaluate.apply(checkContext, params);
});
});
- describe('with pseudo elements', function() {
- it('should return undefined if :before pseudo element has a background color', function() {
+ describe('with pseudo elements', function () {
+ it('should return undefined if :before pseudo element has a background color', function () {
var params = checkSetup(
'' +
'
Content
'
@@ -420,7 +419,7 @@ describe('color-contrast', function() {
);
});
- it('should return undefined if :after pseudo element has a background color', function() {
+ it('should return undefined if :after pseudo element has a background color', function () {
var params = checkSetup(
'' +
'
Content
'
@@ -439,7 +438,7 @@ describe('color-contrast', function() {
);
});
- it('should return undefined if pseudo element has a background image', function() {
+ it('should return undefined if pseudo element has a background image', function () {
var dataURI =
'data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/' +
'XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkA' +
@@ -466,7 +465,7 @@ describe('color-contrast', function() {
);
});
- it('should not return undefined if pseudo element has no content', function() {
+ it('should not return undefined if pseudo element has no content', function () {
var params = checkSetup(
'' +
'
Content
'
@@ -475,7 +474,7 @@ describe('color-contrast', function() {
assert.isTrue(contrastEvaluate.apply(checkContext, params));
});
- it('should not return undefined if pseudo element is not absolutely positioned no content', function() {
+ it('should not return undefined if pseudo element is not absolutely positioned no content', function () {
var params = checkSetup(
'' +
'
Content
'
@@ -484,7 +483,7 @@ describe('color-contrast', function() {
assert.isTrue(contrastEvaluate.apply(checkContext, params));
});
- it('should not return undefined if pseudo element is has zero dimension', function() {
+ it('should not return undefined if pseudo element is has zero dimension', function () {
var params = checkSetup(
'' +
'
Content
'
@@ -493,7 +492,7 @@ describe('color-contrast', function() {
assert.isTrue(contrastEvaluate.apply(checkContext, params));
});
- it("should not return undefined if pseudo element doesn't have a background", function() {
+ it("should not return undefined if pseudo element doesn't have a background", function () {
var params = checkSetup(
'' +
'
Content
'
@@ -502,7 +501,7 @@ describe('color-contrast', function() {
assert.isTrue(contrastEvaluate.apply(checkContext, params));
});
- it('should not return undefined if pseudo element has visibility: hidden', function() {
+ it('should not return undefined if pseudo element has visibility: hidden', function () {
var params = checkSetup(
'' +
'
Content
'
@@ -511,7 +510,7 @@ describe('color-contrast', function() {
assert.isTrue(contrastEvaluate.apply(checkContext, params));
});
- it('should not return undefined if pseudo element has display: none', function() {
+ it('should not return undefined if pseudo element has display: none', function () {
var params = checkSetup(
'' +
'
Content
'
@@ -520,7 +519,7 @@ describe('color-contrast', function() {
assert.isTrue(contrastEvaluate.apply(checkContext, params));
});
- it('should return undefined if pseudo element is more than 25% of the element', function() {
+ it('should return undefined if pseudo element is more than 25% of the element', function () {
var params = checkSetup(
'' +
@@ -529,7 +528,7 @@ describe('color-contrast', function() {
assert.isUndefined(contrastEvaluate.apply(checkContext, params));
});
- it('should not return undefined if pseudo element is 25% of the element', function() {
+ it('should not return undefined if pseudo element is 25% of the element', function () {
var params = checkSetup(
'' +
@@ -537,22 +536,10 @@ describe('color-contrast', function() {
);
assert.isTrue(contrastEvaluate.apply(checkContext, params));
});
-
- (isIE11 ? it : xit)(
- 'should return undefined if the unit is not in px',
- function() {
- var params = checkSetup(
- '' +
- '
Content
'
- );
- assert.isUndefined(contrastEvaluate.apply(checkContext, params));
- }
- );
});
- describe('with special texts', function() {
- it('should return undefined for a single character text with insufficient contrast', function() {
+ describe('with special texts', function () {
+ it('should return undefined for a single character text with insufficient contrast', function () {
var params = checkSetup(
'
' +
'
X
' +
@@ -564,7 +551,7 @@ describe('color-contrast', function() {
assert.equal(checkContext._data.messageKey, 'shortTextContent');
});
- it('should return true for a single character text with insufficient contrast', function() {
+ it('should return true for a single character text with insufficient contrast', function () {
var params = checkSetup(
'
' +
'
X
' +
@@ -576,7 +563,7 @@ describe('color-contrast', function() {
assert.equal(checkContext._data.messageKey, 'shortTextContent');
});
- it('should return undefined when the text only contains nonBmp unicode when the ignoreUnicode option is true', function() {
+ it('should return undefined when the text only contains nonBmp unicode when the ignoreUnicode option is true', function () {
var params = checkSetup(
'
' +
'
₠ ₡ ₢ ₣
' +
@@ -591,7 +578,7 @@ describe('color-contrast', function() {
assert.equal(checkContext._data.messageKey, 'nonBmp');
});
- it('should return true when the text only contains nonBmp unicode when the ignoreUnicode option is false, and there is sufficient contrast', function() {
+ it('should return true when the text only contains nonBmp unicode when the ignoreUnicode option is false, and there is sufficient contrast', function () {
var params = checkSetup(
'
' +
'
◓
' +
@@ -605,7 +592,7 @@ describe('color-contrast', function() {
assert.isTrue(actual);
});
- it('should return undefined when the text only contains nonBmp unicode when the ignoreUnicode option is false and the ignoreLength option is default, and there is insufficient contrast', function() {
+ it('should return undefined when the text only contains nonBmp unicode when the ignoreUnicode option is false and the ignoreLength option is default, and there is insufficient contrast', function () {
var params = checkSetup(
'
' +
'
◓
' +
@@ -620,7 +607,7 @@ describe('color-contrast', function() {
assert.equal(checkContext._data.messageKey, 'shortTextContent');
});
- it('should return false when the text only contains nonBmp unicode when the ignoreUnicode option is false and the ignoreLength option is true, and there is insufficient contrast', function() {
+ it('should return false when the text only contains nonBmp unicode when the ignoreUnicode option is false and the ignoreLength option is true, and there is insufficient contrast', function () {
var params = checkSetup(
'
' +
'
◓
' +
@@ -636,8 +623,8 @@ describe('color-contrast', function() {
});
});
- describe('options', function() {
- it('should support options.boldValue', function() {
+ describe('options', function () {
+ it('should support options.boldValue', function () {
var params = checkSetup(
'
' +
'My text
',
@@ -650,7 +637,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should support options.boldTextPt', function() {
+ it('should support options.boldTextPt', function () {
var params = checkSetup(
'
' +
'My text
',
@@ -663,7 +650,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should support options.largeTextPt', function() {
+ it('should support options.largeTextPt', function () {
var params = checkSetup(
'
' +
'My text
',
@@ -676,7 +663,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should support options.contrastRatio.normal.expected', function() {
+ it('should support options.contrastRatio.normal.expected', function () {
var params = checkSetup(
'
' +
'My text
',
@@ -693,7 +680,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should support options.contrastRatio.normal.minThreshold', function() {
+ it('should support options.contrastRatio.normal.minThreshold', function () {
var params = checkSetup(
'
' +
'My text
',
@@ -710,7 +697,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should support options.contrastRatio.normal.maxThreshold', function() {
+ it('should support options.contrastRatio.normal.maxThreshold', function () {
var params = checkSetup(
'
' +
'My text
',
@@ -727,7 +714,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should support options.contrastRatio.large.expected', function() {
+ it('should support options.contrastRatio.large.expected', function () {
var params = checkSetup(
'
' +
'My text
',
@@ -744,7 +731,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should support options.contrastRatio.large.minThreshold', function() {
+ it('should support options.contrastRatio.large.minThreshold', function () {
var params = checkSetup(
'
' +
'My text
',
@@ -761,7 +748,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should support options.contrastRatio.large.maxThreshold', function() {
+ it('should support options.contrastRatio.large.maxThreshold', function () {
var params = checkSetup(
'
' +
'My text
',
@@ -778,7 +765,7 @@ describe('color-contrast', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- it('should ignore pseudo element with options.ignorePseudo', function() {
+ it('should ignore pseudo element with options.ignorePseudo', function () {
var params = checkSetup(
'' +
'
Content
',
@@ -790,7 +777,7 @@ describe('color-contrast', function() {
assert.isTrue(contrastEvaluate.apply(checkContext, params));
});
- it('should adjust the pseudo element minimum size with the options.pseudoSizeThreshold', function() {
+ it('should adjust the pseudo element minimum size with the options.pseudoSizeThreshold', function () {
var params = checkSetup(
'' +
@@ -805,7 +792,7 @@ describe('color-contrast', function() {
(shadowSupported ? it : xit)(
'returns colors across Shadow DOM boundaries',
- function() {
+ function () {
var params = shadowCheckSetup(
'',
'
Text
'
@@ -817,8 +804,8 @@ describe('color-contrast', function() {
}
);
- describe('with text-shadow', function() {
- it('passes if thin text shadows have sufficient contrast with the text', function() {
+ describe('with text-shadow', function () {
+ it('passes if thin text shadows have sufficient contrast with the text', function () {
var params = checkSetup(
'
' +
@@ -828,7 +815,7 @@ describe('color-contrast', function() {
assert.isTrue(contrastEvaluate.apply(checkContext, params));
});
- it('does not count text shadows of offset 0, blur 0 as part of the background color', function() {
+ it('does not count text shadows of offset 0, blur 0 as part of the background color', function () {
var params = checkSetup(
'
' +
@@ -844,7 +831,7 @@ describe('color-contrast', function() {
assert.equal(checkContext._data.contrastRatio, '4.84');
});
- it('passes if thin text shadows have sufficient contrast with the background', function() {
+ it('passes if thin text shadows have sufficient contrast with the background', function () {
var params = checkSetup(
'
' +
@@ -854,7 +841,7 @@ describe('color-contrast', function() {
assert.isTrue(contrastEvaluate.apply(checkContext, params));
});
- it('fails if text shadows have sufficient contrast with the background if its width is thicker than `shadowOutlineEmMax`', function() {
+ it('fails if text shadows have sufficient contrast with the background if its width is thicker than `shadowOutlineEmMax`', function () {
var checkOptions = { shadowOutlineEmMax: 0.05 };
var params = checkSetup(
'
' +
@@ -878,7 +865,7 @@ describe('color-contrast', function() {
assert.isNull(checkContext._data.messageKey);
});
- it('fails if text shadows do not have sufficient contrast with the background', function() {
+ it('fails if text shadows do not have sufficient contrast with the background', function () {
var params = checkSetup(
'
' +
@@ -889,7 +876,7 @@ describe('color-contrast', function() {
assert.equal(checkContext._data.messageKey, 'shadowOnBgColor');
});
- it("fails if thick text shadows don't have sufficient contrast", function() {
+ it("fails if thick text shadows don't have sufficient contrast", function () {
var params = checkSetup(
'
' +
@@ -899,7 +886,7 @@ describe('color-contrast', function() {
assert.isTrue(contrastEvaluate.apply(checkContext, params));
});
- it("passes if thin text shadows don't have sufficient contrast, but the text and background do", function() {
+ it("passes if thin text shadows don't have sufficient contrast, but the text and background do", function () {
var params = checkSetup(
'
' +
diff --git a/test/checks/lists/only-dlitems.js b/test/checks/lists/only-dlitems.js
index 6021e857f3..29d7040bf6 100644
--- a/test/checks/lists/only-dlitems.js
+++ b/test/checks/lists/only-dlitems.js
@@ -1,19 +1,17 @@
-describe('only-dlitems', function() {
+describe('only-dlitems', function () {
'use strict';
var fixture = document.getElementById('fixture');
var checkSetup = axe.testUtils.checkSetup;
var shadowSupport = axe.testUtils.shadowSupport;
- var isIE11 = axe.testUtils.isIE11;
-
var checkContext = axe.testUtils.MockCheckContext();
- afterEach(function() {
+ afterEach(function () {
fixture.innerHTML = '';
checkContext.reset();
});
- it('should return false if the list has no contents', function() {
+ it('should return false if the list has no contents', function () {
var checkArgs = checkSetup('
');
assert.isFalse(
@@ -23,7 +21,7 @@ describe('only-dlitems', function() {
);
});
- it('should return true if the list has non-dd/dt contents', function() {
+ it('should return true if the list has non-dd/dt contents', function () {
var checkArgs = checkSetup('
Not a list
');
assert.isTrue(
@@ -34,7 +32,7 @@ describe('only-dlitems', function() {
assert.deepEqual(checkContext._relatedNodes, [fixture.querySelector('p')]);
});
- it('should return true if the list has non-dd content through role change', function() {
+ it('should return true if the list has non-dd content through role change', function () {
var checkArgs = checkSetup(
'
Not a list
'
);
@@ -46,7 +44,7 @@ describe('only-dlitems', function() {
);
});
- it('should return true if the list has non-dt content through role change', function() {
+ it('should return true if the list has non-dt content through role change', function () {
var checkArgs = checkSetup(
'
Not a list
'
);
@@ -58,7 +56,7 @@ describe('only-dlitems', function() {
);
});
- it('should return false if the list has only a dd', function() {
+ it('should return false if the list has only a dd', function () {
var checkArgs = checkSetup('
A list
');
assert.isFalse(
@@ -68,7 +66,7 @@ describe('only-dlitems', function() {
);
});
- it('should return true if is used along side dt with its role changed', function() {
+ it('should return true if is used along side dt with its role changed', function () {
var checkArgs = checkSetup(
'
A list
'
);
@@ -79,7 +77,7 @@ describe('only-dlitems', function() {
);
});
- it('should return false if the list has only a dt', function() {
+ it('should return false if the list has only a dt', function () {
var checkArgs = checkSetup('
A list
');
assert.isFalse(
@@ -89,7 +87,7 @@ describe('only-dlitems', function() {
);
});
- it('should return false if the list has dt and dd with child content', function() {
+ it('should return false if the list has dt and dd with child content', function () {
var checkArgs = checkSetup(
'
An item
A list
'
);
@@ -101,7 +99,7 @@ describe('only-dlitems', function() {
);
});
- it('should return false if the list has dt and dd', function() {
+ it('should return false if the list has dt and dd', function () {
var checkArgs = checkSetup(
'
An item
A list
'
);
@@ -113,7 +111,7 @@ describe('only-dlitems', function() {
);
});
- it('should return false if the list has dt, dd and a comment', function() {
+ it('should return false if the list has dt, dd and a comment', function () {
var checkArgs = checkSetup(
'
An item
A list
'
);
@@ -125,7 +123,7 @@ describe('only-dlitems', function() {
);
});
- it('should return true if the list has a dt and dd with other content', function() {
+ it('should return true if the list has a dt and dd with other content', function () {
var checkArgs = checkSetup(
'
Item one
Description
Not a list
'
);
@@ -138,7 +136,7 @@ describe('only-dlitems', function() {
assert.deepEqual(checkContext._relatedNodes, [fixture.querySelector('p')]);
});
- it('should return true if the list has a textNode as a child', function() {
+ it('should return true if the list has a textNode as a child', function () {
var checkArgs = checkSetup(
'
hi
hello
hi
'
);
@@ -151,23 +149,19 @@ describe('only-dlitems', function() {
assert.deepEqual(checkContext._relatedNodes, []);
});
- // This currently breaks in IE11
- (isIE11 ? it.skip : it)(
- 'should return false if is used along side dt',
- function() {
- var checkArgs = checkSetup(
- '
A list
'
- );
+ it('should return false if is used along side dt', function () {
+ var checkArgs = checkSetup(
+ '
A list
'
+ );
- assert.isFalse(
- axe.testUtils
- .getCheckEvaluate('only-dlitems')
- .apply(checkContext, checkArgs)
- );
- }
- );
+ assert.isFalse(
+ axe.testUtils
+ .getCheckEvaluate('only-dlitems')
+ .apply(checkContext, checkArgs)
+ );
+ });
- it('should return false if is used along side dt', function() {
+ it('should return false if is used along side dt', function () {
var checkArgs = checkSetup(
'
'
);
@@ -203,7 +197,7 @@ describe('only-dlitems', function() {
);
});
- it('should return false if is used along side dt', function() {
+ it('should return false if is used along side dt', function () {
var checkArgs = checkSetup(
'
A list
'
);
@@ -215,7 +209,7 @@ describe('only-dlitems', function() {
);
});
- it('should return false if the list has dt and dd inside a div group', function() {
+ it('should return false if the list has dt and dd inside a div group', function () {
var checkArgs = checkSetup(
'
An item
A list
'
);
@@ -226,7 +220,7 @@ describe('only-dlitems', function() {
);
});
- it('should return true if the list has dt and dd inside a div group with a role', function() {
+ it('should return true if the list has dt and dd inside a div group with a role', function () {
var checkArgs = checkSetup(
'
An item
A list
'
);
@@ -237,7 +231,7 @@ describe('only-dlitems', function() {
);
});
- it('should return true if the list mixed items inside a div group with a role', function() {
+ it('should return true if the list mixed items inside a div group with a role', function () {
var checkArgs = checkSetup(
'
An item
A list
Not a list
'
);
@@ -248,7 +242,7 @@ describe('only-dlitems', function() {
);
});
- it('should return false if there is an empty div', function() {
+ it('should return false if there is an empty div', function () {
var checkArgs = checkSetup('
');
assert.isFalse(
axe.testUtils
@@ -257,7 +251,7 @@ describe('only-dlitems', function() {
);
});
- it('returns false if there are display:none elements that normally would not be allowed', function() {
+ it('returns false if there are display:none elements that normally would not be allowed', function () {
var checkArgs = checkSetup(
'
An item
A list
heading
'
);
@@ -268,7 +262,7 @@ describe('only-dlitems', function() {
);
});
- it('should return true if there is a div with text', function() {
+ it('should return true if there is a div with text', function () {
var checkArgs = checkSetup('
text
');
assert.isTrue(
axe.testUtils
@@ -277,7 +271,7 @@ describe('only-dlitems', function() {
);
});
- it('returns false if there are visibility:hidden elements that normally would not be allowed', function() {
+ it('returns false if there are visibility:hidden elements that normally would not be allowed', function () {
var checkArgs = checkSetup(
'
An item
A list
heading
'
);
@@ -288,7 +282,7 @@ describe('only-dlitems', function() {
);
});
- it('should return true if there is a div with non-dd / dt elements', function() {
+ it('should return true if there is a div with non-dd / dt elements', function () {
var checkArgs = checkSetup('
text
');
assert.isTrue(
axe.testUtils
@@ -297,7 +291,7 @@ describe('only-dlitems', function() {
);
});
- it('returns false if there are aria-hidden=true elements that normally would not be allowed', function() {
+ it('returns false if there are aria-hidden=true elements that normally would not be allowed', function () {
var checkArgs = checkSetup(
'
An item
A list
heading
'
);
@@ -308,7 +302,7 @@ describe('only-dlitems', function() {
);
});
- it('returns true if there are aria-hidden=false elements that normally would not be allowed', function() {
+ it('returns true if there are aria-hidden=false elements that normally would not be allowed', function () {
var checkArgs = checkSetup(
'
An item
A list
heading
'
);
@@ -321,7 +315,7 @@ describe('only-dlitems', function() {
(shadowSupport.v1 ? it : xit)(
'should return false in a shadow DOM pass',
- function() {
+ function () {
var node = document.createElement('div');
node.innerHTML = '
My list item
';
var shadow = node.attachShadow({ mode: 'open' });
@@ -338,7 +332,7 @@ describe('only-dlitems', function() {
(shadowSupport.v1 ? it : xit)(
'should return true in a shadow DOM fail',
- function() {
+ function () {
var node = document.createElement('div');
node.innerHTML = '
Not a list
';
var shadow = node.attachShadow({ mode: 'open' });
diff --git a/test/checks/lists/only-listitems.js b/test/checks/lists/only-listitems.js
index 8eb4b4e01f..4e32294cb0 100644
--- a/test/checks/lists/only-listitems.js
+++ b/test/checks/lists/only-listitems.js
@@ -1,19 +1,17 @@
-describe('only-listitems', function() {
+describe('only-listitems', function () {
'use strict';
var fixture = document.getElementById('fixture');
var checkSetup = axe.testUtils.checkSetup;
var shadowSupport = axe.testUtils.shadowSupport;
- var isIE11 = axe.testUtils.isIE11;
-
var checkContext = axe.testUtils.MockCheckContext();
- afterEach(function() {
+ afterEach(function () {
fixture.innerHTML = '';
checkContext.reset();
});
- it('should return false if the list has no contents', function() {
+ it('should return false if the list has no contents', function () {
var checkArgs = checkSetup('');
assert.isFalse(
@@ -23,7 +21,7 @@ describe('only-listitems', function() {
);
});
- it('should return false if the list has only spaces as content', function() {
+ it('should return false if the list has only spaces as content', function () {
var checkArgs = checkSetup('');
assert.isFalse(
@@ -33,7 +31,7 @@ describe('only-listitems', function() {
);
});
- it('should return false if the list has whitespace', function() {
+ it('should return false if the list has whitespace', function () {
var checkArgs = checkSetup('
Item
');
assert.isFalse(
@@ -43,7 +41,7 @@ describe('only-listitems', function() {
);
});
- it('should return false if the list has only an element with role listitem', function() {
+ it('should return false if the list has only an element with role listitem', function () {
var checkArgs = checkSetup(
'
A list
'
);
@@ -55,7 +53,7 @@ describe('only-listitems', function() {
);
});
- it('should return false if the list has only multiple mixed elements with role listitem', function() {
+ it('should return false if the list has only multiple mixed elements with role listitem', function () {
var checkArgs = checkSetup(
'
list
list
list
'
);
@@ -67,7 +65,7 @@ describe('only-listitems', function() {
);
});
- it('should return false if the list has non-li comments', function() {
+ it('should return false if the list has non-li comments', function () {
var checkArgs = checkSetup(
'
Item
'
);
@@ -79,7 +77,7 @@ describe('only-listitems', function() {
);
});
- it('should return true if the list has non-li text contents', function() {
+ it('should return true if the list has non-li text contents', function () {
var checkArgs = checkSetup('
Item
Not an item');
assert.isTrue(
@@ -89,7 +87,7 @@ describe('only-listitems', function() {
);
});
- it('should return true if the list has non-li contents', function() {
+ it('should return true if the list has non-li contents', function () {
var checkArgs = checkSetup('
Not a list
');
assert.isTrue(
@@ -100,7 +98,7 @@ describe('only-listitems', function() {
assert.deepEqual(checkContext._relatedNodes, [fixture.querySelector('p')]);
});
- it('should return false if the list has only an li with child content', function() {
+ it('should return false if the list has only an li with child content', function () {
var checkArgs = checkSetup('
A list
');
assert.isFalse(
@@ -110,7 +108,7 @@ describe('only-listitems', function() {
);
});
- it('should return false if the list has only an li', function() {
+ it('should return false if the list has only an li', function () {
var checkArgs = checkSetup('
A list
');
assert.isFalse(
@@ -120,7 +118,7 @@ describe('only-listitems', function() {
);
});
- it('should return true if the list has an li with other content', function() {
+ it('should return true if the list has an li with other content', function () {
var checkArgs = checkSetup(
'
A list
Not a list
'
);
@@ -133,7 +131,7 @@ describe('only-listitems', function() {
assert.deepEqual(checkContext._relatedNodes, [fixture.querySelector('p')]);
});
- it('should return false if the list has at least one li while others have their roles changed', function() {
+ it('should return false if the list has at least one li while others have their roles changed', function () {
var checkArgs = checkSetup(
'
A list item
Not a list item
'
);
@@ -145,7 +143,7 @@ describe('only-listitems', function() {
);
});
- it('should return true if the list has only li items with their roles changed', function() {
+ it('should return true if the list has only li items with their roles changed', function () {
var checkArgs = checkSetup(
'
Not a list item
Not a list item
'
);
@@ -164,7 +162,7 @@ describe('only-listitems', function() {
]);
});
- it('should return true if is used along side only li items with their roles changed', function() {
+ it('should return true if is used along side only li items with their roles changed', function () {
var checkArgs = checkSetup(
'
Not a list item
'
);
@@ -176,23 +174,19 @@ describe('only-listitems', function() {
);
});
- // This currently breaks in IE11
- (isIE11 ? it.skip : it)(
- 'should return false if is used along side li',
- function() {
- var checkArgs = checkSetup(
- '
A list
'
- );
+ it('should return false if is used along side li', function () {
+ var checkArgs = checkSetup(
+ '
A list
'
+ );
- assert.isFalse(
- axe.testUtils
- .getCheckEvaluate('only-listitems')
- .apply(checkContext, checkArgs)
- );
- }
- );
+ assert.isFalse(
+ axe.testUtils
+ .getCheckEvaluate('only-listitems')
+ .apply(checkContext, checkArgs)
+ );
+ });
- it('should return false if is used along side li', function() {
+ it('should return false if is used along side li', function () {
var checkArgs = checkSetup(
'
'
);
@@ -228,7 +222,7 @@ describe('only-listitems', function() {
);
});
- it('should return false if is used along side li', function() {
+ it('should return false if is used along side li', function () {
var checkArgs = checkSetup(
'
A list
'
);
@@ -240,7 +234,7 @@ describe('only-listitems', function() {
);
});
- it('returns false if there are display:none elements that normally would not be allowed', function() {
+ it('returns false if there are display:none elements that normally would not be allowed', function () {
var checkArgs = checkSetup(
'
An item
heading
'
);
@@ -251,7 +245,7 @@ describe('only-listitems', function() {
);
});
- it('returns false if there are visibility:hidden elements that normally would not be allowed', function() {
+ it('returns false if there are visibility:hidden elements that normally would not be allowed', function () {
var checkArgs = checkSetup(
'
An item
heading
'
);
@@ -262,7 +256,7 @@ describe('only-listitems', function() {
);
});
- it('returns false if there are aria-hidden=true elements that normally would not be allowed', function() {
+ it('returns false if there are aria-hidden=true elements that normally would not be allowed', function () {
var checkArgs = checkSetup(
'
An item
heading
'
);
@@ -273,7 +267,7 @@ describe('only-listitems', function() {
);
});
- it('returns true if there are aria-hidden=false elements that normally would not be allowed', function() {
+ it('returns true if there are aria-hidden=false elements that normally would not be allowed', function () {
var checkArgs = checkSetup(
'
An item
heading
'
);
@@ -286,7 +280,7 @@ describe('only-listitems', function() {
(shadowSupport.v1 ? it : xit)(
'should return false in a shadow DOM pass',
- function() {
+ function () {
var node = document.createElement('div');
node.innerHTML = '
My list item
';
var shadow = node.attachShadow({ mode: 'open' });
@@ -303,7 +297,7 @@ describe('only-listitems', function() {
(shadowSupport.v1 ? it : xit)(
'should return true in a shadow DOM fail',
- function() {
+ function () {
var node = document.createElement('div');
node.innerHTML = '
Not a list item
';
var shadow = node.attachShadow({ mode: 'open' });
diff --git a/test/checks/media/no-autoplay-audio.js b/test/checks/media/no-autoplay-audio.js
index 402ee51903..24277ce4da 100644
--- a/test/checks/media/no-autoplay-audio.js
+++ b/test/checks/media/no-autoplay-audio.js
@@ -1,82 +1,72 @@
-describe('no-autoplay-audio', function() {
+describe('no-autoplay-audio', function () {
'use strict';
var check;
var fixture = document.getElementById('fixture');
- var isIE11 = axe.testUtils.isIE11;
var checkSetup = axe.testUtils.checkSetup;
var checkContext = axe.testUtils.MockCheckContext();
var preloadOptions = { preload: { assets: ['media'] } };
- before(function() {
- // our circle ci windows machine cannot play audio elements
- // (mp3 nor wav formats). setting an onerror event handler
- // resulted in error code 4: MEDIA_ERR_SRC_NOT_SUPPORTED.
- // looking around it might be due to a setting in ie11 that
- // prevents audio from playing
- // @see https://stackoverflow.com/questions/34802319/audio-tag-is-not-working-in-ie11/41172831
- if (isIE11) {
- this.skip();
- }
+ before(function () {
check = checks['no-autoplay-audio'];
});
- afterEach(function() {
+ afterEach(function () {
fixture.innerHTML = '';
axe._tree = undefined;
checkContext.reset();
});
- it('returns undefined when