diff --git a/doc/examples/qunit/test/test.html b/doc/examples/qunit/test/test.html
index 22e013e77b..e7a3acbb5c 100644
--- a/doc/examples/qunit/test/test.html
+++ b/doc/examples/qunit/test/test.html
@@ -1,4 +1,4 @@
-
+
diff --git a/lib/checks/color/color-contrast-evaluate.js b/lib/checks/color/color-contrast-evaluate.js
index 3268156e62..8916bd0971 100644
--- a/lib/checks/color/color-contrast-evaluate.js
+++ b/lib/checks/color/color-contrast-evaluate.js
@@ -187,38 +187,37 @@ function findPseudoElement(
} while ((vNode = vNode.parent));
}
-const getPseudoElementArea = memoize(function getPseudoElementArea(
- node,
- pseudo
-) {
- const style = window.getComputedStyle(node, pseudo);
- const matchPseudoStyle = (prop, value) =>
- style.getPropertyValue(prop) === value;
- if (
- matchPseudoStyle('content', 'none') ||
- matchPseudoStyle('display', 'none') ||
- matchPseudoStyle('visibility', 'hidden') ||
- matchPseudoStyle('position', 'absolute') === false
- ) {
- return 0; // The pseudo element isn't visible
- }
+const getPseudoElementArea = memoize(
+ function getPseudoElementArea(node, pseudo) {
+ const style = window.getComputedStyle(node, pseudo);
+ const matchPseudoStyle = (prop, value) =>
+ style.getPropertyValue(prop) === value;
+ if (
+ matchPseudoStyle('content', 'none') ||
+ matchPseudoStyle('display', 'none') ||
+ matchPseudoStyle('visibility', 'hidden') ||
+ matchPseudoStyle('position', 'absolute') === false
+ ) {
+ return 0; // The pseudo element isn't visible
+ }
- if (
- getOwnBackgroundColor(style).alpha === 0 &&
- matchPseudoStyle('background-image', 'none')
- ) {
- return 0; // There is no background
- }
+ if (
+ getOwnBackgroundColor(style).alpha === 0 &&
+ matchPseudoStyle('background-image', 'none')
+ ) {
+ return 0; // There is no background
+ }
- // Find the size of the pseudo element;
- const pseudoWidth = parseUnit(style.getPropertyValue('width'));
- const pseudoHeight = parseUnit(style.getPropertyValue('height'));
- if (pseudoWidth.unit !== 'px' || pseudoHeight.unit !== 'px') {
- // IE doesn't normalize to px. Infinity gets everything to undefined
- return pseudoWidth.value === 0 || pseudoHeight.value === 0 ? 0 : Infinity;
+ // Find the size of the pseudo element;
+ const pseudoWidth = parseUnit(style.getPropertyValue('width'));
+ const pseudoHeight = parseUnit(style.getPropertyValue('height'));
+ if (pseudoWidth.unit !== 'px' || pseudoHeight.unit !== 'px') {
+ // IE doesn't normalize to px. Infinity gets everything to undefined
+ return pseudoWidth.value === 0 || pseudoHeight.value === 0 ? 0 : Infinity;
+ }
+ return pseudoWidth.value * pseudoHeight.value;
}
- return pseudoWidth.value * pseudoHeight.value;
-});
+);
function textIsEmojis(visibleText) {
const options = { nonBmp: true };
diff --git a/lib/commons/dom/is-hidden-for-everyone.js b/lib/commons/dom/is-hidden-for-everyone.js
index 8f69c799a6..c2924363e7 100644
--- a/lib/commons/dom/is-hidden-for-everyone.js
+++ b/lib/commons/dom/is-hidden-for-everyone.js
@@ -65,17 +65,16 @@ const isHiddenSelf = memoize(function isHiddenSelfMemoized(vNode, isAncestor) {
/**
* Check the element and ancestors for visibility state
*/
-const isHiddenAncestors = memoize(function isHiddenAncestorsMemoized(
- vNode,
- isAncestor
-) {
- if (isHiddenSelf(vNode, isAncestor)) {
- return true;
- }
+const isHiddenAncestors = memoize(
+ function isHiddenAncestorsMemoized(vNode, isAncestor) {
+ if (isHiddenSelf(vNode, isAncestor)) {
+ return true;
+ }
- if (!vNode.parent) {
- return false;
- }
+ if (!vNode.parent) {
+ return false;
+ }
- return isHiddenAncestors(vNode.parent, true);
-});
+ return isHiddenAncestors(vNode.parent, true);
+ }
+);
diff --git a/lib/commons/dom/is-inert.js b/lib/commons/dom/is-inert.js
index e0a0270908..df09b5c78d 100644
--- a/lib/commons/dom/is-inert.js
+++ b/lib/commons/dom/is-inert.js
@@ -40,17 +40,16 @@ const isInertSelf = memoize(function isInertSelfMemoized(vNode, isAncestor) {
/**
* Check the element and ancestors for inert
*/
-const isInertAncestors = memoize(function isInertAncestorsMemoized(
- vNode,
- isAncestor
-) {
- if (isInertSelf(vNode, isAncestor)) {
- return true;
- }
+const isInertAncestors = memoize(
+ function isInertAncestorsMemoized(vNode, isAncestor) {
+ if (isInertSelf(vNode, isAncestor)) {
+ return true;
+ }
- if (!vNode.parent) {
- return false;
- }
+ if (!vNode.parent) {
+ return false;
+ }
- return isInertAncestors(vNode.parent, true);
-});
+ return isInertAncestors(vNode.parent, true);
+ }
+);
diff --git a/lib/commons/dom/is-visible-on-screen.js b/lib/commons/dom/is-visible-on-screen.js
index b806870df3..7795335c95 100644
--- a/lib/commons/dom/is-visible-on-screen.js
+++ b/lib/commons/dom/is-visible-on-screen.js
@@ -30,28 +30,27 @@ export default function isVisibleOnScreen(vNode) {
return isVisibleOnScreenVirtual(vNode);
}
-const isVisibleOnScreenVirtual = memoize(function isVisibleOnScreenMemoized(
- vNode,
- isAncestor
-) {
- if (vNode.actualNode && vNode.props.nodeName === 'area') {
- return !areaHidden(vNode, isVisibleOnScreenVirtual);
- }
+const isVisibleOnScreenVirtual = memoize(
+ function isVisibleOnScreenMemoized(vNode, isAncestor) {
+ if (vNode.actualNode && vNode.props.nodeName === 'area') {
+ return !areaHidden(vNode, isVisibleOnScreenVirtual);
+ }
- if (isHiddenForEveryone(vNode, { skipAncestors: true, isAncestor })) {
- return false;
- }
+ if (isHiddenForEveryone(vNode, { skipAncestors: true, isAncestor })) {
+ return false;
+ }
- if (
- vNode.actualNode &&
- hiddenMethods.some(method => method(vNode, { isAncestor }))
- ) {
- return false;
- }
+ if (
+ vNode.actualNode &&
+ hiddenMethods.some(method => method(vNode, { isAncestor }))
+ ) {
+ return false;
+ }
- if (!vNode.parent) {
- return true;
- }
+ if (!vNode.parent) {
+ return true;
+ }
- return isVisibleOnScreenVirtual(vNode.parent, true);
-});
+ return isVisibleOnScreenVirtual(vNode.parent, true);
+ }
+);
diff --git a/package-lock.json b/package-lock.json
index 8d8443eca4..e2aa7591ba 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -63,7 +63,7 @@
"node-notifier": "^10.0.1",
"npm-run-all": "^4.1.5",
"outdent": "^0.8.0",
- "prettier": "^2.8.2",
+ "prettier": "^3.0.3",
"revalidator": "^0.3.1",
"selenium-webdriver": "^4.7.1",
"serve-handler": "^6.1.5",
@@ -9947,15 +9947,15 @@
}
},
"node_modules/prettier": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz",
- "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
+ "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
"dev": true,
"bin": {
- "prettier": "bin-prettier.js"
+ "prettier": "bin/prettier.cjs"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=14"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
@@ -19932,9 +19932,9 @@
"dev": true
},
"prettier": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz",
- "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
+ "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
"dev": true
},
"pretty-bytes": {
diff --git a/package.json b/package.json
index 5c02d3b9ac..967e00e0b6 100644
--- a/package.json
+++ b/package.json
@@ -163,7 +163,7 @@
"node-notifier": "^10.0.1",
"npm-run-all": "^4.1.5",
"outdent": "^0.8.0",
- "prettier": "^2.8.2",
+ "prettier": "^3.0.3",
"revalidator": "^0.3.1",
"selenium-webdriver": "^4.7.1",
"serve-handler": "^6.1.5",
diff --git a/test/commons/color/element-has-image.js b/test/commons/color/element-has-image.js
index f53ea585c9..4b2c8e9fe0 100644
--- a/test/commons/color/element-has-image.js
+++ b/test/commons/color/element-has-image.js
@@ -12,16 +12,19 @@ describe('color.elementHasImage', function () {
});
it('returns true when `HTMLElement` is of graphical type', function () {
- ['img', 'canvas', 'object', 'iframe', 'video', 'svg'].forEach(function (
- nodeName
- ) {
- var vNode = queryFixture(
- '<' + nodeName + ' id="target">' + nodeName + '>'
- );
- var actual = elementHasImage(vNode.actualNode);
- assert.isTrue(actual);
- assert.equal(axe.commons.color.incompleteData.get('bgColor'), 'imgNode');
- });
+ ['img', 'canvas', 'object', 'iframe', 'video', 'svg'].forEach(
+ function (nodeName) {
+ var vNode = queryFixture(
+ '<' + nodeName + ' id="target">' + nodeName + '>'
+ );
+ var actual = elementHasImage(vNode.actualNode);
+ assert.isTrue(actual);
+ assert.equal(
+ axe.commons.color.incompleteData.get('bgColor'),
+ 'imgNode'
+ );
+ }
+ );
});
it('returns false when `HTMLElement` has no background-image style set', function () {
diff --git a/test/integration/api/external/index.js b/test/integration/api/external/index.js
index f15ced95d7..23566107b6 100644
--- a/test/integration/api/external/index.js
+++ b/test/integration/api/external/index.js
@@ -63,11 +63,11 @@ describe('external API', () => {
});
it('must have the signature String -> String {role.type}', () => {
const keys = getKeys(axe.commons.aria.lookupTable.role);
- const types = getValues(axe.commons.aria.lookupTable.role).map(function (
- role
- ) {
- return role.type;
- });
+ const types = getValues(axe.commons.aria.lookupTable.role).map(
+ function (role) {
+ return role.type;
+ }
+ );
keys.forEach(assert.isString);
types.forEach(assert.isString);
});
diff --git a/test/integration/full/all-rules/all-rules.html b/test/integration/full/all-rules/all-rules.html
index 631b2d2e32..62eaae44e5 100644
--- a/test/integration/full/all-rules/all-rules.html
+++ b/test/integration/full/all-rules/all-rules.html
@@ -1,4 +1,4 @@
-
+
all rules test
diff --git a/test/integration/full/all-rules/frames/focusable.html b/test/integration/full/all-rules/frames/focusable.html
index de5374ba35..c750c4c73e 100644
--- a/test/integration/full/all-rules/frames/focusable.html
+++ b/test/integration/full/all-rules/frames/focusable.html
@@ -1,4 +1,4 @@
-
+
Hello
diff --git a/test/integration/full/aria-hidden-body/frames/frame-hidden-body.html b/test/integration/full/aria-hidden-body/frames/frame-hidden-body.html
index a9cfa40988..202f9c4fb3 100644
--- a/test/integration/full/aria-hidden-body/frames/frame-hidden-body.html
+++ b/test/integration/full/aria-hidden-body/frames/frame-hidden-body.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/aria-hidden-focus/modal.html b/test/integration/full/aria-hidden-focus/modal.html
index 144ca98b7b..c6d9449b09 100644
--- a/test/integration/full/aria-hidden-focus/modal.html
+++ b/test/integration/full/aria-hidden-focus/modal.html
@@ -1,4 +1,4 @@
-
+
html-has-lang test
diff --git a/test/integration/full/bypass/frames/level1-fail.html b/test/integration/full/bypass/frames/level1-fail.html
index a2276f4588..a3bf2d2293 100644
--- a/test/integration/full/bypass/frames/level1-fail.html
+++ b/test/integration/full/bypass/frames/level1-fail.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/bypass/frames/level1.html b/test/integration/full/bypass/frames/level1.html
index f0910a1aa9..c45d967b5e 100644
--- a/test/integration/full/bypass/frames/level1.html
+++ b/test/integration/full/bypass/frames/level1.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/bypass/frames/level2-a.html b/test/integration/full/bypass/frames/level2-a.html
index 5346c9521c..ff4536c141 100644
--- a/test/integration/full/bypass/frames/level2-a.html
+++ b/test/integration/full/bypass/frames/level2-a.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/bypass/frames/level2.html b/test/integration/full/bypass/frames/level2.html
index 901bb8549b..dbd48809e3 100644
--- a/test/integration/full/bypass/frames/level2.html
+++ b/test/integration/full/bypass/frames/level2.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/bypass/header-iframe-fail.html b/test/integration/full/bypass/header-iframe-fail.html
index 77d497d4eb..3b152a00b2 100644
--- a/test/integration/full/bypass/header-iframe-fail.html
+++ b/test/integration/full/bypass/header-iframe-fail.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/bypass/header-iframe-pass.html b/test/integration/full/bypass/header-iframe-pass.html
index edcd98d427..db43c8028a 100644
--- a/test/integration/full/bypass/header-iframe-pass.html
+++ b/test/integration/full/bypass/header-iframe-pass.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/configure-options/configure-options.html b/test/integration/full/configure-options/configure-options.html
index d43f9d6df2..7753618f31 100644
--- a/test/integration/full/configure-options/configure-options.html
+++ b/test/integration/full/configure-options/configure-options.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/context/context.html b/test/integration/full/context/context.html
index 62f5fd522d..30d16862ef 100644
--- a/test/integration/full/context/context.html
+++ b/test/integration/full/context/context.html
@@ -1,4 +1,4 @@
-
+
frame exclude test
diff --git a/test/integration/full/context/frames/level1.html b/test/integration/full/context/frames/level1.html
index 951de6551a..e423cb6423 100644
--- a/test/integration/full/context/frames/level1.html
+++ b/test/integration/full/context/frames/level1.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/context/frames/level2-a.html b/test/integration/full/context/frames/level2-a.html
index c6d5ba36ec..5f384fd4e8 100644
--- a/test/integration/full/context/frames/level2-a.html
+++ b/test/integration/full/context/frames/level2-a.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/context/frames/level2-b.html b/test/integration/full/context/frames/level2-b.html
index 081160d68c..7d5c84d476 100644
--- a/test/integration/full/context/frames/level2-b.html
+++ b/test/integration/full/context/frames/level2-b.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/context/frames/shadow-frame.html b/test/integration/full/context/frames/shadow-frame.html
index 6a1e713830..5f2e907395 100644
--- a/test/integration/full/context/frames/shadow-frame.html
+++ b/test/integration/full/context/frames/shadow-frame.html
@@ -1,4 +1,4 @@
-
+
Shadow frame
diff --git a/test/integration/full/context/shadow-dom.html b/test/integration/full/context/shadow-dom.html
index e3680a788e..7684a382fc 100644
--- a/test/integration/full/context/shadow-dom.html
+++ b/test/integration/full/context/shadow-dom.html
@@ -1,4 +1,4 @@
-
+
frame exclude test
diff --git a/test/integration/full/contrast-enhanced/simple.html b/test/integration/full/contrast-enhanced/simple.html
index 0d7a073a48..aa98a1e63a 100644
--- a/test/integration/full/contrast-enhanced/simple.html
+++ b/test/integration/full/contrast-enhanced/simple.html
@@ -1,4 +1,4 @@
-
+
Test Page
diff --git a/test/integration/full/contrast/blending.html b/test/integration/full/contrast/blending.html
index 325a6758c6..0a5b6b617c 100644
--- a/test/integration/full/contrast/blending.html
+++ b/test/integration/full/contrast/blending.html
@@ -1,4 +1,4 @@
-
+
Color Contrast Blending Verification Tests
diff --git a/test/integration/full/contrast/code-highlighting.html b/test/integration/full/contrast/code-highlighting.html
index 525f721a47..afb4019d3c 100644
--- a/test/integration/full/contrast/code-highlighting.html
+++ b/test/integration/full/contrast/code-highlighting.html
@@ -1,4 +1,4 @@
-
+
Test Page
diff --git a/test/integration/full/contrast/memory.html b/test/integration/full/contrast/memory.html
index 641a26ad64..96a4616c88 100644
--- a/test/integration/full/contrast/memory.html
+++ b/test/integration/full/contrast/memory.html
@@ -1,4 +1,4 @@
-
+
Test Page
diff --git a/test/integration/full/contrast/shadow-dom.html b/test/integration/full/contrast/shadow-dom.html
index 25c64b5c7a..904c2f6938 100644
--- a/test/integration/full/contrast/shadow-dom.html
+++ b/test/integration/full/contrast/shadow-dom.html
@@ -1,4 +1,4 @@
-
+
Test Page
diff --git a/test/integration/full/contrast/sticky-header.html b/test/integration/full/contrast/sticky-header.html
index 8a6aa4d82e..f5a2894c8a 100644
--- a/test/integration/full/contrast/sticky-header.html
+++ b/test/integration/full/contrast/sticky-header.html
@@ -1,4 +1,4 @@
-
+
Test Page
diff --git a/test/integration/full/css-orientation-lock/incomplete.html b/test/integration/full/css-orientation-lock/incomplete.html
index 9c209d44c8..91a5a3499c 100644
--- a/test/integration/full/css-orientation-lock/incomplete.html
+++ b/test/integration/full/css-orientation-lock/incomplete.html
@@ -1,4 +1,4 @@
-
+
css orientation lock test
diff --git a/test/integration/full/css-orientation-lock/passes.html b/test/integration/full/css-orientation-lock/passes.html
index 5ce66e9520..aa006af276 100644
--- a/test/integration/full/css-orientation-lock/passes.html
+++ b/test/integration/full/css-orientation-lock/passes.html
@@ -1,4 +1,4 @@
-
+
css orientation lock test
diff --git a/test/integration/full/css-orientation-lock/violations.html b/test/integration/full/css-orientation-lock/violations.html
index 4359e17058..8451f2fcda 100644
--- a/test/integration/full/css-orientation-lock/violations.html
+++ b/test/integration/full/css-orientation-lock/violations.html
@@ -1,4 +1,4 @@
-
+
css orientation lock test
diff --git a/test/integration/full/definition-list/dl-role.html b/test/integration/full/definition-list/dl-role.html
index 5a955419b2..a6fe60c1e2 100644
--- a/test/integration/full/definition-list/dl-role.html
+++ b/test/integration/full/definition-list/dl-role.html
@@ -1,4 +1,4 @@
-
+
dl aria test
diff --git a/test/integration/full/definition-list/dlitem-role.html b/test/integration/full/definition-list/dlitem-role.html
index 6ad1456f88..5cd74b0beb 100644
--- a/test/integration/full/definition-list/dlitem-role.html
+++ b/test/integration/full/definition-list/dlitem-role.html
@@ -1,4 +1,4 @@
-
+
dlitem aria test
diff --git a/test/integration/full/dialog/dialog.html b/test/integration/full/dialog/dialog.html
index 07847f14d3..fbffe22671 100644
--- a/test/integration/full/dialog/dialog.html
+++ b/test/integration/full/dialog/dialog.html
@@ -1,4 +1,4 @@
-
+
dialog test
diff --git a/test/integration/full/document-title/document-title-fail.html b/test/integration/full/document-title/document-title-fail.html
index 42837a2af9..d21b5b1276 100644
--- a/test/integration/full/document-title/document-title-fail.html
+++ b/test/integration/full/document-title/document-title-fail.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/document-title/document-title-pass.html b/test/integration/full/document-title/document-title-pass.html
index 1d7e51cd6c..a18d8ded73 100644
--- a/test/integration/full/document-title/document-title-pass.html
+++ b/test/integration/full/document-title/document-title-pass.html
@@ -1,4 +1,4 @@
-
+
document-title test
diff --git a/test/integration/full/document-title/frames/level1.html b/test/integration/full/document-title/frames/level1.html
index 181ff68942..1de1925c20 100644
--- a/test/integration/full/document-title/frames/level1.html
+++ b/test/integration/full/document-title/frames/level1.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/document-title/frames/level2-a.html b/test/integration/full/document-title/frames/level2-a.html
index 3228b27d61..dc9827f106 100644
--- a/test/integration/full/document-title/frames/level2-a.html
+++ b/test/integration/full/document-title/frames/level2-a.html
@@ -1,4 +1,4 @@
-
+
No lang test
diff --git a/test/integration/full/document-title/frames/level2.html b/test/integration/full/document-title/frames/level2.html
index daa295209c..b9e49ab10a 100644
--- a/test/integration/full/document-title/frames/level2.html
+++ b/test/integration/full/document-title/frames/level2.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/frame-tested/frame-tested-fail.html b/test/integration/full/frame-tested/frame-tested-fail.html
index a9818eb1df..da9efa76c8 100644
--- a/test/integration/full/frame-tested/frame-tested-fail.html
+++ b/test/integration/full/frame-tested/frame-tested-fail.html
@@ -1,4 +1,4 @@
-
+
frame-tested test
diff --git a/test/integration/full/frame-tested/frame-tested-incomplete.html b/test/integration/full/frame-tested/frame-tested-incomplete.html
index 0dd39d390d..946b3a8503 100644
--- a/test/integration/full/frame-tested/frame-tested-incomplete.html
+++ b/test/integration/full/frame-tested/frame-tested-incomplete.html
@@ -1,4 +1,4 @@
-
+
frame-tested test
diff --git a/test/integration/full/frame-tested/frame-tested-pass.html b/test/integration/full/frame-tested/frame-tested-pass.html
index 5a049aa727..faea10eaaa 100644
--- a/test/integration/full/frame-tested/frame-tested-pass.html
+++ b/test/integration/full/frame-tested/frame-tested-pass.html
@@ -1,4 +1,4 @@
-
+
frame-tested test
diff --git a/test/integration/full/frame-tested/frames/nested-no-axe.html b/test/integration/full/frame-tested/frames/nested-no-axe.html
index bc41785a4e..af92b57f74 100644
--- a/test/integration/full/frame-tested/frames/nested-no-axe.html
+++ b/test/integration/full/frame-tested/frames/nested-no-axe.html
@@ -1,4 +1,4 @@
-
+
Frame with axe-core
diff --git a/test/integration/full/frame-tested/frames/no-axe.html b/test/integration/full/frame-tested/frames/no-axe.html
index d33b170450..d59c9d5850 100644
--- a/test/integration/full/frame-tested/frames/no-axe.html
+++ b/test/integration/full/frame-tested/frames/no-axe.html
@@ -1,4 +1,4 @@
-
+
Frame without axe-core
diff --git a/test/integration/full/frame-tested/frames/with-axe.html b/test/integration/full/frame-tested/frames/with-axe.html
index 0b63ecad4e..dea3d983f8 100644
--- a/test/integration/full/frame-tested/frames/with-axe.html
+++ b/test/integration/full/frame-tested/frames/with-axe.html
@@ -1,4 +1,4 @@
-
+
Frame with axe-core
diff --git a/test/integration/full/frame-wait-time/frame-wait-time.html b/test/integration/full/frame-wait-time/frame-wait-time.html
index 059da2ed80..d90c97b2f0 100644
--- a/test/integration/full/frame-wait-time/frame-wait-time.html
+++ b/test/integration/full/frame-wait-time/frame-wait-time.html
@@ -1,4 +1,4 @@
-
+
frame-wait-time test
diff --git a/test/integration/full/frame-wait-time/frames/frame.html b/test/integration/full/frame-wait-time/frames/frame.html
index b754a4b387..dfed976b82 100644
--- a/test/integration/full/frame-wait-time/frames/frame.html
+++ b/test/integration/full/frame-wait-time/frames/frame.html
@@ -1,4 +1,4 @@
-
+
frame-wait-time test frame
diff --git a/test/integration/full/heading-order/frames/heading.html b/test/integration/full/heading-order/frames/heading.html
index 75c1790e41..12c3bc6660 100644
--- a/test/integration/full/heading-order/frames/heading.html
+++ b/test/integration/full/heading-order/frames/heading.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/heading-order/frames/nested-heading.html b/test/integration/full/heading-order/frames/nested-heading.html
index 27dfbc407f..d575f1d814 100644
--- a/test/integration/full/heading-order/frames/nested-heading.html
+++ b/test/integration/full/heading-order/frames/nested-heading.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/heading-order/no-heading-page.html b/test/integration/full/heading-order/no-heading-page.html
index 1f0f76df26..6c9b3b7511 100644
--- a/test/integration/full/heading-order/no-heading-page.html
+++ b/test/integration/full/heading-order/no-heading-page.html
@@ -1,4 +1,4 @@
-
+
frame exclude test
diff --git a/test/integration/full/heading-order/partial-context-with-iframe-excluded.html b/test/integration/full/heading-order/partial-context-with-iframe-excluded.html
index 3ab91c2f2a..cc6e66de40 100644
--- a/test/integration/full/heading-order/partial-context-with-iframe-excluded.html
+++ b/test/integration/full/heading-order/partial-context-with-iframe-excluded.html
@@ -1,4 +1,4 @@
-
+
frame exclude test
diff --git a/test/integration/full/heading-order/partial-context-with-iframe.html b/test/integration/full/heading-order/partial-context-with-iframe.html
index c500c7dab8..5f166cade2 100644
--- a/test/integration/full/heading-order/partial-context-with-iframe.html
+++ b/test/integration/full/heading-order/partial-context-with-iframe.html
@@ -1,4 +1,4 @@
-
+
frame exclude test
diff --git a/test/integration/full/heading-order/partial-context.html b/test/integration/full/heading-order/partial-context.html
index 917aff31c4..0d0dd8b44a 100644
--- a/test/integration/full/heading-order/partial-context.html
+++ b/test/integration/full/heading-order/partial-context.html
@@ -1,4 +1,4 @@
-
+
frame exclude test
diff --git a/test/integration/full/html-has-lang/frames/level1.html b/test/integration/full/html-has-lang/frames/level1.html
index 353cd89987..db3c8061e7 100644
--- a/test/integration/full/html-has-lang/frames/level1.html
+++ b/test/integration/full/html-has-lang/frames/level1.html
@@ -1,4 +1,4 @@
-
+
No lang test
diff --git a/test/integration/full/html-has-lang/frames/level2-a.html b/test/integration/full/html-has-lang/frames/level2-a.html
index d964e1824e..273a3a0d16 100644
--- a/test/integration/full/html-has-lang/frames/level2-a.html
+++ b/test/integration/full/html-has-lang/frames/level2-a.html
@@ -1,4 +1,4 @@
-
+
No lang test
diff --git a/test/integration/full/html-has-lang/frames/level2.html b/test/integration/full/html-has-lang/frames/level2.html
index 723aa4d32d..461a52300b 100644
--- a/test/integration/full/html-has-lang/frames/level2.html
+++ b/test/integration/full/html-has-lang/frames/level2.html
@@ -1,4 +1,4 @@
-
+
No lang test
diff --git a/test/integration/full/html-has-lang/html-has-lang-fail-xml-lang.html b/test/integration/full/html-has-lang/html-has-lang-fail-xml-lang.html
index 29665fb4c3..6a266f3ec7 100644
--- a/test/integration/full/html-has-lang/html-has-lang-fail-xml-lang.html
+++ b/test/integration/full/html-has-lang/html-has-lang-fail-xml-lang.html
@@ -1,4 +1,4 @@
-
+
html-has-lang test
diff --git a/test/integration/full/html-has-lang/html-has-lang-fail.html b/test/integration/full/html-has-lang/html-has-lang-fail.html
index 382262e8c1..8b50674bd6 100644
--- a/test/integration/full/html-has-lang/html-has-lang-fail.html
+++ b/test/integration/full/html-has-lang/html-has-lang-fail.html
@@ -1,4 +1,4 @@
-
+
html-has-lang test
diff --git a/test/integration/full/html-has-lang/html-has-lang-pass-xhtml.xhtml b/test/integration/full/html-has-lang/html-has-lang-pass-xhtml.xhtml
index 9ae3785e00..7736db0588 100644
--- a/test/integration/full/html-has-lang/html-has-lang-pass-xhtml.xhtml
+++ b/test/integration/full/html-has-lang/html-has-lang-pass-xhtml.xhtml
@@ -1,4 +1,4 @@
-
+
+
html-has-lang test
diff --git a/test/integration/full/html-lang-valid/frames/level1.html b/test/integration/full/html-lang-valid/frames/level1.html
index 77b6b5478d..2fe698c477 100644
--- a/test/integration/full/html-lang-valid/frames/level1.html
+++ b/test/integration/full/html-lang-valid/frames/level1.html
@@ -1,4 +1,4 @@
-
+
No lang test
diff --git a/test/integration/full/html-lang-valid/frames/level2-a.html b/test/integration/full/html-lang-valid/frames/level2-a.html
index 0eb9ba1bf0..9bb9a2bd30 100644
--- a/test/integration/full/html-lang-valid/frames/level2-a.html
+++ b/test/integration/full/html-lang-valid/frames/level2-a.html
@@ -1,4 +1,4 @@
-
+
No lang test
diff --git a/test/integration/full/html-lang-valid/frames/level2-b.html b/test/integration/full/html-lang-valid/frames/level2-b.html
index 5428537342..3cd4dcb099 100644
--- a/test/integration/full/html-lang-valid/frames/level2-b.html
+++ b/test/integration/full/html-lang-valid/frames/level2-b.html
@@ -1,4 +1,4 @@
-
+
No lang test
diff --git a/test/integration/full/html-lang-valid/frames/level2-c.html b/test/integration/full/html-lang-valid/frames/level2-c.html
index d8951db70e..58b3c7e903 100644
--- a/test/integration/full/html-lang-valid/frames/level2-c.html
+++ b/test/integration/full/html-lang-valid/frames/level2-c.html
@@ -1,4 +1,4 @@
-
+
No lang test
diff --git a/test/integration/full/html-lang-valid/frames/level2-d.html b/test/integration/full/html-lang-valid/frames/level2-d.html
index b7ddbb9488..c4135712da 100644
--- a/test/integration/full/html-lang-valid/frames/level2-d.html
+++ b/test/integration/full/html-lang-valid/frames/level2-d.html
@@ -1,4 +1,4 @@
-
+
No lang test
diff --git a/test/integration/full/html-lang-valid/frames/level2-e.html b/test/integration/full/html-lang-valid/frames/level2-e.html
index 4a732735b0..471c9d3bb5 100644
--- a/test/integration/full/html-lang-valid/frames/level2-e.html
+++ b/test/integration/full/html-lang-valid/frames/level2-e.html
@@ -1,4 +1,4 @@
-
+
No lang test
diff --git a/test/integration/full/html-lang-valid/frames/level2.html b/test/integration/full/html-lang-valid/frames/level2.html
index 8e93ecfae9..a57e59d468 100644
--- a/test/integration/full/html-lang-valid/frames/level2.html
+++ b/test/integration/full/html-lang-valid/frames/level2.html
@@ -1,4 +1,4 @@
-
+
No lang test
diff --git a/test/integration/full/html-lang-valid/html-lang-valid.html b/test/integration/full/html-lang-valid/html-lang-valid.html
index 9e527fb9a3..fd19053747 100644
--- a/test/integration/full/html-lang-valid/html-lang-valid.html
+++ b/test/integration/full/html-lang-valid/html-lang-valid.html
@@ -1,4 +1,4 @@
-
+
html-lang-valid test
diff --git a/test/integration/full/identical-links-same-purpose/frames/level1.html b/test/integration/full/identical-links-same-purpose/frames/level1.html
index 90029d0fd8..916b356a39 100644
--- a/test/integration/full/identical-links-same-purpose/frames/level1.html
+++ b/test/integration/full/identical-links-same-purpose/frames/level1.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/integration/full/identical-links-same-purpose/page.html b/test/integration/full/identical-links-same-purpose/page.html
index 886a3958e9..a0c7d80663 100644
--- a/test/integration/full/identical-links-same-purpose/page.html
+++ b/test/integration/full/identical-links-same-purpose/page.html
@@ -1,4 +1,4 @@
-
+
identical-links-same-purpose test
diff --git a/test/integration/full/incomplete/color-contrast.html b/test/integration/full/incomplete/color-contrast.html
index c30aeb9210..1828e5d0c9 100644
--- a/test/integration/full/incomplete/color-contrast.html
+++ b/test/integration/full/incomplete/color-contrast.html
@@ -1,4 +1,4 @@
-
+
Contrast Incomplete test
diff --git a/test/integration/full/incomplete/th-has-data-cells.html b/test/integration/full/incomplete/th-has-data-cells.html
index 01770dcef8..c592472dda 100644
--- a/test/integration/full/incomplete/th-has-data-cells.html
+++ b/test/integration/full/incomplete/th-has-data-cells.html
@@ -1,4 +1,4 @@
-
+
th-has-data-cells incomplete test
diff --git a/test/integration/full/isolated-env/frames/focusable.html b/test/integration/full/isolated-env/frames/focusable.html
index de5374ba35..c750c4c73e 100644
--- a/test/integration/full/isolated-env/frames/focusable.html
+++ b/test/integration/full/isolated-env/frames/focusable.html
@@ -1,4 +1,4 @@
-
+
Hello
diff --git a/test/integration/full/isolated-env/frames/isolated.html b/test/integration/full/isolated-env/frames/isolated.html
index 4d169cbb69..55dfd3b1aa 100644
--- a/test/integration/full/isolated-env/frames/isolated.html
+++ b/test/integration/full/isolated-env/frames/isolated.html
@@ -1,4 +1,4 @@
-
+