lighthouse 9.5.0-dev.20220718 → 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.
Files changed (151) hide show
  1. package/lighthouse-cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +2 -2
  2. package/lighthouse-core/audits/accessibility/accesskeys.js +1 -1
  3. package/lighthouse-core/audits/accessibility/aria-allowed-attr.js +1 -1
  4. package/lighthouse-core/audits/accessibility/aria-command-name.js +1 -1
  5. package/lighthouse-core/audits/accessibility/aria-hidden-body.js +1 -1
  6. package/lighthouse-core/audits/accessibility/aria-hidden-focus.js +1 -1
  7. package/lighthouse-core/audits/accessibility/aria-input-field-name.js +1 -1
  8. package/lighthouse-core/audits/accessibility/aria-meter-name.js +1 -1
  9. package/lighthouse-core/audits/accessibility/aria-progressbar-name.js +1 -1
  10. package/lighthouse-core/audits/accessibility/aria-required-attr.js +1 -1
  11. package/lighthouse-core/audits/accessibility/aria-required-children.js +1 -1
  12. package/lighthouse-core/audits/accessibility/aria-required-parent.js +1 -1
  13. package/lighthouse-core/audits/accessibility/aria-roles.js +1 -1
  14. package/lighthouse-core/audits/accessibility/aria-toggle-field-name.js +1 -1
  15. package/lighthouse-core/audits/accessibility/aria-tooltip-name.js +1 -1
  16. package/lighthouse-core/audits/accessibility/aria-treeitem-name.js +1 -1
  17. package/lighthouse-core/audits/accessibility/aria-valid-attr-value.js +1 -1
  18. package/lighthouse-core/audits/accessibility/aria-valid-attr.js +1 -1
  19. package/lighthouse-core/audits/accessibility/button-name.js +1 -1
  20. package/lighthouse-core/audits/accessibility/bypass.js +1 -1
  21. package/lighthouse-core/audits/accessibility/color-contrast.js +1 -1
  22. package/lighthouse-core/audits/accessibility/definition-list.js +1 -1
  23. package/lighthouse-core/audits/accessibility/dlitem.js +1 -1
  24. package/lighthouse-core/audits/accessibility/document-title.js +1 -1
  25. package/lighthouse-core/audits/accessibility/duplicate-id-active.js +1 -1
  26. package/lighthouse-core/audits/accessibility/duplicate-id-aria.js +1 -1
  27. package/lighthouse-core/audits/accessibility/form-field-multiple-labels.js +1 -1
  28. package/lighthouse-core/audits/accessibility/frame-title.js +1 -1
  29. package/lighthouse-core/audits/accessibility/heading-order.js +1 -1
  30. package/lighthouse-core/audits/accessibility/html-has-lang.js +2 -2
  31. package/lighthouse-core/audits/accessibility/html-lang-valid.js +1 -1
  32. package/lighthouse-core/audits/accessibility/image-alt.js +1 -1
  33. package/lighthouse-core/audits/accessibility/input-image-alt.js +1 -1
  34. package/lighthouse-core/audits/accessibility/label.js +1 -1
  35. package/lighthouse-core/audits/accessibility/link-name.js +1 -1
  36. package/lighthouse-core/audits/accessibility/list.js +1 -1
  37. package/lighthouse-core/audits/accessibility/listitem.js +1 -1
  38. package/lighthouse-core/audits/accessibility/manual/custom-controls-labels.js +1 -1
  39. package/lighthouse-core/audits/accessibility/manual/custom-controls-roles.js +1 -1
  40. package/lighthouse-core/audits/accessibility/manual/focus-traps.js +1 -1
  41. package/lighthouse-core/audits/accessibility/manual/focusable-controls.js +1 -1
  42. package/lighthouse-core/audits/accessibility/manual/interactive-element-affordance.js +1 -1
  43. package/lighthouse-core/audits/accessibility/manual/logical-tab-order.js +1 -1
  44. package/lighthouse-core/audits/accessibility/manual/managed-focus.js +1 -1
  45. package/lighthouse-core/audits/accessibility/manual/offscreen-content-hidden.js +1 -1
  46. package/lighthouse-core/audits/accessibility/manual/use-landmarks.js +1 -1
  47. package/lighthouse-core/audits/accessibility/manual/visual-order-follows-dom.js +1 -1
  48. package/lighthouse-core/audits/accessibility/meta-refresh.js +1 -1
  49. package/lighthouse-core/audits/accessibility/meta-viewport.js +1 -1
  50. package/lighthouse-core/audits/accessibility/object-alt.js +1 -1
  51. package/lighthouse-core/audits/accessibility/tabindex.js +1 -1
  52. package/lighthouse-core/audits/accessibility/td-headers-attr.js +1 -1
  53. package/lighthouse-core/audits/accessibility/th-has-data-cells.js +1 -1
  54. package/lighthouse-core/audits/accessibility/valid-lang.js +1 -1
  55. package/lighthouse-core/audits/accessibility/video-caption.js +1 -1
  56. package/lighthouse-core/audits/apple-touch-icon.js +1 -1
  57. package/lighthouse-core/audits/autocomplete.js +1 -1
  58. package/lighthouse-core/audits/bootup-time.js +2 -2
  59. package/lighthouse-core/audits/byte-efficiency/efficient-animated-content.js +1 -1
  60. package/lighthouse-core/audits/byte-efficiency/legacy-javascript.js +1 -1
  61. package/lighthouse-core/audits/byte-efficiency/modern-image-formats.js +1 -1
  62. package/lighthouse-core/audits/byte-efficiency/offscreen-images.js +1 -1
  63. package/lighthouse-core/audits/byte-efficiency/render-blocking-resources.js +1 -1
  64. package/lighthouse-core/audits/byte-efficiency/total-byte-weight.js +1 -2
  65. package/lighthouse-core/audits/byte-efficiency/unminified-css.js +1 -1
  66. package/lighthouse-core/audits/byte-efficiency/unminified-javascript.js +1 -1
  67. package/lighthouse-core/audits/byte-efficiency/unused-css-rules.js +1 -1
  68. package/lighthouse-core/audits/byte-efficiency/unused-javascript.js +1 -1
  69. package/lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js +1 -1
  70. package/lighthouse-core/audits/byte-efficiency/uses-optimized-images.js +1 -1
  71. package/lighthouse-core/audits/byte-efficiency/uses-responsive-images.js +1 -1
  72. package/lighthouse-core/audits/byte-efficiency/uses-text-compression.js +1 -1
  73. package/lighthouse-core/audits/content-width.js +1 -1
  74. package/lighthouse-core/audits/critical-request-chains.js +1 -1
  75. package/lighthouse-core/audits/csp-xss.js +1 -1
  76. package/lighthouse-core/audits/deprecations.js +27 -6
  77. package/lighthouse-core/audits/dobetterweb/charset.js +1 -1
  78. package/lighthouse-core/audits/dobetterweb/doctype.js +1 -1
  79. package/lighthouse-core/audits/dobetterweb/dom-size.js +1 -1
  80. package/lighthouse-core/audits/dobetterweb/geolocation-on-start.js +1 -1
  81. package/lighthouse-core/audits/dobetterweb/js-libraries.js +1 -1
  82. package/lighthouse-core/audits/dobetterweb/no-document-write.js +1 -1
  83. package/lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js +1 -1
  84. package/lighthouse-core/audits/dobetterweb/notification-on-start.js +1 -1
  85. package/lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js +1 -1
  86. package/lighthouse-core/audits/dobetterweb/uses-http2.js +1 -1
  87. package/lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js +1 -1
  88. package/lighthouse-core/audits/errors-in-console.js +1 -1
  89. package/lighthouse-core/audits/font-display.js +2 -2
  90. package/lighthouse-core/audits/image-aspect-ratio.js +1 -1
  91. package/lighthouse-core/audits/image-size-responsive.js +2 -1
  92. package/lighthouse-core/audits/installable-manifest.js +2 -1
  93. package/lighthouse-core/audits/is-on-https.js +1 -1
  94. package/lighthouse-core/audits/largest-contentful-paint-element.js +1 -1
  95. package/lighthouse-core/audits/lcp-lazy-loaded.js +1 -1
  96. package/lighthouse-core/audits/long-tasks.js +1 -1
  97. package/lighthouse-core/audits/mainthread-work-breakdown.js +1 -1
  98. package/lighthouse-core/audits/manual/pwa-cross-browser.js +1 -1
  99. package/lighthouse-core/audits/manual/pwa-each-page-has-url.js +1 -1
  100. package/lighthouse-core/audits/manual/pwa-page-transitions.js +1 -1
  101. package/lighthouse-core/audits/maskable-icon.js +1 -1
  102. package/lighthouse-core/audits/metrics/cumulative-layout-shift.js +2 -1
  103. package/lighthouse-core/audits/metrics/experimental-interaction-to-next-paint.js +2 -1
  104. package/lighthouse-core/audits/metrics/first-contentful-paint-3g.js +2 -1
  105. package/lighthouse-core/audits/metrics/first-contentful-paint.js +1 -1
  106. package/lighthouse-core/audits/metrics/first-meaningful-paint.js +1 -1
  107. package/lighthouse-core/audits/metrics/interactive.js +2 -2
  108. package/lighthouse-core/audits/metrics/largest-contentful-paint.js +1 -1
  109. package/lighthouse-core/audits/metrics/max-potential-fid.js +2 -1
  110. package/lighthouse-core/audits/metrics/speed-index.js +1 -1
  111. package/lighthouse-core/audits/metrics/total-blocking-time.js +2 -1
  112. package/lighthouse-core/audits/network-rtt.js +1 -1
  113. package/lighthouse-core/audits/network-server-latency.js +1 -1
  114. package/lighthouse-core/audits/no-unload-listeners.js +1 -1
  115. package/lighthouse-core/audits/non-composited-animations.js +1 -1
  116. package/lighthouse-core/audits/performance-budget.js +2 -1
  117. package/lighthouse-core/audits/preload-fonts.js +1 -1
  118. package/lighthouse-core/audits/preload-lcp-image.js +1 -1
  119. package/lighthouse-core/audits/redirects.js +1 -1
  120. package/lighthouse-core/audits/resource-summary.js +2 -1
  121. package/lighthouse-core/audits/seo/canonical.js +1 -1
  122. package/lighthouse-core/audits/seo/crawlable-anchors.js +1 -1
  123. package/lighthouse-core/audits/seo/font-size.js +1 -1
  124. package/lighthouse-core/audits/seo/hreflang.js +1 -1
  125. package/lighthouse-core/audits/seo/http-status-code.js +1 -1
  126. package/lighthouse-core/audits/seo/is-crawlable.js +1 -1
  127. package/lighthouse-core/audits/seo/link-text.js +1 -1
  128. package/lighthouse-core/audits/seo/manual/structured-data.js +1 -1
  129. package/lighthouse-core/audits/seo/meta-description.js +1 -1
  130. package/lighthouse-core/audits/seo/plugins.js +1 -1
  131. package/lighthouse-core/audits/seo/robots-txt.js +2 -1
  132. package/lighthouse-core/audits/seo/tap-targets.js +1 -1
  133. package/lighthouse-core/audits/server-response-time.js +1 -1
  134. package/lighthouse-core/audits/service-worker.js +1 -1
  135. package/lighthouse-core/audits/splash-screen.js +2 -2
  136. package/lighthouse-core/audits/themed-omnibox.js +1 -1
  137. package/lighthouse-core/audits/third-party-facades.js +2 -1
  138. package/lighthouse-core/audits/third-party-summary.js +2 -1
  139. package/lighthouse-core/audits/timing-budget.js +1 -1
  140. package/lighthouse-core/audits/unsized-images.js +1 -1
  141. package/lighthouse-core/audits/user-timings.js +1 -1
  142. package/lighthouse-core/audits/uses-rel-preconnect.js +1 -1
  143. package/lighthouse-core/audits/uses-rel-preload.js +2 -1
  144. package/lighthouse-core/audits/valid-source-maps.js +1 -1
  145. package/lighthouse-core/audits/viewport.js +1 -1
  146. package/lighthouse-core/audits/work-during-interaction.js +1 -1
  147. package/lighthouse-core/lib/deprecations-strings.js +509 -0
  148. package/package.json +4 -4
  149. package/report/test/generator/report-generator-test.js +4 -4
  150. package/shared/localization/locales/en-US.json +266 -134
  151. package/shared/localization/locales/en-XL.json +266 -134
@@ -12,7 +12,8 @@ import * as i18n from '../../lib/i18n/i18n.js';
12
12
  const UIStrings = {
13
13
  /** 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. */
14
14
  description: 'Interaction to Next Paint measures page responsiveness, how long it ' +
15
- 'takes the page to visibly respond to user input. [Learn more](https://web.dev/inp/).',
15
+ 'takes the page to visibly respond to user input. ' +
16
+ '[Learn more about the Interaction to Next Paint metric](https://web.dev/inp/).',
16
17
  };
17
18
 
18
19
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -20,7 +20,8 @@ class FirstContentfulPaint3G extends Audit {
20
20
  id: 'first-contentful-paint-3g',
21
21
  title: 'First Contentful Paint (3G)',
22
22
  description: 'First Contentful Paint 3G marks the time at which the first text or image is ' +
23
- `painted while on a 3G network. [Learn more](https://developers.google.com/web/tools/lighthouse/audits/first-contentful-paint).`,
23
+ 'painted while on a 3G network. ' +
24
+ '[Learn more about the First Contentful Paint (3G) metric](https://developers.google.com/web/tools/lighthouse/audits/first-contentful-paint).',
24
25
  scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
25
26
  supportedModes: ['navigation'],
26
27
  requiredArtifacts: ['traces', 'devtoolsLogs', 'GatherContext', 'URL'],
@@ -12,7 +12,7 @@ import ComputedFcp from '../../computed/metrics/first-contentful-paint.js';
12
12
  const UIStrings = {
13
13
  /** 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. */
14
14
  description: 'First Contentful Paint marks the time at which the first text or image is ' +
15
- `painted. [Learn more](https://web.dev/first-contentful-paint/).`,
15
+ 'painted. [Learn more about the First Contentful Paint metric](https://web.dev/first-contentful-paint/).',
16
16
  };
17
17
 
18
18
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -12,7 +12,7 @@ import ComputedFmp from '../../computed/metrics/first-meaningful-paint.js';
12
12
  const UIStrings = {
13
13
  /** 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. */
14
14
  description: 'First Meaningful Paint measures when the primary content of a page is ' +
15
- 'visible. [Learn more](https://web.dev/first-meaningful-paint/).',
15
+ 'visible. [Learn more about the First Meaningful Paint metric](https://web.dev/first-meaningful-paint/).',
16
16
  };
17
17
 
18
18
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -11,8 +11,8 @@ import Interactive from '../../computed/metrics/interactive.js';
11
11
 
12
12
  const UIStrings = {
13
13
  /** 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. */
14
- description: 'Time to interactive is the amount of time it takes for the page to become fully ' +
15
- 'interactive. [Learn more](https://web.dev/interactive/).',
14
+ description: 'Time to Interactive is the amount of time it takes for the page to become fully ' +
15
+ 'interactive. [Learn more about the Time to Interactive metric](https://web.dev/interactive/).',
16
16
  };
17
17
 
18
18
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -12,7 +12,7 @@ import ComputedLcp from '../../computed/metrics/largest-contentful-paint.js';
12
12
  const UIStrings = {
13
13
  /** 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. */
14
14
  description: 'Largest Contentful Paint marks the time at which the largest text or image is ' +
15
- `painted. [Learn more](https://web.dev/lighthouse-largest-contentful-paint/)`,
15
+ `painted. [Learn more about the Largest Contentful Paint metric](https://web.dev/lighthouse-largest-contentful-paint/)`,
16
16
  };
17
17
 
18
18
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -12,7 +12,8 @@ import * as i18n from '../../lib/i18n/i18n.js';
12
12
  const UIStrings = {
13
13
  /** 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. */
14
14
  description: 'The maximum potential First Input Delay that your users could experience is the ' +
15
- 'duration of the longest task. [Learn more](https://web.dev/lighthouse-max-potential-fid/).',
15
+ 'duration of the longest task. ' +
16
+ '[Learn more about the Maximum Potential First Input Delay metric](https://web.dev/lighthouse-max-potential-fid/).',
16
17
  };
17
18
 
18
19
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -12,7 +12,7 @@ import ComputedSi from '../../computed/metrics/speed-index.js';
12
12
  const UIStrings = {
13
13
  /** 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. */
14
14
  description: 'Speed Index shows how quickly the contents of a page are visibly populated. ' +
15
- '[Learn more](https://web.dev/speed-index/).',
15
+ '[Learn more about the Speed Index metric](https://web.dev/speed-index/).',
16
16
  };
17
17
 
18
18
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -12,7 +12,8 @@ import * as i18n from '../../lib/i18n/i18n.js';
12
12
  const UIStrings = {
13
13
  /** Description of the Total Blocking Time (TBT) metric, which calculates the total duration of blocking time for a web page. Blocking times are time periods when the page would be blocked (prevented) from responding to user input (clicks, taps, and keypresses will feel slow to respond). This is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits.*/
14
14
  description: 'Sum of all time periods between FCP and Time to Interactive, ' +
15
- 'when task length exceeded 50ms, expressed in milliseconds. [Learn more](https://web.dev/lighthouse-total-blocking-time/).',
15
+ 'when task length exceeded 50ms, expressed in milliseconds. ' +
16
+ '[Learn more about the Total Blocking Time metric](https://web.dev/lighthouse-total-blocking-time/).',
16
17
  };
17
18
 
18
19
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -16,7 +16,7 @@ const UIStrings = {
16
16
  /** 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. */
17
17
  description: 'Network round trip times (RTT) have a large impact on performance. ' +
18
18
  'If the RTT to an origin is high, it\'s an indication that servers closer to the user could ' +
19
- 'improve performance. [Learn more](https://hpbn.co/primer-on-latency-and-bandwidth/).',
19
+ 'improve performance. [Learn more about the Round Trip Time](https://hpbn.co/primer-on-latency-and-bandwidth/).',
20
20
  };
21
21
 
22
22
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -16,7 +16,7 @@ const UIStrings = {
16
16
  /** 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. */
17
17
  description: 'Server latencies can impact web performance. ' +
18
18
  'If the server latency of an origin is high, it\'s an indication the server is overloaded ' +
19
- 'or has poor backend performance. [Learn more](https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall).',
19
+ 'or has poor backend performance. [Learn more about server response time](https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall).',
20
20
  };
21
21
 
22
22
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -15,7 +15,7 @@ const UIStrings = {
15
15
  /** Descriptive title of a Lighthouse audit that checks if a web page has 'unload' event listeners and finds that it is using them. */
16
16
  failureTitle: 'Registers an `unload` listener',
17
17
  /** 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. */
18
- 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](https://web.dev/bfcache/#never-use-the-unload-event)',
18
+ 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)',
19
19
  };
20
20
 
21
21
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -20,7 +20,7 @@ const UIStrings = {
20
20
  title: 'Avoid non-composited animations',
21
21
  /** Description of a diagnostic LH audit that shows the user animations that are not composited. Janky means frames may be skipped and the animation will look bad. Acceptable alternatives here might be 'poor', or 'slow'. */
22
22
  description: 'Animations which are not composited can be janky and increase CLS. ' +
23
- '[Learn more](https://web.dev/non-composited-animations)',
23
+ '[Learn how to avoid non-composited animations](https://web.dev/non-composited-animations)',
24
24
  /** [ICU Syntax] Label identifying the number of animated elements that are not composited. */
25
25
  displayValue: `{itemCount, plural,
26
26
  =1 {# animated element found}
@@ -16,7 +16,8 @@ const UIStrings = {
16
16
  title: 'Performance budget',
17
17
  /** 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. */
18
18
  description: 'Keep the quantity and size of network requests under the targets ' +
19
- 'set by the provided performance budget. [Learn more](https://developers.google.com/web/tools/lighthouse/audits/budgets).',
19
+ 'set by the provided performance budget. ' +
20
+ '[Learn more about performance budgets](https://developers.google.com/web/tools/lighthouse/audits/budgets).',
20
21
  /** [ICU Syntax] Entry in a data table identifying the number of network requests of a particular type. Count will be a whole number. String should be as short as possible to be able to fit well into the table. */
21
22
  requestCountOverBudget: `{count, plural,
22
23
  =1 {1 request}
@@ -23,7 +23,7 @@ const UIStrings = {
23
23
  /** 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. */
24
24
  failureTitle: 'Fonts with `font-display: optional` are not preloaded',
25
25
  /** 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. */
26
- description: 'Preload `optional` fonts so first-time visitors may use them. [Learn more](https://web.dev/preload-optional-fonts/)',
26
+ description: 'Preload `optional` fonts so first-time visitors may use them. [Learn more about preloading fonts](https://web.dev/preload-optional-fonts/)',
27
27
  };
28
28
 
29
29
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -18,7 +18,7 @@ const UIStrings = {
18
18
  title: 'Preload Largest Contentful Paint image',
19
19
  /** Description of a lighthouse audit that tells a user to preload an image in order to improve their LCP time. */
20
20
  description: 'If the LCP element is dynamically added to the page, you should preload the ' +
21
- 'image in order to improve LCP. [Learn more](https://web.dev/optimize-lcp/#preload-important-resources).',
21
+ 'image in order to improve LCP. [Learn more about preloading LCP elements](https://web.dev/optimize-lcp/#preload-important-resources).',
22
22
  };
23
23
 
24
24
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -17,7 +17,7 @@ const UIStrings = {
17
17
  /** 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. */
18
18
  title: 'Avoid multiple page redirects',
19
19
  /** 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. */
20
- description: 'Redirects introduce additional delays before the page can be loaded. [Learn more](https://web.dev/redirects/).',
20
+ description: 'Redirects introduce additional delays before the page can be loaded. [Learn how to avoid page redirects](https://web.dev/redirects/).',
21
21
  };
22
22
 
23
23
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -14,7 +14,8 @@ const UIStrings = {
14
14
  title: 'Keep request counts low and transfer sizes small',
15
15
  /** 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. */
16
16
  description: 'To set budgets for the quantity and size of page resources,' +
17
- ' add a budget.json file. [Learn more](https://web.dev/use-lighthouse-for-performance-budgets/).',
17
+ ' add a budget.json file. ' +
18
+ '[Learn more about performance budgets](https://web.dev/use-lighthouse-for-performance-budgets/).',
18
19
  /** [ICU Syntax] Label for an audit identifying the number of requests and kibibytes used to load the page. */
19
20
  displayValue: `{requestCount, plural, ` +
20
21
  `=1 {1 request • {byteCount, number, bytes} KiB} ` +
@@ -17,7 +17,7 @@ const UIStrings = {
17
17
  failureTitle: 'Document does not have a valid `rel=canonical`',
18
18
  /** 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. */
19
19
  description: 'Canonical links suggest which URL to show in search results. ' +
20
- '[Learn more](https://web.dev/canonical/).',
20
+ '[Learn more about canonical links](https://web.dev/canonical/).',
21
21
  /**
22
22
  * @description Explanatory message stating that there was a failure in an audit caused by multiple URLs conflicting with each other.
23
23
  * @example {https://example.com, https://example2.com} urlList
@@ -14,7 +14,7 @@ const UIStrings = {
14
14
  /** 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. */
15
15
  failureTitle: 'Links are not crawlable',
16
16
  /** 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. */
17
- 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 More](https://support.google.com/webmasters/answer/9112205)',
17
+ 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)',
18
18
  /** 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. */
19
19
  columnFailingLink: 'Uncrawlable Link',
20
20
  };
@@ -20,7 +20,7 @@ const UIStrings = {
20
20
  /** 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. */
21
21
  failureTitle: 'Document doesn\'t use legible font sizes',
22
22
  /** 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. */
23
- 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](https://web.dev/font-size/).',
23
+ 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/).',
24
24
  /** Label for the audit identifying font sizes that are too small. */
25
25
  displayValue: '{decimalProportion, number, extendedPercent} legible text',
26
26
  /** Explanatory message stating that there was a failure in an audit caused by a missing page viewport meta tag configuration. "viewport" and "meta" are HTML terms and should not be translated. */
@@ -23,7 +23,7 @@ const UIStrings = {
23
23
  failureTitle: 'Document doesn\'t have a valid `hreflang`',
24
24
  /** Description of a Lighthouse audit that tells the user *why* they need to have an hreflang link 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. "hreflang" is an HTML attribute and should not be translated. */
25
25
  description: 'hreflang links tell search engines what version of a page they should ' +
26
- 'list in search results for a given language or region. [Learn more]' +
26
+ 'list in search results for a given language or region. [Learn more about `hreflang`]' +
27
27
  '(https://web.dev/hreflang/).',
28
28
  /** A failure reason for a Lighthouse audit that flags incorrect use of the `hreflang` attribute on `link` elements. This failure reason is shown when the hreflang language code is unexpected. */
29
29
  unexpectedLanguage: 'Unexpected language code',
@@ -19,7 +19,7 @@ const UIStrings = {
19
19
  failureTitle: 'Page has unsuccessful HTTP status code',
20
20
  /** Description of a Lighthouse audit that tells the user *why* they need to serve pages with a valid HTTP status 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. */
21
21
  description: 'Pages with unsuccessful HTTP status codes may not be indexed properly. ' +
22
- '[Learn more](https://web.dev/http-status-code/).',
22
+ '[Learn more about HTTP status codes](https://web.dev/http-status-code/).',
23
23
  };
24
24
 
25
25
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -27,7 +27,7 @@ const UIStrings = {
27
27
  failureTitle: 'Page is blocked from indexing',
28
28
  /** Description of a Lighthouse audit that tells the user *why* allowing search-engine crawling of their page is beneficial. 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
29
  description: 'Search engines are unable to include your pages in search results ' +
30
- 'if they don\'t have permission to crawl them. [Learn more](https://web.dev/is-crawable/).',
30
+ 'if they don\'t have permission to crawl them. [Learn more about crawler directives](https://web.dev/is-crawable/).',
31
31
  };
32
32
 
33
33
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -84,7 +84,7 @@ const UIStrings = {
84
84
  failureTitle: 'Links do not have descriptive text',
85
85
  /** Description of a Lighthouse audit that tells the user *why* they need to have descriptive text on the links in 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. */
86
86
  description: 'Descriptive link text helps search engines understand your content. ' +
87
- '[Learn more](https://web.dev/link-text/).',
87
+ '[Learn how to make links more accessible](https://web.dev/link-text/).',
88
88
  /** [ICU Syntax] Label for the audit identifying the number of links found. "link" here refers to the links in a web page to other web pages. */
89
89
  displayValue: `{itemCount, plural,
90
90
  =1 {1 link found}
@@ -10,7 +10,7 @@ import * as i18n from '../../../lib/i18n/i18n.js';
10
10
 
11
11
  const UIStrings = {
12
12
  /** Description of a Lighthouse audit that provides detail on the structured data in a page. "Structured data" is a standardized data format on a page that helps a search engine categorize and understand its contents. This description 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: 'Run the [Structured Data Testing Tool](https://search.google.com/structured-data/testing-tool/) and the [Structured Data Linter](http://linter.structured-data.org/) to validate structured data. [Learn more](https://web.dev/structured-data/).',
13
+ description: 'Run the [Structured Data Testing Tool](https://search.google.com/structured-data/testing-tool/) and the [Structured Data Linter](http://linter.structured-data.org/) to validate structured data. [Learn more about Structured Data](https://web.dev/structured-data/).',
14
14
  /** Title of a Lighthouse audit that prompts users to manually check their page for valid structured data. "Structured data" is a standardized data format on a page that helps a search engine categorize and understand its contents. */
15
15
  title: 'Structured data is valid',
16
16
  };
@@ -16,7 +16,7 @@ const UIStrings = {
16
16
  /** Description of a Lighthouse audit that tells the user *why* they need to have meta descriptions 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. */
17
17
  description: 'Meta descriptions may be included in search results to concisely summarize ' +
18
18
  'page content. ' +
19
- '[Learn more](https://web.dev/meta-description/).',
19
+ '[Learn more about the meta description](https://web.dev/meta-description/).',
20
20
  /** Explanatory message stating that there was a failure in an audit caused by the page's meta description text being empty. */
21
21
  explanation: 'Description text is empty.',
22
22
  };
@@ -41,7 +41,7 @@ const UIStrings = {
41
41
  /** Description of a Lighthouse audit that tells the user *why* they need to avoid using browser plugins in their content. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
42
42
  description: 'Search engines can\'t index plugin content, and ' +
43
43
  'many devices restrict plugins or don\'t support them. ' +
44
- '[Learn more](https://web.dev/plugins/).',
44
+ '[Learn more about avoiding plugins](https://web.dev/plugins/).',
45
45
  };
46
46
 
47
47
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -41,7 +41,8 @@ const UIStrings = {
41
41
  failureTitle: 'robots.txt is not valid',
42
42
  /** Description of a Lighthouse audit that tells the user *why* they need to have a valid robots.txt file. Note: "robots.txt" is a canonical filename and should not be translated. This is displayed after a user expands the section to see more. No character length limits. */
43
43
  description: 'If your robots.txt file is malformed, crawlers may not be able to understand ' +
44
- 'how you want your website to be crawled or indexed. [Learn more](https://web.dev/robots-txt/).',
44
+ 'how you want your website to be crawled or indexed. ' +
45
+ '[Learn more about robots.txt](https://web.dev/robots-txt/).',
45
46
  /**
46
47
  * @description Label for the audit identifying that the robots.txt request has returned a specific HTTP status code. Note: "robots.txt" is a canonical filename and should not be translated.
47
48
  * @example {500} statusCode
@@ -31,7 +31,7 @@ const UIStrings = {
31
31
  /** Descriptive title of a Lighthouse audit that provides detail on whether tap targets (like buttons and links) on a page are big enough so they can easily be tapped on a mobile device. This descriptive title is shown when tap targets are not easy to tap on. */
32
32
  failureTitle: 'Tap targets are not sized appropriately',
33
33
  /** Description of a Lighthouse audit that tells the user why buttons and links need to be big enough and what 'big enough' means. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
34
- description: 'Interactive elements like buttons and links should be large enough (48x48px), and have enough space around them, to be easy enough to tap without overlapping onto other elements. [Learn more](https://web.dev/tap-targets/).',
34
+ description: 'Interactive elements like buttons and links should be large enough (48x48px), and have enough space around them, to be easy enough to tap without overlapping onto other elements. [Learn more about tap targets](https://web.dev/tap-targets/).',
35
35
  /** Label of a table column that identifies tap targets (like buttons and links) that have failed the audit and aren't easy to tap on. */
36
36
  tapTargetHeader: 'Tap Target',
37
37
  /** Label of a table column that identifies a tap target (like a link or button) that overlaps with another tap target. */
@@ -15,7 +15,7 @@ const UIStrings = {
15
15
  /** Title of a diagnostic audit that provides detail on how long it took from starting a request to when the server started responding. This imperative title is shown to users when there is a significant amount of execution time that could be reduced. */
16
16
  failureTitle: 'Reduce initial server response time',
17
17
  /** Description of a Lighthouse audit that tells the user *why* they should reduce the amount of time it takes their server to start responding to requests. 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: 'Keep the server response time for the main document short because all other requests depend on it. [Learn more](https://web.dev/time-to-first-byte/).',
18
+ description: 'Keep the server response time for the main document short because all other requests depend on it. [Learn more about the Time to First Byte metric](https://web.dev/time-to-first-byte/).',
19
19
  /** Used to summarize the total Server Response Time duration for the primary HTML response. The `{timeInMs}` placeholder will be replaced with the time duration, shown in milliseconds (e.g. 210 ms) */
20
20
  displayValue: `Root document took {timeInMs, number, milliseconds}\xa0ms`,
21
21
  };
@@ -17,7 +17,7 @@ const UIStrings = {
17
17
  /** Description of a Lighthouse audit that tells the user why they should use a service worker. 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
18
  description: 'The service worker is the technology that enables your app to use many ' +
19
19
  'Progressive Web App features, such as offline, add to homescreen, and push ' +
20
- 'notifications. [Learn more](https://web.dev/service-worker/).',
20
+ 'notifications. [Learn more about Service Workers](https://web.dev/service-worker/).',
21
21
  /**
22
22
  * @description Message explaining that the website may have service workers, but none are in scope to control the tested web page.
23
23
  * @example {https://example.com/} pageUrl
@@ -16,8 +16,8 @@ const UIStrings = {
16
16
  failureTitle: 'Is not configured for a custom splash screen',
17
17
  /** Description of a Lighthouse audit that tells the user why they should configure a custom splash screen. 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
18
  description: 'A themed splash screen ensures a high-quality experience when ' +
19
- 'users launch your app from their homescreens. [Learn ' +
20
- 'more](https://web.dev/splash-screen/).',
19
+ 'users launch your app from their homescreens. ' +
20
+ '[Learn more about splash screens](https://web.dev/splash-screen/).',
21
21
  };
22
22
 
23
23
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -17,7 +17,7 @@ const UIStrings = {
17
17
  failureTitle: 'Does not set a theme color for the address bar.',
18
18
  /** Description of a Lighthouse audit that tells the user why they should set a theme color for the browser's address bar. 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
19
  description: 'The browser address bar can be themed to match your site. ' +
20
- '[Learn more](https://web.dev/themed-omnibox/).',
20
+ '[Learn more about theming the address bar](https://web.dev/themed-omnibox/).',
21
21
  };
22
22
 
23
23
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -36,7 +36,8 @@ const UIStrings = {
36
36
  failureTitle: 'Some third-party resources can be lazy loaded with a facade',
37
37
  /** Description of a Lighthouse audit that identifies the third-party code on the page that can be lazy loaded with a facade alternative. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. A facade is a lightweight component which looks like the desired resource. Lazy loading means resources are deferred until they are needed. Third-party code refers to resources that are not within the control of the site owner. */
38
38
  description: 'Some third-party embeds can be lazy loaded. ' +
39
- 'Consider replacing them with a facade until they are required. [Learn more](https://web.dev/third-party-facades/).',
39
+ 'Consider replacing them with a facade until they are required. ' +
40
+ '[Learn how to defer third-parties with a facade](https://web.dev/third-party-facades/).',
40
41
  /** Summary text for the result of a Lighthouse audit that identifies the third-party code on a web page that can be lazy loaded with a facade alternative. This text summarizes the number of lazy loading facades that can be used on the page. A facade is a lightweight component which looks like the desired resource. */
41
42
  displayValue: `{itemCount, plural,
42
43
  =1 {# facade alternative available}
@@ -20,7 +20,8 @@ const UIStrings = {
20
20
  /** Description of a Lighthouse audit that identifies the code on the page that the user doesn't control. 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
21
  description: 'Third-party code can significantly impact load performance. ' +
22
22
  'Limit the number of redundant third-party providers and try to load third-party code after ' +
23
- 'your page has primarily finished loading. [Learn more](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/).',
23
+ 'your page has primarily finished loading. ' +
24
+ '[Learn how to minimize third-party impact](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/).',
24
25
  /** Label for a table column that displays the name of a third-party provider that potentially links to their website. */
25
26
  columnThirdParty: 'Third-Party',
26
27
  /** Summary text for the result of a Lighthouse audit that identifies the code on a web page that the user doesn't control (referred to as "third-party code"). This text summarizes the number of distinct entities that were found on the page. */
@@ -15,7 +15,7 @@ const UIStrings = {
15
15
  /** Title of a Lighthouse audit that compares how quickly the page loads against targets set by the user. Timing budgets are a type of performance budget. */
16
16
  title: 'Timing budget',
17
17
  /** Description of a Lighthouse audit where a user sets budgets for how quickly the page loads. No character length limits. 'Learn More' becomes link text to additional documentation. */
18
- description: 'Set a timing budget to help you keep an eye on the performance of your site. Performant sites load fast and respond to user input events quickly. [Learn more](https://developers.google.com/web/tools/lighthouse/audits/budgets).',
18
+ description: 'Set a timing budget to help you keep an eye on the performance of your site. Performant sites load fast and respond to user input events quickly. [Learn more about performance budgets](https://developers.google.com/web/tools/lighthouse/audits/budgets).',
19
19
  /** Label for a column in a data table; entries will be the names of different timing metrics, e.g. "Time to Interactive", "First Contentful Paint", etc. */
20
20
  columnTimingMetric: 'Metric',
21
21
  /** Label for a column in a data table; entries will be the measured value of a particular timing metric. Most entries will have a unit of milliseconds, but units could be other things as well. */
@@ -20,7 +20,7 @@ const UIStrings = {
20
20
  /** Title of a Lighthouse audit that provides detail on whether all images have explicit width and height. This descriptive title is shown to users when one or more images does not have explicit width and height */
21
21
  failureTitle: 'Image elements do not have explicit `width` and `height`',
22
22
  /** Description of a Lighthouse audit that tells the user why they should include explicit width and height 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: 'Set an explicit width and height on image elements to reduce layout shifts and improve CLS. [Learn more](https://web.dev/optimize-cls/#images-without-dimensions)',
23
+ description: 'Set an explicit width and height on image elements to reduce layout shifts and improve CLS. [Learn how to set image dimensions](https://web.dev/optimize-cls/#images-without-dimensions)',
24
24
  };
25
25
 
26
26
  const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
@@ -15,7 +15,7 @@ const UIStrings = {
15
15
  /** Description of a Lighthouse audit that tells the user they may want to use the User Timing API to help measure the performance of aspects of their page load and interaction. 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
16
  description: 'Consider instrumenting your app with the User Timing API to measure your ' +
17
17
  'app\'s real-world performance during key user experiences. ' +
18
- '[Learn more](https://web.dev/user-timings/).',
18
+ '[Learn more about User Timing marks](https://web.dev/user-timings/).',
19
19
  /** [ICU Syntax] Label for an audit identifying the number of User Timing timestamps present in the page. */
20
20
  displayValue: `{itemCount, plural,
21
21
  =1 {1 user timing}
@@ -33,7 +33,7 @@ const UIStrings = {
33
33
  description:
34
34
  'Consider adding `preconnect` or `dns-prefetch` resource hints to establish early ' +
35
35
  'connections to important third-party origins. ' +
36
- '[Learn more](https://web.dev/uses-rel-preconnect/).',
36
+ '[Learn how to preconnect to required origins](https://web.dev/uses-rel-preconnect/).',
37
37
  /**
38
38
  * @description A warning message that is shown when the user tried to follow the advice of the audit, but it's not working as expected.
39
39
  * @example {https://example.com} securityOrigin
@@ -20,7 +20,8 @@ const UIStrings = {
20
20
  title: 'Preload key requests',
21
21
  /** Description of a Lighthouse audit that tells the user *why* they should preload important network requests. The associated network requests are started halfway through pageload (or later) but should be started at the beginning. This is displayed after a user expands the section to see more. No character length limits. '<link rel=preload>' is the html code the user would include in their page and shouldn't be translated. 'Learn More' becomes link text to additional documentation. */
22
22
  description: 'Consider using `<link rel=preload>` to prioritize fetching resources that are ' +
23
- 'currently requested later in page load. [Learn more](https://web.dev/uses-rel-preload/).',
23
+ 'currently requested later in page load. ' +
24
+ '[Learn how to preload key requests](https://web.dev/uses-rel-preload/).',
24
25
  /**
25
26
  * @description A warning message that is shown when the user tried to follow the advice of the audit, but it's not working as expected. Forgetting to set the `crossorigin` HTML attribute, or setting it to an incorrect value, on the link is a common mistake when adding preload links.
26
27
  * @example {https://example.com} preloadURL
@@ -18,7 +18,7 @@ const UIStrings = {
18
18
  description: 'Source maps translate minified code to the original source code. This helps ' +
19
19
  'developers debug in production. In addition, Lighthouse is able to provide further ' +
20
20
  'insights. Consider deploying source maps to take advantage of these benefits. ' +
21
- '[Learn more](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps).',
21
+ '[Learn more about source maps](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps).',
22
22
  /** Label for a column in a data table. Entries will be URLs to JavaScript source maps. */
23
23
  columnMapURL: 'Map URL',
24
24
  /** Label for a possible error message indicating that a source map for a large, first-party JavaScript script is missing. */
@@ -18,7 +18,7 @@ const UIStrings = {
18
18
  /** Description of a Lighthouse audit that tells the user why they should have a viewport meta tag in their html. 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
19
  description: 'A `<meta name="viewport">` not only optimizes your app for mobile screen sizes, ' +
20
20
  'but also prevents [a 300 millisecond delay to user input](https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away). ' +
21
- '[Learn more](https://web.dev/viewport/).',
21
+ '[Learn more about using the viewport meta tag](https://web.dev/viewport/).',
22
22
  /** Explanatory message stating that no viewport meta tag exists on the page. */
23
23
  explanationNoTag: 'No `<meta name="viewport">` tag found',
24
24
  };
@@ -28,7 +28,7 @@ const UIStrings = {
28
28
  /** Title of a diagnostic audit that provides detail on the main thread work the browser did during a key user interaction. This imperative title is shown to users when there is a significant amount of execution time that could be reduced. */
29
29
  failureTitle: 'Minimize work during key interaction',
30
30
  /** Description of the work-during-interaction 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. */
31
- description: 'This is the thread-blocking work occurring during the Interaction to Next Paint measurement. [Learn more](https://web.dev/inp/).',
31
+ description: 'This is the thread-blocking work occurring during the Interaction to Next Paint measurement. [Learn more about the Interaction to Next Paint metric](https://web.dev/inp/).',
32
32
  /** Label for a column in a data table; entries will be information on the time that the browser is delayed before responding to user input. Ideally fits within a ~40 character limit. */
33
33
  inputDelay: 'Input delay',
34
34
  /** Label for a column in a data table; entries will be information on the time taken by code processing user input that delays a response to the user. Ideally fits within a ~40 character limit. */