lighthouse 9.5.0-dev.20220719 → 9.5.0-dev.20220722

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
@@ -132,7 +132,7 @@
132
132
  "message": "Lighthouse User Flow Report"
133
133
  },
134
134
  "lighthouse-core/audits/accessibility/accesskeys.js | description": {
135
- "message": "Access keys let users quickly focus a part of the page. For proper navigation, each access key must be unique. [Learn more](https://dequeuniversity.com/rules/axe/4.4/accesskeys)."
135
+ "message": "Access keys let users quickly focus a part of the page. For proper navigation, each access key must be unique. [Learn more about access keys](https://dequeuniversity.com/rules/axe/4.4/accesskeys)."
136
136
  },
137
137
  "lighthouse-core/audits/accessibility/accesskeys.js | failureTitle": {
138
138
  "message": "`[accesskey]` values are not unique"
@@ -141,7 +141,7 @@
141
141
  "message": "`[accesskey]` values are unique"
142
142
  },
143
143
  "lighthouse-core/audits/accessibility/aria-allowed-attr.js | description": {
144
- "message": "Each ARIA `role` supports a specific subset of `aria-*` attributes. Mismatching these invalidates the `aria-*` attributes. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-allowed-attr)."
144
+ "message": "Each ARIA `role` supports a specific subset of `aria-*` attributes. Mismatching these invalidates the `aria-*` attributes. [Learn how to match ARIA attributes to their roles](https://dequeuniversity.com/rules/axe/4.4/aria-allowed-attr)."
145
145
  },
146
146
  "lighthouse-core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
147
147
  "message": "`[aria-*]` attributes do not match their roles"
@@ -150,7 +150,7 @@
150
150
  "message": "`[aria-*]` attributes match their roles"
151
151
  },
152
152
  "lighthouse-core/audits/accessibility/aria-command-name.js | description": {
153
- "message": "When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-command-name)."
153
+ "message": "When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to make command elements more accessible](https://dequeuniversity.com/rules/axe/4.4/aria-command-name)."
154
154
  },
155
155
  "lighthouse-core/audits/accessibility/aria-command-name.js | failureTitle": {
156
156
  "message": "`button`, `link`, and `menuitem` elements do not have accessible names."
@@ -159,7 +159,7 @@
159
159
  "message": "`button`, `link`, and `menuitem` elements have accessible names"
160
160
  },
161
161
  "lighthouse-core/audits/accessibility/aria-hidden-body.js | description": {
162
- "message": "Assistive technologies, like screen readers, work inconsistently when `aria-hidden=\"true\"` is set on the document `<body>`. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-hidden-body)."
162
+ "message": "Assistive technologies, like screen readers, work inconsistently when `aria-hidden=\"true\"` is set on the document `<body>`. [Learn how `aria-hidden` affects the document body](https://dequeuniversity.com/rules/axe/4.4/aria-hidden-body)."
163
163
  },
164
164
  "lighthouse-core/audits/accessibility/aria-hidden-body.js | failureTitle": {
165
165
  "message": "`[aria-hidden=\"true\"]` is present on the document `<body>`"
@@ -168,7 +168,7 @@
168
168
  "message": "`[aria-hidden=\"true\"]` is not present on the document `<body>`"
169
169
  },
170
170
  "lighthouse-core/audits/accessibility/aria-hidden-focus.js | description": {
171
- "message": "Focusable descendents within an `[aria-hidden=\"true\"]` element prevent those interactive elements from being available to users of assistive technologies like screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-hidden-focus)."
171
+ "message": "Focusable descendents within an `[aria-hidden=\"true\"]` element prevent those interactive elements from being available to users of assistive technologies like screen readers. [Learn how `aria-hidden` affects focusable elements](https://dequeuniversity.com/rules/axe/4.4/aria-hidden-focus)."
172
172
  },
173
173
  "lighthouse-core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
174
174
  "message": "`[aria-hidden=\"true\"]` elements contain focusable descendents"
@@ -177,7 +177,7 @@
177
177
  "message": "`[aria-hidden=\"true\"]` elements do not contain focusable descendents"
178
178
  },
179
179
  "lighthouse-core/audits/accessibility/aria-input-field-name.js | description": {
180
- "message": "When an input field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-input-field-name)."
180
+ "message": "When an input field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more about input field labels](https://dequeuniversity.com/rules/axe/4.4/aria-input-field-name)."
181
181
  },
182
182
  "lighthouse-core/audits/accessibility/aria-input-field-name.js | failureTitle": {
183
183
  "message": "ARIA input fields do not have accessible names"
@@ -186,7 +186,7 @@
186
186
  "message": "ARIA input fields have accessible names"
187
187
  },
188
188
  "lighthouse-core/audits/accessibility/aria-meter-name.js | description": {
189
- "message": "When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-meter-name)."
189
+ "message": "When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to name `meter` elements](https://dequeuniversity.com/rules/axe/4.4/aria-meter-name)."
190
190
  },
191
191
  "lighthouse-core/audits/accessibility/aria-meter-name.js | failureTitle": {
192
192
  "message": "ARIA `meter` elements do not have accessible names."
@@ -195,7 +195,7 @@
195
195
  "message": "ARIA `meter` elements have accessible names"
196
196
  },
197
197
  "lighthouse-core/audits/accessibility/aria-progressbar-name.js | description": {
198
- "message": "When a `progressbar` element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-progressbar-name)."
198
+ "message": "When a `progressbar` element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to label `progressbar` elements](https://dequeuniversity.com/rules/axe/4.4/aria-progressbar-name)."
199
199
  },
200
200
  "lighthouse-core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
201
201
  "message": "ARIA `progressbar` elements do not have accessible names."
@@ -204,7 +204,7 @@
204
204
  "message": "ARIA `progressbar` elements have accessible names"
205
205
  },
206
206
  "lighthouse-core/audits/accessibility/aria-required-attr.js | description": {
207
- "message": "Some ARIA roles have required attributes that describe the state of the element to screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-required-attr)."
207
+ "message": "Some ARIA roles have required attributes that describe the state of the element to screen readers. [Learn more about roles and required attributes](https://dequeuniversity.com/rules/axe/4.4/aria-required-attr)."
208
208
  },
209
209
  "lighthouse-core/audits/accessibility/aria-required-attr.js | failureTitle": {
210
210
  "message": "`[role]`s do not have all required `[aria-*]` attributes"
@@ -213,7 +213,7 @@
213
213
  "message": "`[role]`s have all required `[aria-*]` attributes"
214
214
  },
215
215
  "lighthouse-core/audits/accessibility/aria-required-children.js | description": {
216
- "message": "Some ARIA parent roles must contain specific child roles to perform their intended accessibility functions. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-required-children)."
216
+ "message": "Some ARIA parent roles must contain specific child roles to perform their intended accessibility functions. [Learn more about roles and required children elements](https://dequeuniversity.com/rules/axe/4.4/aria-required-children)."
217
217
  },
218
218
  "lighthouse-core/audits/accessibility/aria-required-children.js | failureTitle": {
219
219
  "message": "Elements with an ARIA `[role]` that require children to contain a specific `[role]` are missing some or all of those required children."
@@ -222,7 +222,7 @@
222
222
  "message": "Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all required children."
223
223
  },
224
224
  "lighthouse-core/audits/accessibility/aria-required-parent.js | description": {
225
- "message": "Some ARIA child roles must be contained by specific parent roles to properly perform their intended accessibility functions. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-required-parent)."
225
+ "message": "Some ARIA child roles must be contained by specific parent roles to properly perform their intended accessibility functions. [Learn more about ARIA roles and required parent element](https://dequeuniversity.com/rules/axe/4.4/aria-required-parent)."
226
226
  },
227
227
  "lighthouse-core/audits/accessibility/aria-required-parent.js | failureTitle": {
228
228
  "message": "`[role]`s are not contained by their required parent element"
@@ -231,7 +231,7 @@
231
231
  "message": "`[role]`s are contained by their required parent element"
232
232
  },
233
233
  "lighthouse-core/audits/accessibility/aria-roles.js | description": {
234
- "message": "ARIA roles must have valid values in order to perform their intended accessibility functions. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-roles)."
234
+ "message": "ARIA roles must have valid values in order to perform their intended accessibility functions. [Learn more about valid ARIA roles](https://dequeuniversity.com/rules/axe/4.4/aria-roles)."
235
235
  },
236
236
  "lighthouse-core/audits/accessibility/aria-roles.js | failureTitle": {
237
237
  "message": "`[role]` values are not valid"
@@ -240,7 +240,7 @@
240
240
  "message": "`[role]` values are valid"
241
241
  },
242
242
  "lighthouse-core/audits/accessibility/aria-toggle-field-name.js | description": {
243
- "message": "When a toggle field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-toggle-field-name)."
243
+ "message": "When a toggle field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more about toggle fields](https://dequeuniversity.com/rules/axe/4.4/aria-toggle-field-name)."
244
244
  },
245
245
  "lighthouse-core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
246
246
  "message": "ARIA toggle fields do not have accessible names"
@@ -249,7 +249,7 @@
249
249
  "message": "ARIA toggle fields have accessible names"
250
250
  },
251
251
  "lighthouse-core/audits/accessibility/aria-tooltip-name.js | description": {
252
- "message": "When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-tooltip-name)."
252
+ "message": "When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to name `tooltip` elements](https://dequeuniversity.com/rules/axe/4.4/aria-tooltip-name)."
253
253
  },
254
254
  "lighthouse-core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
255
255
  "message": "ARIA `tooltip` elements do not have accessible names."
@@ -258,7 +258,7 @@
258
258
  "message": "ARIA `tooltip` elements have accessible names"
259
259
  },
260
260
  "lighthouse-core/audits/accessibility/aria-treeitem-name.js | description": {
261
- "message": "When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-treeitem-name)."
261
+ "message": "When a `treeitem` element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more about labeling `treeitem` elements](https://dequeuniversity.com/rules/axe/4.4/aria-treeitem-name)."
262
262
  },
263
263
  "lighthouse-core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
264
264
  "message": "ARIA `treeitem` elements do not have accessible names."
@@ -267,7 +267,7 @@
267
267
  "message": "ARIA `treeitem` elements have accessible names"
268
268
  },
269
269
  "lighthouse-core/audits/accessibility/aria-valid-attr-value.js | description": {
270
- "message": "Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid values. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-valid-attr-value)."
270
+ "message": "Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid values. [Learn more about valid values for ARIA attributes](https://dequeuniversity.com/rules/axe/4.4/aria-valid-attr-value)."
271
271
  },
272
272
  "lighthouse-core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
273
273
  "message": "`[aria-*]` attributes do not have valid values"
@@ -276,7 +276,7 @@
276
276
  "message": "`[aria-*]` attributes have valid values"
277
277
  },
278
278
  "lighthouse-core/audits/accessibility/aria-valid-attr.js | description": {
279
- "message": "Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid names. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-valid-attr)."
279
+ "message": "Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid names. [Learn more about valid ARIA attributes](https://dequeuniversity.com/rules/axe/4.4/aria-valid-attr)."
280
280
  },
281
281
  "lighthouse-core/audits/accessibility/aria-valid-attr.js | failureTitle": {
282
282
  "message": "`[aria-*]` attributes are not valid or misspelled"
@@ -288,7 +288,7 @@
288
288
  "message": "Failing Elements"
289
289
  },
290
290
  "lighthouse-core/audits/accessibility/button-name.js | description": {
291
- "message": "When a button doesn't have an accessible name, screen readers announce it as \"button\", making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/button-name)."
291
+ "message": "When a button doesn't have an accessible name, screen readers announce it as \"button\", making it unusable for users who rely on screen readers. [Learn how to make buttons more accessible](https://dequeuniversity.com/rules/axe/4.4/button-name)."
292
292
  },
293
293
  "lighthouse-core/audits/accessibility/button-name.js | failureTitle": {
294
294
  "message": "Buttons do not have an accessible name"
@@ -297,7 +297,7 @@
297
297
  "message": "Buttons have an accessible name"
298
298
  },
299
299
  "lighthouse-core/audits/accessibility/bypass.js | description": {
300
- "message": "Adding ways to bypass repetitive content lets keyboard users navigate the page more efficiently. [Learn more](https://dequeuniversity.com/rules/axe/4.4/bypass)."
300
+ "message": "Adding ways to bypass repetitive content lets keyboard users navigate the page more efficiently. [Learn more about bypass blocks](https://dequeuniversity.com/rules/axe/4.4/bypass)."
301
301
  },
302
302
  "lighthouse-core/audits/accessibility/bypass.js | failureTitle": {
303
303
  "message": "The page does not contain a heading, skip link, or landmark region"
@@ -306,7 +306,7 @@
306
306
  "message": "The page contains a heading, skip link, or landmark region"
307
307
  },
308
308
  "lighthouse-core/audits/accessibility/color-contrast.js | description": {
309
- "message": "Low-contrast text is difficult or impossible for many users to read. [Learn more](https://dequeuniversity.com/rules/axe/4.4/color-contrast)."
309
+ "message": "Low-contrast text is difficult or impossible for many users to read. [Learn how to provide sufficient color contrast](https://dequeuniversity.com/rules/axe/4.4/color-contrast)."
310
310
  },
311
311
  "lighthouse-core/audits/accessibility/color-contrast.js | failureTitle": {
312
312
  "message": "Background and foreground colors do not have a sufficient contrast ratio."
@@ -315,7 +315,7 @@
315
315
  "message": "Background and foreground colors have a sufficient contrast ratio"
316
316
  },
317
317
  "lighthouse-core/audits/accessibility/definition-list.js | description": {
318
- "message": "When definition lists are not properly marked up, screen readers may produce confusing or inaccurate output. [Learn more](https://dequeuniversity.com/rules/axe/4.4/definition-list)."
318
+ "message": "When definition lists are not properly marked up, screen readers may produce confusing or inaccurate output. [Learn how to structure definition lists correctly](https://dequeuniversity.com/rules/axe/4.4/definition-list)."
319
319
  },
320
320
  "lighthouse-core/audits/accessibility/definition-list.js | failureTitle": {
321
321
  "message": "`<dl>`'s do not contain only properly-ordered `<dt>` and `<dd>` groups, `<script>`, `<template>` or `<div>` elements."
@@ -324,7 +324,7 @@
324
324
  "message": "`<dl>`'s contain only properly-ordered `<dt>` and `<dd>` groups, `<script>`, `<template>` or `<div>` elements."
325
325
  },
326
326
  "lighthouse-core/audits/accessibility/dlitem.js | description": {
327
- "message": "Definition list items (`<dt>` and `<dd>`) must be wrapped in a parent `<dl>` element to ensure that screen readers can properly announce them. [Learn more](https://dequeuniversity.com/rules/axe/4.4/dlitem)."
327
+ "message": "Definition list items (`<dt>` and `<dd>`) must be wrapped in a parent `<dl>` element to ensure that screen readers can properly announce them. [Learn how to structure definition lists correctly](https://dequeuniversity.com/rules/axe/4.4/dlitem)."
328
328
  },
329
329
  "lighthouse-core/audits/accessibility/dlitem.js | failureTitle": {
330
330
  "message": "Definition list items are not wrapped in `<dl>` elements"
@@ -333,7 +333,7 @@
333
333
  "message": "Definition list items are wrapped in `<dl>` elements"
334
334
  },
335
335
  "lighthouse-core/audits/accessibility/document-title.js | description": {
336
- "message": "The title gives screen reader users an overview of the page, and search engine users rely on it heavily to determine if a page is relevant to their search. [Learn more](https://dequeuniversity.com/rules/axe/4.4/document-title)."
336
+ "message": "The title gives screen reader users an overview of the page, and search engine users rely on it heavily to determine if a page is relevant to their search. [Learn more about document titles](https://dequeuniversity.com/rules/axe/4.4/document-title)."
337
337
  },
338
338
  "lighthouse-core/audits/accessibility/document-title.js | failureTitle": {
339
339
  "message": "Document doesn't have a `<title>` element"
@@ -342,7 +342,7 @@
342
342
  "message": "Document has a `<title>` element"
343
343
  },
344
344
  "lighthouse-core/audits/accessibility/duplicate-id-active.js | description": {
345
- "message": "All focusable elements must have a unique `id` to ensure that they're visible to assistive technologies. [Learn more](https://dequeuniversity.com/rules/axe/4.4/duplicate-id-active)."
345
+ "message": "All focusable elements must have a unique `id` to ensure that they're visible to assistive technologies. [Learn how to fix duplicate `id`s](https://dequeuniversity.com/rules/axe/4.4/duplicate-id-active)."
346
346
  },
347
347
  "lighthouse-core/audits/accessibility/duplicate-id-active.js | failureTitle": {
348
348
  "message": "`[id]` attributes on active, focusable elements are not unique"
@@ -351,7 +351,7 @@
351
351
  "message": "`[id]` attributes on active, focusable elements are unique"
352
352
  },
353
353
  "lighthouse-core/audits/accessibility/duplicate-id-aria.js | description": {
354
- "message": "The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. [Learn more](https://dequeuniversity.com/rules/axe/4.4/duplicate-id-aria)."
354
+ "message": "The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. [Learn how to fix duplicate ARIA IDs](https://dequeuniversity.com/rules/axe/4.4/duplicate-id-aria)."
355
355
  },
356
356
  "lighthouse-core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
357
357
  "message": "ARIA IDs are not unique"
@@ -360,7 +360,7 @@
360
360
  "message": "ARIA IDs are unique"
361
361
  },
362
362
  "lighthouse-core/audits/accessibility/form-field-multiple-labels.js | description": {
363
- "message": "Form fields with multiple labels can be confusingly announced by assistive technologies like screen readers which use either the first, the last, or all of the labels. [Learn more](https://dequeuniversity.com/rules/axe/4.4/form-field-multiple-labels)."
363
+ "message": "Form fields with multiple labels can be confusingly announced by assistive technologies like screen readers which use either the first, the last, or all of the labels. [Learn how to use form labels](https://dequeuniversity.com/rules/axe/4.4/form-field-multiple-labels)."
364
364
  },
365
365
  "lighthouse-core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
366
366
  "message": "Form fields have multiple labels"
@@ -369,7 +369,7 @@
369
369
  "message": "No form fields have multiple labels"
370
370
  },
371
371
  "lighthouse-core/audits/accessibility/frame-title.js | description": {
372
- "message": "Screen reader users rely on frame titles to describe the contents of frames. [Learn more](https://dequeuniversity.com/rules/axe/4.4/frame-title)."
372
+ "message": "Screen reader users rely on frame titles to describe the contents of frames. [Learn more about frame titles](https://dequeuniversity.com/rules/axe/4.4/frame-title)."
373
373
  },
374
374
  "lighthouse-core/audits/accessibility/frame-title.js | failureTitle": {
375
375
  "message": "`<frame>` or `<iframe>` elements do not have a title"
@@ -378,7 +378,7 @@
378
378
  "message": "`<frame>` or `<iframe>` elements have a title"
379
379
  },
380
380
  "lighthouse-core/audits/accessibility/heading-order.js | description": {
381
- "message": "Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. [Learn more](https://dequeuniversity.com/rules/axe/4.4/heading-order)."
381
+ "message": "Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. [Learn more about heading order](https://dequeuniversity.com/rules/axe/4.4/heading-order)."
382
382
  },
383
383
  "lighthouse-core/audits/accessibility/heading-order.js | failureTitle": {
384
384
  "message": "Heading elements are not in a sequentially-descending order"
@@ -387,7 +387,7 @@
387
387
  "message": "Heading elements appear in a sequentially-descending order"
388
388
  },
389
389
  "lighthouse-core/audits/accessibility/html-has-lang.js | description": {
390
- "message": "If a page doesn't specify a lang attribute, a screen reader assumes that the page is in the default language that the user chose when setting up the screen reader. If the page isn't actually in the default language, then the screen reader might not announce the page's text correctly. [Learn more](https://dequeuniversity.com/rules/axe/4.4/html-has-lang)."
390
+ "message": "If a page doesn't specify a `lang` attribute, a screen reader assumes that the page is in the default language that the user chose when setting up the screen reader. If the page isn't actually in the default language, then the screen reader might not announce the page's text correctly. [Learn more about the `lang` attribute](https://dequeuniversity.com/rules/axe/4.4/html-has-lang)."
391
391
  },
392
392
  "lighthouse-core/audits/accessibility/html-has-lang.js | failureTitle": {
393
393
  "message": "`<html>` element does not have a `[lang]` attribute"
@@ -396,7 +396,7 @@
396
396
  "message": "`<html>` element has a `[lang]` attribute"
397
397
  },
398
398
  "lighthouse-core/audits/accessibility/html-lang-valid.js | description": {
399
- "message": "Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) helps screen readers announce text properly. [Learn more](https://dequeuniversity.com/rules/axe/4.4/html-lang-valid)."
399
+ "message": "Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) helps screen readers announce text properly. [Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.4/html-lang-valid)."
400
400
  },
401
401
  "lighthouse-core/audits/accessibility/html-lang-valid.js | failureTitle": {
402
402
  "message": "`<html>` element does not have a valid value for its `[lang]` attribute."
@@ -405,7 +405,7 @@
405
405
  "message": "`<html>` element has a valid value for its `[lang]` attribute"
406
406
  },
407
407
  "lighthouse-core/audits/accessibility/image-alt.js | description": {
408
- "message": "Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. [Learn more](https://dequeuniversity.com/rules/axe/4.4/image-alt)."
408
+ "message": "Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. [Learn more about the `alt` attribute](https://dequeuniversity.com/rules/axe/4.4/image-alt)."
409
409
  },
410
410
  "lighthouse-core/audits/accessibility/image-alt.js | failureTitle": {
411
411
  "message": "Image elements do not have `[alt]` attributes"
@@ -414,7 +414,7 @@
414
414
  "message": "Image elements have `[alt]` attributes"
415
415
  },
416
416
  "lighthouse-core/audits/accessibility/input-image-alt.js | description": {
417
- "message": "When an image is being used as an `<input>` button, providing alternative text can help screen reader users understand the purpose of the button. [Learn more](https://dequeuniversity.com/rules/axe/4.4/input-image-alt)."
417
+ "message": "When an image is being used as an `<input>` button, providing alternative text can help screen reader users understand the purpose of the button. [Learn about input image alt text](https://dequeuniversity.com/rules/axe/4.4/input-image-alt)."
418
418
  },
419
419
  "lighthouse-core/audits/accessibility/input-image-alt.js | failureTitle": {
420
420
  "message": "`<input type=\"image\">` elements do not have `[alt]` text"
@@ -423,7 +423,7 @@
423
423
  "message": "`<input type=\"image\">` elements have `[alt]` text"
424
424
  },
425
425
  "lighthouse-core/audits/accessibility/label.js | description": {
426
- "message": "Labels ensure that form controls are announced properly by assistive technologies, like screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/label)."
426
+ "message": "Labels ensure that form controls are announced properly by assistive technologies, like screen readers. [Learn more about form element labels](https://dequeuniversity.com/rules/axe/4.4/label)."
427
427
  },
428
428
  "lighthouse-core/audits/accessibility/label.js | failureTitle": {
429
429
  "message": "Form elements do not have associated labels"
@@ -432,7 +432,7 @@
432
432
  "message": "Form elements have associated labels"
433
433
  },
434
434
  "lighthouse-core/audits/accessibility/link-name.js | description": {
435
- "message": "Link text (and alternate text for images, when used as links) that is discernible, unique, and focusable improves the navigation experience for screen reader users. [Learn more](https://dequeuniversity.com/rules/axe/4.4/link-name)."
435
+ "message": "Link text (and alternate text for images, when used as links) that is discernible, unique, and focusable improves the navigation experience for screen reader users. [Learn how to make links accessible](https://dequeuniversity.com/rules/axe/4.4/link-name)."
436
436
  },
437
437
  "lighthouse-core/audits/accessibility/link-name.js | failureTitle": {
438
438
  "message": "Links do not have a discernible name"
@@ -441,7 +441,7 @@
441
441
  "message": "Links have a discernible name"
442
442
  },
443
443
  "lighthouse-core/audits/accessibility/list.js | description": {
444
- "message": "Screen readers have a specific way of announcing lists. Ensuring proper list structure aids screen reader output. [Learn more](https://dequeuniversity.com/rules/axe/4.4/list)."
444
+ "message": "Screen readers have a specific way of announcing lists. Ensuring proper list structure aids screen reader output. [Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.4/list)."
445
445
  },
446
446
  "lighthouse-core/audits/accessibility/list.js | failureTitle": {
447
447
  "message": "Lists do not contain only `<li>` elements and script supporting elements (`<script>` and `<template>`)."
@@ -450,7 +450,7 @@
450
450
  "message": "Lists contain only `<li>` elements and script supporting elements (`<script>` and `<template>`)."
451
451
  },
452
452
  "lighthouse-core/audits/accessibility/listitem.js | description": {
453
- "message": "Screen readers require list items (`<li>`) to be contained within a parent `<ul>`, `<ol>` or `<menu>` to be announced properly. [Learn more](https://dequeuniversity.com/rules/axe/4.4/listitem)."
453
+ "message": "Screen readers require list items (`<li>`) to be contained within a parent `<ul>`, `<ol>` or `<menu>` to be announced properly. [Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.4/listitem)."
454
454
  },
455
455
  "lighthouse-core/audits/accessibility/listitem.js | failureTitle": {
456
456
  "message": "List items (`<li>`) are not contained within `<ul>`, `<ol>` or `<menu>` parent elements."
@@ -459,7 +459,7 @@
459
459
  "message": "List items (`<li>`) are contained within `<ul>`, `<ol>` or `<menu>` parent elements"
460
460
  },
461
461
  "lighthouse-core/audits/accessibility/meta-refresh.js | description": {
462
- "message": "Users do not expect a page to refresh automatically, and doing so will move focus back to the top of the page. This may create a frustrating or confusing experience. [Learn more](https://dequeuniversity.com/rules/axe/4.4/meta-refresh)."
462
+ "message": "Users do not expect a page to refresh automatically, and doing so will move focus back to the top of the page. This may create a frustrating or confusing experience. [Learn more about the refresh meta tag](https://dequeuniversity.com/rules/axe/4.4/meta-refresh)."
463
463
  },
464
464
  "lighthouse-core/audits/accessibility/meta-refresh.js | failureTitle": {
465
465
  "message": "The document uses `<meta http-equiv=\"refresh\">`"
@@ -468,7 +468,7 @@
468
468
  "message": "The document does not use `<meta http-equiv=\"refresh\">`"
469
469
  },
470
470
  "lighthouse-core/audits/accessibility/meta-viewport.js | description": {
471
- "message": "Disabling zooming is problematic for users with low vision who rely on screen magnification to properly see the contents of a web page. [Learn more](https://dequeuniversity.com/rules/axe/4.4/meta-viewport)."
471
+ "message": "Disabling zooming is problematic for users with low vision who rely on screen magnification to properly see the contents of a web page. [Learn more about the viewport meta tag](https://dequeuniversity.com/rules/axe/4.4/meta-viewport)."
472
472
  },
473
473
  "lighthouse-core/audits/accessibility/meta-viewport.js | failureTitle": {
474
474
  "message": "`[user-scalable=\"no\"]` is used in the `<meta name=\"viewport\">` element or the `[maximum-scale]` attribute is less than 5."
@@ -477,7 +477,7 @@
477
477
  "message": "`[user-scalable=\"no\"]` is not used in the `<meta name=\"viewport\">` element and the `[maximum-scale]` attribute is not less than 5."
478
478
  },
479
479
  "lighthouse-core/audits/accessibility/object-alt.js | description": {
480
- "message": "Screen readers cannot translate non-text content. Adding alternate text to `<object>` elements helps screen readers convey meaning to users. [Learn more](https://dequeuniversity.com/rules/axe/4.4/object-alt)."
480
+ "message": "Screen readers cannot translate non-text content. Adding alternate text to `<object>` elements helps screen readers convey meaning to users. [Learn more about alt text for `object` elements](https://dequeuniversity.com/rules/axe/4.4/object-alt)."
481
481
  },
482
482
  "lighthouse-core/audits/accessibility/object-alt.js | failureTitle": {
483
483
  "message": "`<object>` elements do not have alternate text"
@@ -486,7 +486,7 @@
486
486
  "message": "`<object>` elements have alternate text"
487
487
  },
488
488
  "lighthouse-core/audits/accessibility/tabindex.js | description": {
489
- "message": "A value greater than 0 implies an explicit navigation ordering. Although technically valid, this often creates frustrating experiences for users who rely on assistive technologies. [Learn more](https://dequeuniversity.com/rules/axe/4.4/tabindex)."
489
+ "message": "A value greater than 0 implies an explicit navigation ordering. Although technically valid, this often creates frustrating experiences for users who rely on assistive technologies. [Learn more about the `tabindex` attribute](https://dequeuniversity.com/rules/axe/4.4/tabindex)."
490
490
  },
491
491
  "lighthouse-core/audits/accessibility/tabindex.js | failureTitle": {
492
492
  "message": "Some elements have a `[tabindex]` value greater than 0"
@@ -495,7 +495,7 @@
495
495
  "message": "No element has a `[tabindex]` value greater than 0"
496
496
  },
497
497
  "lighthouse-core/audits/accessibility/td-headers-attr.js | description": {
498
- "message": "Screen readers have features to make navigating tables easier. Ensuring `<td>` cells using the `[headers]` attribute only refer to other cells in the same table may improve the experience for screen reader users. [Learn more](https://dequeuniversity.com/rules/axe/4.4/td-headers-attr)."
498
+ "message": "Screen readers have features to make navigating tables easier. Ensuring `<td>` cells using the `[headers]` attribute only refer to other cells in the same table may improve the experience for screen reader users. [Learn more about the `headers` attribute](https://dequeuniversity.com/rules/axe/4.4/td-headers-attr)."
499
499
  },
500
500
  "lighthouse-core/audits/accessibility/td-headers-attr.js | failureTitle": {
501
501
  "message": "Cells in a `<table>` element that use the `[headers]` attribute refer to an element `id` not found within the same table."
@@ -504,7 +504,7 @@
504
504
  "message": "Cells in a `<table>` element that use the `[headers]` attribute refer to table cells within the same table."
505
505
  },
506
506
  "lighthouse-core/audits/accessibility/th-has-data-cells.js | description": {
507
- "message": "Screen readers have features to make navigating tables easier. Ensuring table headers always refer to some set of cells may improve the experience for screen reader users. [Learn more](https://dequeuniversity.com/rules/axe/4.4/th-has-data-cells)."
507
+ "message": "Screen readers have features to make navigating tables easier. Ensuring table headers always refer to some set of cells may improve the experience for screen reader users. [Learn more about table headers](https://dequeuniversity.com/rules/axe/4.4/th-has-data-cells)."
508
508
  },
509
509
  "lighthouse-core/audits/accessibility/th-has-data-cells.js | failureTitle": {
510
510
  "message": "`<th>` elements and elements with `[role=\"columnheader\"/\"rowheader\"]` do not have data cells they describe."
@@ -513,7 +513,7 @@
513
513
  "message": "`<th>` elements and elements with `[role=\"columnheader\"/\"rowheader\"]` have data cells they describe."
514
514
  },
515
515
  "lighthouse-core/audits/accessibility/valid-lang.js | description": {
516
- "message": "Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) on elements helps ensure that text is pronounced correctly by a screen reader. [Learn more](https://dequeuniversity.com/rules/axe/4.4/valid-lang)."
516
+ "message": "Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) on elements helps ensure that text is pronounced correctly by a screen reader. [Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.4/valid-lang)."
517
517
  },
518
518
  "lighthouse-core/audits/accessibility/valid-lang.js | failureTitle": {
519
519
  "message": "`[lang]` attributes do not have a valid value"
@@ -522,7 +522,7 @@
522
522
  "message": "`[lang]` attributes have a valid value"
523
523
  },
524
524
  "lighthouse-core/audits/accessibility/video-caption.js | description": {
525
- "message": "When a video provides a caption it is easier for deaf and hearing impaired users to access its information. [Learn more](https://dequeuniversity.com/rules/axe/4.4/video-caption)."
525
+ "message": "When a video provides a caption it is easier for deaf and hearing impaired users to access its information. [Learn more about video captions](https://dequeuniversity.com/rules/axe/4.4/video-caption)."
526
526
  },
527
527
  "lighthouse-core/audits/accessibility/video-caption.js | failureTitle": {
528
528
  "message": "`<video>` elements do not contain a `<track>` element with `[kind=\"captions\"]`."
@@ -531,7 +531,7 @@
531
531
  "message": "`<video>` elements contain a `<track>` element with `[kind=\"captions\"]`"
532
532
  },
533
533
  "lighthouse-core/audits/apple-touch-icon.js | description": {
534
- "message": "For ideal appearance on iOS when users add a progressive web app to the home screen, define an `apple-touch-icon`. It must point to a non-transparent 192px (or 180px) square PNG. [Learn More](https://web.dev/apple-touch-icon/)."
534
+ "message": "For ideal appearance on iOS when users add a progressive web app to the home screen, define an `apple-touch-icon`. It must point to a non-transparent 192px (or 180px) square PNG. [Learn more about `apple-touch-icon`](https://web.dev/apple-touch-icon/)."
535
535
  },
536
536
  "lighthouse-core/audits/apple-touch-icon.js | failureTitle": {
537
537
  "message": "Does not provide a valid `apple-touch-icon`"
@@ -549,7 +549,7 @@
549
549
  "message": "Suggested Token"
550
550
  },
551
551
  "lighthouse-core/audits/autocomplete.js | description": {
552
- "message": "`autocomplete` helps users submit forms quicker. To reduce user effort, consider enabling by setting the `autocomplete` attribute to a valid value. [Learn more](https://developers.google.com/web/fundamentals/design-and-ux/input/forms#use_metadata_to_enable_auto-complete)"
552
+ "message": "`autocomplete` helps users submit forms quicker. To reduce user effort, consider enabling by setting the `autocomplete` attribute to a valid value. [Learn more about `autocomplete` in forms](https://developers.google.com/web/fundamentals/design-and-ux/input/forms#use_metadata_to_enable_auto-complete)"
553
553
  },
554
554
  "lighthouse-core/audits/autocomplete.js | failureTitle": {
555
555
  "message": "`<input>` elements do not have correct `autocomplete` attributes"
@@ -582,7 +582,7 @@
582
582
  "message": "Total CPU Time"
583
583
  },
584
584
  "lighthouse-core/audits/bootup-time.js | description": {
585
- "message": "Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. [Learn more](https://web.dev/bootup-time/)."
585
+ "message": "Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. [Learn how to reduce Javascript execution time](https://web.dev/bootup-time/)."
586
586
  },
587
587
  "lighthouse-core/audits/bootup-time.js | failureTitle": {
588
588
  "message": "Reduce JavaScript execution time"
@@ -597,37 +597,37 @@
597
597
  "message": "Remove duplicate modules in JavaScript bundles"
598
598
  },
599
599
  "lighthouse-core/audits/byte-efficiency/efficient-animated-content.js | description": {
600
- "message": "Large GIFs are inefficient for delivering animated content. Consider using MPEG4/WebM videos for animations and PNG/WebP for static images instead of GIF to save network bytes. [Learn more](https://web.dev/efficient-animated-content/)"
600
+ "message": "Large GIFs are inefficient for delivering animated content. Consider using MPEG4/WebM videos for animations and PNG/WebP for static images instead of GIF to save network bytes. [Learn more about efficient video formats](https://web.dev/efficient-animated-content/)"
601
601
  },
602
602
  "lighthouse-core/audits/byte-efficiency/efficient-animated-content.js | title": {
603
603
  "message": "Use video formats for animated content"
604
604
  },
605
605
  "lighthouse-core/audits/byte-efficiency/legacy-javascript.js | description": {
606
- "message": "Polyfills and transforms enable legacy browsers to use new JavaScript features. However, many aren't necessary for modern browsers. For your bundled JavaScript, adopt a modern script deployment strategy using module/nomodule feature detection to reduce the amount of code shipped to modern browsers, while retaining support for legacy browsers. [Learn More](https://web.dev/publish-modern-javascript/)"
606
+ "message": "Polyfills and transforms enable legacy browsers to use new JavaScript features. However, many aren't necessary for modern browsers. For your bundled JavaScript, adopt a modern script deployment strategy using module/nomodule feature detection to reduce the amount of code shipped to modern browsers, while retaining support for legacy browsers. [Learn how to use modern JavaScript](https://web.dev/publish-modern-javascript/)"
607
607
  },
608
608
  "lighthouse-core/audits/byte-efficiency/legacy-javascript.js | title": {
609
609
  "message": "Avoid serving legacy JavaScript to modern browsers"
610
610
  },
611
611
  "lighthouse-core/audits/byte-efficiency/modern-image-formats.js | description": {
612
- "message": "Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more](https://web.dev/uses-webp-images/)."
612
+ "message": "Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://web.dev/uses-webp-images/)."
613
613
  },
614
614
  "lighthouse-core/audits/byte-efficiency/modern-image-formats.js | title": {
615
615
  "message": "Serve images in next-gen formats"
616
616
  },
617
617
  "lighthouse-core/audits/byte-efficiency/offscreen-images.js | description": {
618
- "message": "Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn more](https://web.dev/offscreen-images/)."
618
+ "message": "Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://web.dev/offscreen-images/)."
619
619
  },
620
620
  "lighthouse-core/audits/byte-efficiency/offscreen-images.js | title": {
621
621
  "message": "Defer offscreen images"
622
622
  },
623
623
  "lighthouse-core/audits/byte-efficiency/render-blocking-resources.js | description": {
624
- "message": "Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn more](https://web.dev/render-blocking-resources/)."
624
+ "message": "Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://web.dev/render-blocking-resources/)."
625
625
  },
626
626
  "lighthouse-core/audits/byte-efficiency/render-blocking-resources.js | title": {
627
627
  "message": "Eliminate render-blocking resources"
628
628
  },
629
629
  "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | description": {
630
- "message": "Large network payloads cost users real money and are highly correlated with long load times. [Learn more](https://web.dev/total-byte-weight/)."
630
+ "message": "Large network payloads cost users real money and are highly correlated with long load times. [Learn how to reduce payload sizes](https://web.dev/total-byte-weight/)."
631
631
  },
632
632
  "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | displayValue": {
633
633
  "message": "Total size was {totalBytes, number, bytes} KiB"
@@ -639,31 +639,31 @@
639
639
  "message": "Avoids enormous network payloads"
640
640
  },
641
641
  "lighthouse-core/audits/byte-efficiency/unminified-css.js | description": {
642
- "message": "Minifying CSS files can reduce network payload sizes. [Learn more](https://web.dev/unminified-css/)."
642
+ "message": "Minifying CSS files can reduce network payload sizes. [Learn how to minify CSS](https://web.dev/unminified-css/)."
643
643
  },
644
644
  "lighthouse-core/audits/byte-efficiency/unminified-css.js | title": {
645
645
  "message": "Minify CSS"
646
646
  },
647
647
  "lighthouse-core/audits/byte-efficiency/unminified-javascript.js | description": {
648
- "message": "Minifying JavaScript files can reduce payload sizes and script parse time. [Learn more](https://web.dev/unminified-javascript/)."
648
+ "message": "Minifying JavaScript files can reduce payload sizes and script parse time. [Learn how to minify JavaScript](https://web.dev/unminified-javascript/)."
649
649
  },
650
650
  "lighthouse-core/audits/byte-efficiency/unminified-javascript.js | title": {
651
651
  "message": "Minify JavaScript"
652
652
  },
653
653
  "lighthouse-core/audits/byte-efficiency/unused-css-rules.js | description": {
654
- "message": "Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn more](https://web.dev/unused-css-rules/)."
654
+ "message": "Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://web.dev/unused-css-rules/)."
655
655
  },
656
656
  "lighthouse-core/audits/byte-efficiency/unused-css-rules.js | title": {
657
657
  "message": "Reduce unused CSS"
658
658
  },
659
659
  "lighthouse-core/audits/byte-efficiency/unused-javascript.js | description": {
660
- "message": "Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn more](https://web.dev/unused-javascript/)."
660
+ "message": "Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://web.dev/unused-javascript/)."
661
661
  },
662
662
  "lighthouse-core/audits/byte-efficiency/unused-javascript.js | title": {
663
663
  "message": "Reduce unused JavaScript"
664
664
  },
665
665
  "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | description": {
666
- "message": "A long cache lifetime can speed up repeat visits to your page. [Learn more](https://web.dev/uses-long-cache-ttl/)."
666
+ "message": "A long cache lifetime can speed up repeat visits to your page. [Learn more about efficient cache policies](https://web.dev/uses-long-cache-ttl/)."
667
667
  },
668
668
  "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | displayValue": {
669
669
  "message": "{itemCount, plural,\n =1 {1 resource found}\n other {# resources found}\n }"
@@ -675,7 +675,7 @@
675
675
  "message": "Uses efficient cache policy on static assets"
676
676
  },
677
677
  "lighthouse-core/audits/byte-efficiency/uses-optimized-images.js | description": {
678
- "message": "Optimized images load faster and consume less cellular data. [Learn more](https://web.dev/uses-optimized-images/)."
678
+ "message": "Optimized images load faster and consume less cellular data. [Learn how to efficiently encode images](https://web.dev/uses-optimized-images/)."
679
679
  },
680
680
  "lighthouse-core/audits/byte-efficiency/uses-optimized-images.js | title": {
681
681
  "message": "Efficiently encode images"
@@ -693,19 +693,19 @@
693
693
  "message": "Images were appropriate for their displayed size"
694
694
  },
695
695
  "lighthouse-core/audits/byte-efficiency/uses-responsive-images.js | description": {
696
- "message": "Serve images that are appropriately-sized to save cellular data and improve load time. [Learn more](https://web.dev/uses-responsive-images/)."
696
+ "message": "Serve images that are appropriately-sized to save cellular data and improve load time. [Learn how to size images](https://web.dev/uses-responsive-images/)."
697
697
  },
698
698
  "lighthouse-core/audits/byte-efficiency/uses-responsive-images.js | title": {
699
699
  "message": "Properly size images"
700
700
  },
701
701
  "lighthouse-core/audits/byte-efficiency/uses-text-compression.js | description": {
702
- "message": "Text-based resources should be served with compression (gzip, deflate or brotli) to minimize total network bytes. [Learn more](https://web.dev/uses-text-compression/)."
702
+ "message": "Text-based resources should be served with compression (gzip, deflate or brotli) to minimize total network bytes. [Learn more about text compression](https://web.dev/uses-text-compression/)."
703
703
  },
704
704
  "lighthouse-core/audits/byte-efficiency/uses-text-compression.js | title": {
705
705
  "message": "Enable text compression"
706
706
  },
707
707
  "lighthouse-core/audits/content-width.js | description": {
708
- "message": "If the width of your app's content doesn't match the width of the viewport, your app might not be optimized for mobile screens. [Learn more](https://web.dev/content-width/)."
708
+ "message": "If the width of your app's content doesn't match the width of the viewport, your app might not be optimized for mobile screens. [Learn how to size content for the viewport](https://web.dev/content-width/)."
709
709
  },
710
710
  "lighthouse-core/audits/content-width.js | explanation": {
711
711
  "message": "The viewport size of {innerWidth}px does not match the window size of {outerWidth}px."
@@ -717,7 +717,7 @@
717
717
  "message": "Content is sized correctly for the viewport"
718
718
  },
719
719
  "lighthouse-core/audits/critical-request-chains.js | description": {
720
- "message": "The Critical Request Chains below show you what resources are loaded with a high priority. Consider reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load. [Learn more](https://web.dev/critical-request-chains/)."
720
+ "message": "The Critical Request Chains below show you what resources are loaded with a high priority. Consider reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load. [Learn how to avoid chaining critical requests](https://web.dev/critical-request-chains/)."
721
721
  },
722
722
  "lighthouse-core/audits/critical-request-chains.js | displayValue": {
723
723
  "message": "{itemCount, plural,\n =1 {1 chain found}\n other {# chains found}\n }"
@@ -732,7 +732,7 @@
732
732
  "message": "Severity"
733
733
  },
734
734
  "lighthouse-core/audits/csp-xss.js | description": {
735
- "message": "A strong Content Security Policy (CSP) significantly reduces the risk of cross-site scripting (XSS) attacks. [Learn more](https://web.dev/csp-xss/)"
735
+ "message": "A strong Content Security Policy (CSP) significantly reduces the risk of cross-site scripting (XSS) attacks. [Learn how to use a CSP to prevent XSS](https://web.dev/csp-xss/)"
736
736
  },
737
737
  "lighthouse-core/audits/csp-xss.js | itemSeveritySyntax": {
738
738
  "message": "Syntax"
@@ -753,7 +753,7 @@
753
753
  "message": "Line"
754
754
  },
755
755
  "lighthouse-core/audits/deprecations.js | description": {
756
- "message": "Deprecated APIs will eventually be removed from the browser. [Learn more](https://web.dev/deprecations/)."
756
+ "message": "Deprecated APIs will eventually be removed from the browser. [Learn more about deprecated APIs](https://web.dev/deprecations/)."
757
757
  },
758
758
  "lighthouse-core/audits/deprecations.js | displayValue": {
759
759
  "message": "{itemCount, plural,\n =1 {1 warning found}\n other {# warnings found}\n }"
@@ -765,7 +765,7 @@
765
765
  "message": "Avoids deprecated APIs"
766
766
  },
767
767
  "lighthouse-core/audits/dobetterweb/charset.js | description": {
768
- "message": "A character encoding declaration is required. It can be done with a `<meta>` tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header. [Learn more](https://web.dev/charset/)."
768
+ "message": "A character encoding declaration is required. It can be done with a `<meta>` tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header. [Learn more about declaring the character encoding](https://web.dev/charset/)."
769
769
  },
770
770
  "lighthouse-core/audits/dobetterweb/charset.js | failureTitle": {
771
771
  "message": "Charset declaration is missing or occurs too late in the HTML"
@@ -774,7 +774,7 @@
774
774
  "message": "Properly defines charset"
775
775
  },
776
776
  "lighthouse-core/audits/dobetterweb/doctype.js | description": {
777
- "message": "Specifying a doctype prevents the browser from switching to quirks-mode. [Learn more](https://web.dev/doctype/)."
777
+ "message": "Specifying a doctype prevents the browser from switching to quirks-mode. [Learn more about the doctype declaration](https://web.dev/doctype/)."
778
778
  },
779
779
  "lighthouse-core/audits/dobetterweb/doctype.js | explanationBadDoctype": {
780
780
  "message": "Doctype name must be the string `html`"
@@ -804,7 +804,7 @@
804
804
  "message": "Value"
805
805
  },
806
806
  "lighthouse-core/audits/dobetterweb/dom-size.js | description": {
807
- "message": "A large DOM will increase memory usage, cause longer [style calculations](https://developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations), and produce costly [layout reflows](https://developers.google.com/speed/articles/reflow). [Learn more](https://web.dev/dom-size/)."
807
+ "message": "A large DOM will increase memory usage, cause longer [style calculations](https://developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations), 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/)."
808
808
  },
809
809
  "lighthouse-core/audits/dobetterweb/dom-size.js | displayValue": {
810
810
  "message": "{itemCount, plural,\n =1 {1 element}\n other {# elements}\n }"
@@ -825,7 +825,7 @@
825
825
  "message": "Avoids an excessive DOM size"
826
826
  },
827
827
  "lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
828
- "message": "Users are mistrustful of or confused by sites that request their location without context. Consider tying the request to a user action instead. [Learn more](https://web.dev/geolocation-on-start/)."
828
+ "message": "Users are mistrustful of or confused by sites that request their location without context. Consider tying the request to a user action instead. [Learn more about the geolocation permission](https://web.dev/geolocation-on-start/)."
829
829
  },
830
830
  "lighthouse-core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
831
831
  "message": "Requests the geolocation permission on page load"
@@ -855,13 +855,13 @@
855
855
  "message": "Version"
856
856
  },
857
857
  "lighthouse-core/audits/dobetterweb/js-libraries.js | description": {
858
- "message": "All front-end JavaScript libraries detected on the page. [Learn more](https://web.dev/js-libraries/)."
858
+ "message": "All front-end JavaScript libraries detected on the page. [Learn more about this JavaScript library detection diagnostic audit](https://web.dev/js-libraries/)."
859
859
  },
860
860
  "lighthouse-core/audits/dobetterweb/js-libraries.js | title": {
861
861
  "message": "Detected JavaScript libraries"
862
862
  },
863
863
  "lighthouse-core/audits/dobetterweb/no-document-write.js | description": {
864
- "message": "For users on slow connections, external scripts dynamically injected via `document.write()` can delay page load by tens of seconds. [Learn more](https://web.dev/no-document-write/)."
864
+ "message": "For users on slow connections, external scripts dynamically injected via `document.write()` can delay page load by tens of seconds. [Learn how to avoid document.write()](https://web.dev/no-document-write/)."
865
865
  },
866
866
  "lighthouse-core/audits/dobetterweb/no-document-write.js | failureTitle": {
867
867
  "message": "Avoid `document.write()`"
@@ -879,7 +879,7 @@
879
879
  "message": "Vulnerability Count"
880
880
  },
881
881
  "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | description": {
882
- "message": "Some third-party scripts may contain known security vulnerabilities that are easily identified and exploited by attackers. [Learn more](https://web.dev/no-vulnerable-libraries/)."
882
+ "message": "Some third-party scripts may contain known security vulnerabilities that are easily identified and exploited by attackers. [Learn more about vulnerable libraries](https://web.dev/no-vulnerable-libraries/)."
883
883
  },
884
884
  "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | displayValue": {
885
885
  "message": "{itemCount, plural,\n =1 {1 vulnerability detected}\n other {# vulnerabilities detected}\n }"
@@ -891,7 +891,7 @@
891
891
  "message": "Avoids front-end JavaScript libraries with known security vulnerabilities"
892
892
  },
893
893
  "lighthouse-core/audits/dobetterweb/notification-on-start.js | description": {
894
- "message": "Users are mistrustful of or confused by sites that request to send notifications without context. Consider tying the request to user gestures instead. [Learn more](https://web.dev/notification-on-start/)."
894
+ "message": "Users are mistrustful of or confused by sites that request to send notifications without context. Consider tying the request to user gestures instead. [Learn more about responsibly getting permission for notifications](https://web.dev/notification-on-start/)."
895
895
  },
896
896
  "lighthouse-core/audits/dobetterweb/notification-on-start.js | failureTitle": {
897
897
  "message": "Requests the notification permission on page load"
@@ -900,7 +900,7 @@
900
900
  "message": "Avoids requesting the notification permission on page load"
901
901
  },
902
902
  "lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | description": {
903
- "message": "Preventing password pasting undermines good security policy. [Learn more](https://web.dev/password-inputs-can-be-pasted-into/)."
903
+ "message": "Preventing password pasting undermines good security policy. [Learn more about user-friendly password fields](https://web.dev/password-inputs-can-be-pasted-into/)."
904
904
  },
905
905
  "lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | failureTitle": {
906
906
  "message": "Prevents users to paste into password fields"
@@ -912,7 +912,7 @@
912
912
  "message": "Protocol"
913
913
  },
914
914
  "lighthouse-core/audits/dobetterweb/uses-http2.js | description": {
915
- "message": "HTTP/2 offers many benefits over HTTP/1.1, including binary headers and multiplexing. [Learn more](https://web.dev/uses-http2/)."
915
+ "message": "HTTP/2 offers many benefits over HTTP/1.1, including binary headers and multiplexing. [Learn more about HTTP/2](https://web.dev/uses-http2/)."
916
916
  },
917
917
  "lighthouse-core/audits/dobetterweb/uses-http2.js | displayValue": {
918
918
  "message": "{itemCount, plural,\n =1 {1 request not served via HTTP/2}\n other {# requests not served via HTTP/2}\n }"
@@ -921,7 +921,7 @@
921
921
  "message": "Use HTTP/2"
922
922
  },
923
923
  "lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js | description": {
924
- "message": "Consider marking your touch and wheel event listeners as `passive` to improve your page's scroll performance. [Learn more](https://web.dev/uses-passive-event-listeners/)."
924
+ "message": "Consider marking your touch and wheel event listeners as `passive` to improve your page's scroll performance. [Learn more about adopting passive event listeners](https://web.dev/uses-passive-event-listeners/)."
925
925
  },
926
926
  "lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js | failureTitle": {
927
927
  "message": "Does not use passive listeners to improve scrolling performance"
@@ -930,7 +930,7 @@
930
930
  "message": "Uses passive listeners to improve scrolling performance"
931
931
  },
932
932
  "lighthouse-core/audits/errors-in-console.js | description": {
933
- "message": "Errors logged to the console indicate unresolved problems. They can come from network request failures and other browser concerns. [Learn more](https://web.dev/errors-in-console/)"
933
+ "message": "Errors logged to the console indicate unresolved problems. They can come from network request failures and other browser concerns. [Learn more about this errors in console diagnostic audit](https://web.dev/errors-in-console/)"
934
934
  },
935
935
  "lighthouse-core/audits/errors-in-console.js | failureTitle": {
936
936
  "message": "Browser errors were logged to the console"
@@ -939,7 +939,7 @@
939
939
  "message": "No browser errors logged to the console"
940
940
  },
941
941
  "lighthouse-core/audits/font-display.js | description": {
942
- "message": "Leverage the font-display CSS feature to ensure text is user-visible while webfonts are loading. [Learn more](https://web.dev/font-display/)."
942
+ "message": "Leverage the `font-display` CSS feature to ensure text is user-visible while webfonts are loading. [Learn more about `font-display`](https://web.dev/font-display/)."
943
943
  },
944
944
  "lighthouse-core/audits/font-display.js | failureTitle": {
945
945
  "message": "Ensure text remains visible during webfont load"
@@ -957,7 +957,7 @@
957
957
  "message": "Aspect Ratio (Displayed)"
958
958
  },
959
959
  "lighthouse-core/audits/image-aspect-ratio.js | description": {
960
- "message": "Image display dimensions should match natural aspect ratio. [Learn more](https://web.dev/image-aspect-ratio/)."
960
+ "message": "Image display dimensions should match natural aspect ratio. [Learn more about image aspect ratio](https://web.dev/image-aspect-ratio/)."
961
961
  },
962
962
  "lighthouse-core/audits/image-aspect-ratio.js | failureTitle": {
963
963
  "message": "Displays images with incorrect aspect ratio"
@@ -975,7 +975,7 @@
975
975
  "message": "Expected size"
976
976
  },
977
977
  "lighthouse-core/audits/image-size-responsive.js | description": {
978
- "message": "Image natural dimensions should be proportional to the display size and the pixel ratio to maximize image clarity. [Learn more](https://web.dev/serve-responsive-images/)."
978
+ "message": "Image natural dimensions should be proportional to the display size and the pixel ratio to maximize image clarity. [Learn how to provide responsive images](https://web.dev/serve-responsive-images/)."
979
979
  },
980
980
  "lighthouse-core/audits/image-size-responsive.js | failureTitle": {
981
981
  "message": "Serves images with low resolution"
@@ -993,7 +993,7 @@
993
993
  "message": "Failure reason"
994
994
  },
995
995
  "lighthouse-core/audits/installable-manifest.js | description": {
996
- "message": "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](https://web.dev/installable-manifest/)."
996
+ "message": "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. ' +\n '[Learn more about manifest installability requirements](https://web.dev/installable-manifest/)."
997
997
  },
998
998
  "lighthouse-core/audits/installable-manifest.js | displayValue": {
999
999
  "message": "{itemCount, plural,\n =1 {1 reason}\n other {# reasons}\n }"
@@ -1098,7 +1098,7 @@
1098
1098
  "message": "Request Resolution"
1099
1099
  },
1100
1100
  "lighthouse-core/audits/is-on-https.js | description": {
1101
- "message": "All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding [mixed content](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), where some resources are loaded over HTTP despite the initial request being served over HTTPS. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. [Learn more](https://web.dev/is-on-https/)."
1101
+ "message": "All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding [mixed content](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), where some resources are loaded over HTTP despite the initial request being served over HTTPS. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. [Learn more about HTTPS](https://web.dev/is-on-https/)."
1102
1102
  },
1103
1103
  "lighthouse-core/audits/is-on-https.js | displayValue": {
1104
1104
  "message": "{itemCount, plural,\n =1 {1 insecure request found}\n other {# insecure requests found}\n }"
@@ -1116,7 +1116,7 @@
1116
1116
  "message": "Allowed with warning"
1117
1117
  },
1118
1118
  "lighthouse-core/audits/largest-contentful-paint-element.js | description": {
1119
- "message": "This is the largest contentful element painted within the viewport. [Learn More](https://web.dev/lighthouse-largest-contentful-paint/)"
1119
+ "message": "This is the largest contentful element painted within the viewport. [Learn more about the Largest Contentful Paint element](https://web.dev/lighthouse-largest-contentful-paint/)"
1120
1120
  },
1121
1121
  "lighthouse-core/audits/largest-contentful-paint-element.js | title": {
1122
1122
  "message": "Largest Contentful Paint element"
@@ -1131,7 +1131,7 @@
1131
1131
  "message": "Avoid large layout shifts"
1132
1132
  },
1133
1133
  "lighthouse-core/audits/lcp-lazy-loaded.js | description": {
1134
- "message": "Above-the-fold images that are lazily loaded render later in the page lifecycle, which can delay the largest contentful paint. [Learn more](https://web.dev/lcp-lazy-loading/)."
1134
+ "message": "Above-the-fold images that are lazily loaded render later in the page lifecycle, which can delay the largest contentful paint. [Learn more about optimal lazy loading](https://web.dev/lcp-lazy-loading/)."
1135
1135
  },
1136
1136
  "lighthouse-core/audits/lcp-lazy-loaded.js | failureTitle": {
1137
1137
  "message": "Largest Contentful Paint image was lazily loaded"
@@ -1140,7 +1140,7 @@
1140
1140
  "message": "Largest Contentful Paint image was not lazily loaded"
1141
1141
  },
1142
1142
  "lighthouse-core/audits/long-tasks.js | description": {
1143
- "message": "Lists the longest tasks on the main thread, useful for identifying worst contributors to input delay. [Learn more](https://web.dev/long-tasks-devtools/)"
1143
+ "message": "Lists the longest tasks on the main thread, useful for identifying worst contributors to input delay. [Learn how to avoid long main-thread tasks](https://web.dev/long-tasks-devtools/)"
1144
1144
  },
1145
1145
  "lighthouse-core/audits/long-tasks.js | displayValue": {
1146
1146
  "message": "{itemCount, plural,\n =1 {# long task found}\n other {# long tasks found}\n }"
@@ -1152,7 +1152,7 @@
1152
1152
  "message": "Category"
1153
1153
  },
1154
1154
  "lighthouse-core/audits/mainthread-work-breakdown.js | description": {
1155
- "message": "Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. [Learn more](https://web.dev/mainthread-work-breakdown/)"
1155
+ "message": "Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. [Learn how to minimize main-thread work](https://web.dev/mainthread-work-breakdown/)"
1156
1156
  },
1157
1157
  "lighthouse-core/audits/mainthread-work-breakdown.js | failureTitle": {
1158
1158
  "message": "Minimize main-thread work"
@@ -1161,25 +1161,25 @@
1161
1161
  "message": "Minimizes main-thread work"
1162
1162
  },
1163
1163
  "lighthouse-core/audits/manual/pwa-cross-browser.js | description": {
1164
- "message": "To reach the most number of users, sites should work across every major browser. [Learn more](https://web.dev/pwa-cross-browser/)."
1164
+ "message": "To reach the most number of users, sites should work across every major browser. [Learn about cross-browser compatibility](https://web.dev/pwa-cross-browser/)."
1165
1165
  },
1166
1166
  "lighthouse-core/audits/manual/pwa-cross-browser.js | title": {
1167
1167
  "message": "Site works cross-browser"
1168
1168
  },
1169
1169
  "lighthouse-core/audits/manual/pwa-each-page-has-url.js | description": {
1170
- "message": "Ensure individual pages are deep linkable via URL and that URLs are unique for the purpose of shareability on social media. [Learn more](https://web.dev/pwa-each-page-has-url/)."
1170
+ "message": "Ensure individual pages are deep linkable via URL and that URLs are unique for the purpose of shareability on social media. [Learn more about providing deep links](https://web.dev/pwa-each-page-has-url/)."
1171
1171
  },
1172
1172
  "lighthouse-core/audits/manual/pwa-each-page-has-url.js | title": {
1173
1173
  "message": "Each page has a URL"
1174
1174
  },
1175
1175
  "lighthouse-core/audits/manual/pwa-page-transitions.js | description": {
1176
- "message": "Transitions should feel snappy as you tap around, even on a slow network. This experience is key to a user's perception of performance. [Learn more](https://web.dev/pwa-page-transitions/)."
1176
+ "message": "Transitions should feel snappy as you tap around, even on a slow network. This experience is key to a user's perception of performance. [Learn more about page transitions](https://web.dev/pwa-page-transitions/)."
1177
1177
  },
1178
1178
  "lighthouse-core/audits/manual/pwa-page-transitions.js | title": {
1179
1179
  "message": "Page transitions don't feel like they block on the network"
1180
1180
  },
1181
1181
  "lighthouse-core/audits/maskable-icon.js | description": {
1182
- "message": "A maskable icon ensures that the image fills the entire shape without being letterboxed when installing the app on a device. [Learn more](https://web.dev/maskable-icon-audit/)."
1182
+ "message": "A maskable icon ensures that the image fills the entire shape without being letterboxed when installing the app on a device. [Learn about maskable manifest icons](https://web.dev/maskable-icon-audit/)."
1183
1183
  },
1184
1184
  "lighthouse-core/audits/maskable-icon.js | failureTitle": {
1185
1185
  "message": "Manifest doesn't have a maskable icon"
@@ -1188,46 +1188,46 @@
1188
1188
  "message": "Manifest has a maskable icon"
1189
1189
  },
1190
1190
  "lighthouse-core/audits/metrics/cumulative-layout-shift.js | description": {
1191
- "message": "Cumulative Layout Shift measures the movement of visible elements within the viewport. [Learn more](https://web.dev/cls/)."
1191
+ "message": "Cumulative Layout Shift measures the movement of visible elements within the viewport. [Learn more about the Cumulative Layout Shift metric](https://web.dev/cls/)."
1192
1192
  },
1193
1193
  "lighthouse-core/audits/metrics/experimental-interaction-to-next-paint.js | description": {
1194
- "message": "Interaction to Next Paint measures page responsiveness, how long it takes the page to visibly respond to user input. [Learn more](https://web.dev/inp/)."
1194
+ "message": "Interaction to Next Paint measures page responsiveness, how long it takes the page to visibly respond to user input. [Learn more about the Interaction to Next Paint metric](https://web.dev/inp/)."
1195
1195
  },
1196
1196
  "lighthouse-core/audits/metrics/first-contentful-paint.js | description": {
1197
- "message": "First Contentful Paint marks the time at which the first text or image is painted. [Learn more](https://web.dev/first-contentful-paint/)."
1197
+ "message": "First Contentful Paint marks the time at which the first text or image is painted. [Learn more about the First Contentful Paint metric](https://web.dev/first-contentful-paint/)."
1198
1198
  },
1199
1199
  "lighthouse-core/audits/metrics/first-meaningful-paint.js | description": {
1200
- "message": "First Meaningful Paint measures when the primary content of a page is visible. [Learn more](https://web.dev/first-meaningful-paint/)."
1200
+ "message": "First Meaningful Paint measures when the primary content of a page is visible. [Learn more about the First Meaningful Paint metric](https://web.dev/first-meaningful-paint/)."
1201
1201
  },
1202
1202
  "lighthouse-core/audits/metrics/interactive.js | description": {
1203
- "message": "Time to interactive is the amount of time it takes for the page to become fully interactive. [Learn more](https://web.dev/interactive/)."
1203
+ "message": "Time to Interactive is the amount of time it takes for the page to become fully interactive. [Learn more about the Time to Interactive metric](https://web.dev/interactive/)."
1204
1204
  },
1205
1205
  "lighthouse-core/audits/metrics/largest-contentful-paint.js | description": {
1206
- "message": "Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more](https://web.dev/lighthouse-largest-contentful-paint/)"
1206
+ "message": "Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://web.dev/lighthouse-largest-contentful-paint/)"
1207
1207
  },
1208
1208
  "lighthouse-core/audits/metrics/max-potential-fid.js | description": {
1209
- "message": "The maximum potential First Input Delay that your users could experience is the duration of the longest task. [Learn more](https://web.dev/lighthouse-max-potential-fid/)."
1209
+ "message": "The maximum potential First Input Delay that your users could experience is the duration of the longest task. [Learn more about the Maximum Potential First Input Delay metric](https://web.dev/lighthouse-max-potential-fid/)."
1210
1210
  },
1211
1211
  "lighthouse-core/audits/metrics/speed-index.js | description": {
1212
- "message": "Speed Index shows how quickly the contents of a page are visibly populated. [Learn more](https://web.dev/speed-index/)."
1212
+ "message": "Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://web.dev/speed-index/)."
1213
1213
  },
1214
1214
  "lighthouse-core/audits/metrics/total-blocking-time.js | description": {
1215
- "message": "Sum of all time periods between FCP and Time to Interactive, when task length exceeded 50ms, expressed in milliseconds. [Learn more](https://web.dev/lighthouse-total-blocking-time/)."
1215
+ "message": "Sum of all time periods between FCP and Time to Interactive, when task length exceeded 50ms, expressed in milliseconds. [Learn more about the Total Blocking Time metric](https://web.dev/lighthouse-total-blocking-time/)."
1216
1216
  },
1217
1217
  "lighthouse-core/audits/network-rtt.js | description": {
1218
- "message": "Network round trip times (RTT) have a large impact on performance. If the RTT to an origin is high, it's an indication that servers closer to the user could improve performance. [Learn more](https://hpbn.co/primer-on-latency-and-bandwidth/)."
1218
+ "message": "Network round trip times (RTT) have a large impact on performance. If the RTT to an origin is high, it's an indication that servers closer to the user could improve performance. [Learn more about the Round Trip Time](https://hpbn.co/primer-on-latency-and-bandwidth/)."
1219
1219
  },
1220
1220
  "lighthouse-core/audits/network-rtt.js | title": {
1221
1221
  "message": "Network Round Trip Times"
1222
1222
  },
1223
1223
  "lighthouse-core/audits/network-server-latency.js | description": {
1224
- "message": "Server latencies can impact web performance. If the server latency of an origin is high, it's an indication the server is overloaded or has poor backend performance. [Learn more](https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall)."
1224
+ "message": "Server latencies can impact web performance. If the server latency of an origin is high, it's an indication the server is overloaded or has poor backend performance. [Learn more about server response time](https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall)."
1225
1225
  },
1226
1226
  "lighthouse-core/audits/network-server-latency.js | title": {
1227
1227
  "message": "Server Backend Latencies"
1228
1228
  },
1229
1229
  "lighthouse-core/audits/no-unload-listeners.js | description": {
1230
- "message": "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)"
1230
+ "message": "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)"
1231
1231
  },
1232
1232
  "lighthouse-core/audits/no-unload-listeners.js | failureTitle": {
1233
1233
  "message": "Registers an `unload` listener"
@@ -1236,7 +1236,7 @@
1236
1236
  "message": "Avoids `unload` event listeners"
1237
1237
  },
1238
1238
  "lighthouse-core/audits/non-composited-animations.js | description": {
1239
- "message": "Animations which are not composited can be janky and increase CLS. [Learn more](https://web.dev/non-composited-animations)"
1239
+ "message": "Animations which are not composited can be janky and increase CLS. [Learn how to avoid non-composited animations](https://web.dev/non-composited-animations)"
1240
1240
  },
1241
1241
  "lighthouse-core/audits/non-composited-animations.js | displayValue": {
1242
1242
  "message": "{itemCount, plural,\n =1 {# animated element found}\n other {# animated elements found}\n }"
@@ -1263,7 +1263,7 @@
1263
1263
  "message": "Effect has unsupported timing parameters"
1264
1264
  },
1265
1265
  "lighthouse-core/audits/performance-budget.js | description": {
1266
- "message": "Keep the quantity and size of network requests under the targets set by the provided performance budget. [Learn more](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
1266
+ "message": "Keep the quantity and size of network requests under the targets set by the provided performance budget. [Learn more about performance budgets](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
1267
1267
  },
1268
1268
  "lighthouse-core/audits/performance-budget.js | requestCountOverBudget": {
1269
1269
  "message": "{count, plural,\n =1 {1 request}\n other {# requests}\n }"
@@ -1272,7 +1272,7 @@
1272
1272
  "message": "Performance budget"
1273
1273
  },
1274
1274
  "lighthouse-core/audits/preload-fonts.js | description": {
1275
- "message": "Preload `optional` fonts so first-time visitors may use them. [Learn more](https://web.dev/preload-optional-fonts/)"
1275
+ "message": "Preload `optional` fonts so first-time visitors may use them. [Learn more about preloading fonts](https://web.dev/preload-optional-fonts/)"
1276
1276
  },
1277
1277
  "lighthouse-core/audits/preload-fonts.js | failureTitle": {
1278
1278
  "message": "Fonts with `font-display: optional` are not preloaded"
@@ -1281,19 +1281,19 @@
1281
1281
  "message": "Fonts with `font-display: optional` are preloaded"
1282
1282
  },
1283
1283
  "lighthouse-core/audits/preload-lcp-image.js | description": {
1284
- "message": "If the LCP element is dynamically added to the page, you should preload the image in order to improve LCP. [Learn more](https://web.dev/optimize-lcp/#preload-important-resources)."
1284
+ "message": "If the LCP element is dynamically added to the page, you should preload the image in order to improve LCP. [Learn more about preloading LCP elements](https://web.dev/optimize-lcp/#preload-important-resources)."
1285
1285
  },
1286
1286
  "lighthouse-core/audits/preload-lcp-image.js | title": {
1287
1287
  "message": "Preload Largest Contentful Paint image"
1288
1288
  },
1289
1289
  "lighthouse-core/audits/redirects.js | description": {
1290
- "message": "Redirects introduce additional delays before the page can be loaded. [Learn more](https://web.dev/redirects/)."
1290
+ "message": "Redirects introduce additional delays before the page can be loaded. [Learn how to avoid page redirects](https://web.dev/redirects/)."
1291
1291
  },
1292
1292
  "lighthouse-core/audits/redirects.js | title": {
1293
1293
  "message": "Avoid multiple page redirects"
1294
1294
  },
1295
1295
  "lighthouse-core/audits/resource-summary.js | description": {
1296
- "message": "To set budgets for the quantity and size of page resources, add a budget.json file. [Learn more](https://web.dev/use-lighthouse-for-performance-budgets/)."
1296
+ "message": "To set budgets for the quantity and size of page resources, add a budget.json file. [Learn more about performance budgets](https://web.dev/use-lighthouse-for-performance-budgets/)."
1297
1297
  },
1298
1298
  "lighthouse-core/audits/resource-summary.js | displayValue": {
1299
1299
  "message": "{requestCount, plural, =1 {1 request • {byteCount, number, bytes} KiB} other {# requests • {byteCount, number, bytes} KiB}}"
@@ -1302,7 +1302,7 @@
1302
1302
  "message": "Keep request counts low and transfer sizes small"
1303
1303
  },
1304
1304
  "lighthouse-core/audits/seo/canonical.js | description": {
1305
- "message": "Canonical links suggest which URL to show in search results. [Learn more](https://web.dev/canonical/)."
1305
+ "message": "Canonical links suggest which URL to show in search results. [Learn more about canonical links](https://web.dev/canonical/)."
1306
1306
  },
1307
1307
  "lighthouse-core/audits/seo/canonical.js | explanationConflict": {
1308
1308
  "message": "Multiple conflicting URLs ({urlList})"
@@ -1329,7 +1329,7 @@
1329
1329
  "message": "Uncrawlable Link"
1330
1330
  },
1331
1331
  "lighthouse-core/audits/seo/crawlable-anchors.js | description": {
1332
- "message": "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)"
1332
+ "message": "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)"
1333
1333
  },
1334
1334
  "lighthouse-core/audits/seo/crawlable-anchors.js | failureTitle": {
1335
1335
  "message": "Links are not crawlable"
@@ -1350,7 +1350,7 @@
1350
1350
  "message": "Selector"
1351
1351
  },
1352
1352
  "lighthouse-core/audits/seo/font-size.js | description": {
1353
- "message": "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/)."
1353
+ "message": "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/)."
1354
1354
  },
1355
1355
  "lighthouse-core/audits/seo/font-size.js | displayValue": {
1356
1356
  "message": "{decimalProportion, number, extendedPercent} legible text"
@@ -1368,7 +1368,7 @@
1368
1368
  "message": "Document uses legible font sizes"
1369
1369
  },
1370
1370
  "lighthouse-core/audits/seo/hreflang.js | description": {
1371
- "message": "hreflang links tell search engines what version of a page they should list in search results for a given language or region. [Learn more](https://web.dev/hreflang/)."
1371
+ "message": "hreflang links tell search engines what version of a page they should list in search results for a given language or region. [Learn more about `hreflang`](https://web.dev/hreflang/)."
1372
1372
  },
1373
1373
  "lighthouse-core/audits/seo/hreflang.js | failureTitle": {
1374
1374
  "message": "Document doesn't have a valid `hreflang`"
@@ -1383,7 +1383,7 @@
1383
1383
  "message": "Unexpected language code"
1384
1384
  },
1385
1385
  "lighthouse-core/audits/seo/http-status-code.js | description": {
1386
- "message": "Pages with unsuccessful HTTP status codes may not be indexed properly. [Learn more](https://web.dev/http-status-code/)."
1386
+ "message": "Pages with unsuccessful HTTP status codes may not be indexed properly. [Learn more about HTTP status codes](https://web.dev/http-status-code/)."
1387
1387
  },
1388
1388
  "lighthouse-core/audits/seo/http-status-code.js | failureTitle": {
1389
1389
  "message": "Page has unsuccessful HTTP status code"
@@ -1392,7 +1392,7 @@
1392
1392
  "message": "Page has successful HTTP status code"
1393
1393
  },
1394
1394
  "lighthouse-core/audits/seo/is-crawlable.js | description": {
1395
- "message": "Search engines are unable to include your pages in search results if they don't have permission to crawl them. [Learn more](https://web.dev/is-crawable/)."
1395
+ "message": "Search engines are unable to include your pages in search results if they don't have permission to crawl them. [Learn more about crawler directives](https://web.dev/is-crawable/)."
1396
1396
  },
1397
1397
  "lighthouse-core/audits/seo/is-crawlable.js | failureTitle": {
1398
1398
  "message": "Page is blocked from indexing"
@@ -1401,7 +1401,7 @@
1401
1401
  "message": "Page isn’t blocked from indexing"
1402
1402
  },
1403
1403
  "lighthouse-core/audits/seo/link-text.js | description": {
1404
- "message": "Descriptive link text helps search engines understand your content. [Learn more](https://web.dev/link-text/)."
1404
+ "message": "Descriptive link text helps search engines understand your content. [Learn how to make links more accessible](https://web.dev/link-text/)."
1405
1405
  },
1406
1406
  "lighthouse-core/audits/seo/link-text.js | displayValue": {
1407
1407
  "message": "{itemCount, plural,\n =1 {1 link found}\n other {# links found}\n }"
@@ -1413,13 +1413,13 @@
1413
1413
  "message": "Links have descriptive text"
1414
1414
  },
1415
1415
  "lighthouse-core/audits/seo/manual/structured-data.js | description": {
1416
- "message": "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/)."
1416
+ "message": "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/)."
1417
1417
  },
1418
1418
  "lighthouse-core/audits/seo/manual/structured-data.js | title": {
1419
1419
  "message": "Structured data is valid"
1420
1420
  },
1421
1421
  "lighthouse-core/audits/seo/meta-description.js | description": {
1422
- "message": "Meta descriptions may be included in search results to concisely summarize page content. [Learn more](https://web.dev/meta-description/)."
1422
+ "message": "Meta descriptions may be included in search results to concisely summarize page content. [Learn more about the meta description](https://web.dev/meta-description/)."
1423
1423
  },
1424
1424
  "lighthouse-core/audits/seo/meta-description.js | explanation": {
1425
1425
  "message": "Description text is empty."
@@ -1431,7 +1431,7 @@
1431
1431
  "message": "Document has a meta description"
1432
1432
  },
1433
1433
  "lighthouse-core/audits/seo/plugins.js | description": {
1434
- "message": "Search engines can't index plugin content, and many devices restrict plugins or don't support them. [Learn more](https://web.dev/plugins/)."
1434
+ "message": "Search engines can't index plugin content, and many devices restrict plugins or don't support them. [Learn more about avoiding plugins](https://web.dev/plugins/)."
1435
1435
  },
1436
1436
  "lighthouse-core/audits/seo/plugins.js | failureTitle": {
1437
1437
  "message": "Document uses plugins"
@@ -1440,7 +1440,7 @@
1440
1440
  "message": "Document avoids plugins"
1441
1441
  },
1442
1442
  "lighthouse-core/audits/seo/robots-txt.js | description": {
1443
- "message": "If your robots.txt file is malformed, crawlers may not be able to understand how you want your website to be crawled or indexed. [Learn more](https://web.dev/robots-txt/)."
1443
+ "message": "If your robots.txt file is malformed, crawlers may not be able to understand how you want your website to be crawled or indexed. [Learn more about robots.txt](https://web.dev/robots-txt/)."
1444
1444
  },
1445
1445
  "lighthouse-core/audits/seo/robots-txt.js | displayValueHttpBadCode": {
1446
1446
  "message": "Request for robots.txt returned HTTP status: {statusCode}"
@@ -1458,7 +1458,7 @@
1458
1458
  "message": "robots.txt is valid"
1459
1459
  },
1460
1460
  "lighthouse-core/audits/seo/tap-targets.js | description": {
1461
- "message": "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/)."
1461
+ "message": "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/)."
1462
1462
  },
1463
1463
  "lighthouse-core/audits/seo/tap-targets.js | displayValue": {
1464
1464
  "message": "{decimalProportion, number, percent} appropriately sized tap targets"
@@ -1479,7 +1479,7 @@
1479
1479
  "message": "Tap targets are sized appropriately"
1480
1480
  },
1481
1481
  "lighthouse-core/audits/server-response-time.js | description": {
1482
- "message": "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/)."
1482
+ "message": "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/)."
1483
1483
  },
1484
1484
  "lighthouse-core/audits/server-response-time.js | displayValue": {
1485
1485
  "message": "Root document took {timeInMs, number, milliseconds} ms"
@@ -1491,7 +1491,7 @@
1491
1491
  "message": "Initial server response time was short"
1492
1492
  },
1493
1493
  "lighthouse-core/audits/service-worker.js | description": {
1494
- "message": "The 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. [Learn more](https://web.dev/service-worker/)."
1494
+ "message": "The 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. [Learn more about Service Workers](https://web.dev/service-worker/)."
1495
1495
  },
1496
1496
  "lighthouse-core/audits/service-worker.js | explanationBadManifest": {
1497
1497
  "message": "This page is controlled by a service worker, however no `start_url` was found because manifest failed to parse as valid JSON"
@@ -1512,7 +1512,7 @@
1512
1512
  "message": "Registers a service worker that controls page and `start_url`"
1513
1513
  },
1514
1514
  "lighthouse-core/audits/splash-screen.js | description": {
1515
- "message": "A themed splash screen ensures a high-quality experience when users launch your app from their homescreens. [Learn more](https://web.dev/splash-screen/)."
1515
+ "message": "A themed splash screen ensures a high-quality experience when users launch your app from their homescreens. [Learn more about splash screens](https://web.dev/splash-screen/)."
1516
1516
  },
1517
1517
  "lighthouse-core/audits/splash-screen.js | failureTitle": {
1518
1518
  "message": "Is not configured for a custom splash screen"
@@ -1521,7 +1521,7 @@
1521
1521
  "message": "Configured for a custom splash screen"
1522
1522
  },
1523
1523
  "lighthouse-core/audits/themed-omnibox.js | description": {
1524
- "message": "The browser address bar can be themed to match your site. [Learn more](https://web.dev/themed-omnibox/)."
1524
+ "message": "The browser address bar can be themed to match your site. [Learn more about theming the address bar](https://web.dev/themed-omnibox/)."
1525
1525
  },
1526
1526
  "lighthouse-core/audits/themed-omnibox.js | failureTitle": {
1527
1527
  "message": "Does not set a theme color for the address bar."
@@ -1545,7 +1545,7 @@
1545
1545
  "message": "Product"
1546
1546
  },
1547
1547
  "lighthouse-core/audits/third-party-facades.js | description": {
1548
- "message": "Some third-party embeds can be lazy loaded. Consider replacing them with a facade until they are required. [Learn more](https://web.dev/third-party-facades/)."
1548
+ "message": "Some third-party embeds can be lazy loaded. Consider replacing them with a facade until they are required. [Learn how to defer third-parties with a facade](https://web.dev/third-party-facades/)."
1549
1549
  },
1550
1550
  "lighthouse-core/audits/third-party-facades.js | displayValue": {
1551
1551
  "message": "{itemCount, plural,\n =1 {# facade alternative available}\n other {# facade alternatives available}\n }"
@@ -1560,7 +1560,7 @@
1560
1560
  "message": "Third-Party"
1561
1561
  },
1562
1562
  "lighthouse-core/audits/third-party-summary.js | description": {
1563
- "message": "Third-party code can significantly impact load performance. Limit the number of redundant third-party providers and try to load third-party code after your page has primarily finished loading. [Learn more](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/)."
1563
+ "message": "Third-party code can significantly impact load performance. Limit the number of redundant third-party providers and try to load third-party code after your page has primarily finished loading. [Learn how to minimize third-party impact](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/)."
1564
1564
  },
1565
1565
  "lighthouse-core/audits/third-party-summary.js | displayValue": {
1566
1566
  "message": "Third-party code blocked the main thread for {timeInMs, number, milliseconds} ms"
@@ -1578,13 +1578,13 @@
1578
1578
  "message": "Metric"
1579
1579
  },
1580
1580
  "lighthouse-core/audits/timing-budget.js | description": {
1581
- "message": "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)."
1581
+ "message": "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)."
1582
1582
  },
1583
1583
  "lighthouse-core/audits/timing-budget.js | title": {
1584
1584
  "message": "Timing budget"
1585
1585
  },
1586
1586
  "lighthouse-core/audits/unsized-images.js | description": {
1587
- "message": "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)"
1587
+ "message": "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)"
1588
1588
  },
1589
1589
  "lighthouse-core/audits/unsized-images.js | failureTitle": {
1590
1590
  "message": "Image elements do not have explicit `width` and `height`"
@@ -1596,7 +1596,7 @@
1596
1596
  "message": "Type"
1597
1597
  },
1598
1598
  "lighthouse-core/audits/user-timings.js | description": {
1599
- "message": "Consider instrumenting your app with the User Timing API to measure your app's real-world performance during key user experiences. [Learn more](https://web.dev/user-timings/)."
1599
+ "message": "Consider instrumenting your app with the User Timing API to measure your app's real-world performance during key user experiences. [Learn more about User Timing marks](https://web.dev/user-timings/)."
1600
1600
  },
1601
1601
  "lighthouse-core/audits/user-timings.js | displayValue": {
1602
1602
  "message": "{itemCount, plural,\n =1 {1 user timing}\n other {# user timings}\n }"
@@ -1608,7 +1608,7 @@
1608
1608
  "message": "A `<link rel=preconnect>` was found for \"{securityOrigin}\" but was not used by the browser. Check that you are using the `crossorigin` attribute properly."
1609
1609
  },
1610
1610
  "lighthouse-core/audits/uses-rel-preconnect.js | description": {
1611
- "message": "Consider adding `preconnect` or `dns-prefetch` resource hints to establish early connections to important third-party origins. [Learn more](https://web.dev/uses-rel-preconnect/)."
1611
+ "message": "Consider adding `preconnect` or `dns-prefetch` resource hints to establish early connections to important third-party origins. [Learn how to preconnect to required origins](https://web.dev/uses-rel-preconnect/)."
1612
1612
  },
1613
1613
  "lighthouse-core/audits/uses-rel-preconnect.js | title": {
1614
1614
  "message": "Preconnect to required origins"
@@ -1623,7 +1623,7 @@
1623
1623
  "message": "A preload `<link>` was found for \"{preloadURL}\" but was not used by the browser. Check that you are using the `crossorigin` attribute properly."
1624
1624
  },
1625
1625
  "lighthouse-core/audits/uses-rel-preload.js | description": {
1626
- "message": "Consider using `<link rel=preload>` to prioritize fetching resources that are currently requested later in page load. [Learn more](https://web.dev/uses-rel-preload/)."
1626
+ "message": "Consider using `<link rel=preload>` to prioritize fetching resources that are currently requested later in page load. [Learn how to preload key requests](https://web.dev/uses-rel-preload/)."
1627
1627
  },
1628
1628
  "lighthouse-core/audits/uses-rel-preload.js | title": {
1629
1629
  "message": "Preload key requests"
@@ -1632,7 +1632,7 @@
1632
1632
  "message": "Map URL"
1633
1633
  },
1634
1634
  "lighthouse-core/audits/valid-source-maps.js | description": {
1635
- "message": "Source maps translate minified code to the original source code. This helps developers debug in production. In addition, Lighthouse is able to provide further insights. Consider deploying source maps to take advantage of these benefits. [Learn more](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps)."
1635
+ "message": "Source maps translate minified code to the original source code. This helps developers debug in production. In addition, Lighthouse is able to provide further insights. Consider deploying source maps to take advantage of these benefits. [Learn more about source maps](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps)."
1636
1636
  },
1637
1637
  "lighthouse-core/audits/valid-source-maps.js | failureTitle": {
1638
1638
  "message": "Missing source maps for large first-party JavaScript"
@@ -1647,7 +1647,7 @@
1647
1647
  "message": "Page has valid source maps"
1648
1648
  },
1649
1649
  "lighthouse-core/audits/viewport.js | description": {
1650
- "message": "A `<meta name=\"viewport\">` not only optimizes your app for mobile screen sizes, but also prevents [a 300 millisecond delay to user input](https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away). [Learn more](https://web.dev/viewport/)."
1650
+ "message": "A `<meta name=\"viewport\">` not only optimizes your app for mobile screen sizes, but also prevents [a 300 millisecond delay to user input](https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away). [Learn more about using the viewport meta tag](https://web.dev/viewport/)."
1651
1651
  },
1652
1652
  "lighthouse-core/audits/viewport.js | explanationNoTag": {
1653
1653
  "message": "No `<meta name=\"viewport\">` tag found"
@@ -1659,7 +1659,7 @@
1659
1659
  "message": "Has a `<meta name=\"viewport\">` tag with `width` or `initial-scale`"
1660
1660
  },
1661
1661
  "lighthouse-core/audits/work-during-interaction.js | description": {
1662
- "message": "This is the thread-blocking work occurring during the Interaction to Next Paint measurement. [Learn more](https://web.dev/inp/)."
1662
+ "message": "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/)."
1663
1663
  },
1664
1664
  "lighthouse-core/audits/work-during-interaction.js | displayValue": {
1665
1665
  "message": "{timeInMs, number, milliseconds} ms spent on event '{interactionType}'"
@@ -1901,6 +1901,138 @@
1901
1901
  "lighthouse-core/lib/csp-evaluator.js | unsafeInlineFallback": {
1902
1902
  "message": "Consider adding 'unsafe-inline' (ignored by browsers supporting nonces/hashes) to be backward compatible with older browsers."
1903
1903
  },
1904
+ "lighthouse-core/lib/deprecations-strings.js | authorizationCoveredByWildcard": {
1905
+ "message": "Authorization will not be covered by the wildcard symbol (*) in CORS `Access-Control-Allow-Headers` handling."
1906
+ },
1907
+ "lighthouse-core/lib/deprecations-strings.js | canRequestURLHTTPContainingNewline": {
1908
+ "message": "Resource requests whose URLs contained both removed whitespace `(n|r|t)` characters and less-than characters (`<`) are blocked. Please remove newlines and encode less-than characters from places like element attribute values in order to load these resources."
1909
+ },
1910
+ "lighthouse-core/lib/deprecations-strings.js | chromeLoadTimesConnectionInfo": {
1911
+ "message": "`chrome.loadTimes()` is deprecated, instead use standardized API: Navigation Timing 2."
1912
+ },
1913
+ "lighthouse-core/lib/deprecations-strings.js | chromeLoadTimesFirstPaintAfterLoadTime": {
1914
+ "message": "`chrome.loadTimes()` is deprecated, instead use standardized API: Paint Timing."
1915
+ },
1916
+ "lighthouse-core/lib/deprecations-strings.js | chromeLoadTimesWasAlternateProtocolAvailable": {
1917
+ "message": "`chrome.loadTimes()` is deprecated, instead use standardized API: `nextHopProtocol` in Navigation Timing 2."
1918
+ },
1919
+ "lighthouse-core/lib/deprecations-strings.js | cookieWithTruncatingChar": {
1920
+ "message": "Cookies containing a `(0|r|n)` character will be rejected instead of truncated."
1921
+ },
1922
+ "lighthouse-core/lib/deprecations-strings.js | crossOriginAccessBasedOnDocumentDomain": {
1923
+ "message": "Relaxing the same-origin policy by setting `document.domain` is deprecated, and will be disabled by default. This deprecation warning is for a cross-origin access that was enabled by setting `document.domain`."
1924
+ },
1925
+ "lighthouse-core/lib/deprecations-strings.js | crossOriginWindowApi": {
1926
+ "message": "Triggering {PH1} from cross origin iframes has been deprecated and will be removed in the future."
1927
+ },
1928
+ "lighthouse-core/lib/deprecations-strings.js | cssSelectorInternalMediaControlsOverlayCastButton": {
1929
+ "message": "The `disableRemotePlayback` attribute should be used in order to disable the default Cast integration instead of using `-internal-media-controls-overlay-cast-button` selector."
1930
+ },
1931
+ "lighthouse-core/lib/deprecations-strings.js | deprecatedWithReplacement": {
1932
+ "message": "{PH1} is deprecated. Please use {PH2} instead."
1933
+ },
1934
+ "lighthouse-core/lib/deprecations-strings.js | deprecationExample": {
1935
+ "message": "This is an example of a translated deprecation issue message."
1936
+ },
1937
+ "lighthouse-core/lib/deprecations-strings.js | documentDomainSettingWithoutOriginAgentClusterHeader": {
1938
+ "message": "Relaxing the same-origin policy by setting `document.domain` is deprecated, and will be disabled by default. To continue using this feature, please opt-out of origin-keyed agent clusters by sending an `Origin-Agent-Cluster: ?0` header along with the HTTP response for the document and frames. See https://developer.chrome.com/blog/immutable-document-domain/ for more details."
1939
+ },
1940
+ "lighthouse-core/lib/deprecations-strings.js | eventPath": {
1941
+ "message": "`Event.path` is deprecated and will be removed. Please use `Event.composedPath()` instead."
1942
+ },
1943
+ "lighthouse-core/lib/deprecations-strings.js | feature": {
1944
+ "message": "Check the feature status page for more details."
1945
+ },
1946
+ "lighthouse-core/lib/deprecations-strings.js | geolocationInsecureOrigin": {
1947
+ "message": "`getCurrentPosition()` and `watchPosition()` no longer work on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
1948
+ },
1949
+ "lighthouse-core/lib/deprecations-strings.js | geolocationInsecureOriginDeprecatedNotRemoved": {
1950
+ "message": "`getCurrentPosition()` and `watchPosition()` are deprecated on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
1951
+ },
1952
+ "lighthouse-core/lib/deprecations-strings.js | getUserMediaInsecureOrigin": {
1953
+ "message": "`getUserMedia()` no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
1954
+ },
1955
+ "lighthouse-core/lib/deprecations-strings.js | hostCandidateAttributeGetter": {
1956
+ "message": "`RTCPeerConnectionIceErrorEvent.hostCandidate` is deprecated. Please use `RTCPeerConnectionIceErrorEvent.address` or `RTCPeerConnectionIceErrorEvent.port` instead."
1957
+ },
1958
+ "lighthouse-core/lib/deprecations-strings.js | insecurePrivateNetworkSubresourceRequest": {
1959
+ "message": "The website requested a subresource from a network that it could only access because of its users' privileged network position. These requests expose non-public devices and servers to the internet, increasing the risk of a cross-site request forgery (CSRF) attack, and/or information leakage. To mitigate these risks, Chrome deprecates requests to non-public subresources when initiated from non-secure contexts, and will start blocking them."
1960
+ },
1961
+ "lighthouse-core/lib/deprecations-strings.js | legacyConstraintGoogIPv6": {
1962
+ "message": "IPv6 is enabled-by-default and the ability to disable it using `googIPv6` is targeted to be removed in M108, after which it will be ignored. Please stop using this legacy constraint."
1963
+ },
1964
+ "lighthouse-core/lib/deprecations-strings.js | localCSSFileExtensionRejected": {
1965
+ "message": "CSS cannot be loaded from `file:` URLs unless they end in a `.css` file extension."
1966
+ },
1967
+ "lighthouse-core/lib/deprecations-strings.js | mediaSourceAbortRemove": {
1968
+ "message": "Using `SourceBuffer.abort()` to abort `remove()`'s asynchronous range removal is deprecated due to specification change. Support will be removed in the future. You should listen to the `updateend` event instead. `abort()` is intended to only abort an asynchronous media append or reset parser state."
1969
+ },
1970
+ "lighthouse-core/lib/deprecations-strings.js | mediaSourceDurationTruncatingBuffered": {
1971
+ "message": "Setting `MediaSource.duration` below the highest presentation timestamp of any buffered coded frames is deprecated due to specification change. Support for implicit removal of truncated buffered media will be removed in the future. You should instead perform explicit `remove(newDuration, oldDuration)` on all `sourceBuffers`, where `newDuration < oldDuration`."
1972
+ },
1973
+ "lighthouse-core/lib/deprecations-strings.js | milestone": {
1974
+ "message": "This change will go into effect with milestone {milestone}."
1975
+ },
1976
+ "lighthouse-core/lib/deprecations-strings.js | noSysexWebMIDIWithoutPermission": {
1977
+ "message": "Web MIDI will ask a permission to use even if the sysex is not specified in the `MIDIOptions`."
1978
+ },
1979
+ "lighthouse-core/lib/deprecations-strings.js | notificationInsecureOrigin": {
1980
+ "message": "The Notification API may no longer be used from insecure origins. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
1981
+ },
1982
+ "lighthouse-core/lib/deprecations-strings.js | notificationPermissionRequestedIframe": {
1983
+ "message": "Permission for the Notification API may no longer be requested from a cross-origin iframe. You should consider requesting permission from a top-level frame or opening a new window instead."
1984
+ },
1985
+ "lighthouse-core/lib/deprecations-strings.js | obsoleteWebRtcCipherSuite": {
1986
+ "message": "Your partner is negotiating an obsolete (D)TLS version. Please check with your partner to have this fixed."
1987
+ },
1988
+ "lighthouse-core/lib/deprecations-strings.js | pictureSourceSrc": {
1989
+ "message": "`<source src>` with a `<picture>` parent is invalid and therefore ignored. Please use `<source srcset>` instead."
1990
+ },
1991
+ "lighthouse-core/lib/deprecations-strings.js | prefixedStorageInfo": {
1992
+ "message": "`window.webkitStorageInfo` is deprecated. Please use `navigator.webkitTemporaryStorage` or `navigator.webkitPersistentStorage` instead."
1993
+ },
1994
+ "lighthouse-core/lib/deprecations-strings.js | requestedSubresourceWithEmbeddedCredentials": {
1995
+ "message": "Subresource requests whose URLs contain embedded credentials (e.g. `https://user:pass@host/`) are blocked."
1996
+ },
1997
+ "lighthouse-core/lib/deprecations-strings.js | rtcConstraintEnableDtlsSrtpFalse": {
1998
+ "message": "The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `false` value for this constraint, which is interpreted as an attempt to use the removed `SDES key negotiation` method. This functionality is removed; use a service that supports `DTLS key negotiation` instead."
1999
+ },
2000
+ "lighthouse-core/lib/deprecations-strings.js | rtcConstraintEnableDtlsSrtpTrue": {
2001
+ "message": "The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `true` value for this constraint, which had no effect, but you can remove this constraint for tidiness."
2002
+ },
2003
+ "lighthouse-core/lib/deprecations-strings.js | rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics": {
2004
+ "message": "`Complex Plan B SDP` detected. This dialect of the `Session Description Protocol` is no longer supported. Please use `Unified Plan SDP` instead."
2005
+ },
2006
+ "lighthouse-core/lib/deprecations-strings.js | rtcPeerConnectionSdpSemanticsPlanB": {
2007
+ "message": "`Plan B SDP semantics`, which is used when constructing an `RTCPeerConnection` with `{sdpSemantics:plan-b}`, is a legacy non-standard version of the `Session Description Protocol` that has been permanently deleted from the Web Platform. It is still available when building with `IS_FUCHSIA`, but we intend to delete it as soon as possible. Stop depending on it. See https://crbug.com/1302249 for status."
2008
+ },
2009
+ "lighthouse-core/lib/deprecations-strings.js | rtcpMuxPolicyNegotiate": {
2010
+ "message": "The `rtcpMuxPolicy` option is deprecated and will be removed."
2011
+ },
2012
+ "lighthouse-core/lib/deprecations-strings.js | sharedArrayBufferConstructedWithoutIsolation": {
2013
+ "message": "`SharedArrayBuffer` will require cross-origin isolation. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details."
2014
+ },
2015
+ "lighthouse-core/lib/deprecations-strings.js | textToSpeech_DisallowedByAutoplay": {
2016
+ "message": "`speechSynthesis.speak()` without user activation is deprecated and will be removed."
2017
+ },
2018
+ "lighthouse-core/lib/deprecations-strings.js | title": {
2019
+ "message": "Deprecated Feature Used"
2020
+ },
2021
+ "lighthouse-core/lib/deprecations-strings.js | v8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
2022
+ "message": "Extensions should opt into cross-origin isolation to continue using `SharedArrayBuffer`. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/."
2023
+ },
2024
+ "lighthouse-core/lib/deprecations-strings.js | vendorSpecificApi": {
2025
+ "message": "{PH1} is vendor-specific. Please use the standard {PH2} instead."
2026
+ },
2027
+ "lighthouse-core/lib/deprecations-strings.js | xhrJSONEncodingDetection": {
2028
+ "message": "UTF-16 is not supported by response json in `XMLHttpRequest`"
2029
+ },
2030
+ "lighthouse-core/lib/deprecations-strings.js | xmlHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
2031
+ "message": "Synchronous `XMLHttpRequest` on the main thread is deprecated because of its detrimental effects to the end user’s experience. For more help, check https://xhr.spec.whatwg.org/."
2032
+ },
2033
+ "lighthouse-core/lib/deprecations-strings.js | xrSupportsSession": {
2034
+ "message": "`supportsSession()` is deprecated. Please use `isSessionSupported()` and check the resolved boolean value instead."
2035
+ },
1904
2036
  "lighthouse-core/lib/i18n/i18n.js | columnBlockingTime": {
1905
2037
  "message": "Main-Thread Blocking Time"
1906
2038
  },