axe-core 4.10.3-canary.a2e6d10 → 4.10.3-canary.c7e2c1c
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/axe.d.ts +19 -0
- package/axe.js +97 -93
- package/axe.min.js +2 -2
- package/locales/_template.json +3 -3
- package/package.json +5 -5
- package/sri-history.json +3 -3
package/axe.d.ts
CHANGED
|
@@ -408,6 +408,24 @@ declare namespace axe {
|
|
|
408
408
|
boundingClientRect: DOMRect;
|
|
409
409
|
}
|
|
410
410
|
|
|
411
|
+
type GridCell = VirtualNode[];
|
|
412
|
+
|
|
413
|
+
interface Grid {
|
|
414
|
+
container: VirtualNode | null;
|
|
415
|
+
cells: unknown; // opaque implementation detail
|
|
416
|
+
boundaries?: DOMRect;
|
|
417
|
+
toGridIndex(num: number): number;
|
|
418
|
+
getCellFromPoint(point: { x: number; y: number }): GridCell;
|
|
419
|
+
loopGridPosition(
|
|
420
|
+
gridPosition: DOMRect,
|
|
421
|
+
callback: (gridCell: GridCell, pos: { row: number; col: number }) => void
|
|
422
|
+
): void;
|
|
423
|
+
getGridPositionOfRect(
|
|
424
|
+
rect: { top: number; right: number; bottom: number; left: number },
|
|
425
|
+
margin?: number
|
|
426
|
+
): DOMRect;
|
|
427
|
+
}
|
|
428
|
+
|
|
411
429
|
interface CustomNodeSerializer<T = SerialDqElement> {
|
|
412
430
|
toSpec: (dqElm: DqElement) => T;
|
|
413
431
|
mergeSpecs: (nodeSpec: T, parentFrameSpec: T) => T;
|
|
@@ -460,6 +478,7 @@ declare namespace axe {
|
|
|
460
478
|
interface Dom {
|
|
461
479
|
isFocusable: (node: Element | VirtualNode) => boolean;
|
|
462
480
|
isNativelyFocusable: (node: Element | VirtualNode) => boolean;
|
|
481
|
+
getNodeGrid: (node: Node | VirtualNode) => Grid;
|
|
463
482
|
}
|
|
464
483
|
|
|
465
484
|
type AccessibleTextOptions = {
|
package/axe.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! axe v4.10.3-canary.
|
|
1
|
+
/*! axe v4.10.3-canary.c7e2c1c
|
|
2
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
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
}, _typeof(o);
|
|
23
23
|
}
|
|
24
24
|
var axe = axe || {};
|
|
25
|
-
axe.version = '4.10.3-canary.
|
|
25
|
+
axe.version = '4.10.3-canary.c7e2c1c';
|
|
26
26
|
if (typeof define === 'function' && define.amd) {
|
|
27
27
|
define('axe-core', [], function() {
|
|
28
28
|
return axe;
|
|
@@ -8975,6 +8975,9 @@
|
|
|
8975
8975
|
getModalDialog: function getModalDialog() {
|
|
8976
8976
|
return get_modal_dialog_default;
|
|
8977
8977
|
},
|
|
8978
|
+
getNodeGrid: function getNodeGrid() {
|
|
8979
|
+
return _getNodeGrid;
|
|
8980
|
+
},
|
|
8978
8981
|
getOverflowHiddenAncestors: function getOverflowHiddenAncestors() {
|
|
8979
8982
|
return get_overflow_hidden_ancestors_default;
|
|
8980
8983
|
},
|
|
@@ -9956,15 +9959,19 @@
|
|
|
9956
9959
|
callback(matrix[index], index + matrix._negativeIndex);
|
|
9957
9960
|
}
|
|
9958
9961
|
}
|
|
9962
|
+
function _getNodeGrid(node) {
|
|
9963
|
+
_createGrid();
|
|
9964
|
+
var _nodeLookup3 = _nodeLookup(node), vNode = _nodeLookup3.vNode;
|
|
9965
|
+
return vNode._grid;
|
|
9966
|
+
}
|
|
9959
9967
|
function _findNearbyElms(vNode) {
|
|
9960
|
-
var
|
|
9968
|
+
var _grid$cells;
|
|
9961
9969
|
var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
9962
|
-
|
|
9963
|
-
if (!(
|
|
9970
|
+
var grid = _getNodeGrid(vNode);
|
|
9971
|
+
if (!(grid !== null && grid !== void 0 && (_grid$cells = grid.cells) !== null && _grid$cells !== void 0 && _grid$cells.length)) {
|
|
9964
9972
|
return [];
|
|
9965
9973
|
}
|
|
9966
9974
|
var rect = vNode.boundingClientRect;
|
|
9967
|
-
var grid = vNode._grid;
|
|
9968
9975
|
var selfIsFixed = hasFixedPosition(vNode);
|
|
9969
9976
|
var gridPosition = grid.getGridPositionOfRect(rect, margin);
|
|
9970
9977
|
var neighbors = [];
|
|
@@ -10090,7 +10097,7 @@
|
|
|
10090
10097
|
return allowedDisabledNodeNames.includes(nodeName2);
|
|
10091
10098
|
}
|
|
10092
10099
|
function focusDisabled(el) {
|
|
10093
|
-
var
|
|
10100
|
+
var _nodeLookup4 = _nodeLookup(el), vNode = _nodeLookup4.vNode;
|
|
10094
10101
|
if (isDisabledAttrAllowed(vNode.props.nodeName) && vNode.hasAttr('disabled') || _isInert(vNode)) {
|
|
10095
10102
|
return true;
|
|
10096
10103
|
}
|
|
@@ -10288,13 +10295,12 @@
|
|
|
10288
10295
|
return stack;
|
|
10289
10296
|
}
|
|
10290
10297
|
function getElementStack(node) {
|
|
10291
|
-
|
|
10292
|
-
var vNode = get_node_from_tree_default(node);
|
|
10293
|
-
var grid = vNode._grid;
|
|
10298
|
+
var grid = _getNodeGrid(node);
|
|
10294
10299
|
if (!grid) {
|
|
10295
10300
|
return [];
|
|
10296
10301
|
}
|
|
10297
|
-
|
|
10302
|
+
var rect = get_node_from_tree_default(node).boundingClientRect;
|
|
10303
|
+
return getRectStack(grid, rect);
|
|
10298
10304
|
}
|
|
10299
10305
|
var get_element_stack_default = getElementStack;
|
|
10300
10306
|
function getTabbableElements(virtualNode) {
|
|
@@ -10308,7 +10314,7 @@
|
|
|
10308
10314
|
}
|
|
10309
10315
|
var get_tabbable_elements_default = getTabbableElements;
|
|
10310
10316
|
function isNativelyFocusable(el) {
|
|
10311
|
-
var
|
|
10317
|
+
var _nodeLookup5 = _nodeLookup(el), vNode = _nodeLookup5.vNode;
|
|
10312
10318
|
if (!vNode || focus_disabled_default(vNode)) {
|
|
10313
10319
|
return false;
|
|
10314
10320
|
}
|
|
@@ -10336,7 +10342,7 @@
|
|
|
10336
10342
|
}
|
|
10337
10343
|
var is_natively_focusable_default = isNativelyFocusable;
|
|
10338
10344
|
function _isFocusable(el) {
|
|
10339
|
-
var
|
|
10345
|
+
var _nodeLookup6 = _nodeLookup(el), vNode = _nodeLookup6.vNode;
|
|
10340
10346
|
if (vNode.props.nodeType !== 1) {
|
|
10341
10347
|
return false;
|
|
10342
10348
|
}
|
|
@@ -10349,7 +10355,7 @@
|
|
|
10349
10355
|
return tabindex !== null;
|
|
10350
10356
|
}
|
|
10351
10357
|
function _isInTabOrder(el) {
|
|
10352
|
-
var
|
|
10358
|
+
var _nodeLookup7 = _nodeLookup(el), vNode = _nodeLookup7.vNode;
|
|
10353
10359
|
if (vNode.props.nodeType !== 1) {
|
|
10354
10360
|
return false;
|
|
10355
10361
|
}
|
|
@@ -10491,7 +10497,7 @@
|
|
|
10491
10497
|
var accessible_text_default = accessibleText;
|
|
10492
10498
|
function arialabelledbyText(element) {
|
|
10493
10499
|
var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
10494
|
-
var
|
|
10500
|
+
var _nodeLookup8 = _nodeLookup(element), vNode = _nodeLookup8.vNode;
|
|
10495
10501
|
if ((vNode === null || vNode === void 0 ? void 0 : vNode.props.nodeType) !== 1) {
|
|
10496
10502
|
return '';
|
|
10497
10503
|
}
|
|
@@ -10515,7 +10521,7 @@
|
|
|
10515
10521
|
}
|
|
10516
10522
|
var arialabelledby_text_default = arialabelledbyText;
|
|
10517
10523
|
function _arialabelText(element) {
|
|
10518
|
-
var
|
|
10524
|
+
var _nodeLookup9 = _nodeLookup(element), vNode = _nodeLookup9.vNode;
|
|
10519
10525
|
if ((vNode === null || vNode === void 0 ? void 0 : vNode.props.nodeType) !== 1) {
|
|
10520
10526
|
return '';
|
|
10521
10527
|
}
|
|
@@ -12538,9 +12544,9 @@
|
|
|
12538
12544
|
}
|
|
12539
12545
|
var get_cell_position_default = memoize_default(getCellPosition);
|
|
12540
12546
|
function _getScope(el) {
|
|
12541
|
-
var
|
|
12547
|
+
var _nodeLookup0 = _nodeLookup(el), vNode = _nodeLookup0.vNode, cell = _nodeLookup0.domNode;
|
|
12542
12548
|
var scope = vNode.attr('scope');
|
|
12543
|
-
var role = vNode
|
|
12549
|
+
var role = get_explicit_role_default(vNode);
|
|
12544
12550
|
if (![ 'td', 'th' ].includes(vNode.props.nodeName)) {
|
|
12545
12551
|
throw new TypeError('Expected TD or TH element');
|
|
12546
12552
|
}
|
|
@@ -12965,7 +12971,7 @@
|
|
|
12965
12971
|
function resolveRole(node) {
|
|
12966
12972
|
var _ref30 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
12967
12973
|
var noImplicit = _ref30.noImplicit, roleOptions = _objectWithoutProperties(_ref30, _excluded7);
|
|
12968
|
-
var
|
|
12974
|
+
var _nodeLookup1 = _nodeLookup(node), vNode = _nodeLookup1.vNode;
|
|
12969
12975
|
if (vNode.props.nodeType !== 1) {
|
|
12970
12976
|
return null;
|
|
12971
12977
|
}
|
|
@@ -12993,7 +12999,7 @@
|
|
|
12993
12999
|
var get_role_default = getRole;
|
|
12994
13000
|
var alwaysTitleElements = [ 'iframe' ];
|
|
12995
13001
|
function titleText(node) {
|
|
12996
|
-
var
|
|
13002
|
+
var _nodeLookup10 = _nodeLookup(node), vNode = _nodeLookup10.vNode;
|
|
12997
13003
|
if (vNode.props.nodeType !== 1 || !node.hasAttr('title')) {
|
|
12998
13004
|
return '';
|
|
12999
13005
|
}
|
|
@@ -13065,7 +13071,7 @@
|
|
|
13065
13071
|
return isVisibleToScreenReadersVirtual(vNode.parent, true);
|
|
13066
13072
|
});
|
|
13067
13073
|
function visibleVirtual(element, screenReader, noRecursing) {
|
|
13068
|
-
var
|
|
13074
|
+
var _nodeLookup11 = _nodeLookup(element), vNode = _nodeLookup11.vNode;
|
|
13069
13075
|
var visibleMethod = screenReader ? _isVisibleToScreenReaders : _isVisibleOnScreen;
|
|
13070
13076
|
var visible2 = !element.actualNode || element.actualNode && visibleMethod(element);
|
|
13071
13077
|
var result = vNode.children.map(function(child) {
|
|
@@ -13144,14 +13150,14 @@
|
|
|
13144
13150
|
return valueString;
|
|
13145
13151
|
}
|
|
13146
13152
|
function nativeTextboxValue(node) {
|
|
13147
|
-
var
|
|
13153
|
+
var _nodeLookup12 = _nodeLookup(node), vNode = _nodeLookup12.vNode;
|
|
13148
13154
|
if (is_native_textbox_default(vNode)) {
|
|
13149
13155
|
return vNode.props.value || '';
|
|
13150
13156
|
}
|
|
13151
13157
|
return '';
|
|
13152
13158
|
}
|
|
13153
13159
|
function nativeSelectValue(node) {
|
|
13154
|
-
var
|
|
13160
|
+
var _nodeLookup13 = _nodeLookup(node), vNode = _nodeLookup13.vNode;
|
|
13155
13161
|
if (!is_native_select_default(vNode)) {
|
|
13156
13162
|
return '';
|
|
13157
13163
|
}
|
|
@@ -13167,7 +13173,7 @@
|
|
|
13167
13173
|
}).join(' ') || '';
|
|
13168
13174
|
}
|
|
13169
13175
|
function ariaTextboxValue(node) {
|
|
13170
|
-
var
|
|
13176
|
+
var _nodeLookup14 = _nodeLookup(node), vNode = _nodeLookup14.vNode, domNode = _nodeLookup14.domNode;
|
|
13171
13177
|
if (!is_aria_textbox_default(vNode)) {
|
|
13172
13178
|
return '';
|
|
13173
13179
|
}
|
|
@@ -13178,7 +13184,7 @@
|
|
|
13178
13184
|
}
|
|
13179
13185
|
}
|
|
13180
13186
|
function ariaListboxValue(node, context) {
|
|
13181
|
-
var
|
|
13187
|
+
var _nodeLookup15 = _nodeLookup(node), vNode = _nodeLookup15.vNode;
|
|
13182
13188
|
if (!is_aria_listbox_default(vNode)) {
|
|
13183
13189
|
return '';
|
|
13184
13190
|
}
|
|
@@ -13191,7 +13197,7 @@
|
|
|
13191
13197
|
return _accessibleTextVirtual(selected[0], context);
|
|
13192
13198
|
}
|
|
13193
13199
|
function ariaComboboxValue(node, context) {
|
|
13194
|
-
var
|
|
13200
|
+
var _nodeLookup16 = _nodeLookup(node), vNode = _nodeLookup16.vNode;
|
|
13195
13201
|
if (!is_aria_combobox_default(vNode)) {
|
|
13196
13202
|
return '';
|
|
13197
13203
|
}
|
|
@@ -13201,7 +13207,7 @@
|
|
|
13201
13207
|
return listbox ? ariaListboxValue(listbox, context) : '';
|
|
13202
13208
|
}
|
|
13203
13209
|
function ariaRangeValue(node) {
|
|
13204
|
-
var
|
|
13210
|
+
var _nodeLookup17 = _nodeLookup(node), vNode = _nodeLookup17.vNode;
|
|
13205
13211
|
if (!is_aria_range_default(vNode) || !vNode.hasAttr('aria-valuenow')) {
|
|
13206
13212
|
return '';
|
|
13207
13213
|
}
|
|
@@ -13814,9 +13820,7 @@
|
|
|
13814
13820
|
return visibleRects;
|
|
13815
13821
|
}
|
|
13816
13822
|
function getTextElementStack(node) {
|
|
13817
|
-
|
|
13818
|
-
var vNode = get_node_from_tree_default(node);
|
|
13819
|
-
var grid = vNode._grid;
|
|
13823
|
+
var grid = _getNodeGrid(node);
|
|
13820
13824
|
if (!grid) {
|
|
13821
13825
|
return [];
|
|
13822
13826
|
}
|
|
@@ -13828,7 +13832,7 @@
|
|
|
13828
13832
|
var get_text_element_stack_default = getTextElementStack;
|
|
13829
13833
|
var visualRoles = [ 'checkbox', 'img', 'meter', 'progressbar', 'scrollbar', 'radio', 'slider', 'spinbutton', 'textbox' ];
|
|
13830
13834
|
function isVisualContent(el) {
|
|
13831
|
-
var
|
|
13835
|
+
var _nodeLookup18 = _nodeLookup(el), vNode = _nodeLookup18.vNode;
|
|
13832
13836
|
var role = axe.commons.aria.getExplicitRole(vNode);
|
|
13833
13837
|
if (role) {
|
|
13834
13838
|
return visualRoles.indexOf(role) !== -1;
|
|
@@ -13896,7 +13900,7 @@
|
|
|
13896
13900
|
}
|
|
13897
13901
|
var inserted_into_focus_order_default = insertedIntoFocusOrder;
|
|
13898
13902
|
function isHiddenWithCSS(el, descendentVisibilityValue) {
|
|
13899
|
-
var
|
|
13903
|
+
var _nodeLookup19 = _nodeLookup(el), vNode = _nodeLookup19.vNode, domNode = _nodeLookup19.domNode;
|
|
13900
13904
|
if (!vNode) {
|
|
13901
13905
|
return _isHiddenWithCSS(domNode, descendentVisibilityValue);
|
|
13902
13906
|
}
|
|
@@ -20287,8 +20291,8 @@
|
|
|
20287
20291
|
if (!cell.children.length && !cell.textContent.trim()) {
|
|
20288
20292
|
return false;
|
|
20289
20293
|
}
|
|
20290
|
-
var role = cell
|
|
20291
|
-
if (
|
|
20294
|
+
var role = get_explicit_role_default(cell);
|
|
20295
|
+
if (role) {
|
|
20292
20296
|
return [ 'cell', 'gridcell' ].includes(role);
|
|
20293
20297
|
} else {
|
|
20294
20298
|
return cell.nodeName.toUpperCase() === 'TD';
|
|
@@ -20296,7 +20300,7 @@
|
|
|
20296
20300
|
}
|
|
20297
20301
|
var is_data_cell_default = isDataCell;
|
|
20298
20302
|
function isDataTable(node) {
|
|
20299
|
-
var role = (node
|
|
20303
|
+
var role = get_explicit_role_default(node);
|
|
20300
20304
|
if ((role === 'presentation' || role === 'none') && !_isFocusable(node)) {
|
|
20301
20305
|
return false;
|
|
20302
20306
|
}
|
|
@@ -20340,7 +20344,7 @@
|
|
|
20340
20344
|
if (cell.getAttribute('scope') || cell.getAttribute('headers') || cell.getAttribute('abbr')) {
|
|
20341
20345
|
return true;
|
|
20342
20346
|
}
|
|
20343
|
-
if ([ 'columnheader', 'rowheader' ].includes((cell
|
|
20347
|
+
if ([ 'columnheader', 'rowheader' ].includes(get_explicit_role_default(cell))) {
|
|
20344
20348
|
return true;
|
|
20345
20349
|
}
|
|
20346
20350
|
if (cell.children.length === 1 && cell.children[0].nodeName.toUpperCase() === 'ABBR') {
|
|
@@ -20470,52 +20474,6 @@
|
|
|
20470
20474
|
}, tableGrid, callback);
|
|
20471
20475
|
}
|
|
20472
20476
|
var traverse_default = traverse;
|
|
20473
|
-
function thHasDataCellsEvaluate(node) {
|
|
20474
|
-
var cells = get_all_cells_default(node);
|
|
20475
|
-
var checkResult = this;
|
|
20476
|
-
var reffedHeaders = [];
|
|
20477
|
-
cells.forEach(function(cell) {
|
|
20478
|
-
var headers2 = cell.getAttribute('headers');
|
|
20479
|
-
if (headers2) {
|
|
20480
|
-
reffedHeaders = reffedHeaders.concat(headers2.split(/\s+/));
|
|
20481
|
-
}
|
|
20482
|
-
var ariaLabel = cell.getAttribute('aria-labelledby');
|
|
20483
|
-
if (ariaLabel) {
|
|
20484
|
-
reffedHeaders = reffedHeaders.concat(ariaLabel.split(/\s+/));
|
|
20485
|
-
}
|
|
20486
|
-
});
|
|
20487
|
-
var headers = cells.filter(function(cell) {
|
|
20488
|
-
if (sanitize_default(cell.textContent) === '') {
|
|
20489
|
-
return false;
|
|
20490
|
-
}
|
|
20491
|
-
return cell.nodeName.toUpperCase() === 'TH' || [ 'rowheader', 'columnheader' ].indexOf(cell.getAttribute('role')) !== -1;
|
|
20492
|
-
});
|
|
20493
|
-
var tableGrid = to_grid_default(node);
|
|
20494
|
-
var out = true;
|
|
20495
|
-
headers.forEach(function(header) {
|
|
20496
|
-
if (header.getAttribute('id') && reffedHeaders.includes(header.getAttribute('id'))) {
|
|
20497
|
-
return;
|
|
20498
|
-
}
|
|
20499
|
-
var pos = get_cell_position_default(header, tableGrid);
|
|
20500
|
-
var hasCell = false;
|
|
20501
|
-
if (is_column_header_default(header)) {
|
|
20502
|
-
hasCell = traverse_default('down', pos, tableGrid).find(function(cell) {
|
|
20503
|
-
return !is_column_header_default(cell) && get_headers_default(cell, tableGrid).includes(header);
|
|
20504
|
-
});
|
|
20505
|
-
}
|
|
20506
|
-
if (!hasCell && is_row_header_default(header)) {
|
|
20507
|
-
hasCell = traverse_default('right', pos, tableGrid).find(function(cell) {
|
|
20508
|
-
return !is_row_header_default(cell) && get_headers_default(cell, tableGrid).includes(header);
|
|
20509
|
-
});
|
|
20510
|
-
}
|
|
20511
|
-
if (!hasCell) {
|
|
20512
|
-
checkResult.relatedNodes(header);
|
|
20513
|
-
}
|
|
20514
|
-
out = out && hasCell;
|
|
20515
|
-
});
|
|
20516
|
-
return out ? true : void 0;
|
|
20517
|
-
}
|
|
20518
|
-
var th_has_data_cells_evaluate_default = thHasDataCellsEvaluate;
|
|
20519
20477
|
var aria_exports = {};
|
|
20520
20478
|
__export(aria_exports, {
|
|
20521
20479
|
allowedAttr: function allowedAttr() {
|
|
@@ -20712,7 +20670,7 @@
|
|
|
20712
20670
|
}
|
|
20713
20671
|
function getElementUnallowedRoles(node) {
|
|
20714
20672
|
var allowImplicit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
20715
|
-
var
|
|
20673
|
+
var _nodeLookup20 = _nodeLookup(node), vNode = _nodeLookup20.vNode;
|
|
20716
20674
|
if (!is_html_element_default(vNode)) {
|
|
20717
20675
|
return [];
|
|
20718
20676
|
}
|
|
@@ -22736,6 +22694,52 @@
|
|
|
22736
22694
|
return !!attrDefinition;
|
|
22737
22695
|
}
|
|
22738
22696
|
var validate_attr_default = validateAttr;
|
|
22697
|
+
function thHasDataCellsEvaluate(node) {
|
|
22698
|
+
var cells = get_all_cells_default(node);
|
|
22699
|
+
var checkResult = this;
|
|
22700
|
+
var reffedHeaders = [];
|
|
22701
|
+
cells.forEach(function(cell) {
|
|
22702
|
+
var headers2 = cell.getAttribute('headers');
|
|
22703
|
+
if (headers2) {
|
|
22704
|
+
reffedHeaders = reffedHeaders.concat(headers2.split(/\s+/));
|
|
22705
|
+
}
|
|
22706
|
+
var ariaLabel = cell.getAttribute('aria-labelledby');
|
|
22707
|
+
if (ariaLabel) {
|
|
22708
|
+
reffedHeaders = reffedHeaders.concat(ariaLabel.split(/\s+/));
|
|
22709
|
+
}
|
|
22710
|
+
});
|
|
22711
|
+
var headers = cells.filter(function(cell) {
|
|
22712
|
+
if (sanitize_default(cell.textContent) === '') {
|
|
22713
|
+
return false;
|
|
22714
|
+
}
|
|
22715
|
+
return cell.nodeName.toUpperCase() === 'TH' || [ 'rowheader', 'columnheader' ].indexOf(get_explicit_role_default(cell)) !== -1;
|
|
22716
|
+
});
|
|
22717
|
+
var tableGrid = to_grid_default(node);
|
|
22718
|
+
var out = true;
|
|
22719
|
+
headers.forEach(function(header) {
|
|
22720
|
+
if (header.getAttribute('id') && reffedHeaders.includes(header.getAttribute('id'))) {
|
|
22721
|
+
return;
|
|
22722
|
+
}
|
|
22723
|
+
var pos = get_cell_position_default(header, tableGrid);
|
|
22724
|
+
var hasCell = false;
|
|
22725
|
+
if (is_column_header_default(header)) {
|
|
22726
|
+
hasCell = traverse_default('down', pos, tableGrid).find(function(cell) {
|
|
22727
|
+
return !is_column_header_default(cell) && get_headers_default(cell, tableGrid).includes(header);
|
|
22728
|
+
});
|
|
22729
|
+
}
|
|
22730
|
+
if (!hasCell && is_row_header_default(header)) {
|
|
22731
|
+
hasCell = traverse_default('right', pos, tableGrid).find(function(cell) {
|
|
22732
|
+
return !is_row_header_default(cell) && get_headers_default(cell, tableGrid).includes(header);
|
|
22733
|
+
});
|
|
22734
|
+
}
|
|
22735
|
+
if (!hasCell) {
|
|
22736
|
+
checkResult.relatedNodes(header);
|
|
22737
|
+
}
|
|
22738
|
+
out = out && hasCell;
|
|
22739
|
+
});
|
|
22740
|
+
return out ? true : void 0;
|
|
22741
|
+
}
|
|
22742
|
+
var th_has_data_cells_evaluate_default = thHasDataCellsEvaluate;
|
|
22739
22743
|
var messageKeys = [ 'cell-header-not-in-table', 'cell-header-not-th', 'header-refs-self', 'empty-hdrs' ];
|
|
22740
22744
|
var notInTable = messageKeys[0], notTh = messageKeys[1], selfRef = messageKeys[2], emptyHdrs = messageKeys[3];
|
|
22741
22745
|
function tdHeadersAttrEvaluate(node) {
|
|
@@ -25502,7 +25506,7 @@
|
|
|
25502
25506
|
role: nodeRole
|
|
25503
25507
|
});
|
|
25504
25508
|
while (parent) {
|
|
25505
|
-
var role = parent
|
|
25509
|
+
var role = get_explicit_role_default(parent);
|
|
25506
25510
|
if (!role && parent.nodeName.toUpperCase() !== 'FORM') {
|
|
25507
25511
|
role = implicit_role_default(parent);
|
|
25508
25512
|
}
|
|
@@ -26199,8 +26203,8 @@
|
|
|
26199
26203
|
return false;
|
|
26200
26204
|
}
|
|
26201
26205
|
var invalidrole_evaluate_default = invalidroleEvaluate;
|
|
26202
|
-
function hasWidgetRoleEvaluate(node) {
|
|
26203
|
-
var role =
|
|
26206
|
+
function hasWidgetRoleEvaluate(node, options, virtualNode) {
|
|
26207
|
+
var role = get_explicit_role_default(virtualNode);
|
|
26204
26208
|
if (role === null) {
|
|
26205
26209
|
return false;
|
|
26206
26210
|
}
|
|
@@ -26727,7 +26731,7 @@
|
|
|
26727
26731
|
});
|
|
26728
26732
|
return false;
|
|
26729
26733
|
}
|
|
26730
|
-
return idref
|
|
26734
|
+
return get_explicit_role_default(idref) === 'alert' || idref.getAttribute('aria-live') === 'assertive' || idref.getAttribute('aria-live') === 'polite' || token_list_default(virtualNode.attr('aria-describedby')).indexOf(attr) > -1;
|
|
26731
26735
|
}
|
|
26732
26736
|
return;
|
|
26733
26737
|
}
|
|
@@ -27081,7 +27085,7 @@
|
|
|
27081
27085
|
var nested_interactive_matches_default = nestedInteractiveMatches;
|
|
27082
27086
|
function linkInTextBlockMatches(node) {
|
|
27083
27087
|
var text = sanitize_default(node.innerText);
|
|
27084
|
-
var role = node
|
|
27088
|
+
var role = get_explicit_role_default(node);
|
|
27085
27089
|
if (role && role !== 'link') {
|
|
27086
27090
|
return false;
|
|
27087
27091
|
}
|
|
@@ -27365,9 +27369,9 @@
|
|
|
27365
27369
|
if (virtualNode.hasAttr('disabled') || ariaDisabled.toLowerCase() === 'true') {
|
|
27366
27370
|
return false;
|
|
27367
27371
|
}
|
|
27368
|
-
var role = virtualNode
|
|
27372
|
+
var role = get_explicit_role_default(virtualNode);
|
|
27369
27373
|
var tabIndex = parse_tabindex_default(virtualNode.attr('tabindex'));
|
|
27370
|
-
if (tabIndex < 0 && role) {
|
|
27374
|
+
if (tabIndex < 0 && virtualNode.hasAttr('role')) {
|
|
27371
27375
|
var roleDef = standards_default.ariaRoles[role];
|
|
27372
27376
|
if (roleDef === void 0 || roleDef.type !== 'widget') {
|
|
27373
27377
|
return false;
|
|
@@ -29593,7 +29597,7 @@
|
|
|
29593
29597
|
},
|
|
29594
29598
|
'role-img-alt': {
|
|
29595
29599
|
description: 'Ensure [role="img"] elements have alternative text',
|
|
29596
|
-
help: '[role="img"] elements must have
|
|
29600
|
+
help: '[role="img"] elements must have alternative text'
|
|
29597
29601
|
},
|
|
29598
29602
|
'scope-attr-valid': {
|
|
29599
29603
|
description: 'Ensure the scope attribute is used correctly on tables',
|
|
@@ -29620,8 +29624,8 @@
|
|
|
29620
29624
|
help: 'Summary elements must have discernible text'
|
|
29621
29625
|
},
|
|
29622
29626
|
'svg-img-alt': {
|
|
29623
|
-
description: 'Ensure <svg> elements with an img, graphics-document or graphics-symbol role have
|
|
29624
|
-
help: '<svg> elements with an img role must have
|
|
29627
|
+
description: 'Ensure <svg> elements with an img, graphics-document or graphics-symbol role have accessible text',
|
|
29628
|
+
help: '<svg> elements with an img role must have alternative text'
|
|
29625
29629
|
},
|
|
29626
29630
|
tabindex: {
|
|
29627
29631
|
description: 'Ensure tabindex attribute values are not greater than 0',
|