Sha256: 361d1bbe9558840020de35427a76735b06fe0150b893c0916e94d9a2a6e93716

Contents?: true

Size: 905 Bytes

Versions: 271

Compression:

Stored size: 905 Bytes

Contents

/* global color */

/**
 * Reports if an element has a background image or gradient
 *
 * @method elementHasImage
 * @memberof axe.commons.color
 * @private
 * @param {Element} elm
 * @param {Object|null} style
 * @return {Boolean}
 */
color.elementHasImage = function elementHasImage(elm, style) {
	const graphicNodes = ['IMG', 'CANVAS', 'OBJECT', 'IFRAME', 'VIDEO', 'SVG'];
	const nodeName = elm.nodeName.toUpperCase();

	if (graphicNodes.includes(nodeName)) {
		axe.commons.color.incompleteData.set('bgColor', 'imgNode');
		return true;
	}

	style = style || window.getComputedStyle(elm);

	const bgImageStyle = style.getPropertyValue('background-image');
	const hasBgImage = bgImageStyle !== 'none';

	if (hasBgImage) {
		const hasGradient = /gradient/.test(bgImageStyle);
		axe.commons.color.incompleteData.set(
			'bgColor',
			hasGradient ? 'bgGradient' : 'bgImage'
		);
	}

	return hasBgImage;
};

Version data entries

271 entries across 271 versions & 1 rubygems

Version Path
govuk_publishing_components-28.0.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.20.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.19.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.18.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.17.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.16.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.15.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.14.2 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.14.1 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.14.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.13.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.12.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.11.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.10.5 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.10.4 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.10.3 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.10.2 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.10.1 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.10.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.9.2 node_modules/axe-core/lib/commons/color/element-has-image.js