Sha256: 17532990d279f74c432dcec52fd7a2fe79c1536380a0f4ed63c9e4d51f09176c

Contents?: true

Size: 1.06 KB

Versions: 34

Compression:

Stored size: 1.06 KB

Contents

const { scaleMinimum = 2, lowerBound = false } = options || {};

const content = node.getAttribute('content') || '';
if (!content) {
	return true;
}

const result = content.split(/[;,]/).reduce((out, item) => {
	const contentValue = item.trim();
	if (!contentValue) {
		return out;
	}

	const [key, value] = contentValue.split('=');
	const curatedKey = key.toLowerCase().trim();
	let curatedValue = value.toLowerCase().trim();

	// convert `yes` to `1`
	if (curatedKey === 'maximum-scale' && curatedValue === 'yes') {
		curatedValue = 1;
	}
	// when negative ignore key
	if (curatedKey === 'maximum-scale' && parseFloat(curatedValue) < 0) {
		return out;
	}

	out[curatedKey] = curatedValue;
	return out;
}, {});

if (
	lowerBound &&
	result['maximum-scale'] &&
	parseFloat(result['maximum-scale']) < lowerBound
) {
	return true;
}

if (!lowerBound && result['user-scalable'] === 'no') {
	this.data('user-scalable=no');
	return false;
}

if (
	result['maximum-scale'] &&
	parseFloat(result['maximum-scale']) < scaleMinimum
) {
	this.data('maximum-scale');
	return false;
}

return true;

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
govuk_publishing_components-21.56.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.55.4 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.55.3 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.55.2 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.55.1 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.55.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.54.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.53.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.52.1 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.52.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.51.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.50.1 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.50.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.49.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.48.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.47.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.46.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.45.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.44.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js
govuk_publishing_components-21.43.0 node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js