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-27.9.1 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.9.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.8.2 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.8.1 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.8.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.7.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.6.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.5.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.4.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.3.1 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.3.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.2.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.1.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-27.0.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-26.0.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-25.7.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-25.6.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-25.5.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-25.4.0 node_modules/axe-core/lib/commons/color/element-has-image.js
govuk_publishing_components-25.3.1 node_modules/axe-core/lib/commons/color/element-has-image.js