lighthouse 12.2.0 → 12.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +4 -3
- package/cli/test/smokehouse/lighthouse-runners/bundle.js +16 -9
- package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +4 -3
- package/cli/test/smokehouse/lighthouse-runners/cli.js +26 -32
- package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +3 -3
- package/cli/test/smokehouse/lighthouse-runners/devtools.js +8 -5
- package/cli/test/smokehouse/smokehouse.js +6 -1
- package/core/audits/accessibility/accesskeys.js +1 -1
- package/core/audits/accessibility/aria-allowed-attr.js +1 -1
- package/core/audits/accessibility/aria-allowed-role.js +1 -1
- package/core/audits/accessibility/aria-command-name.js +1 -1
- package/core/audits/accessibility/aria-conditional-attr.js +1 -1
- package/core/audits/accessibility/aria-deprecated-role.js +1 -1
- package/core/audits/accessibility/aria-dialog-name.js +1 -1
- package/core/audits/accessibility/aria-hidden-body.js +1 -1
- package/core/audits/accessibility/aria-hidden-focus.js +1 -1
- package/core/audits/accessibility/aria-input-field-name.js +1 -1
- package/core/audits/accessibility/aria-meter-name.js +1 -1
- package/core/audits/accessibility/aria-progressbar-name.js +1 -1
- package/core/audits/accessibility/aria-prohibited-attr.js +1 -1
- package/core/audits/accessibility/aria-required-attr.js +1 -1
- package/core/audits/accessibility/aria-required-children.js +1 -1
- package/core/audits/accessibility/aria-required-parent.js +1 -1
- package/core/audits/accessibility/aria-roles.js +1 -1
- package/core/audits/accessibility/aria-text.js +1 -1
- package/core/audits/accessibility/aria-toggle-field-name.js +1 -1
- package/core/audits/accessibility/aria-tooltip-name.js +1 -1
- package/core/audits/accessibility/aria-treeitem-name.js +1 -1
- package/core/audits/accessibility/aria-valid-attr-value.js +1 -1
- package/core/audits/accessibility/aria-valid-attr.js +1 -1
- package/core/audits/accessibility/button-name.js +1 -1
- package/core/audits/accessibility/bypass.js +1 -1
- package/core/audits/accessibility/color-contrast.js +1 -1
- package/core/audits/accessibility/definition-list.js +1 -1
- package/core/audits/accessibility/dlitem.js +1 -1
- package/core/audits/accessibility/document-title.js +1 -1
- package/core/audits/accessibility/duplicate-id-aria.js +1 -1
- package/core/audits/accessibility/empty-heading.js +1 -1
- package/core/audits/accessibility/form-field-multiple-labels.js +1 -1
- package/core/audits/accessibility/frame-title.js +1 -1
- package/core/audits/accessibility/heading-order.js +1 -1
- package/core/audits/accessibility/html-has-lang.js +1 -1
- package/core/audits/accessibility/html-lang-valid.js +1 -1
- package/core/audits/accessibility/html-xml-lang-mismatch.js +1 -1
- package/core/audits/accessibility/identical-links-same-purpose.js +1 -1
- package/core/audits/accessibility/image-alt.js +1 -1
- package/core/audits/accessibility/image-redundant-alt.js +1 -1
- package/core/audits/accessibility/input-button-name.js +1 -1
- package/core/audits/accessibility/input-image-alt.js +1 -1
- package/core/audits/accessibility/label-content-name-mismatch.js +1 -1
- package/core/audits/accessibility/label.js +1 -1
- package/core/audits/accessibility/landmark-one-main.js +1 -1
- package/core/audits/accessibility/link-in-text-block.js +1 -1
- package/core/audits/accessibility/link-name.js +1 -1
- package/core/audits/accessibility/list.js +1 -1
- package/core/audits/accessibility/listitem.js +1 -1
- package/core/audits/accessibility/meta-refresh.js +1 -1
- package/core/audits/accessibility/meta-viewport.js +1 -1
- package/core/audits/accessibility/object-alt.js +1 -1
- package/core/audits/accessibility/select-name.js +1 -1
- package/core/audits/accessibility/skip-link.js +1 -1
- package/core/audits/accessibility/tabindex.js +1 -1
- package/core/audits/accessibility/table-duplicate-name.js +1 -1
- package/core/audits/accessibility/table-fake-caption.js +1 -1
- package/core/audits/accessibility/target-size.js +1 -1
- package/core/audits/accessibility/td-has-header.js +1 -1
- package/core/audits/accessibility/td-headers-attr.js +1 -1
- package/core/audits/accessibility/th-has-data-cells.js +1 -1
- package/core/audits/accessibility/valid-lang.js +1 -1
- package/core/audits/accessibility/video-caption.js +1 -1
- package/core/audits/byte-efficiency/uses-text-compression.js +12 -6
- package/core/audits/third-party-cookies.js +1 -1
- package/core/gather/gatherers/accessibility.js +2 -0
- package/core/lib/third-party-web.d.ts +7 -0
- package/core/lib/third-party-web.js +13 -1
- package/package.json +4 -4
- package/shared/localization/locales/en-US.json +64 -64
- package/shared/localization/locales/en-XL.json +64 -64
- package/types/internal/smokehouse.d.ts +2 -1
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'The title gives screen reader users an overview of the page, and search ' +
|
|
22
22
|
'engine users rely on it heavily to determine if a page is relevant to their search. ' +
|
|
23
|
-
'[Learn more about document titles](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'[Learn more about document titles](https://dequeuniversity.com/rules/axe/4.10/document-title).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -18,7 +18,7 @@ const UIStrings = {
|
|
|
18
18
|
/** Title of an accesibility audit that checks if there are any duplicate ARIA IDs on the page. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
19
19
|
failureTitle: 'ARIA IDs are not unique',
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
|
-
description: 'The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. [Learn how to fix duplicate ARIA IDs](https://dequeuniversity.com/rules/axe/4.
|
|
21
|
+
description: 'The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. [Learn how to fix duplicate ARIA IDs](https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria).',
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'A heading with no content or inaccessible text prevent screen reader users from ' +
|
|
22
22
|
'accessing information on the page\'s structure. ' +
|
|
23
|
-
'[Learn more about headings](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'[Learn more about headings](https://dequeuniversity.com/rules/axe/4.10/empty-heading).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -18,7 +18,7 @@ const UIStrings = {
|
|
|
18
18
|
/** Title of an accesibility audit that checks if any form fields have multiple label elements. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
19
19
|
failureTitle: 'Form fields have multiple labels',
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
|
-
description: 'Form fields with multiple labels can be confusingly announced by assistive technologies like screen readers which use either the first, the last, or all of the labels. [Learn how to use form labels](https://dequeuniversity.com/rules/axe/4.
|
|
21
|
+
description: 'Form fields with multiple labels can be confusingly announced by assistive technologies like screen readers which use either the first, the last, or all of the labels. [Learn how to use form labels](https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels).',
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -19,7 +19,7 @@ const UIStrings = {
|
|
|
19
19
|
failureTitle: '`<frame>` or `<iframe>` elements do not have a title',
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'Screen reader users rely on frame titles to describe the contents of frames. ' +
|
|
22
|
-
'[Learn more about frame titles](https://dequeuniversity.com/rules/axe/4.
|
|
22
|
+
'[Learn more about frame titles](https://dequeuniversity.com/rules/axe/4.10/frame-title).',
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -18,7 +18,7 @@ const UIStrings = {
|
|
|
18
18
|
/** Title of an accesibility audit that checks if heading elements (<h1>, <h2>, etc) appear in numeric order and only ever increase in steps of 1. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
19
19
|
failureTitle: 'Heading elements are not in a sequentially-descending order',
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
|
-
description: 'Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. [Learn more about heading order](https://dequeuniversity.com/rules/axe/4.
|
|
21
|
+
description: 'Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. [Learn more about heading order](https://dequeuniversity.com/rules/axe/4.10/heading-order).',
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -22,7 +22,7 @@ const UIStrings = {
|
|
|
22
22
|
'that the page is in the default language that the user chose when setting up the ' +
|
|
23
23
|
'screen reader. If the page isn\'t actually in the default language, then the screen ' +
|
|
24
24
|
'reader might not announce the page\'s text correctly. ' +
|
|
25
|
-
'[Learn more about the `lang` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
25
|
+
'[Learn more about the `lang` attribute](https://dequeuniversity.com/rules/axe/4.10/html-has-lang).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -21,7 +21,7 @@ const UIStrings = {
|
|
|
21
21
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
22
22
|
description: 'Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ' +
|
|
23
23
|
'helps screen readers announce text properly. ' +
|
|
24
|
-
'[Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
24
|
+
'[Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.10/html-lang-valid).',
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -23,7 +23,7 @@ const UIStrings = {
|
|
|
23
23
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
24
24
|
description: 'If the webpage does not specify a consistent language, then the screen ' +
|
|
25
25
|
'reader might not announce the page\'s text correctly. ' +
|
|
26
|
-
'[Learn more about the `lang` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
26
|
+
'[Learn more about the `lang` attribute](https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch).',
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'Links with the same destination should have the same description, to help users ' +
|
|
22
22
|
'understand the link\'s purpose and decide whether to follow it. ' +
|
|
23
|
-
'[Learn more about identical links](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'[Learn more about identical links](https://dequeuniversity.com/rules/axe/4.10/identical-links-same-purpose).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'Informative elements should aim for short, descriptive alternate text. ' +
|
|
22
22
|
'Decorative elements can be ignored with an empty alt attribute. ' +
|
|
23
|
-
'[Learn more about the `alt` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'[Learn more about the `alt` attribute](https://dequeuniversity.com/rules/axe/4.10/image-alt).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -21,7 +21,7 @@ const UIStrings = {
|
|
|
21
21
|
description: 'Informative elements should aim for short, descriptive alternative text. ' +
|
|
22
22
|
'Alternative text that is exactly the same as the text adjacent to the link or image is ' +
|
|
23
23
|
'potentially confusing for screen reader users, because the text will be read twice. ' +
|
|
24
|
-
'[Learn more about the `alt` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
24
|
+
'[Learn more about the `alt` attribute](https://dequeuniversity.com/rules/axe/4.10/image-redundant-alt).',
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'Adding discernable and accessible text to input buttons may help screen reader ' +
|
|
22
22
|
'users understand the purpose of the input button. ' +
|
|
23
|
-
'[Learn more about input buttons](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'[Learn more about input buttons](https://dequeuniversity.com/rules/axe/4.10/input-button-name).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'When an image is being used as an `<input>` button, providing alternative ' +
|
|
22
22
|
'text can help screen reader users understand the purpose of the button. ' +
|
|
23
|
-
'[Learn about input image alt text](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'[Learn about input image alt text](https://dequeuniversity.com/rules/axe/4.10/input-image-alt).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'Visible text labels that do not match the accessible name can result in a ' +
|
|
22
22
|
'confusing experience for screen reader users. ' +
|
|
23
|
-
'[Learn more about accessible names](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'[Learn more about accessible names](https://dequeuniversity.com/rules/axe/4.10/label-content-name-mismatch).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'Labels ensure that form controls are announced properly by assistive ' +
|
|
22
22
|
'technologies, like screen readers. [Learn ' +
|
|
23
|
-
'more about form element labels](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'more about form element labels](https://dequeuniversity.com/rules/axe/4.10/label).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -19,7 +19,7 @@ const UIStrings = {
|
|
|
19
19
|
failureTitle: 'Document does not have a main landmark.',
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'One main landmark helps screen reader users navigate a web page. ' +
|
|
22
|
-
'[Learn more about landmarks](https://dequeuniversity.com/rules/axe/4.
|
|
22
|
+
'[Learn more about landmarks](https://dequeuniversity.com/rules/axe/4.10/landmark-one-main).',
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'Low-contrast text is difficult or impossible for many users to read. Link text ' +
|
|
22
22
|
'that is discernible improves the experience for users with low vision. ' +
|
|
23
|
-
'[Learn how to make links distinguishable](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'[Learn how to make links distinguishable](https://dequeuniversity.com/rules/axe/4.10/link-in-text-block).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -21,7 +21,7 @@ const UIStrings = {
|
|
|
21
21
|
description: 'Link text (and alternate text for images, when used as links) that is ' +
|
|
22
22
|
'discernible, unique, and focusable improves the navigation experience for ' +
|
|
23
23
|
'screen reader users. ' +
|
|
24
|
-
'[Learn how to make links accessible](https://dequeuniversity.com/rules/axe/4.
|
|
24
|
+
'[Learn how to make links accessible](https://dequeuniversity.com/rules/axe/4.10/link-name).',
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -22,7 +22,7 @@ const UIStrings = {
|
|
|
22
22
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
23
23
|
description: 'Screen readers have a specific way of announcing lists. Ensuring proper list ' +
|
|
24
24
|
'structure aids screen reader output. ' +
|
|
25
|
-
'[Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.
|
|
25
|
+
'[Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.10/list).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -21,7 +21,7 @@ const UIStrings = {
|
|
|
21
21
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
22
22
|
description: 'Screen readers require list items (`<li>`) to be contained within a ' +
|
|
23
23
|
'parent `<ul>`, `<ol>` or `<menu>` to be announced properly. ' +
|
|
24
|
-
'[Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.
|
|
24
|
+
'[Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.10/listitem).',
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -21,7 +21,7 @@ const UIStrings = {
|
|
|
21
21
|
description: 'Users do not expect a page to refresh automatically, and doing so will move ' +
|
|
22
22
|
'focus back to the top of the page. This may create a frustrating or ' +
|
|
23
23
|
'confusing experience. ' +
|
|
24
|
-
'[Learn more about the refresh meta tag](https://dequeuniversity.com/rules/axe/4.
|
|
24
|
+
'[Learn more about the refresh meta tag](https://dequeuniversity.com/rules/axe/4.10/meta-refresh).',
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -22,7 +22,7 @@ const UIStrings = {
|
|
|
22
22
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
23
23
|
description: 'Disabling zooming is problematic for users with low vision who rely on ' +
|
|
24
24
|
'screen magnification to properly see the contents of a web page. ' +
|
|
25
|
-
'[Learn more about the viewport meta tag](https://dequeuniversity.com/rules/axe/4.
|
|
25
|
+
'[Learn more about the viewport meta tag](https://dequeuniversity.com/rules/axe/4.10/meta-viewport).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'Screen readers cannot translate non-text content. Adding alternate text to ' +
|
|
22
22
|
'`<object>` elements helps screen readers convey meaning to users. ' +
|
|
23
|
-
'[Learn more about alt text for `object` elements](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'[Learn more about alt text for `object` elements](https://dequeuniversity.com/rules/axe/4.10/object-alt).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'Form elements without effective labels can create frustrating experiences ' +
|
|
22
22
|
'for screen reader users. ' +
|
|
23
|
-
'[Learn more about the `select` element](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'[Learn more about the `select` element](https://dequeuniversity.com/rules/axe/4.10/select-name).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -19,7 +19,7 @@ const UIStrings = {
|
|
|
19
19
|
failureTitle: 'Skip links are not focusable.',
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'Including a skip link can help users skip to the main content to save time. ' +
|
|
22
|
-
'[Learn more about skip links](https://dequeuniversity.com/rules/axe/4.
|
|
22
|
+
'[Learn more about skip links](https://dequeuniversity.com/rules/axe/4.10/skip-link).',
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'A value greater than 0 implies an explicit navigation ordering. ' +
|
|
22
22
|
'Although technically valid, this often creates frustrating experiences ' +
|
|
23
|
-
'for users who rely on assistive technologies. [Learn more about the `tabindex` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'for users who rely on assistive technologies. [Learn more about the `tabindex` attribute](https://dequeuniversity.com/rules/axe/4.10/tabindex).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'The summary attribute should describe the table structure, while `<caption>` ' +
|
|
22
22
|
'should have the onscreen title. Accurate table mark-up helps users of screen readers. ' +
|
|
23
|
-
'[Learn more about summary and caption](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'[Learn more about summary and caption](https://dequeuniversity.com/rules/axe/4.10/table-duplicate-name).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -23,7 +23,7 @@ const UIStrings = {
|
|
|
23
23
|
description: 'Screen readers have features to make navigating tables easier. Ensuring ' +
|
|
24
24
|
'that tables use the actual caption element instead of cells with the `[colspan]` ' +
|
|
25
25
|
'attribute may improve the experience for screen reader users. ' +
|
|
26
|
-
'[Learn more about captions](https://dequeuniversity.com/rules/axe/4.
|
|
26
|
+
'[Learn more about captions](https://dequeuniversity.com/rules/axe/4.10/table-fake-caption).',
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'Touch targets with sufficient size and spacing help users who may have ' +
|
|
22
22
|
'difficulty targeting small controls to activate the targets. ' +
|
|
23
|
-
'[Learn more about touch targets](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'[Learn more about touch targets](https://dequeuniversity.com/rules/axe/4.10/target-size).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -21,7 +21,7 @@ const UIStrings = {
|
|
|
21
21
|
description: 'Screen readers have features to make navigating tables easier. Ensuring ' +
|
|
22
22
|
'that `<td>` elements in a large table (3 or more cells in width and height) have an ' +
|
|
23
23
|
'associated table header may improve the experience for screen reader users. ' +
|
|
24
|
-
'[Learn more about table headers](https://dequeuniversity.com/rules/axe/4.
|
|
24
|
+
'[Learn more about table headers](https://dequeuniversity.com/rules/axe/4.10/td-has-header).',
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -24,7 +24,7 @@ const UIStrings = {
|
|
|
24
24
|
description: 'Screen readers have features to make navigating tables easier. Ensuring ' +
|
|
25
25
|
'`<td>` cells using the `[headers]` attribute only refer to other cells in the same ' +
|
|
26
26
|
'table may improve the experience for screen reader users. ' +
|
|
27
|
-
'[Learn more about the `headers` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
27
|
+
'[Learn more about the `headers` attribute](https://dequeuniversity.com/rules/axe/4.10/td-headers-attr).',
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -23,7 +23,7 @@ const UIStrings = {
|
|
|
23
23
|
description: 'Screen readers have features to make navigating tables easier. Ensuring ' +
|
|
24
24
|
'table headers always refer to some set of cells may improve the experience for screen ' +
|
|
25
25
|
'reader users. ' +
|
|
26
|
-
'[Learn more about table headers](https://dequeuniversity.com/rules/axe/4.
|
|
26
|
+
'[Learn more about table headers](https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells).',
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
21
|
description: 'Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ' +
|
|
22
22
|
'on elements helps ensure that text is pronounced correctly by a screen reader. ' +
|
|
23
|
-
'[Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
23
|
+
'[Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.10/valid-lang).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -21,7 +21,7 @@ const UIStrings = {
|
|
|
21
21
|
/** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
22
22
|
description: 'When a video provides a caption it is easier for deaf and hearing impaired ' +
|
|
23
23
|
'users to access its information. ' +
|
|
24
|
-
'[Learn more about video captions](https://dequeuniversity.com/rules/axe/4.
|
|
24
|
+
'[Learn more about video captions](https://dequeuniversity.com/rules/axe/4.10/video-caption).',
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
@@ -59,12 +59,18 @@ class ResponsesAreCompressed extends ByteEfficiencyAudit {
|
|
|
59
59
|
const gzipSize = record.gzipSize;
|
|
60
60
|
const gzipSavings = originalSize - gzipSize;
|
|
61
61
|
|
|
62
|
-
//
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
// Not every resource is smaller when compressed.
|
|
63
|
+
if (record.transferSize < gzipSize) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// If savings is small, let's be generous and not surface the minor savings.
|
|
68
|
+
if (gzipSavings < IGNORE_THRESHOLD_IN_BYTES) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Require at least 20kb of savings ... or some percentage of total resource size.
|
|
73
|
+
if (gzipSavings < 20_000 && 1 - gzipSize / originalSize < IGNORE_THRESHOLD_IN_PERCENT) {
|
|
68
74
|
return;
|
|
69
75
|
}
|
|
70
76
|
|
|
@@ -18,7 +18,7 @@ const UIStrings = {
|
|
|
18
18
|
/** Title of a Lighthouse audit that provides detail on the use of third party cookies. This descriptive title is shown to users when the page uses third party cookies. */
|
|
19
19
|
failureTitle: 'Uses third-party cookies',
|
|
20
20
|
/** Description of a Lighthouse audit that tells the user why they should not use third party cookies on their page. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
21
|
-
description: '
|
|
21
|
+
description: 'Chrome is moving towards a new experience that allows users to choose to browse without third-party cookies. [Learn more about third-party cookies](https://developers.google.com/privacy-sandbox/cookies).',
|
|
22
22
|
/** [ICU Syntax] Label for the audit identifying the number of third-party cookies. */
|
|
23
23
|
displayValue: `{itemCount, plural,
|
|
24
24
|
=1 {1 cookie found}
|
|
@@ -74,6 +74,8 @@ async function runA11yChecks() {
|
|
|
74
74
|
'select-name': {enabled: true},
|
|
75
75
|
'server-side-image-map': {enabled: false},
|
|
76
76
|
'skip-link': {enabled: true},
|
|
77
|
+
// https://github.com/GoogleChrome/lighthouse/issues/16163
|
|
78
|
+
'summary-name': {enabled: false},
|
|
77
79
|
'svg-img-alt': {enabled: false},
|
|
78
80
|
'tabindex': {enabled: true},
|
|
79
81
|
'table-duplicate-name': {enabled: true},
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
declare namespace _default {
|
|
2
|
+
export { provideThirdPartyWeb };
|
|
2
3
|
export { getEntity };
|
|
3
4
|
export { getProduct };
|
|
4
5
|
export { isThirdParty };
|
|
@@ -7,6 +8,12 @@ declare namespace _default {
|
|
|
7
8
|
export default _default;
|
|
8
9
|
export type ThirdPartyEntity = import("third-party-web").IEntity;
|
|
9
10
|
export type ThirdPartyProduct = import("third-party-web").IProduct;
|
|
11
|
+
/**
|
|
12
|
+
* For use by DevTools.
|
|
13
|
+
*
|
|
14
|
+
* @param {typeof import('third-party-web/nostats-subset.js')} providedThirdPartyWeb
|
|
15
|
+
*/
|
|
16
|
+
declare function provideThirdPartyWeb(providedThirdPartyWeb: typeof import("third-party-web/nostats-subset.js")): void;
|
|
10
17
|
/** @typedef {import("third-party-web").IEntity} ThirdPartyEntity */
|
|
11
18
|
/** @typedef {import("third-party-web").IProduct} ThirdPartyProduct */
|
|
12
19
|
/**
|
|
@@ -4,7 +4,18 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import
|
|
7
|
+
import thirdPartyWebLib from 'third-party-web/nostats-subset.js';
|
|
8
|
+
|
|
9
|
+
let thirdPartyWeb = thirdPartyWebLib;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* For use by DevTools.
|
|
13
|
+
*
|
|
14
|
+
* @param {typeof import('third-party-web/nostats-subset.js')} providedThirdPartyWeb
|
|
15
|
+
*/
|
|
16
|
+
function provideThirdPartyWeb(providedThirdPartyWeb) {
|
|
17
|
+
thirdPartyWeb = providedThirdPartyWeb;
|
|
18
|
+
}
|
|
8
19
|
|
|
9
20
|
/** @typedef {import("third-party-web").IEntity} ThirdPartyEntity */
|
|
10
21
|
/** @typedef {import("third-party-web").IProduct} ThirdPartyProduct */
|
|
@@ -45,6 +56,7 @@ function isFirstParty(url, mainDocumentEntity) {
|
|
|
45
56
|
}
|
|
46
57
|
|
|
47
58
|
export default {
|
|
59
|
+
provideThirdPartyWeb,
|
|
48
60
|
getEntity,
|
|
49
61
|
getProduct,
|
|
50
62
|
isThirdParty,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lighthouse",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "12.2.
|
|
4
|
+
"version": "12.2.1",
|
|
5
5
|
"description": "Automated auditing, performance metrics, and best practices for the web.",
|
|
6
6
|
"main": "./core/index.js",
|
|
7
7
|
"bin": {
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
"pako": "^2.0.3",
|
|
168
168
|
"preact": "^10.7.2",
|
|
169
169
|
"pretty-json-stringify": "^0.0.2",
|
|
170
|
-
"puppeteer": "^
|
|
170
|
+
"puppeteer": "^23.3.0",
|
|
171
171
|
"resolve": "^1.22.1",
|
|
172
172
|
"rollup": "^2.52.7",
|
|
173
173
|
"rollup-plugin-polyfill-node": "^0.12.0",
|
|
@@ -183,7 +183,7 @@
|
|
|
183
183
|
"dependencies": {
|
|
184
184
|
"@paulirish/trace_engine": "0.0.32",
|
|
185
185
|
"@sentry/node": "^6.17.4",
|
|
186
|
-
"axe-core": "^4.
|
|
186
|
+
"axe-core": "^4.10.0",
|
|
187
187
|
"chrome-launcher": "^1.1.2",
|
|
188
188
|
"configstore": "^5.0.1",
|
|
189
189
|
"csp_evaluator": "1.1.1",
|
|
@@ -200,7 +200,7 @@
|
|
|
200
200
|
"metaviewport-parser": "0.3.0",
|
|
201
201
|
"open": "^8.4.0",
|
|
202
202
|
"parse-cache-control": "1.0.1",
|
|
203
|
-
"puppeteer-core": "^
|
|
203
|
+
"puppeteer-core": "^23.3.0",
|
|
204
204
|
"robots-parser": "^3.0.1",
|
|
205
205
|
"semver": "^5.3.0",
|
|
206
206
|
"speedline-core": "^1.4.3",
|