luhn-generator
Version:
A generator of numbers that passes the validation of Luhn algorithm or Luhn formula, also known as the 'modulus 10' or 'mod 10' algorithm
47 lines (40 loc) • 1.13 kB
JavaScript
import idrefs from '../dom/idrefs';
import visibleVirtual from '../text/visible-virtual';
import sanitize from '../text/sanitize';
import { getNodeFromTree } from '../../core/utils';
/**
* Gets the accessible ARIA label text of a given element
* @see http://www.w3.org/WAI/PF/aria/roles#namecalculation
* @method labelVirtual
* @memberof axe.commons.aria
* @instance
* @param {VirtualNode} virtualNode The virtualNode to test
* @return {Mixed} String of visible text, or `null` if no label is found
*/
function labelVirtual(virtualNode) {
let ref, candidate;
if (virtualNode.attr('aria-labelledby')) {
// aria-labelledby
ref = idrefs(virtualNode.actualNode, 'aria-labelledby');
candidate = ref
.map(function(thing) {
const vNode = getNodeFromTree(thing);
return vNode ? visibleVirtual(vNode, true) : '';
})
.join(' ')
.trim();
if (candidate) {
return candidate;
}
}
// aria-label
candidate = virtualNode.attr('aria-label');
if (candidate) {
candidate = sanitize(candidate).trim();
if (candidate) {
return candidate;
}
}
return null;
}
export default labelVirtual;