Sha256: b0342439e8282dad84406fa3421aeaa92be08b615d120a71d40deae0d3eb8b34

Contents?: true

Size: 1 KB

Versions: 271

Compression:

Stored size: 1 KB

Contents

/**
 * Note:
 * This rule filters elements with 'role=*' attribute via 'selector'
 * see relevant rule spec for details of 'role(s)' being filtered.
 */
const { aria } = axe.commons;

const nodeName = node.nodeName.toUpperCase();
const role = aria.getRole(node, { noImplicit: true });

/**
 * Ignore elements from rule -> 'area-alt'
 */
if (nodeName === 'AREA' && !!node.getAttribute('href')) {
	return false;
}

/**
 * Ignore elements from rule -> 'label'
 */
if (['INPUT', 'SELECT', 'TEXTAREA'].includes(nodeName)) {
	return false;
}

/**
 * Ignore elements from rule -> 'image-alt'
 */
if (nodeName === 'IMG' || (role === 'img' && nodeName !== 'SVG')) {
	return false;
}

/**
 * Ignore elements from rule -> 'button-name'
 */
if (nodeName === 'BUTTON' || role === 'button') {
	return false;
}

/**
 * Ignore combobox elements if they have a child input
 * (ARIA 1.1 pattern)
 */
if (
	role === 'combobox' &&
	axe.utils.querySelectorAll(virtualNode, 'input:not([type="hidden"])').length
) {
	return false;
}

return true;

Version data entries

271 entries across 271 versions & 1 rubygems

Version Path
govuk_publishing_components-30.4.1 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-30.4.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-30.3.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-30.2.1 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-30.2.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-30.1.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-30.0.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-29.15.3 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-29.15.2 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-29.15.1 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-29.15.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-29.14.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-29.13.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-29.12.1 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-29.12.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-29.11.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-29.10.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-29.9.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-29.8.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js
govuk_publishing_components-29.7.0 node_modules/axe-core/lib/rules/aria-form-field-name-matches.js