Skip to content

Commit d06765f

Browse files
committed
Updated the AccName algorithm to omit names for implicitly generic elements such as div and span when these match the rootNode
1 parent f5a4e2d commit d06765f

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

docs/Sample JavaScript Recursion Algorithm/recursion.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Distributed under the terms of the Open Source Initiative OSI - MIT License
1414
window[nameSpace] = {};
1515
nameSpace = window[nameSpace];
1616
}
17-
nameSpace.getAccNameVersion = "2.58";
17+
nameSpace.getAccNameVersion = "2.59";
1818
// AccName Computation Prototype
1919
nameSpace.getAccName = nameSpace.calcNames = function(
2020
node,
@@ -361,6 +361,17 @@ Plus roles extended for the Role Parity project.
361361
(!skipTo.tag && !skipTo.role && node.getAttribute("title")) ||
362362
"";
363363

364+
// Added to prevent name on generic elements.
365+
// https://www.w3.org/TR/wai-aria-1.2/#generic
366+
var isGeneric =
367+
node === rootNode &&
368+
!nRole &&
369+
genericElements.indexOf(nTag) !== -1;
370+
if (isGeneric) {
371+
// Abort since an implicitly generic rootNode cannot have a name
372+
return result;
373+
}
374+
364375
var isNativeFormField = nativeFormFields.indexOf(nTag) !== -1;
365376
var isNativeButton = ["input"].indexOf(nTag) !== -1;
366377
var isRangeWidgetRole = rangeWidgetRoles.indexOf(nRole) !== -1;
@@ -1134,6 +1145,7 @@ Plus roles extended for the Role Parity project.
11341145
tags: ["legend", "caption", "figcaption"]
11351146
};
11361147

1148+
var genericElements = ["div", "span"];
11371149
var nativeFormFields = ["button", "input", "select", "textarea"];
11381150
var rangeWidgetRoles = ["scrollbar", "slider", "spinbutton"];
11391151
var editWidgetRoles = ["searchbox", "textbox"];

0 commit comments

Comments
 (0)