lighthouse 9.5.0-dev.20221011 → 9.5.0-dev.20221013

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.
Files changed (125) hide show
  1. package/core/audits/accessibility/accesskeys.js +1 -1
  2. package/core/audits/accessibility/aria-allowed-attr.js +1 -1
  3. package/core/audits/accessibility/aria-command-name.js +1 -1
  4. package/core/audits/accessibility/aria-hidden-body.js +1 -1
  5. package/core/audits/accessibility/aria-hidden-focus.js +1 -1
  6. package/core/audits/accessibility/aria-input-field-name.js +1 -1
  7. package/core/audits/accessibility/aria-progressbar-name.js +1 -1
  8. package/core/audits/accessibility/aria-required-attr.js +1 -1
  9. package/core/audits/accessibility/aria-required-children.js +1 -1
  10. package/core/audits/accessibility/aria-required-parent.js +1 -1
  11. package/core/audits/accessibility/aria-roles.js +1 -1
  12. package/core/audits/accessibility/aria-toggle-field-name.js +1 -1
  13. package/core/audits/accessibility/aria-treeitem-name.js +1 -1
  14. package/core/audits/accessibility/aria-valid-attr-value.js +1 -1
  15. package/core/audits/accessibility/aria-valid-attr.js +1 -1
  16. package/core/audits/accessibility/button-name.js +1 -1
  17. package/core/audits/accessibility/bypass.js +1 -1
  18. package/core/audits/accessibility/color-contrast.js +1 -1
  19. package/core/audits/accessibility/definition-list.js +1 -1
  20. package/core/audits/accessibility/dlitem.js +1 -1
  21. package/core/audits/accessibility/document-title.js +1 -1
  22. package/core/audits/accessibility/duplicate-id-active.js +1 -1
  23. package/core/audits/accessibility/duplicate-id-aria.js +1 -1
  24. package/core/audits/accessibility/form-field-multiple-labels.js +1 -1
  25. package/core/audits/accessibility/frame-title.js +1 -1
  26. package/core/audits/accessibility/heading-order.js +1 -1
  27. package/core/audits/accessibility/html-has-lang.js +1 -1
  28. package/core/audits/accessibility/html-lang-valid.js +1 -1
  29. package/core/audits/accessibility/image-alt.js +1 -1
  30. package/core/audits/accessibility/input-image-alt.js +1 -1
  31. package/core/audits/accessibility/label.js +1 -1
  32. package/core/audits/accessibility/link-name.js +1 -1
  33. package/core/audits/accessibility/list.js +1 -1
  34. package/core/audits/accessibility/listitem.js +1 -1
  35. package/core/audits/accessibility/meta-refresh.js +1 -1
  36. package/core/audits/accessibility/meta-viewport.js +1 -1
  37. package/core/audits/accessibility/object-alt.js +1 -1
  38. package/core/audits/accessibility/tabindex.js +1 -1
  39. package/core/audits/accessibility/td-headers-attr.js +1 -1
  40. package/core/audits/accessibility/th-has-data-cells.js +1 -1
  41. package/core/audits/accessibility/valid-lang.js +1 -1
  42. package/core/audits/accessibility/video-caption.js +1 -1
  43. package/core/audits/autocomplete.js +1 -1
  44. package/core/audits/bootup-time.js +1 -1
  45. package/core/audits/byte-efficiency/duplicated-javascript.js +1 -1
  46. package/core/audits/byte-efficiency/efficient-animated-content.js +1 -1
  47. package/core/audits/byte-efficiency/legacy-javascript.js +1 -1
  48. package/core/audits/byte-efficiency/modern-image-formats.js +1 -1
  49. package/core/audits/byte-efficiency/offscreen-images.js +1 -1
  50. package/core/audits/byte-efficiency/render-blocking-resources.js +1 -1
  51. package/core/audits/byte-efficiency/total-byte-weight.js +1 -1
  52. package/core/audits/byte-efficiency/unminified-css.js +1 -1
  53. package/core/audits/byte-efficiency/unminified-javascript.js +1 -1
  54. package/core/audits/byte-efficiency/unused-css-rules.js +1 -1
  55. package/core/audits/byte-efficiency/unused-javascript.js +1 -1
  56. package/core/audits/byte-efficiency/uses-long-cache-ttl.js +1 -1
  57. package/core/audits/byte-efficiency/uses-optimized-images.js +1 -1
  58. package/core/audits/byte-efficiency/uses-responsive-images.js +1 -1
  59. package/core/audits/byte-efficiency/uses-text-compression.js +1 -1
  60. package/core/audits/content-width.js +1 -1
  61. package/core/audits/critical-request-chains.js +1 -1
  62. package/core/audits/csp-xss.js +1 -1
  63. package/core/audits/deprecations.js +1 -1
  64. package/core/audits/dobetterweb/doctype.js +1 -1
  65. package/core/audits/dobetterweb/dom-size.js +1 -1
  66. package/core/audits/dobetterweb/geolocation-on-start.js +1 -1
  67. package/core/audits/dobetterweb/no-document-write.js +1 -1
  68. package/core/audits/dobetterweb/notification-on-start.js +1 -1
  69. package/core/audits/dobetterweb/password-inputs-can-be-pasted-into.js +1 -1
  70. package/core/audits/dobetterweb/uses-http2.js +1 -1
  71. package/core/audits/dobetterweb/uses-passive-event-listeners.js +1 -1
  72. package/core/audits/font-display.js +1 -1
  73. package/core/audits/image-aspect-ratio.js +1 -1
  74. package/core/audits/image-size-responsive.js +1 -1
  75. package/core/audits/installable-manifest.js +2 -3
  76. package/core/audits/is-on-https.js +1 -1
  77. package/core/audits/mainthread-work-breakdown.js +1 -1
  78. package/core/audits/manual/pwa-cross-browser.js +1 -1
  79. package/core/audits/manual/pwa-each-page-has-url.js +1 -1
  80. package/core/audits/manual/pwa-page-transitions.js +1 -1
  81. package/core/audits/maskable-icon.js +1 -1
  82. package/core/audits/metrics/cumulative-layout-shift.js +1 -1
  83. package/core/audits/metrics/experimental-interaction-to-next-paint.js +1 -1
  84. package/core/audits/metrics/first-contentful-paint.js +1 -1
  85. package/core/audits/metrics/first-meaningful-paint.js +1 -1
  86. package/core/audits/metrics/interactive.js +1 -1
  87. package/core/audits/metrics/largest-contentful-paint.js +1 -1
  88. package/core/audits/metrics/max-potential-fid.js +1 -1
  89. package/core/audits/metrics/speed-index.js +1 -1
  90. package/core/audits/network-rtt.js +1 -1
  91. package/core/audits/network-server-latency.js +1 -1
  92. package/core/audits/no-unload-listeners.js +1 -1
  93. package/core/audits/performance-budget.js +1 -1
  94. package/core/audits/preload-fonts.js +1 -1
  95. package/core/audits/redirects.js +1 -1
  96. package/core/audits/resource-summary.js +1 -1
  97. package/core/audits/seo/canonical.js +1 -1
  98. package/core/audits/seo/crawlable-anchors.js +1 -1
  99. package/core/audits/seo/font-size.js +1 -1
  100. package/core/audits/seo/hreflang.js +1 -1
  101. package/core/audits/seo/http-status-code.js +1 -1
  102. package/core/audits/seo/is-crawlable.js +1 -1
  103. package/core/audits/seo/link-text.js +1 -1
  104. package/core/audits/seo/manual/structured-data.js +1 -1
  105. package/core/audits/seo/meta-description.js +1 -1
  106. package/core/audits/seo/plugins.js +1 -1
  107. package/core/audits/seo/tap-targets.js +1 -1
  108. package/core/audits/server-response-time.js +1 -1
  109. package/core/audits/service-worker.js +1 -1
  110. package/core/audits/splash-screen.js +1 -1
  111. package/core/audits/themed-omnibox.js +1 -1
  112. package/core/audits/third-party-facades.js +1 -1
  113. package/core/audits/third-party-summary.js +1 -1
  114. package/core/audits/timing-budget.js +1 -1
  115. package/core/audits/unsized-images.js +1 -1
  116. package/core/audits/user-timings.js +1 -1
  117. package/core/audits/uses-rel-preconnect.js +1 -1
  118. package/core/audits/uses-rel-preload.js +1 -1
  119. package/core/audits/valid-source-maps.js +1 -1
  120. package/core/audits/viewport.js +1 -1
  121. package/core/audits/work-during-interaction.js +1 -1
  122. package/core/config/default-config.js +5 -5
  123. package/package.json +1 -1
  124. package/shared/localization/locales/en-US.json +4 -4
  125. package/shared/localization/locales/en-XL.json +4 -4
@@ -33,7 +33,7 @@ const MINIMUM_WASTED_MS = 50;
33
33
  const UIStrings = {
34
34
  /** Imperative title of a Lighthouse audit that tells the user to reduce or remove network resources that block the initial render of the page. This is displayed in a list of audit titles that Lighthouse generates. */
35
35
  title: 'Eliminate render-blocking resources',
36
- /** Description of a Lighthouse audit that tells the user *why* they should reduce or remove network resources that block the initial render of the page. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
36
+ /** Description of a Lighthouse audit that tells the user *why* they should reduce or remove network resources that block the initial render of the 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. */
37
37
  description: 'Resources are blocking the first paint of your page. Consider ' +
38
38
  'delivering critical JS/CSS inline and deferring all non-critical ' +
39
39
  'JS/styles. [Learn how to eliminate render-blocking resources](https://web.dev/render-blocking-resources/).',
@@ -14,7 +14,7 @@ const UIStrings = {
14
14
  title: 'Avoids enormous network payloads',
15
15
  /** Title of a diagnostic audit that provides detail on large network resources required during page load. 'Payloads' is roughly equivalent to 'resources'. This imperative title is shown to users when there is a significant amount of execution time that could be reduced. */
16
16
  failureTitle: 'Avoid enormous network payloads',
17
- /** Description of a Lighthouse audit that tells the user *why* they should reduce the size of the network resources required by the page. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
17
+ /** Description of a Lighthouse audit that tells the user *why* they should reduce the size of the network resources required by the 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. */
18
18
  description:
19
19
  'Large network payloads cost users real money and are highly correlated with ' +
20
20
  'long load times. [Learn how to reduce payload sizes](https://web.dev/total-byte-weight/).',
@@ -12,7 +12,7 @@ import {computeCSSTokenLength as computeTokenLength} from '../../lib/minificatio
12
12
  const UIStrings = {
13
13
  /** Imperative title of a Lighthouse audit that tells the user to minify (remove whitespace) the page's CSS code. This is displayed in a list of audit titles that Lighthouse generates. */
14
14
  title: 'Minify CSS',
15
- /** Description of a Lighthouse audit that tells the user *why* they should minify (remove whitespace) the page's CSS code. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
15
+ /** Description of a Lighthouse audit that tells the user *why* they should minify (remove whitespace) the page's CSS code. 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. */
16
16
  description: 'Minifying CSS files can reduce network payload sizes. ' +
17
17
  '[Learn how to minify CSS](https://web.dev/unminified-css/).',
18
18
  };
@@ -12,7 +12,7 @@ import {getRequestForScript, isInline} from '../../lib/script-helpers.js';
12
12
  const UIStrings = {
13
13
  /** Imperative title of a Lighthouse audit that tells the user to minify the page’s JS code to reduce file size. This is displayed in a list of audit titles that Lighthouse generates. */
14
14
  title: 'Minify JavaScript',
15
- /** Description of a Lighthouse audit that tells the user *why* they should minify the page’s JS code to reduce file size. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
15
+ /** Description of a Lighthouse audit that tells the user *why* they should minify the page’s JS code to reduce file size. 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. */
16
16
  description: 'Minifying JavaScript files can reduce payload sizes and script parse time. ' +
17
17
  '[Learn how to minify JavaScript](https://web.dev/unminified-javascript/).',
18
18
  };
@@ -11,7 +11,7 @@ import * as i18n from '../../lib/i18n/i18n.js';
11
11
  const UIStrings = {
12
12
  /** Imperative title of a Lighthouse audit that tells the user to reduce content from their CSS that isn’t needed immediately and instead load that content at a later time. This is displayed in a list of audit titles that Lighthouse generates. */
13
13
  title: 'Reduce unused CSS',
14
- /** Description of a Lighthouse audit that tells the user *why* they should defer loading any content in CSS that isn’t needed at page load. This is displayed after a user expands the section to see more. No word length limits. 'Learn More' becomes link text to additional documentation. */
14
+ /** Description of a Lighthouse audit that tells the user *why* they should defer loading any content in CSS that isn’t needed at page load. This is displayed after a user expands the section to see more. No word length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
15
15
  description: 'Reduce unused rules from stylesheets and defer CSS not used for ' +
16
16
  'above-the-fold content to decrease bytes consumed by network activity. ' +
17
17
  '[Learn how to reduce unused CSS](https://web.dev/unused-css-rules/).',
@@ -13,7 +13,7 @@ import {getRequestForScript} from '../../lib/script-helpers.js';
13
13
  const UIStrings = {
14
14
  /** Imperative title of a Lighthouse audit that tells the user to reduce JavaScript that is never evaluated during page load. This is displayed in a list of audit titles that Lighthouse generates. */
15
15
  title: 'Reduce unused JavaScript',
16
- /** Description of a Lighthouse audit that tells the user *why* they should reduce JavaScript that is never needed/evaluated by the browser. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
16
+ /** Description of a Lighthouse audit that tells the user *why* they should reduce JavaScript that is never needed/evaluated by the browser. 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. */
17
17
  description: 'Reduce unused JavaScript and defer loading scripts until they are required to ' +
18
18
  'decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://web.dev/unused-javascript/).',
19
19
  };
@@ -18,7 +18,7 @@ const UIStrings = {
18
18
  title: 'Uses efficient cache policy on static assets',
19
19
  /** Title of a diagnostic audit that provides details on the any page resources that could have been served with more efficient cache policies. Cache refers to browser disk cache, which keeps old versions of network resources around for future use. This imperative title is shown to users when there is a significant amount of assets served with poor cache policies. */
20
20
  failureTitle: 'Serve static assets with an efficient cache policy',
21
- /** Description of a Lighthouse audit that tells the user *why* they need to adopt a long cache lifetime policy. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
21
+ /** Description of a Lighthouse audit that tells the user *why* they need to adopt a long cache lifetime policy. 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:
23
23
  'A long cache lifetime can speed up repeat visits to your page. ' +
24
24
  '[Learn more about efficient cache policies](https://web.dev/uses-long-cache-ttl/).',
@@ -16,7 +16,7 @@ import * as i18n from '../../lib/i18n/i18n.js';
16
16
  const UIStrings = {
17
17
  /** Imperative title of a Lighthouse audit that tells the user to encode images with optimization (better compression). This is displayed in a list of audit titles that Lighthouse generates. */
18
18
  title: 'Efficiently encode images',
19
- /** Description of a Lighthouse audit that tells the user *why* they need to efficiently encode images. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
19
+ /** Description of a Lighthouse audit that tells the user *why* they need to efficiently encode images. 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. */
20
20
  description: 'Optimized images load faster and consume less cellular data. ' +
21
21
  '[Learn how to efficiently encode images](https://web.dev/uses-optimized-images/).',
22
22
  };
@@ -22,7 +22,7 @@ import * as i18n from '../../lib/i18n/i18n.js';
22
22
  const UIStrings = {
23
23
  /** Imperative title of a Lighthouse audit that tells the user to resize images to match the display dimensions. This is displayed in a list of audit titles that Lighthouse generates. */
24
24
  title: 'Properly size images',
25
- /** Description of a Lighthouse audit that tells the user *why* they need to serve appropriately sized images. 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
+ /** Description of a Lighthouse audit that tells the user *why* they need to serve appropriately sized images. 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. */
26
26
  description:
27
27
  'Serve images that are appropriately-sized to save cellular data ' +
28
28
  'and improve load time. ' +
@@ -16,7 +16,7 @@ import * as i18n from '../../lib/i18n/i18n.js';
16
16
  const UIStrings = {
17
17
  /** Imperative title of a Lighthouse audit that tells the user to enable text compression (like gzip) in order to enhance the performance of a page. This is displayed in a list of audit titles that Lighthouse generates. */
18
18
  title: 'Enable text compression',
19
- /** Description of a Lighthouse audit that tells the user *why* their text-based resources should be served with compression (like gzip). This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
19
+ /** Description of a Lighthouse audit that tells the user *why* their text-based resources should be served with compression (like gzip). 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. */
20
20
  description: 'Text-based resources should be served with compression (gzip, deflate or' +
21
21
  ' brotli) to minimize total network bytes.' +
22
22
  ' [Learn more about text compression](https://web.dev/uses-text-compression/).',
@@ -12,7 +12,7 @@ const UIStrings = {
12
12
  title: 'Content is sized correctly for the viewport',
13
13
  /** Title of a Lighthouse audit that provides detail on the content size of a web site compared to the viewport, which is the size of the screen the site is displayed on. This descriptive title is shown to users when the site's content is not sized appropriately. */
14
14
  failureTitle: 'Content is not sized correctly for the viewport',
15
- /** Description of a Lighthouse audit that tells the user why they should care that a site's content size should match its viewport size, which is the size of the screen the site is displayed on. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
15
+ /** Description of a Lighthouse audit that tells the user why they should care that a site's content size should match its viewport size, which is the size of the screen the site is displayed on. 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. */
16
16
  description: 'If the width of your app\'s content doesn\'t match the width ' +
17
17
  'of the viewport, your app might not be optimized for mobile screens. ' +
18
18
  '[Learn how to size content for the viewport](https://web.dev/content-width/).',
@@ -11,7 +11,7 @@ import {CriticalRequestChains as ComputedChains} from '../computed/critical-requ
11
11
  const UIStrings = {
12
12
  /** Imperative title of a Lighthouse audit that tells the user to reduce the depth of critical network requests to enhance initial load of a page. Critical request chains are series of dependent network requests that are important for page rendering. For example, here's a 4-request-deep chain: The biglogo.jpg image is required, but is requested via the styles.css style code, which is requested by the initialize.js javascript, which is requested by the page's HTML. This is displayed in a list of audit titles that Lighthouse generates. */
13
13
  title: 'Avoid chaining critical requests',
14
- /** Description of a Lighthouse audit that tells the user *why* they should reduce the depth of critical network requests to enhance initial load of a page . This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
14
+ /** Description of a Lighthouse audit that tells the user *why* they should reduce the depth of critical network requests to enhance initial load of a 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. */
15
15
  description: 'The Critical Request Chains below show you what resources are ' +
16
16
  'loaded with a high priority. Consider reducing ' +
17
17
  'the length of chains, reducing the download size of resources, or ' +
@@ -14,7 +14,7 @@ import {evaluateRawCspsForXss, getTranslatedDescription} from '../lib/csp-evalua
14
14
  const UIStrings = {
15
15
  /** Title of a Lighthouse audit that evaluates the security of a page's CSP. "CSP" stands for "Content Security Policy". "XSS" stands for "Cross Site Scripting". "CSP" and "XSS" do not need to be translated. */
16
16
  title: 'Ensure CSP is effective against XSS attacks',
17
- /** Description of a Lighthouse audit that evaluates the security of a page's CSP. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. "CSP" stands for "Content Security Policy". "XSS" stands for "Cross Site Scripting". "CSP" and "XSS" do not need to be translated. */
17
+ /** Description of a Lighthouse audit that evaluates the security of a page's CSP. 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. "CSP" stands for "Content Security Policy". "XSS" stands for "Cross Site Scripting". "CSP" and "XSS" do not need to be translated. */
18
18
  description: 'A strong Content Security Policy (CSP) significantly ' +
19
19
  'reduces the risk of cross-site scripting (XSS) attacks. ' +
20
20
  '[Learn how to use a CSP to prevent XSS](https://web.dev/csp-xss/)',
@@ -19,7 +19,7 @@ const UIStrings = {
19
19
  title: 'Avoids deprecated APIs',
20
20
  /** Title of a Lighthouse audit that provides detail on the use of deprecated APIs. This descriptive title is shown to users when the page uses deprecated APIs. */
21
21
  failureTitle: 'Uses deprecated APIs',
22
- /** Description of a Lighthouse audit that tells the user why they should not use deprecated APIs on their page. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
22
+ /** Description of a Lighthouse audit that tells the user why they should not use deprecated APIs 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. */
23
23
  description: 'Deprecated APIs will eventually be removed from the browser. ' +
24
24
  '[Learn more about deprecated APIs](https://web.dev/deprecations/).',
25
25
  /** [ICU Syntax] Label for the audit identifying the number of warnings generated by using deprecated APIs. */
@@ -12,7 +12,7 @@ const UIStrings = {
12
12
  title: 'Page has the HTML doctype',
13
13
  /** Title of a Lighthouse audit that provides detail on the doctype of a page. This descriptive title is shown to users when the page's doctype is not set to HTML. */
14
14
  failureTitle: 'Page lacks the HTML doctype, thus triggering quirks-mode',
15
- /** Description of a Lighthouse audit that tells the user why they should define an HTML doctype. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
15
+ /** Description of a Lighthouse audit that tells the user why they should define an HTML doctype. 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. */
16
16
  description: 'Specifying a doctype prevents the browser ' +
17
17
  'from switching to quirks-mode. ' +
18
18
  '[Learn more about the doctype declaration](https://web.dev/doctype/).',
@@ -19,7 +19,7 @@ const UIStrings = {
19
19
  title: 'Avoids an excessive DOM size',
20
20
  /** Title of a diagnostic audit that provides detail on the size of the web page's DOM. The size of a DOM is characterized by the total number of DOM elements and greatest DOM depth. This imperative title is shown to users when there is a significant amount of execution time that could be reduced. */
21
21
  failureTitle: 'Avoid an excessive DOM size',
22
- /** Description of a Lighthouse audit that tells the user *why* they should reduce the size of the web page's DOM. The size of a DOM is characterized by the total number of DOM elements and greatest DOM depth. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
22
+ /** Description of a Lighthouse audit that tells the user *why* they should reduce the size of the web page's DOM. The size of a DOM is characterized by the total number of DOM elements and greatest DOM depth. 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: 'A large DOM will increase memory usage, cause longer ' +
24
24
  '[style calculations](https://developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations), ' +
25
25
  'and produce costly [layout reflows](https://developers.google.com/speed/articles/reflow). [Learn how to avoid an excessive DOM size](https://web.dev/dom-size/).',
@@ -18,7 +18,7 @@ const UIStrings = {
18
18
  title: 'Avoids requesting the geolocation permission on page load',
19
19
  /** Title of a Lighthouse audit that provides detail on geolocation permissions requests. This descriptive title is shown to users when the page does ask for geolocation permissions on load. */
20
20
  failureTitle: 'Requests the geolocation permission on page load',
21
- /** Description of a Lighthouse audit that tells the user why they should not ask for geolocation permissions on load. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
21
+ /** Description of a Lighthouse audit that tells the user why they should not ask for geolocation permissions on load. 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: 'Users are mistrustful of or confused by sites that request their ' +
23
23
  'location without context. Consider tying the request to a user action instead. ' +
24
24
  '[Learn more about the geolocation permission](https://web.dev/geolocation-on-start/).',
@@ -35,7 +35,7 @@ const UIStrings = {
35
35
  title: 'Avoids `document.write()`',
36
36
  /** Title of a Lighthouse audit that provides detail on the page's use of the `document.write` API. This imperative title is shown to users when the page does use `document.write`. */
37
37
  failureTitle: 'Avoid `document.write()`',
38
- /** Description of a Lighthouse audit that tells the user why they should avoid `document.write`. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
38
+ /** Description of a Lighthouse audit that tells the user why they should avoid `document.write`. 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. */
39
39
  description: 'For users on slow connections, external scripts dynamically injected via ' +
40
40
  '`document.write()` can delay page load by tens of seconds. ' +
41
41
  '[Learn how to avoid document.write()](https://web.dev/no-document-write/).',
@@ -18,7 +18,7 @@ const UIStrings = {
18
18
  title: 'Avoids requesting the notification permission on page load',
19
19
  /** Title of a Lighthouse audit that provides detail on the page's notification permission requests. This descriptive title is shown to users when the page does ask for notification permission on load. */
20
20
  failureTitle: 'Requests the notification permission on page load',
21
- /** Description of a Lighthouse audit that tells the user why they should not ask for notification permission on load. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
21
+ /** Description of a Lighthouse audit that tells the user why they should not ask for notification permission on load. 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: 'Users are mistrustful of or confused by sites that request to send ' +
23
23
  'notifications without context. Consider tying the request to user gestures ' +
24
24
  'instead. [Learn more about responsibly getting permission for notifications](https://web.dev/notification-on-start/).',
@@ -12,7 +12,7 @@ const UIStrings = {
12
12
  title: 'Allows users to paste into password fields',
13
13
  /** Title of a Lighthouse audit that provides detail on the ability to paste into password fields. This descriptive title is shown to users when the page does not allow pasting of content into password fields. */
14
14
  failureTitle: 'Prevents users to paste into password fields',
15
- /** Description of a Lighthouse audit that tells the user why they should allow pasting of content into password fields. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
15
+ /** Description of a Lighthouse audit that tells the user why they should allow pasting of content into password fields. 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. */
16
16
  description: 'Preventing password pasting undermines good security policy. ' +
17
17
  '[Learn more about user-friendly password fields](https://web.dev/password-inputs-can-be-pasted-into/).',
18
18
  };
@@ -26,7 +26,7 @@ import * as i18n from '../../lib/i18n/i18n.js';
26
26
  const UIStrings = {
27
27
  /** Imperative title of a Lighthouse audit that tells the user to enable HTTP/2. This is displayed in a list of audit titles that Lighthouse generates. */
28
28
  title: 'Use HTTP/2',
29
- /** Description of a Lighthouse audit that tells the user why they should use HTTP/2. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
29
+ /** Description of a Lighthouse audit that tells the user why they should use HTTP/2. 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. */
30
30
  description: 'HTTP/2 offers many benefits over HTTP/1.1, including binary headers and ' +
31
31
  'multiplexing. [Learn more about HTTP/2](https://web.dev/uses-http2/).',
32
32
  /** [ICU Syntax] Label identifying the number of network requests that were not served with HTTP/2. */
@@ -18,7 +18,7 @@ const UIStrings = {
18
18
  title: 'Uses passive listeners to improve scrolling performance',
19
19
  /** Title of a Lighthouse audit that provides detail on the page's use of passive event listeners used to improve the scrolling performance of the page. This descriptive title is shown to users when the page does not use passive listeners. */
20
20
  failureTitle: 'Does not use passive listeners to improve scrolling performance',
21
- /** Description of a Lighthouse audit that tells the user why they should use passive event listeners on the page. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
21
+ /** Description of a Lighthouse audit that tells the user why they should use passive event listeners on the 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. */
22
22
  description: 'Consider marking your touch and wheel event listeners as `passive` ' +
23
23
  'to improve your page\'s scroll performance. ' +
24
24
  '[Learn more about adopting passive event listeners](https://web.dev/uses-passive-event-listeners/).',
@@ -19,7 +19,7 @@ const UIStrings = {
19
19
  title: 'All text remains visible during webfont loads',
20
20
  /** Title of a diagnostic audit that provides detail on the load of the page's webfonts. Often the text is invisible for seconds before the webfont resource is loaded. This imperative title is shown to users when there is a significant amount of execution time that could be reduced. */
21
21
  failureTitle: 'Ensure text remains visible during webfont load',
22
- /** Description of a Lighthouse audit that tells the user *why* they should use the font-display CSS feature. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
22
+ /** Description of a Lighthouse audit that tells the user *why* they should use the font-display CSS feature. 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:
24
24
  'Leverage the `font-display` CSS feature to ensure text is user-visible while ' +
25
25
  'webfonts are loading. ' +
@@ -20,7 +20,7 @@ const UIStrings = {
20
20
  title: 'Displays images with correct aspect ratio',
21
21
  /** Title of a Lighthouse audit that provides detail on the aspect ratios of all images on the page. This descriptive title is shown to users when not all images use correct aspect ratios. */
22
22
  failureTitle: 'Displays images with incorrect aspect ratio',
23
- /** Description of a Lighthouse audit that tells the user why they should maintain the correct aspect ratios for all images. 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 of a Lighthouse audit that tells the user why they should maintain the correct aspect ratios for all images. 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: 'Image display dimensions should match natural aspect ratio. ' +
25
25
  '[Learn more about image aspect ratio](https://web.dev/image-aspect-ratio/).',
26
26
  /** Label for a column in a data table; entries in the column will be the numeric aspect ratio of an image as displayed in a web page. */
@@ -21,7 +21,7 @@ const UIStrings = {
21
21
  title: 'Serves images with appropriate resolution',
22
22
  /** Title of a Lighthouse audit that provides detail on the size of visible images on the page. This descriptive title is shown to users when not all images have correct sizes. */
23
23
  failureTitle: 'Serves images with low resolution',
24
- /** Description of a Lighthouse audit that tells the user why they should maintain an appropriate size for all images. 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
+ /** Description of a Lighthouse audit that tells the user why they should maintain an appropriate size for all images. 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. */
25
25
  description: 'Image natural dimensions should be proportional to the display size and the ' +
26
26
  'pixel ratio to maximize image clarity. ' +
27
27
  '[Learn how to provide responsive images](https://web.dev/serve-responsive-images/).',
@@ -14,9 +14,8 @@ const UIStrings = {
14
14
  'title': 'Web app manifest and service worker meet the installability requirements',
15
15
  /** Title of a Lighthouse audit that provides detail on if a website is installable as an application. This descriptive title is shown to users when a webapp is not installable. */
16
16
  'failureTitle': 'Web app manifest or service worker do not meet the installability requirements',
17
- /** Description of a Lighthouse audit that tells the user why installability is important for webapps. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
18
- 'description': `Service worker is the technology that enables your app to use many Progressive Web App features, such as offline, add to homescreen, and push notifications. With proper service worker and manifest implementations, browsers can proactively prompt users to add your app to their homescreen, which can lead to higher engagement. ' +
19
- '[Learn more about manifest installability requirements](https://web.dev/installable-manifest/).`,
17
+ /** Description of a Lighthouse audit that tells the user why installability is important for webapps. 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. */
18
+ 'description': `Service worker is the technology that enables your app to use many Progressive Web App features, such as offline, add to homescreen, and push notifications. With proper service worker and manifest implementations, browsers can proactively prompt users to add your app to their homescreen, which can lead to higher engagement. [Learn more about manifest installability requirements](https://web.dev/installable-manifest/).`,
20
19
  /** Description Table column header for the observed value of the Installability failure reason statistic. */
21
20
  'columnValue': 'Failure reason',
22
21
  /**
@@ -15,7 +15,7 @@ const UIStrings = {
15
15
  title: 'Uses HTTPS',
16
16
  /** Title of a Lighthouse audit that provides detail on the useage of HTTPS on a page. This descriptive title is shown to users when some, or all, requests on the page use HTTP instead of HTTPS. */
17
17
  failureTitle: 'Does not use HTTPS',
18
- /** Description of a Lighthouse audit that tells the user *why* HTTPS use *for all resources* is important. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
18
+ /** Description of a Lighthouse audit that tells the user *why* HTTPS use *for all resources* is important. 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. */
19
19
  description: 'All sites should be protected with HTTPS, even ones that don\'t handle ' +
20
20
  'sensitive data. This includes avoiding [mixed content](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), ' +
21
21
  'where some resources are loaded over HTTP despite the initial request being served ' +
@@ -19,7 +19,7 @@ const UIStrings = {
19
19
  title: 'Minimizes main-thread work',
20
20
  /** Title of a diagnostic audit that provides detail on the main thread work the browser did to load the page. This imperative title is shown to users when there is a significant amount of execution time that could be reduced. */
21
21
  failureTitle: 'Minimize main-thread work',
22
- /** Description of a Lighthouse audit that tells the user *why* they should reduce JS execution times. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
22
+ /** Description of a Lighthouse audit that tells the user *why* they should reduce JS execution times. 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: 'Consider reducing the time spent parsing, compiling and executing JS. ' +
24
24
  'You may find delivering smaller JS payloads helps with this. ' +
25
25
  '[Learn how to minimize main-thread work](https://web.dev/mainthread-work-breakdown/)',
@@ -11,7 +11,7 @@ import * as i18n from '../../lib/i18n/i18n.js';
11
11
  const UIStrings = {
12
12
  /** Title of a Lighthouse audit that prompts the user to manually check that their site works across different web browsers. */
13
13
  title: 'Site works cross-browser',
14
- /** Description of a Lighthouse audit that tells the user why they should make sites work across different browsers. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
14
+ /** Description of a Lighthouse audit that tells the user why they should make sites work across different browsers. 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. */
15
15
  description: 'To reach the most number of users, sites should work across ' +
16
16
  'every major browser. [Learn about cross-browser compatibility](https://web.dev/pwa-cross-browser/).',
17
17
  };
@@ -10,7 +10,7 @@ import * as i18n from '../../lib/i18n/i18n.js';
10
10
  const UIStrings = {
11
11
  /** Title of a Lighthouse audit that prompts the user to manually check that each page on their website uses a unique URL. */
12
12
  title: 'Each page has a URL',
13
- /** Description of a Lighthouse audit that tells the user why they should use unique URLs for each web page. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
13
+ /** Description of a Lighthouse audit that tells the user why they should use unique URLs for each web 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. */
14
14
  description: 'Ensure individual pages are deep linkable via URL and that URLs are ' +
15
15
  'unique for the purpose of shareability on social media. [Learn more about providing deep links](https://web.dev/pwa-each-page-has-url/).',
16
16
  };
@@ -10,7 +10,7 @@ import * as i18n from '../../lib/i18n/i18n.js';
10
10
  const UIStrings = {
11
11
  /** Title of a Lighthouse audit that prompts the user to manually check that page transitions (navigating to other pages on a website) shouldn't feel like they are waiting for the network to load. */
12
12
  title: 'Page transitions don\'t feel like they block on the network',
13
- /** Description of a Lighthouse audit that tells the user why they should make transitions in their web app feel fast. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
13
+ /** Description of a Lighthouse audit that tells the user why they should make transitions in their web app feel fast. 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. */
14
14
  description: 'Transitions should feel snappy as you tap around, even on a slow network. ' +
15
15
  'This experience is key to a user\'s perception of performance. [Learn more about page transitions](https://web.dev/pwa-page-transitions/).',
16
16
  };
@@ -13,7 +13,7 @@ const UIStrings = {
13
13
  title: 'Manifest has a maskable icon',
14
14
  /** Title of a Lighthouse audit that provides detial on if the manifest contains a maskable icon. this descriptive title is shown to users when the manifest contains no icons that are maskable. */
15
15
  failureTitle: 'Manifest doesn\'t have a maskable icon',
16
- /** Description of a Lighthouse audit that tells the user why they their manifest should have at least one maskable icon. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
16
+ /** Description of a Lighthouse audit that tells the user why they their manifest should have at least one maskable icon. 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. */
17
17
  description: 'A maskable icon ensures that the image fills the entire ' +
18
18
  'shape without being letterboxed when installing ' +
19
19
  'the app on a device. [Learn about maskable manifest icons](https://web.dev/maskable-icon-audit/).',
@@ -9,7 +9,7 @@ import {CumulativeLayoutShift as ComputedCLS} from '../../computed/metrics/cumul
9
9
  import * as i18n from '../../lib/i18n/i18n.js';
10
10
 
11
11
  const UIStrings = {
12
- /** Description of the Cumulative Layout Shift metric that indicates how much the page changes its layout while it loads. If big segments of the page shift their location during load, the Cumulative Layout Shift will be higher. This description is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
12
+ /** Description of the Cumulative Layout Shift metric that indicates how much the page changes its layout while it loads. If big segments of the page shift their location during load, the Cumulative Layout Shift will be higher. This description is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
13
13
  description: 'Cumulative Layout Shift measures the movement of visible ' +
14
14
  'elements within the viewport. ' +
15
15
  '[Learn more about the Cumulative Layout Shift metric](https://web.dev/cls/).',
@@ -9,7 +9,7 @@ import {Responsiveness as ComputedResponsivenes} from '../../computed/metrics/re
9
9
  import * as i18n from '../../lib/i18n/i18n.js';
10
10
 
11
11
  const UIStrings = {
12
- /** Description of the Interaction to Next Paint metric. This description is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
12
+ /** Description of the Interaction to Next Paint metric. This description is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
13
13
  description: 'Interaction to Next Paint measures page responsiveness, how long it ' +
14
14
  'takes the page to visibly respond to user input. ' +
15
15
  '[Learn more about the Interaction to Next Paint metric](https://web.dev/inp/).',
@@ -9,7 +9,7 @@ import * as i18n from '../../lib/i18n/i18n.js';
9
9
  import {FirstContentfulPaint as ComputedFcp} from '../../computed/metrics/first-contentful-paint.js';
10
10
 
11
11
  const UIStrings = {
12
- /** Description of the First Contentful Paint (FCP) metric, which marks the time at which the first text or image is painted by the browser. This is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
12
+ /** Description of the First Contentful Paint (FCP) metric, which marks the time at which the first text or image is painted by the browser. This is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
13
13
  description: 'First Contentful Paint marks the time at which the first text or image is ' +
14
14
  'painted. [Learn more about the First Contentful Paint metric](https://web.dev/first-contentful-paint/).',
15
15
  };
@@ -9,7 +9,7 @@ import * as i18n from '../../lib/i18n/i18n.js';
9
9
  import {FirstMeaningfulPaint as ComputedFmp} from '../../computed/metrics/first-meaningful-paint.js';
10
10
 
11
11
  const UIStrings = {
12
- /** Description of the First Meaningful Paint (FMP) metric, which marks the time at which a majority of the content has been painted by the browser. This is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
12
+ /** Description of the First Meaningful Paint (FMP) metric, which marks the time at which a majority of the content has been painted by the browser. This is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
13
13
  description: 'First Meaningful Paint measures when the primary content of a page is ' +
14
14
  'visible. [Learn more about the First Meaningful Paint metric](https://web.dev/first-meaningful-paint/).',
15
15
  };
@@ -9,7 +9,7 @@ import * as i18n from '../../lib/i18n/i18n.js';
9
9
  import {Interactive} from '../../computed/metrics/interactive.js';
10
10
 
11
11
  const UIStrings = {
12
- /** Description of the Time to Interactive (TTI) metric, which evaluates when a page has completed its primary network activity and main thread work. This is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
12
+ /** Description of the Time to Interactive (TTI) metric, which evaluates when a page has completed its primary network activity and main thread work. This is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
13
13
  description: 'Time to Interactive is the amount of time it takes for the page to become fully ' +
14
14
  'interactive. [Learn more about the Time to Interactive metric](https://web.dev/interactive/).',
15
15
  };
@@ -9,7 +9,7 @@ import * as i18n from '../../lib/i18n/i18n.js';
9
9
  import {LargestContentfulPaint as ComputedLcp} from '../../computed/metrics/largest-contentful-paint.js';
10
10
 
11
11
  const UIStrings = {
12
- /** Description of the Largest Contentful Paint (LCP) metric, which marks the time at which the largest text or image is painted by the browser. This is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
12
+ /** Description of the Largest Contentful Paint (LCP) metric, which marks the time at which the largest text or image is painted by the browser. This is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
13
13
  description: 'Largest Contentful Paint marks the time at which the largest text or image is ' +
14
14
  `painted. [Learn more about the Largest Contentful Paint metric](https://web.dev/lighthouse-largest-contentful-paint/)`,
15
15
  };
@@ -9,7 +9,7 @@ import {MaxPotentialFID as ComputedFid} from '../../computed/metrics/max-potenti
9
9
  import * as i18n from '../../lib/i18n/i18n.js';
10
10
 
11
11
  const UIStrings = {
12
- /** Description of the Maximum Potential First Input Delay metric that marks the maximum estimated time between the page receiving input (a user clicking, tapping, or typing) and the page responding. This description is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
12
+ /** Description of the Maximum Potential First Input Delay metric that marks the maximum estimated time between the page receiving input (a user clicking, tapping, or typing) and the page responding. This description is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
13
13
  description: 'The maximum potential First Input Delay that your users could experience is the ' +
14
14
  'duration of the longest task. ' +
15
15
  '[Learn more about the Maximum Potential First Input Delay metric](https://web.dev/lighthouse-max-potential-fid/).',
@@ -9,7 +9,7 @@ import * as i18n from '../../lib/i18n/i18n.js';
9
9
  import {SpeedIndex as ComputedSi} from '../../computed/metrics/speed-index.js';
10
10
 
11
11
  const UIStrings = {
12
- /** Description of the Speed Index metric, which summarizes how quickly the page looked visually complete. This is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
12
+ /** Description of the Speed Index metric, which summarizes how quickly the page looked visually complete. This is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
13
13
  description: 'Speed Index shows how quickly the contents of a page are visibly populated. ' +
14
14
  '[Learn more about the Speed Index metric](https://web.dev/speed-index/).',
15
15
  };
@@ -12,7 +12,7 @@ import {NetworkAnalysis} from '../computed/network-analysis.js';
12
12
  const UIStrings = {
13
13
  /** Descriptive title of a Lighthouse audit that tells the user the round trip times to each origin the page connected to. This is displayed in a list of audit titles that Lighthouse generates. */
14
14
  title: 'Network Round Trip Times',
15
- /** Description of a Lighthouse audit that tells the user that a high network round trip time (RTT) can effect their website's performance because the server is physically far away from them thus making the RTT high. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
15
+ /** Description of a Lighthouse audit that tells the user that a high network round trip time (RTT) can effect their website's performance because the server is physically far away from them thus making the RTT high. 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. */
16
16
  description: 'Network round trip times (RTT) have a large impact on performance. ' +
17
17
  'If the RTT to an origin is high, it\'s an indication that servers closer to the user could ' +
18
18
  'improve performance. [Learn more about the Round Trip Time](https://hpbn.co/primer-on-latency-and-bandwidth/).',
@@ -12,7 +12,7 @@ import {NetworkAnalysis} from '../computed/network-analysis.js';
12
12
  const UIStrings = {
13
13
  /** Descriptive title of a Lighthouse audit that tells the user the server latencies observed from each origin the page connected to. This is displayed in a list of audit titles that Lighthouse generates. */
14
14
  title: 'Server Backend Latencies',
15
- /** Description of a Lighthouse audit that tells the user that server latency can effect their website's performance negatively. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
15
+ /** Description of a Lighthouse audit that tells the user that server latency can effect their website's performance negatively. 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. */
16
16
  description: 'Server latencies can impact web performance. ' +
17
17
  'If the server latency of an origin is high, it\'s an indication the server is overloaded ' +
18
18
  'or has poor backend performance. [Learn more about server response time](https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall).',
@@ -13,7 +13,7 @@ const UIStrings = {
13
13
  title: 'Avoids `unload` event listeners',
14
14
  /** Descriptive title of a Lighthouse audit that checks if a web page has 'unload' event listeners and finds that it is using them. */
15
15
  failureTitle: 'Registers an `unload` listener',
16
- /** Description of a Lighthouse audit that tells the user why pages should not use the 'unload' event. This is displayed after a user expands the section to see more. 'Learn More' becomes link text to additional documentation. */
16
+ /** Description of a Lighthouse audit that tells the user why pages should not use the 'unload' event. This is displayed after a user expands the section to see more. The last sentence starting with 'Learn' becomes link text to additional documentation. */
17
17
  description: 'The `unload` event does not fire reliably and listening for it can prevent browser optimizations like the Back-Forward Cache. Use `pagehide` or `visibilitychange` events instead. [Learn more about unload event listeners](https://web.dev/bfcache/#never-use-the-unload-event)',
18
18
  };
19
19
 
@@ -13,7 +13,7 @@ import * as i18n from '../lib/i18n/i18n.js';
13
13
  const UIStrings = {
14
14
  /** Title of a Lighthouse audit that compares the size and quantity of page resources against targets set by the user. These targets are thought of as "performance budgets" because these metrics impact page performance (i.e. how quickly a page loads). */
15
15
  title: 'Performance budget',
16
- /** Description of a Lighthouse audit where a user sets budgets for the quantity and size of page resources. No character length limits. 'Learn More' becomes link text to additional documentation. */
16
+ /** Description of a Lighthouse audit where a user sets budgets for the quantity and size of page resources. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
17
17
  description: 'Keep the quantity and size of network requests under the targets ' +
18
18
  'set by the provided performance budget. ' +
19
19
  '[Learn more about performance budgets](https://developers.google.com/web/tools/lighthouse/audits/budgets).',
@@ -20,7 +20,7 @@ const UIStrings = {
20
20
  title: 'Fonts with `font-display: optional` are preloaded',
21
21
  /** Title of a Lighthouse audit that provides detail on whether fonts that used `font-display: optional` were preloaded. This descriptive title is shown to users when one or more fonts used `font-display: optional` and were not preloaded. */
22
22
  failureTitle: 'Fonts with `font-display: optional` are not preloaded',
23
- /** Description of a Lighthouse audit that tells the user why they should preload fonts if they are using `font-display: optional`. 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 of a Lighthouse audit that tells the user why they should preload fonts if they are using `font-display: optional`. 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: 'Preload `optional` fonts so first-time visitors may use them. [Learn more about preloading fonts](https://web.dev/preload-optional-fonts/)',
25
25
  };
26
26
 
@@ -15,7 +15,7 @@ import {LanternInteractive} from '../computed/metrics/lantern-interactive.js';
15
15
  const UIStrings = {
16
16
  /** Imperative title of a Lighthouse audit that tells the user to eliminate the redirects taken through multiple URLs to load the page. This is shown in a list of audits that Lighthouse generates. */
17
17
  title: 'Avoid multiple page redirects',
18
- /** Description of a Lighthouse audit that tells users why they should reduce the number of server-side redirects on their page. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
18
+ /** Description of a Lighthouse audit that tells users why they should reduce the number of server-side redirects 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. */
19
19
  description: 'Redirects introduce additional delays before the page can be loaded. [Learn how to avoid page redirects](https://web.dev/redirects/).',
20
20
  };
21
21
 
@@ -11,7 +11,7 @@ import * as i18n from '../lib/i18n/i18n.js';
11
11
  const UIStrings = {
12
12
  /** Imperative title of a Lighthouse audit that tells the user to minimize the size and quantity of resources used to load the page. */
13
13
  title: 'Keep request counts low and transfer sizes small',
14
- /** Description of a Lighthouse audit that tells the user that they can setup a budgets for the quantity and size of page resources. No character length limits. 'Learn More' becomes link text to additional documentation. */
14
+ /** Description of a Lighthouse audit that tells the user that they can setup a budgets for the quantity and size of page resources. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
15
15
  description: 'To set budgets for the quantity and size of page resources,' +
16
16
  ' add a budget.json file. ' +
17
17
  '[Learn more about performance budgets](https://web.dev/use-lighthouse-for-performance-budgets/).',
@@ -14,7 +14,7 @@ const UIStrings = {
14
14
  title: 'Document has a valid `rel=canonical`',
15
15
  /** Title of a Lighthouse audit that provides detail on a page's rel=canonical link. This descriptive title is shown to users when the rel=canonical link is invalid and should be fixed. "rel=canonical" is an HTML attribute and value and so should not be translated. */
16
16
  failureTitle: 'Document does not have a valid `rel=canonical`',
17
- /** Description of a Lighthouse audit that tells the user *why* they need to have a valid rel=canonical link. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
17
+ /** Description of a Lighthouse audit that tells the user *why* they need to have a valid rel=canonical link. 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. */
18
18
  description: 'Canonical links suggest which URL to show in search results. ' +
19
19
  '[Learn more about canonical links](https://web.dev/canonical/).',
20
20
  /**
@@ -12,7 +12,7 @@ const UIStrings = {
12
12
  title: 'Links are crawlable',
13
13
  /** Descriptive title of a Lighthouse audit that provides detail on whether links have potentially-crawlable href attributes. This descriptive title is shown when there are href attributes which are not crawlable by search engines. */
14
14
  failureTitle: 'Links are not crawlable',
15
- /** Description of a Lighthouse audit that tells the user why href attributes on links should be crawlable. This is displayed after a user expands the section to see more. 'Learn More' becomes link text to additional documentation. */
15
+ /** Description of a Lighthouse audit that tells the user why href attributes on links should be crawlable. This is displayed after a user expands the section to see more. The last sentence starting with 'Learn' becomes link text to additional documentation. */
16
16
  description: 'Search engines may use `href` attributes on links to crawl websites. Ensure that the `href` attribute of anchor elements links to an appropriate destination, so more pages of the site can be discovered. [Learn how to make links crawlable](https://support.google.com/webmasters/answer/9112205)',
17
17
  /** Label for a column in a data table; entries will be the HTML anchor elements that failed the audit. Anchors are DOM elements that are links. */
18
18
  columnFailingLink: 'Uncrawlable Link',
@@ -17,7 +17,7 @@ const UIStrings = {
17
17
  title: 'Document uses legible font sizes',
18
18
  /** Title of a Lighthouse audit that provides detail on the font sizes used on the page. This descriptive title is shown to users when there is a font that may be too small to be read by users. */
19
19
  failureTitle: 'Document doesn\'t use legible font sizes',
20
- /** Description of a Lighthouse audit that tells the user *why* they need to use a larger font size. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
20
+ /** Description of a Lighthouse audit that tells the user *why* they need to use a larger font size. 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: 'Font sizes less than 12px are too small to be legible and require mobile visitors to “pinch to zoom” in order to read. Strive to have >60% of page text ≥12px. [Learn more about legible font sizes](https://web.dev/font-size/).',
22
22
  /** Label for the audit identifying font sizes that are too small. */
23
23
  displayValue: '{decimalProportion, number, extendedPercent} legible text',