Sha256: 2c1f42b896cb39f0ce53102a5309eeadd1375d20e3a105c7973ef3a6171764f6
Contents?: true
Size: 1.09 KB
Versions: 271
Compression:
Stored size: 1.09 KB
Contents
options = options || {}; const missing = []; const { isNativeTextbox, isNativeSelect, isAriaTextbox, isAriaListbox, isAriaCombobox, isAriaRange } = axe.commons.forms; // aria-valuenow should fail if element does not have a value property // @see https://github.com/dequelabs/axe-core/issues/1501 const preChecks = { 'aria-valuenow': function() { return !( isNativeTextbox(node) || isNativeSelect(node) || isAriaTextbox(node) || isAriaListbox(node) || isAriaCombobox(node) || (isAriaRange(node) && node.hasAttribute('aria-valuenow')) ); } }; if (node.hasAttributes()) { const role = node.getAttribute('role'); let required = axe.commons.aria.requiredAttr(role); if (Array.isArray(options[role])) { required = axe.utils.uniqueArray(options[role], required); } if (role && required) { for (let i = 0, l = required.length; i < l; i++) { const attr = required[i]; if ( !node.getAttribute(attr) && (preChecks[attr] ? preChecks[attr]() : true) ) { missing.push(attr); } } } } if (missing.length) { this.data(missing); return false; } return true;
Version data entries
271 entries across 271 versions & 1 rubygems