axe-core 4.10.2-canary.645a850 → 4.10.2-canary.64d409d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/axe.js +21 -10
- package/axe.min.js +3 -3
- package/locales/_template.json +1 -1
- package/locales/de.json +16 -16
- package/locales/ko.json +4 -4
- package/package.json +4 -3
- package/sri-history.json +3 -3
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ Axe is an accessibility testing engine for websites and other HTML-based user in
|
|
|
14
14
|
|
|
15
15
|
## The Accessibility Rules
|
|
16
16
|
|
|
17
|
-
Axe-core has different types of rules, for WCAG 2.0, 2.1, 2.2 on level A, AA and AAA as well as a number of best practices that help you identify common accessibility practices like ensuring every page has an `h1` heading, and to help you avoid "gotchas" in ARIA like where an ARIA attribute you used will get ignored. The complete list of rules, grouped WCAG level and best practice, can found in [doc/rule-descriptions.md](./doc/rule-descriptions.md).
|
|
17
|
+
Axe-core has different types of rules, for WCAG 2.0, 2.1, 2.2 on level A, AA and AAA as well as a number of best practices that help you identify common accessibility practices like ensuring every page has an `h1` heading, and to help you avoid "gotchas" in ARIA like where an ARIA attribute you used will get ignored. The complete list of rules, grouped WCAG level and best practice, can be found in [doc/rule-descriptions.md](./doc/rule-descriptions.md).
|
|
18
18
|
|
|
19
19
|
With axe-core, you can find **on average 57% of WCAG issues automatically**. Additionally, axe-core will return elements as "incomplete" where axe-core could not be certain, and manual review is needed.
|
|
20
20
|
|
|
@@ -65,7 +65,7 @@ Axe was built to reflect how web development actually works. It works with all m
|
|
|
65
65
|
- It's actively supported by [Deque Systems](https://www.deque.com), a major accessibility vendor.
|
|
66
66
|
- It integrates with your existing functional/acceptance automated tests.
|
|
67
67
|
- It automatically determines which rules to run based on the evaluation context.
|
|
68
|
-
- Axe supports in-memory fixtures, static fixtures, integration tests and iframes of infinite depth.
|
|
68
|
+
- Axe supports in-memory fixtures, static fixtures, integration tests, and iframes of infinite depth.
|
|
69
69
|
- Axe is highly configurable.
|
|
70
70
|
|
|
71
71
|
## Supported Browsers
|
package/axe.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! axe v4.10.2-canary.
|
|
2
|
-
* Copyright (c) 2015 -
|
|
1
|
+
/*! axe v4.10.2-canary.64d409d
|
|
2
|
+
* Copyright (c) 2015 - 2025 Deque Systems, Inc.
|
|
3
3
|
*
|
|
4
4
|
* Your use of this Source Code Form is subject to the terms of the Mozilla Public
|
|
5
5
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
}, _typeof(o);
|
|
23
23
|
}
|
|
24
24
|
var axe = axe || {};
|
|
25
|
-
axe.version = '4.10.2-canary.
|
|
25
|
+
axe.version = '4.10.2-canary.64d409d';
|
|
26
26
|
if (typeof define === 'function' && define.amd) {
|
|
27
27
|
define('axe-core', [], function() {
|
|
28
28
|
return axe;
|
|
@@ -11255,7 +11255,7 @@
|
|
|
11255
11255
|
superclassRole: [ 'composite' ]
|
|
11256
11256
|
},
|
|
11257
11257
|
tabpanel: {
|
|
11258
|
-
type: '
|
|
11258
|
+
type: 'structure',
|
|
11259
11259
|
allowedAttrs: [ 'aria-expanded' ],
|
|
11260
11260
|
superclassRole: [ 'section' ],
|
|
11261
11261
|
accessibleNameRequired: false
|
|
@@ -11834,7 +11834,7 @@
|
|
|
11834
11834
|
}, {
|
|
11835
11835
|
hasAccessibleName: true
|
|
11836
11836
|
} ],
|
|
11837
|
-
allowedRoles: [ 'button', 'checkbox', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'meter', 'option', 'progressbar', 'radio', 'scrollbar', 'separator', 'slider', 'switch', 'tab', 'treeitem', 'doc-cover' ]
|
|
11837
|
+
allowedRoles: [ 'button', 'checkbox', 'link', 'math', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'meter', 'option', 'progressbar', 'radio', 'scrollbar', 'separator', 'slider', 'switch', 'tab', 'treeitem', 'doc-cover' ]
|
|
11838
11838
|
},
|
|
11839
11839
|
usemap: {
|
|
11840
11840
|
matches: '[usemap]',
|
|
@@ -19507,8 +19507,14 @@
|
|
|
19507
19507
|
}
|
|
19508
19508
|
function preloadMedia(_ref74) {
|
|
19509
19509
|
var _ref74$treeRoot = _ref74.treeRoot, treeRoot = _ref74$treeRoot === void 0 ? axe._tree[0] : _ref74$treeRoot;
|
|
19510
|
-
var mediaVirtualNodes = query_selector_all_filter_default(treeRoot, 'video, audio', function(_ref75) {
|
|
19510
|
+
var mediaVirtualNodes = query_selector_all_filter_default(treeRoot, 'video[autoplay], audio[autoplay]', function(_ref75) {
|
|
19511
19511
|
var actualNode = _ref75.actualNode;
|
|
19512
|
+
if (actualNode.preload === 'none' && actualNode.readyState === 0 && actualNode.networkState !== actualNode.NETWORK_LOADING) {
|
|
19513
|
+
return false;
|
|
19514
|
+
}
|
|
19515
|
+
if (actualNode.hasAttribute('paused') || actualNode.hasAttribute('muted')) {
|
|
19516
|
+
return false;
|
|
19517
|
+
}
|
|
19512
19518
|
if (actualNode.hasAttribute('src')) {
|
|
19513
19519
|
return !!actualNode.getAttribute('src');
|
|
19514
19520
|
}
|
|
@@ -24876,16 +24882,20 @@
|
|
|
24876
24882
|
}
|
|
24877
24883
|
var css_orientation_lock_evaluate_default = cssOrientationLockEvaluate;
|
|
24878
24884
|
function noAutoplayAudioEvaluate(node, options) {
|
|
24885
|
+
var hasControls = node.hasAttribute('controls');
|
|
24886
|
+
if (node.hasAttribute('loop')) {
|
|
24887
|
+
return hasControls;
|
|
24888
|
+
}
|
|
24879
24889
|
if (!node.duration) {
|
|
24880
24890
|
console.warn('axe.utils.preloadMedia did not load metadata');
|
|
24881
24891
|
return void 0;
|
|
24882
24892
|
}
|
|
24883
24893
|
var _options$allowedDurat = options.allowedDuration, allowedDuration = _options$allowedDurat === void 0 ? 3 : _options$allowedDurat;
|
|
24884
24894
|
var playableDuration = getPlayableDuration(node);
|
|
24885
|
-
if (playableDuration <= allowedDuration
|
|
24895
|
+
if (playableDuration <= allowedDuration) {
|
|
24886
24896
|
return true;
|
|
24887
24897
|
}
|
|
24888
|
-
if (!
|
|
24898
|
+
if (!hasControls) {
|
|
24889
24899
|
return false;
|
|
24890
24900
|
}
|
|
24891
24901
|
return true;
|
|
@@ -26120,7 +26130,8 @@
|
|
|
26120
26130
|
navigation: true,
|
|
26121
26131
|
region: true,
|
|
26122
26132
|
search: false,
|
|
26123
|
-
status: true
|
|
26133
|
+
status: true,
|
|
26134
|
+
tabpanel: true
|
|
26124
26135
|
};
|
|
26125
26136
|
function validScrollableTagName(node) {
|
|
26126
26137
|
var nodeName2 = node.nodeName.toUpperCase();
|
|
@@ -30278,7 +30289,7 @@
|
|
|
30278
30289
|
impact: 'critical',
|
|
30279
30290
|
messages: {
|
|
30280
30291
|
pass: 'The multimedia element has a captions track',
|
|
30281
|
-
incomplete: 'Check that captions
|
|
30292
|
+
incomplete: 'Check that captions are available for the element'
|
|
30282
30293
|
}
|
|
30283
30294
|
},
|
|
30284
30295
|
'frame-tested': {
|