lighthouse 9.5.0-dev.20220720 → 9.5.0-dev.20220721
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/lighthouse-cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +2 -2
- package/lighthouse-core/audits/accessibility/accesskeys.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-allowed-attr.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-command-name.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-hidden-body.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-hidden-focus.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-input-field-name.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-meter-name.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-progressbar-name.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-required-attr.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-required-children.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-required-parent.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-roles.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-toggle-field-name.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-tooltip-name.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-treeitem-name.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-valid-attr-value.js +1 -1
- package/lighthouse-core/audits/accessibility/aria-valid-attr.js +1 -1
- package/lighthouse-core/audits/accessibility/button-name.js +1 -1
- package/lighthouse-core/audits/accessibility/bypass.js +1 -1
- package/lighthouse-core/audits/accessibility/color-contrast.js +1 -1
- package/lighthouse-core/audits/accessibility/definition-list.js +1 -1
- package/lighthouse-core/audits/accessibility/dlitem.js +1 -1
- package/lighthouse-core/audits/accessibility/document-title.js +1 -1
- package/lighthouse-core/audits/accessibility/duplicate-id-active.js +1 -1
- package/lighthouse-core/audits/accessibility/duplicate-id-aria.js +1 -1
- package/lighthouse-core/audits/accessibility/form-field-multiple-labels.js +1 -1
- package/lighthouse-core/audits/accessibility/frame-title.js +1 -1
- package/lighthouse-core/audits/accessibility/heading-order.js +1 -1
- package/lighthouse-core/audits/accessibility/html-has-lang.js +2 -2
- package/lighthouse-core/audits/accessibility/html-lang-valid.js +1 -1
- package/lighthouse-core/audits/accessibility/image-alt.js +1 -1
- package/lighthouse-core/audits/accessibility/input-image-alt.js +1 -1
- package/lighthouse-core/audits/accessibility/label.js +1 -1
- package/lighthouse-core/audits/accessibility/link-name.js +1 -1
- package/lighthouse-core/audits/accessibility/list.js +1 -1
- package/lighthouse-core/audits/accessibility/listitem.js +1 -1
- package/lighthouse-core/audits/accessibility/manual/custom-controls-labels.js +1 -1
- package/lighthouse-core/audits/accessibility/manual/custom-controls-roles.js +1 -1
- package/lighthouse-core/audits/accessibility/manual/focus-traps.js +1 -1
- package/lighthouse-core/audits/accessibility/manual/focusable-controls.js +1 -1
- package/lighthouse-core/audits/accessibility/manual/interactive-element-affordance.js +1 -1
- package/lighthouse-core/audits/accessibility/manual/logical-tab-order.js +1 -1
- package/lighthouse-core/audits/accessibility/manual/managed-focus.js +1 -1
- package/lighthouse-core/audits/accessibility/manual/offscreen-content-hidden.js +1 -1
- package/lighthouse-core/audits/accessibility/manual/use-landmarks.js +1 -1
- package/lighthouse-core/audits/accessibility/manual/visual-order-follows-dom.js +1 -1
- package/lighthouse-core/audits/accessibility/meta-refresh.js +1 -1
- package/lighthouse-core/audits/accessibility/meta-viewport.js +1 -1
- package/lighthouse-core/audits/accessibility/object-alt.js +1 -1
- package/lighthouse-core/audits/accessibility/tabindex.js +1 -1
- package/lighthouse-core/audits/accessibility/td-headers-attr.js +1 -1
- package/lighthouse-core/audits/accessibility/th-has-data-cells.js +1 -1
- package/lighthouse-core/audits/accessibility/valid-lang.js +1 -1
- package/lighthouse-core/audits/accessibility/video-caption.js +1 -1
- package/lighthouse-core/audits/apple-touch-icon.js +1 -1
- package/lighthouse-core/audits/autocomplete.js +1 -1
- package/lighthouse-core/audits/bootup-time.js +2 -2
- package/lighthouse-core/audits/byte-efficiency/efficient-animated-content.js +1 -1
- package/lighthouse-core/audits/byte-efficiency/legacy-javascript.js +1 -1
- package/lighthouse-core/audits/byte-efficiency/modern-image-formats.js +1 -1
- package/lighthouse-core/audits/byte-efficiency/offscreen-images.js +1 -1
- package/lighthouse-core/audits/byte-efficiency/render-blocking-resources.js +1 -1
- package/lighthouse-core/audits/byte-efficiency/total-byte-weight.js +1 -2
- package/lighthouse-core/audits/byte-efficiency/unminified-css.js +1 -1
- package/lighthouse-core/audits/byte-efficiency/unminified-javascript.js +1 -1
- package/lighthouse-core/audits/byte-efficiency/unused-css-rules.js +1 -1
- package/lighthouse-core/audits/byte-efficiency/unused-javascript.js +1 -1
- package/lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js +1 -1
- package/lighthouse-core/audits/byte-efficiency/uses-optimized-images.js +1 -1
- package/lighthouse-core/audits/byte-efficiency/uses-responsive-images.js +1 -1
- package/lighthouse-core/audits/byte-efficiency/uses-text-compression.js +1 -1
- package/lighthouse-core/audits/content-width.js +1 -1
- package/lighthouse-core/audits/critical-request-chains.js +1 -1
- package/lighthouse-core/audits/csp-xss.js +1 -1
- package/lighthouse-core/audits/deprecations.js +27 -6
- package/lighthouse-core/audits/dobetterweb/charset.js +1 -1
- package/lighthouse-core/audits/dobetterweb/doctype.js +1 -1
- package/lighthouse-core/audits/dobetterweb/dom-size.js +1 -1
- package/lighthouse-core/audits/dobetterweb/geolocation-on-start.js +1 -1
- package/lighthouse-core/audits/dobetterweb/js-libraries.js +1 -1
- package/lighthouse-core/audits/dobetterweb/no-document-write.js +1 -1
- package/lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js +1 -1
- package/lighthouse-core/audits/dobetterweb/notification-on-start.js +1 -1
- package/lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js +1 -1
- package/lighthouse-core/audits/dobetterweb/uses-http2.js +1 -1
- package/lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js +1 -1
- package/lighthouse-core/audits/errors-in-console.js +1 -1
- package/lighthouse-core/audits/font-display.js +2 -2
- package/lighthouse-core/audits/image-aspect-ratio.js +1 -1
- package/lighthouse-core/audits/image-size-responsive.js +2 -1
- package/lighthouse-core/audits/installable-manifest.js +2 -1
- package/lighthouse-core/audits/is-on-https.js +1 -1
- package/lighthouse-core/audits/largest-contentful-paint-element.js +1 -1
- package/lighthouse-core/audits/lcp-lazy-loaded.js +1 -1
- package/lighthouse-core/audits/long-tasks.js +1 -1
- package/lighthouse-core/audits/mainthread-work-breakdown.js +1 -1
- package/lighthouse-core/audits/manual/pwa-cross-browser.js +1 -1
- package/lighthouse-core/audits/manual/pwa-each-page-has-url.js +1 -1
- package/lighthouse-core/audits/manual/pwa-page-transitions.js +1 -1
- package/lighthouse-core/audits/maskable-icon.js +1 -1
- package/lighthouse-core/audits/metrics/cumulative-layout-shift.js +2 -1
- package/lighthouse-core/audits/metrics/experimental-interaction-to-next-paint.js +2 -1
- package/lighthouse-core/audits/metrics/first-contentful-paint-3g.js +2 -1
- package/lighthouse-core/audits/metrics/first-contentful-paint.js +1 -1
- package/lighthouse-core/audits/metrics/first-meaningful-paint.js +1 -1
- package/lighthouse-core/audits/metrics/interactive.js +2 -2
- package/lighthouse-core/audits/metrics/largest-contentful-paint.js +1 -1
- package/lighthouse-core/audits/metrics/max-potential-fid.js +2 -1
- package/lighthouse-core/audits/metrics/speed-index.js +1 -1
- package/lighthouse-core/audits/metrics/total-blocking-time.js +2 -1
- package/lighthouse-core/audits/network-rtt.js +1 -1
- package/lighthouse-core/audits/network-server-latency.js +1 -1
- package/lighthouse-core/audits/no-unload-listeners.js +1 -1
- package/lighthouse-core/audits/non-composited-animations.js +1 -1
- package/lighthouse-core/audits/performance-budget.js +2 -1
- package/lighthouse-core/audits/preload-fonts.js +1 -1
- package/lighthouse-core/audits/preload-lcp-image.js +1 -1
- package/lighthouse-core/audits/redirects.js +1 -1
- package/lighthouse-core/audits/resource-summary.js +2 -1
- package/lighthouse-core/audits/seo/canonical.js +1 -1
- package/lighthouse-core/audits/seo/crawlable-anchors.js +1 -1
- package/lighthouse-core/audits/seo/font-size.js +1 -1
- package/lighthouse-core/audits/seo/hreflang.js +1 -1
- package/lighthouse-core/audits/seo/http-status-code.js +1 -1
- package/lighthouse-core/audits/seo/is-crawlable.js +1 -1
- package/lighthouse-core/audits/seo/link-text.js +1 -1
- package/lighthouse-core/audits/seo/manual/structured-data.js +1 -1
- package/lighthouse-core/audits/seo/meta-description.js +1 -1
- package/lighthouse-core/audits/seo/plugins.js +1 -1
- package/lighthouse-core/audits/seo/robots-txt.js +2 -1
- package/lighthouse-core/audits/seo/tap-targets.js +1 -1
- package/lighthouse-core/audits/server-response-time.js +1 -1
- package/lighthouse-core/audits/service-worker.js +1 -1
- package/lighthouse-core/audits/splash-screen.js +2 -2
- package/lighthouse-core/audits/themed-omnibox.js +1 -1
- package/lighthouse-core/audits/third-party-facades.js +2 -1
- package/lighthouse-core/audits/third-party-summary.js +2 -1
- package/lighthouse-core/audits/timing-budget.js +1 -1
- package/lighthouse-core/audits/unsized-images.js +1 -1
- package/lighthouse-core/audits/user-timings.js +1 -1
- package/lighthouse-core/audits/uses-rel-preconnect.js +1 -1
- package/lighthouse-core/audits/uses-rel-preload.js +2 -1
- package/lighthouse-core/audits/valid-source-maps.js +1 -1
- package/lighthouse-core/audits/viewport.js +1 -1
- package/lighthouse-core/audits/work-during-interaction.js +1 -1
- package/lighthouse-core/lib/deprecations-strings.js +509 -0
- package/package.json +4 -4
- package/report/test/generator/report-generator-test.js +4 -4
- package/shared/localization/locales/en-US.json +266 -134
- package/shared/localization/locales/en-XL.json +266 -134
|
@@ -14,7 +14,7 @@ exports[`getAssertionReport works (multiple failing) 1`] = `
|
|
|
14
14
|
{
|
|
15
15
|
\\"id\\": \\"cumulative-layout-shift\\",
|
|
16
16
|
\\"title\\": \\"Cumulative Layout Shift\\",
|
|
17
|
-
\\"description\\": \\"Cumulative Layout Shift measures the movement of visible elements within the viewport. [Learn more](https://web.dev/cls/).\\",
|
|
17
|
+
\\"description\\": \\"Cumulative Layout Shift measures the movement of visible elements within the viewport. [Learn more about the Cumulative Layout Shift metric](https://web.dev/cls/).\\",
|
|
18
18
|
\\"score\\": 0.8,
|
|
19
19
|
\\"scoreDisplayMode\\": \\"numeric\\",
|
|
20
20
|
\\"numericValue\\": 0.13570762803819444,
|
|
@@ -41,7 +41,7 @@ exports[`getAssertionReport works (trivial failing) 1`] = `
|
|
|
41
41
|
{
|
|
42
42
|
\\"id\\": \\"cumulative-layout-shift\\",
|
|
43
43
|
\\"title\\": \\"Cumulative Layout Shift\\",
|
|
44
|
-
\\"description\\": \\"Cumulative Layout Shift measures the movement of visible elements within the viewport. [Learn more](https://web.dev/cls/).\\",
|
|
44
|
+
\\"description\\": \\"Cumulative Layout Shift measures the movement of visible elements within the viewport. [Learn more about the Cumulative Layout Shift metric](https://web.dev/cls/).\\",
|
|
45
45
|
\\"score\\": 0.8,
|
|
46
46
|
\\"scoreDisplayMode\\": \\"numeric\\",
|
|
47
47
|
\\"numericValue\\": 0.13570762803819444,
|
|
@@ -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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'Access keys let users quickly focus a part of the page. For proper ' +
|
|
24
24
|
'navigation, each access key must be unique. ' +
|
|
25
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/accesskeys).',
|
|
25
|
+
'[Learn more about access keys](https://dequeuniversity.com/rules/axe/4.4/accesskeys).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'Each ARIA `role` supports a specific subset of `aria-*` attributes. ' +
|
|
24
24
|
'Mismatching these invalidates the `aria-*` attributes. [Learn ' +
|
|
25
|
-
'
|
|
25
|
+
'how to match ARIA attributes to their roles](https://dequeuniversity.com/rules/axe/4.4/aria-allowed-attr).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Title of an accessibility audit that evaluates if important HTML elements do not have accessible names. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
21
21
|
failureTitle: '`button`, `link`, and `menuitem` elements do not have accessible names.',
|
|
22
22
|
/** Description of a Lighthouse audit that tells the user *why* they should have accessible names for HTML elements. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
description: 'When an element doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-command-name).',
|
|
23
|
+
description: 'When an element doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to make command elements more accessible](https://dequeuniversity.com/rules/axe/4.4/aria-command-name).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Title of an accesibility audit that checks if the html <body> element does not have an aria-hidden attribute set on it. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
21
21
|
failureTitle: '`[aria-hidden="true"]` is present on the document `<body>`',
|
|
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. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
description: 'Assistive technologies, like screen readers, work inconsistently when `aria-hidden="true"` is set on the document `<body>`. [Learn
|
|
23
|
+
description: 'Assistive technologies, like screen readers, work inconsistently when `aria-hidden="true"` is set on the document `<body>`. [Learn how `aria-hidden` affects the document body](https://dequeuniversity.com/rules/axe/4.4/aria-hidden-body).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Title of an accesibility audit that checks if all elements that have an aria-hidden attribute do not contain focusable descendent elements. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
21
21
|
failureTitle: '`[aria-hidden="true"]` elements contain focusable descendents',
|
|
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. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
description: 'Focusable descendents within an `[aria-hidden="true"]` element prevent those interactive elements from being available to users of assistive technologies like screen readers. [Learn
|
|
23
|
+
description: 'Focusable descendents within an `[aria-hidden="true"]` element prevent those interactive elements from being available to users of assistive technologies like screen readers. [Learn how `aria-hidden` affects focusable elements](https://dequeuniversity.com/rules/axe/4.4/aria-hidden-focus).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Title of an accesibility audit that checks that all ARIA input fields have an accessible name. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
21
21
|
failureTitle: 'ARIA input fields do not have accessible names',
|
|
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. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
description: 'When an input field doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-input-field-name).',
|
|
23
|
+
description: 'When an input field doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more about input field labels](https://dequeuniversity.com/rules/axe/4.4/aria-input-field-name).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Title of an accessibility audit that evaluates if meter HTML elements do not have accessible names. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
21
21
|
failureTitle: 'ARIA `meter` elements do not have accessible names.',
|
|
22
22
|
/** Description of a Lighthouse audit that tells the user *why* they should have accessible names for HTML elements. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
description: 'When an element doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn
|
|
23
|
+
description: 'When an element doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to name `meter` elements](https://dequeuniversity.com/rules/axe/4.4/aria-meter-name).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Title of an accessibility audit that evaluates if progressbar HTML elements do not have accessible names. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
21
21
|
failureTitle: 'ARIA `progressbar` elements do not have accessible names.',
|
|
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. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
description: 'When a `progressbar` element doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn
|
|
23
|
+
description: 'When a `progressbar` element doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to label `progressbar` elements](https://dequeuniversity.com/rules/axe/4.4/aria-progressbar-name).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -21,7 +21,7 @@ const UIStrings = {
|
|
|
21
21
|
failureTitle: '`[role]`s do not have all required `[aria-*]` attributes',
|
|
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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'Some ARIA roles have required attributes that describe the state ' +
|
|
24
|
-
'of the element to screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-required-attr).',
|
|
24
|
+
'of the element to screen readers. [Learn more about roles and required attributes](https://dequeuniversity.com/rules/axe/4.4/aria-required-attr).',
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -25,7 +25,7 @@ const UIStrings = {
|
|
|
25
25
|
/** 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. 'Learn More' becomes link text to additional documentation. */
|
|
26
26
|
description: 'Some ARIA parent roles must contain specific child roles to perform ' +
|
|
27
27
|
'their intended accessibility functions. ' +
|
|
28
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-required-children).',
|
|
28
|
+
'[Learn more about roles and required children elements](https://dequeuniversity.com/rules/axe/4.4/aria-required-children).',
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
24
24
|
description: 'Some ARIA child roles must be contained by specific parent roles to ' +
|
|
25
25
|
'properly perform their intended accessibility functions. ' +
|
|
26
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-required-parent).',
|
|
26
|
+
'[Learn more about ARIA roles and required parent element](https://dequeuniversity.com/rules/axe/4.4/aria-required-parent).',
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'ARIA roles must have valid values in order to perform their ' +
|
|
24
24
|
'intended accessibility functions. ' +
|
|
25
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-roles).',
|
|
25
|
+
'[Learn more about valid ARIA roles](https://dequeuniversity.com/rules/axe/4.4/aria-roles).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Title of an accesibility audit that checks that all ARIA toggle fields have an accessible name. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
21
21
|
failureTitle: 'ARIA toggle fields do not have accessible names',
|
|
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. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
description: 'When a toggle field doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-toggle-field-name).',
|
|
23
|
+
description: 'When a toggle field doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more about toggle fields](https://dequeuniversity.com/rules/axe/4.4/aria-toggle-field-name).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Title of an accessibility audit that evaluates if tooltip HTML elements do not have accessible names. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
21
21
|
failureTitle: 'ARIA `tooltip` elements do not have accessible names.',
|
|
22
22
|
/** Description of a Lighthouse audit that tells the user *why* they should have accessible names for HTML elements. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
description: 'When an element doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn
|
|
23
|
+
description: 'When an element doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to name `tooltip` elements](https://dequeuniversity.com/rules/axe/4.4/aria-tooltip-name).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Title of an accessibility audit that evaluates if treeitem HTML elements do not have accessible names. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
21
21
|
failureTitle: 'ARIA `treeitem` elements do not have accessible names.',
|
|
22
22
|
/** Description of a Lighthouse audit that tells the user *why* they should have accessible names for HTML elements. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
description: 'When
|
|
23
|
+
description: 'When a `treeitem` element doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more about labeling `treeitem` elements](https://dequeuniversity.com/rules/axe/4.4/aria-treeitem-name).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'Assistive technologies, like screen readers, can\'t interpret ARIA ' +
|
|
24
24
|
'attributes with invalid values. [Learn ' +
|
|
25
|
-
'more](https://dequeuniversity.com/rules/axe/4.4/aria-valid-attr-value).',
|
|
25
|
+
'more about valid values for ARIA attributes](https://dequeuniversity.com/rules/axe/4.4/aria-valid-attr-value).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'Assistive technologies, like screen readers, can\'t interpret ARIA ' +
|
|
24
24
|
'attributes with invalid names. [Learn ' +
|
|
25
|
-
'more](https://dequeuniversity.com/rules/axe/4.4/aria-valid-attr).',
|
|
25
|
+
'more about valid ARIA attributes](https://dequeuniversity.com/rules/axe/4.4/aria-valid-attr).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'When a button doesn\'t have an accessible name, screen readers announce it ' +
|
|
24
24
|
'as "button", making it unusable for users who rely on screen readers. ' +
|
|
25
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/button-name).',
|
|
25
|
+
'[Learn how to make buttons more accessible](https://dequeuniversity.com/rules/axe/4.4/button-name).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
24
24
|
description: 'Adding ways to bypass repetitive content lets keyboard users navigate the ' +
|
|
25
25
|
'page more efficiently. ' +
|
|
26
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/bypass).',
|
|
26
|
+
'[Learn more about bypass blocks](https://dequeuniversity.com/rules/axe/4.4/bypass).',
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -23,7 +23,7 @@ const UIStrings = {
|
|
|
23
23
|
'sufficient contrast ratio.',
|
|
24
24
|
/** 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. 'Learn More' becomes link text to additional documentation. */
|
|
25
25
|
description: 'Low-contrast text is difficult or impossible for many users to read. ' +
|
|
26
|
-
'[Learn
|
|
26
|
+
'[Learn how to provide sufficient color contrast](https://dequeuniversity.com/rules/axe/4.4/color-contrast).',
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -24,7 +24,7 @@ const UIStrings = {
|
|
|
24
24
|
/** 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. 'Learn More' becomes link text to additional documentation. */
|
|
25
25
|
description: 'When definition lists are not properly marked up, screen readers may produce ' +
|
|
26
26
|
'confusing or inaccurate output. ' +
|
|
27
|
-
'[Learn
|
|
27
|
+
'[Learn how to structure definition lists correctly](https://dequeuniversity.com/rules/axe/4.4/definition-list).',
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'Definition list items (`<dt>` and `<dd>`) must be wrapped in a ' +
|
|
24
24
|
'parent `<dl>` element to ensure that screen readers can properly announce them. ' +
|
|
25
|
-
'[Learn
|
|
25
|
+
'[Learn how to structure definition lists correctly](https://dequeuniversity.com/rules/axe/4.4/dlitem).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'The title gives screen reader users an overview of the page, and search ' +
|
|
24
24
|
'engine users rely on it heavily to determine if a page is relevant to their search. ' +
|
|
25
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/document-title).',
|
|
25
|
+
'[Learn more about document titles](https://dequeuniversity.com/rules/axe/4.4/document-title).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** Title of an accesibility audit that checks if there are any duplicate id HTML attributes on active, focusable elements. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
21
21
|
failureTitle: '`[id]` attributes on active, focusable elements are not unique',
|
|
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. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
description: 'All focusable elements must have a unique `id` to ensure that they\'re visible to assistive technologies. [Learn
|
|
23
|
+
description: 'All focusable elements must have a unique `id` to ensure that they\'re visible to assistive technologies. [Learn how to fix duplicate `id`s](https://dequeuniversity.com/rules/axe/4.4/duplicate-id-active).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** 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. */
|
|
21
21
|
failureTitle: 'ARIA IDs are not unique',
|
|
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. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
description: 'The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. [Learn
|
|
23
|
+
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.4/duplicate-id-aria).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** 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. */
|
|
21
21
|
failureTitle: 'Form fields have multiple labels',
|
|
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. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
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
|
|
23
|
+
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.4/form-field-multiple-labels).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -21,7 +21,7 @@ const UIStrings = {
|
|
|
21
21
|
failureTitle: '`<frame>` or `<iframe>` elements do not have a title',
|
|
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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'Screen reader users rely on frame titles to describe the contents of frames. ' +
|
|
24
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/frame-title).',
|
|
24
|
+
'[Learn more about frame titles](https://dequeuniversity.com/rules/axe/4.4/frame-title).',
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
/** 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. */
|
|
21
21
|
failureTitle: 'Heading elements are not in a sequentially-descending order',
|
|
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. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
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](https://dequeuniversity.com/rules/axe/4.4/heading-order).',
|
|
23
|
+
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.4/heading-order).',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -20,11 +20,11 @@ const UIStrings = {
|
|
|
20
20
|
/** Title of an accesibility audit that evaluates if the root HTML tag has a lang attribute identifying the page's language. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
|
|
21
21
|
failureTitle: '`<html>` element does not have a `[lang]` attribute',
|
|
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. 'Learn More' becomes link text to additional documentation. */
|
|
23
|
-
description: 'If a page doesn\'t specify a lang attribute, a screen reader assumes ' +
|
|
23
|
+
description: 'If a page doesn\'t specify a `lang` attribute, a screen reader assumes ' +
|
|
24
24
|
'that the page is in the default language that the user chose when setting up the ' +
|
|
25
25
|
'screen reader. If the page isn\'t actually in the default language, then the screen ' +
|
|
26
26
|
'reader might not announce the page\'s text correctly. ' +
|
|
27
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/html-has-lang).',
|
|
27
|
+
'[Learn more about the `lang` attribute](https://dequeuniversity.com/rules/axe/4.4/html-has-lang).',
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
24
24
|
description: 'Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ' +
|
|
25
25
|
'helps screen readers announce text properly. ' +
|
|
26
|
-
'[Learn
|
|
26
|
+
'[Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.4/html-lang-valid).',
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'Informative elements should aim for short, descriptive alternate text. ' +
|
|
24
24
|
'Decorative elements can be ignored with an empty alt attribute. ' +
|
|
25
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/image-alt).',
|
|
25
|
+
'[Learn more about the `alt` attribute](https://dequeuniversity.com/rules/axe/4.4/image-alt).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'When an image is being used as an `<input>` button, providing alternative ' +
|
|
24
24
|
'text can help screen reader users understand the purpose of the button. ' +
|
|
25
|
-
'[Learn
|
|
25
|
+
'[Learn about input image alt text](https://dequeuniversity.com/rules/axe/4.4/input-image-alt).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'Labels ensure that form controls are announced properly by assistive ' +
|
|
24
24
|
'technologies, like screen readers. [Learn ' +
|
|
25
|
-
'more](https://dequeuniversity.com/rules/axe/4.4/label).',
|
|
25
|
+
'more about form element labels](https://dequeuniversity.com/rules/axe/4.4/label).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -23,7 +23,7 @@ const UIStrings = {
|
|
|
23
23
|
description: 'Link text (and alternate text for images, when used as links) that is ' +
|
|
24
24
|
'discernible, unique, and focusable improves the navigation experience for ' +
|
|
25
25
|
'screen reader users. ' +
|
|
26
|
-
'[Learn
|
|
26
|
+
'[Learn how to make links accessible](https://dequeuniversity.com/rules/axe/4.4/link-name).',
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -24,7 +24,7 @@ const UIStrings = {
|
|
|
24
24
|
/** 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. 'Learn More' becomes link text to additional documentation. */
|
|
25
25
|
description: 'Screen readers have a specific way of announcing lists. Ensuring proper list ' +
|
|
26
26
|
'structure aids screen reader output. ' +
|
|
27
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/list).',
|
|
27
|
+
'[Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.4/list).',
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
24
24
|
description: 'Screen readers require list items (`<li>`) to be contained within a ' +
|
|
25
25
|
'parent `<ul>`, `<ol>` or `<menu>` to be announced properly. ' +
|
|
26
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/listitem).',
|
|
26
|
+
'[Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.4/listitem).',
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -19,7 +19,7 @@ class CustomControlsLabels extends ManualAudit {
|
|
|
19
19
|
static get meta() {
|
|
20
20
|
return Object.assign({
|
|
21
21
|
id: 'custom-controls-labels',
|
|
22
|
-
description: 'Custom interactive controls have associated labels, provided by aria-label or aria-labelledby. [Learn more](https://web.dev/custom-controls-labels/).',
|
|
22
|
+
description: 'Custom interactive controls have associated labels, provided by aria-label or aria-labelledby. [Learn more about custom controls and labels](https://web.dev/custom-controls-labels/).',
|
|
23
23
|
title: 'Custom controls have associated labels',
|
|
24
24
|
}, super.partialMeta);
|
|
25
25
|
}
|
|
@@ -19,7 +19,7 @@ class CustomControlsRoles extends ManualAudit {
|
|
|
19
19
|
static get meta() {
|
|
20
20
|
return Object.assign({
|
|
21
21
|
id: 'custom-controls-roles',
|
|
22
|
-
description: 'Custom interactive controls have appropriate ARIA roles. [Learn
|
|
22
|
+
description: 'Custom interactive controls have appropriate ARIA roles. [Learn how to add roles to custom controls](https://web.dev/custom-control-roles/).',
|
|
23
23
|
title: 'Custom controls have ARIA roles',
|
|
24
24
|
}, super.partialMeta);
|
|
25
25
|
}
|
|
@@ -19,7 +19,7 @@ class FocusTraps extends ManualAudit {
|
|
|
19
19
|
static get meta() {
|
|
20
20
|
return Object.assign({
|
|
21
21
|
id: 'focus-traps',
|
|
22
|
-
description: 'A user can tab into and out of any control or region without accidentally trapping their focus. [Learn
|
|
22
|
+
description: 'A user can tab into and out of any control or region without accidentally trapping their focus. [Learn how to avoid focus traps](https://web.dev/focus-traps/).',
|
|
23
23
|
title: 'User focus is not accidentally trapped in a region',
|
|
24
24
|
}, super.partialMeta);
|
|
25
25
|
}
|
|
@@ -19,7 +19,7 @@ class FocusableControls extends ManualAudit {
|
|
|
19
19
|
static get meta() {
|
|
20
20
|
return Object.assign({
|
|
21
21
|
id: 'focusable-controls',
|
|
22
|
-
description: 'Custom interactive controls are keyboard focusable and display a focus indicator. [Learn
|
|
22
|
+
description: 'Custom interactive controls are keyboard focusable and display a focus indicator. [Learn how to make custom controls focusable](https://web.dev/focusable-controls/).',
|
|
23
23
|
title: 'Interactive controls are keyboard focusable',
|
|
24
24
|
}, super.partialMeta);
|
|
25
25
|
}
|
|
@@ -19,7 +19,7 @@ class InteractiveElementAffordance extends ManualAudit {
|
|
|
19
19
|
static get meta() {
|
|
20
20
|
return Object.assign({
|
|
21
21
|
id: 'interactive-element-affordance',
|
|
22
|
-
description: 'Interactive elements, such as links and buttons, should indicate their state and be distinguishable from non-interactive elements. [Learn
|
|
22
|
+
description: 'Interactive elements, such as links and buttons, should indicate their state and be distinguishable from non-interactive elements. [Learn how to decorate interactive elements with affordance hints](https://web.dev/interactive-element-affordance/).',
|
|
23
23
|
title: 'Interactive elements indicate their purpose and state',
|
|
24
24
|
}, super.partialMeta);
|
|
25
25
|
}
|
|
@@ -19,7 +19,7 @@ class LogicalTabOrder extends ManualAudit {
|
|
|
19
19
|
static get meta() {
|
|
20
20
|
return Object.assign({
|
|
21
21
|
id: 'logical-tab-order',
|
|
22
|
-
description: 'Tabbing through the page follows the visual layout. Users cannot focus elements that are offscreen. [Learn more](https://web.dev/logical-tab-order/).',
|
|
22
|
+
description: 'Tabbing through the page follows the visual layout. Users cannot focus elements that are offscreen. [Learn more about logical tab ordering](https://web.dev/logical-tab-order/).',
|
|
23
23
|
title: 'The page has a logical tab order',
|
|
24
24
|
}, super.partialMeta);
|
|
25
25
|
}
|
|
@@ -19,7 +19,7 @@ class ManagedFocus extends ManualAudit {
|
|
|
19
19
|
static get meta() {
|
|
20
20
|
return Object.assign({
|
|
21
21
|
id: 'managed-focus',
|
|
22
|
-
description: 'If new content, such as a dialog, is added to the page, the user\'s focus is directed to it. [Learn
|
|
22
|
+
description: 'If new content, such as a dialog, is added to the page, the user\'s focus is directed to it. [Learn how to direct focus to new content](https://web.dev/managed-focus/).',
|
|
23
23
|
title: 'The user\'s focus is directed to new content added to the page',
|
|
24
24
|
}, super.partialMeta);
|
|
25
25
|
}
|
|
@@ -20,7 +20,7 @@ class OffscreenContentHidden extends ManualAudit {
|
|
|
20
20
|
static get meta() {
|
|
21
21
|
return Object.assign({
|
|
22
22
|
id: 'offscreen-content-hidden',
|
|
23
|
-
description: 'Offscreen content is hidden with display: none or aria-hidden=true. [Learn
|
|
23
|
+
description: 'Offscreen content is hidden with display: none or aria-hidden=true. [Learn how to properly hide offscreen content](https://web.dev/offscreen-content-hidden/).',
|
|
24
24
|
title: 'Offscreen content is hidden from assistive technology',
|
|
25
25
|
}, super.partialMeta);
|
|
26
26
|
}
|
|
@@ -19,7 +19,7 @@ class UseLandmarks extends ManualAudit {
|
|
|
19
19
|
static get meta() {
|
|
20
20
|
return Object.assign({
|
|
21
21
|
id: 'use-landmarks',
|
|
22
|
-
description: 'Landmark elements (<main>, <nav>, etc.) are used to improve the keyboard navigation of the page for assistive technology. [Learn more](https://web.dev/use-landmarks/).',
|
|
22
|
+
description: 'Landmark elements (<main>, <nav>, etc.) are used to improve the keyboard navigation of the page for assistive technology. [Learn more about landmark elements](https://web.dev/use-landmarks/).',
|
|
23
23
|
title: 'HTML5 landmark elements are used to improve navigation',
|
|
24
24
|
}, super.partialMeta);
|
|
25
25
|
}
|
|
@@ -19,7 +19,7 @@ class VisualOrderFollowsDOM extends ManualAudit {
|
|
|
19
19
|
static get meta() {
|
|
20
20
|
return Object.assign({
|
|
21
21
|
id: 'visual-order-follows-dom',
|
|
22
|
-
description: 'DOM order matches the visual order, improving navigation for assistive technology. [Learn more](https://web.dev/visual-order-follows-dom/).',
|
|
22
|
+
description: 'DOM order matches the visual order, improving navigation for assistive technology. [Learn more about DOM and visual ordering](https://web.dev/visual-order-follows-dom/).',
|
|
23
23
|
title: 'Visual order on the page follows DOM order',
|
|
24
24
|
}, super.partialMeta);
|
|
25
25
|
}
|
|
@@ -23,7 +23,7 @@ const UIStrings = {
|
|
|
23
23
|
description: 'Users do not expect a page to refresh automatically, and doing so will move ' +
|
|
24
24
|
'focus back to the top of the page. This may create a frustrating or ' +
|
|
25
25
|
'confusing experience. ' +
|
|
26
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/meta-refresh).',
|
|
26
|
+
'[Learn more about the refresh meta tag](https://dequeuniversity.com/rules/axe/4.4/meta-refresh).',
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -24,7 +24,7 @@ const UIStrings = {
|
|
|
24
24
|
/** 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. 'Learn More' becomes link text to additional documentation. */
|
|
25
25
|
description: 'Disabling zooming is problematic for users with low vision who rely on ' +
|
|
26
26
|
'screen magnification to properly see the contents of a web page. ' +
|
|
27
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/meta-viewport).',
|
|
27
|
+
'[Learn more about the viewport meta tag](https://dequeuniversity.com/rules/axe/4.4/meta-viewport).',
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'Screen readers cannot translate non-text content. Adding alternate text to ' +
|
|
24
24
|
'`<object>` elements helps screen readers convey meaning to users. ' +
|
|
25
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/object-alt).',
|
|
25
|
+
'[Learn more about alt text for `object` elements](https://dequeuniversity.com/rules/axe/4.4/object-alt).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createMessageInstanceIdFn(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. 'Learn More' becomes link text to additional documentation. */
|
|
23
23
|
description: 'A value greater than 0 implies an explicit navigation ordering. ' +
|
|
24
24
|
'Although technically valid, this often creates frustrating experiences ' +
|
|
25
|
-
'for users who rely on assistive technologies. [Learn more](https://dequeuniversity.com/rules/axe/4.4/tabindex).',
|
|
25
|
+
'for users who rely on assistive technologies. [Learn more about the `tabindex` attribute](https://dequeuniversity.com/rules/axe/4.4/tabindex).',
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -26,7 +26,7 @@ const UIStrings = {
|
|
|
26
26
|
description: 'Screen readers have features to make navigating tables easier. Ensuring ' +
|
|
27
27
|
'`<td>` cells using the `[headers]` attribute only refer to other cells in the same ' +
|
|
28
28
|
'table may improve the experience for screen reader users. ' +
|
|
29
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/td-headers-attr).',
|
|
29
|
+
'[Learn more about the `headers` attribute](https://dequeuniversity.com/rules/axe/4.4/td-headers-attr).',
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|
|
@@ -25,7 +25,7 @@ const UIStrings = {
|
|
|
25
25
|
description: 'Screen readers have features to make navigating tables easier. Ensuring ' +
|
|
26
26
|
'table headers always refer to some set of cells may improve the experience for screen ' +
|
|
27
27
|
'reader users. ' +
|
|
28
|
-
'[Learn more](https://dequeuniversity.com/rules/axe/4.4/th-has-data-cells).',
|
|
28
|
+
'[Learn more about table headers](https://dequeuniversity.com/rules/axe/4.4/th-has-data-cells).',
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
|