chrome-devtools-frontend 1.0.1376716 → 1.0.1386602

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 (885) hide show
  1. package/.stylelintrc.json +2 -1
  2. package/config/gni/devtools_grd_files.gni +40 -11
  3. package/config/gni/devtools_image_files.gni +4 -0
  4. package/docs/README.md +4 -0
  5. package/docs/contributing/issues.md +13 -10
  6. package/docs/get_the_code.md +4 -1
  7. package/docs/policy/README.md +6 -0
  8. package/docs/policy/slow-close.md +52 -0
  9. package/docs/styleguide/ux/README.md +1 -0
  10. package/docs/styleguide/ux/numbers.md +106 -0
  11. package/front_end/Images/src/animation.svg +3 -0
  12. package/front_end/Images/src/brush-2.svg +3 -0
  13. package/front_end/Images/src/cookie_off.svg +3 -0
  14. package/front_end/Images/src/domain.svg +3 -0
  15. package/front_end/core/common/Color.ts +3 -3
  16. package/front_end/core/common/SettingRegistration.ts +8 -1
  17. package/front_end/core/host/AidaClient.ts +4 -3
  18. package/front_end/core/host/InspectorFrontendHost.ts +4 -0
  19. package/front_end/core/host/InspectorFrontendHostAPI.ts +0 -1
  20. package/front_end/core/host/UserMetrics.ts +0 -8
  21. package/front_end/core/i18n/ByteUtilities.test.ts +34 -0
  22. package/front_end/core/i18n/ByteUtilities.ts +65 -0
  23. package/front_end/core/i18n/NumberFormatter.ts +75 -0
  24. package/front_end/core/i18n/i18n.ts +4 -0
  25. package/front_end/core/i18n/locales/af.json +1031 -887
  26. package/front_end/core/i18n/locales/am.json +1036 -892
  27. package/front_end/core/i18n/locales/ar.json +1039 -895
  28. package/front_end/core/i18n/locales/as.json +1032 -888
  29. package/front_end/core/i18n/locales/az.json +1034 -890
  30. package/front_end/core/i18n/locales/be.json +1031 -887
  31. package/front_end/core/i18n/locales/bg.json +1031 -887
  32. package/front_end/core/i18n/locales/bn.json +1033 -889
  33. package/front_end/core/i18n/locales/bs.json +1036 -892
  34. package/front_end/core/i18n/locales/ca.json +1031 -887
  35. package/front_end/core/i18n/locales/cs.json +1030 -886
  36. package/front_end/core/i18n/locales/cy.json +1032 -888
  37. package/front_end/core/i18n/locales/da.json +1031 -887
  38. package/front_end/core/i18n/locales/de.json +1033 -889
  39. package/front_end/core/i18n/locales/el.json +1031 -887
  40. package/front_end/core/i18n/locales/en-GB.json +1033 -889
  41. package/front_end/core/i18n/locales/es-419.json +1029 -885
  42. package/front_end/core/i18n/locales/es.json +1032 -888
  43. package/front_end/core/i18n/locales/et.json +1033 -889
  44. package/front_end/core/i18n/locales/eu.json +1031 -887
  45. package/front_end/core/i18n/locales/fa.json +1035 -891
  46. package/front_end/core/i18n/locales/fi.json +1035 -891
  47. package/front_end/core/i18n/locales/fil.json +1034 -890
  48. package/front_end/core/i18n/locales/fr-CA.json +1031 -887
  49. package/front_end/core/i18n/locales/fr.json +1049 -905
  50. package/front_end/core/i18n/locales/gl.json +1032 -888
  51. package/front_end/core/i18n/locales/gu.json +1035 -891
  52. package/front_end/core/i18n/locales/he.json +1031 -887
  53. package/front_end/core/i18n/locales/hi.json +1034 -890
  54. package/front_end/core/i18n/locales/hr.json +1031 -887
  55. package/front_end/core/i18n/locales/hu.json +1033 -889
  56. package/front_end/core/i18n/locales/hy.json +1046 -902
  57. package/front_end/core/i18n/locales/id.json +1023 -879
  58. package/front_end/core/i18n/locales/is.json +1032 -888
  59. package/front_end/core/i18n/locales/it.json +1031 -887
  60. package/front_end/core/i18n/locales/ja.json +1042 -898
  61. package/front_end/core/i18n/locales/ka.json +1034 -890
  62. package/front_end/core/i18n/locales/kk.json +1035 -891
  63. package/front_end/core/i18n/locales/km.json +1035 -891
  64. package/front_end/core/i18n/locales/kn.json +1036 -892
  65. package/front_end/core/i18n/locales/ko.json +1031 -887
  66. package/front_end/core/i18n/locales/ky.json +1032 -888
  67. package/front_end/core/i18n/locales/lo.json +1030 -886
  68. package/front_end/core/i18n/locales/lt.json +1032 -888
  69. package/front_end/core/i18n/locales/lv.json +1032 -888
  70. package/front_end/core/i18n/locales/mk.json +1032 -888
  71. package/front_end/core/i18n/locales/ml.json +1033 -889
  72. package/front_end/core/i18n/locales/mn.json +1034 -890
  73. package/front_end/core/i18n/locales/mr.json +1035 -891
  74. package/front_end/core/i18n/locales/ms.json +1033 -889
  75. package/front_end/core/i18n/locales/my.json +1033 -889
  76. package/front_end/core/i18n/locales/ne.json +1036 -892
  77. package/front_end/core/i18n/locales/nl.json +1033 -889
  78. package/front_end/core/i18n/locales/no.json +1036 -892
  79. package/front_end/core/i18n/locales/or.json +1043 -899
  80. package/front_end/core/i18n/locales/pa.json +1030 -886
  81. package/front_end/core/i18n/locales/pl.json +1032 -888
  82. package/front_end/core/i18n/locales/pt-PT.json +1033 -889
  83. package/front_end/core/i18n/locales/pt.json +1033 -889
  84. package/front_end/core/i18n/locales/ro.json +1029 -885
  85. package/front_end/core/i18n/locales/ru.json +1026 -882
  86. package/front_end/core/i18n/locales/si.json +1031 -887
  87. package/front_end/core/i18n/locales/sk.json +1033 -889
  88. package/front_end/core/i18n/locales/sl.json +1031 -887
  89. package/front_end/core/i18n/locales/sq.json +1061 -917
  90. package/front_end/core/i18n/locales/sr-Latn.json +1033 -889
  91. package/front_end/core/i18n/locales/sr.json +1033 -889
  92. package/front_end/core/i18n/locales/sv.json +1031 -887
  93. package/front_end/core/i18n/locales/sw.json +1033 -889
  94. package/front_end/core/i18n/locales/ta.json +1058 -914
  95. package/front_end/core/i18n/locales/te.json +1037 -893
  96. package/front_end/core/i18n/locales/th.json +1032 -888
  97. package/front_end/core/i18n/locales/tr.json +1031 -887
  98. package/front_end/core/i18n/locales/uk.json +1030 -886
  99. package/front_end/core/i18n/locales/ur.json +1031 -887
  100. package/front_end/core/i18n/locales/uz.json +1023 -879
  101. package/front_end/core/i18n/locales/vi.json +1032 -888
  102. package/front_end/core/i18n/locales/zh-HK.json +1032 -888
  103. package/front_end/core/i18n/locales/zh-TW.json +1032 -888
  104. package/front_end/core/i18n/locales/zh.json +1033 -889
  105. package/front_end/core/i18n/locales/zu.json +1032 -888
  106. package/front_end/core/i18n/time-utilities.test.ts +20 -2
  107. package/front_end/core/i18n/time-utilities.ts +125 -86
  108. package/front_end/core/platform/NumberUtilities.test.ts +3 -26
  109. package/front_end/core/platform/NumberUtilities.ts +0 -20
  110. package/front_end/core/root/Runtime.ts +6 -4
  111. package/front_end/core/sdk/CPUThrottlingManager.ts +4 -0
  112. package/front_end/core/sdk/CSSContainerQuery.test.ts +10 -16
  113. package/front_end/core/sdk/CSSContainerQuery.ts +3 -15
  114. package/front_end/core/sdk/CSSMatchedStyles.test.ts +4 -0
  115. package/front_end/core/sdk/CSSMatchedStyles.ts +5 -5
  116. package/front_end/core/sdk/CSSModel.ts +18 -0
  117. package/front_end/core/sdk/CSSPropertyParser.test.ts +16 -1
  118. package/front_end/core/sdk/CSSPropertyParser.ts +2 -2
  119. package/front_end/core/sdk/NetworkManager.test.ts +50 -0
  120. package/front_end/core/sdk/NetworkManager.ts +6 -4
  121. package/front_end/core/sdk/SourceMap.test.ts +5 -5
  122. package/front_end/core/sdk/SourceMapScopeChainEntry.test.ts +7 -2
  123. package/front_end/core/sdk/SourceMapScopeChainEntry.ts +2 -2
  124. package/front_end/core/sdk/SourceMapScopes.test.ts +112 -45
  125. package/front_end/core/sdk/SourceMapScopes.ts +39 -14
  126. package/front_end/core/sdk/SourceMapScopesInfo.test.ts +51 -50
  127. package/front_end/core/sdk/SourceMapScopesInfo.ts +1 -1
  128. package/front_end/core/sdk/sdk-meta.ts +35 -0
  129. package/front_end/devtools_compatibility.js +0 -1
  130. package/front_end/entrypoints/devtools_app/devtools_app.ts +1 -0
  131. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +3 -3
  132. package/front_end/entrypoints/inspector_main/renderingOptions.css +1 -1
  133. package/front_end/entrypoints/main/ExecutionContextSelector.test.ts +13 -3
  134. package/front_end/entrypoints/main/ExecutionContextSelector.ts +23 -1
  135. package/front_end/entrypoints/main/MainImpl.ts +0 -5
  136. package/front_end/generated/ARIAProperties.js +4 -0
  137. package/front_end/generated/Deprecation.ts +0 -15
  138. package/front_end/generated/InspectorBackendCommands.js +9 -7
  139. package/front_end/generated/SupportedCSSProperties.js +14 -41
  140. package/front_end/generated/protocol-mapping.d.ts +15 -1
  141. package/front_end/generated/protocol-proxy-api.d.ts +14 -1
  142. package/front_end/generated/protocol.ts +27 -2
  143. package/front_end/models/bindings/IgnoreListManager.ts +25 -2
  144. package/front_end/models/crux-manager/CrUXManager.test.ts +25 -6
  145. package/front_end/models/crux-manager/CrUXManager.ts +23 -4
  146. package/front_end/models/extensions/ExtensionAPI.ts +9 -1
  147. package/front_end/models/extensions/ExtensionServer.test.ts +14 -0
  148. package/front_end/models/extensions/ExtensionServer.ts +28 -15
  149. package/front_end/models/heap_snapshot_model/HeapSnapshotModel.ts +2 -0
  150. package/front_end/models/issues_manager/CookieIssue.ts +79 -2
  151. package/front_end/models/issues_manager/IssuesManager.ts +1 -1
  152. package/front_end/models/issues_manager/descriptions/cookieExcludePortMismatch.md +8 -0
  153. package/front_end/models/issues_manager/descriptions/cookieExcludeSchemeMismatch.md +7 -0
  154. package/front_end/models/javascript_metadata/NativeFunctions.js +22 -25
  155. package/front_end/models/live-metrics/web-vitals-injected/{rollup.config.js → rollup.config.mjs} +1 -1
  156. package/front_end/models/persistence/EditFileSystemView.ts +20 -10
  157. package/front_end/models/persistence/WorkspaceSettingsTab.ts +50 -54
  158. package/front_end/models/persistence/editFileSystemView.css +38 -15
  159. package/front_end/models/persistence/workspaceSettingsTab.css +21 -87
  160. package/front_end/models/timeline_model/timeline_model.ts +0 -6
  161. package/front_end/models/trace/Processor.test.ts +18 -17
  162. package/front_end/models/trace/Processor.ts +10 -14
  163. package/front_end/models/trace/README.md +0 -1
  164. package/front_end/models/trace/extras/Metadata.test.ts +35 -2
  165. package/front_end/models/trace/extras/Metadata.ts +24 -5
  166. package/front_end/models/{timeline_model → trace/extras}/TimelineJSProfile.ts +19 -29
  167. package/front_end/models/{timeline_model/TimelineModelFilter.test.ts → trace/extras/TraceFilter.test.ts} +15 -17
  168. package/front_end/models/trace/extras/TraceFilter.ts +62 -0
  169. package/front_end/models/{timeline_model/TimelineProfileTree.test.ts → trace/extras/TraceTree.test.ts} +44 -43
  170. package/front_end/models/{timeline_model/TimelineProfileTree.ts → trace/extras/TraceTree.ts} +86 -70
  171. package/front_end/models/trace/extras/URLForEntry.ts +6 -5
  172. package/front_end/models/trace/extras/extras.ts +3 -0
  173. package/front_end/models/trace/handlers/AnimationHandler.ts +0 -8
  174. package/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +1 -11
  175. package/front_end/models/trace/handlers/FramesHandler.test.ts +1 -6
  176. package/front_end/models/trace/handlers/FramesHandler.ts +1 -14
  177. package/front_end/models/trace/handlers/GPUHandler.test.ts +0 -2
  178. package/front_end/models/trace/handlers/GPUHandler.ts +1 -25
  179. package/front_end/models/trace/handlers/ImagePaintingHandler.ts +15 -0
  180. package/front_end/models/trace/handlers/InitiatorsHandler.test.ts +0 -1
  181. package/front_end/models/trace/handlers/InitiatorsHandler.ts +0 -20
  182. package/front_end/models/trace/handlers/InvalidationsHandler.test.ts +0 -1
  183. package/front_end/models/trace/handlers/InvalidationsHandler.ts +0 -18
  184. package/front_end/models/trace/handlers/LargestImagePaintHandler.test.ts +2 -2
  185. package/front_end/models/trace/handlers/LargestImagePaintHandler.ts +63 -3
  186. package/front_end/models/trace/handlers/LargestTextPaintHandler.ts +3 -0
  187. package/front_end/models/trace/handlers/LayerTreeHandler.test.ts +0 -2
  188. package/front_end/models/trace/handlers/LayerTreeHandler.ts +1 -18
  189. package/front_end/models/trace/handlers/LayoutShiftsHandler.test.ts +0 -3
  190. package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +1 -20
  191. package/front_end/models/trace/handlers/MemoryHandler.test.ts +0 -1
  192. package/front_end/models/trace/handlers/MemoryHandler.ts +3 -0
  193. package/front_end/models/trace/handlers/MetaHandler.test.ts +1 -32
  194. package/front_end/models/trace/handlers/MetaHandler.ts +2 -30
  195. package/front_end/models/trace/handlers/NetworkRequestsHandler.test.ts +0 -26
  196. package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +4 -23
  197. package/front_end/models/trace/handlers/PageFramesHandler.ts +3 -0
  198. package/front_end/models/trace/handlers/RendererHandler.test.ts +0 -4
  199. package/front_end/models/trace/handlers/RendererHandler.ts +1 -24
  200. package/front_end/models/trace/handlers/SamplesHandler.test.ts +0 -5
  201. package/front_end/models/trace/handlers/SamplesHandler.ts +0 -26
  202. package/front_end/models/trace/handlers/ScreenshotsHandler.test.ts +0 -1
  203. package/front_end/models/trace/handlers/SelectorStatsHandler.ts +3 -0
  204. package/front_end/models/trace/handlers/ServerTimingsHandler.ts +1 -16
  205. package/front_end/models/trace/handlers/Threads.test.ts +1 -2
  206. package/front_end/models/trace/handlers/UserInteractionsHandler.test.ts +4 -27
  207. package/front_end/models/trace/handlers/UserInteractionsHandler.ts +16 -25
  208. package/front_end/models/trace/handlers/UserTimingsHandler.ts +0 -17
  209. package/front_end/models/trace/handlers/WorkersHandler.test.ts +0 -1
  210. package/front_end/models/trace/handlers/WorkersHandler.ts +0 -23
  211. package/front_end/models/trace/handlers/types.ts +1 -8
  212. package/front_end/models/trace/helpers/Timing.ts +8 -0
  213. package/front_end/models/trace/insights/{CumulativeLayoutShift.test.ts → CLSCulprits.test.ts} +21 -21
  214. package/front_end/models/trace/insights/{CumulativeLayoutShift.ts → CLSCulprits.ts} +32 -5
  215. package/front_end/models/trace/insights/Common.ts +5 -55
  216. package/front_end/models/trace/insights/DocumentLatency.test.ts +2 -2
  217. package/front_end/models/trace/insights/DocumentLatency.ts +39 -6
  218. package/front_end/models/trace/insights/FontDisplay.ts +31 -5
  219. package/front_end/models/trace/insights/ImageDelivery.test.ts +98 -0
  220. package/front_end/models/trace/insights/ImageDelivery.ts +183 -0
  221. package/front_end/models/trace/insights/InteractionToNextPaint.test.ts +1 -1
  222. package/front_end/models/trace/insights/InteractionToNextPaint.ts +32 -6
  223. package/front_end/models/trace/insights/LCPDiscovery.test.ts +58 -0
  224. package/front_end/models/trace/insights/LCPDiscovery.ts +122 -0
  225. package/front_end/models/trace/insights/{LargestContentfulPaint.test.ts → LCPPhases.test.ts} +6 -28
  226. package/front_end/models/trace/insights/{LargestContentfulPaint.ts → LCPPhases.ts} +59 -38
  227. package/front_end/models/trace/insights/{InsightRunners.ts → Models.ts} +5 -3
  228. package/front_end/models/trace/insights/RenderBlocking.test.ts +1 -1
  229. package/front_end/models/trace/insights/RenderBlocking.ts +41 -28
  230. package/front_end/models/trace/insights/SlowCSSSelector.ts +33 -5
  231. package/front_end/models/trace/insights/{ThirdPartyWeb.test.ts → ThirdParties.test.ts} +3 -3
  232. package/front_end/models/trace/insights/{ThirdPartyWeb.ts → ThirdParties.ts} +32 -5
  233. package/front_end/models/trace/insights/Viewport.test.ts +1 -1
  234. package/front_end/models/trace/insights/Viewport.ts +40 -9
  235. package/front_end/models/trace/insights/insights.ts +1 -1
  236. package/front_end/models/trace/insights/types.ts +22 -9
  237. package/front_end/models/trace/types/File.ts +7 -0
  238. package/front_end/models/trace/types/TraceEvents.ts +60 -24
  239. package/front_end/panels/animation/AnimationTimeline.ts +2 -4
  240. package/front_end/panels/application/ApplicationPanelSidebar.test.ts +0 -5
  241. package/front_end/panels/application/ApplicationPanelSidebar.ts +15 -21
  242. package/front_end/panels/application/IndexedDBViews.ts +4 -1
  243. package/front_end/panels/application/ServiceWorkerCacheViews.ts +4 -1
  244. package/front_end/panels/application/SharedStorageItemsView.test.ts +3 -3
  245. package/front_end/panels/application/SharedStorageItemsView.ts +5 -3
  246. package/front_end/panels/application/StorageView.test.ts +1 -1
  247. package/front_end/panels/application/StorageView.ts +3 -3
  248. package/front_end/panels/application/components/StorageMetadataView.ts +1 -2
  249. package/front_end/panels/application/resourcesSidebar.css +1 -1
  250. package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +1 -1
  251. package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +1 -1
  252. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +35 -32
  253. package/front_end/panels/browser_debugger/categorizedBreakpointsSidebarPane.css +1 -1
  254. package/front_end/panels/browser_debugger/xhrBreakpointsSidebarPane.css +1 -1
  255. package/front_end/panels/console/ConsoleViewMessage.test.ts +25 -0
  256. package/front_end/panels/console/ConsoleViewMessage.ts +23 -0
  257. package/front_end/panels/coverage/CoverageListView.ts +1 -1
  258. package/front_end/panels/coverage/CoverageView.ts +3 -3
  259. package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
  260. package/front_end/panels/elements/ClassesPaneWidget.ts +1 -1
  261. package/front_end/panels/elements/ComputedStyleModel.ts +9 -2
  262. package/front_end/panels/elements/ComputedStyleWidget.test.ts +72 -0
  263. package/front_end/panels/elements/ComputedStyleWidget.ts +12 -0
  264. package/front_end/panels/elements/ElementStatePaneWidget.test.ts +85 -30
  265. package/front_end/panels/elements/ElementStatePaneWidget.ts +49 -26
  266. package/front_end/panels/elements/ElementsSidebarPane.ts +3 -3
  267. package/front_end/panels/elements/ElementsTreeElement.ts +25 -11
  268. package/front_end/panels/elements/LayersWidget.ts +1 -1
  269. package/front_end/panels/elements/MetricsSidebarPane.ts +12 -7
  270. package/front_end/panels/elements/PropertyMatchers.test.ts +7 -0
  271. package/front_end/panels/elements/PropertyMatchers.ts +6 -0
  272. package/front_end/panels/elements/StylePropertiesSection.ts +15 -6
  273. package/front_end/panels/elements/StylePropertyTreeElement.test.ts +3 -1
  274. package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -3
  275. package/front_end/panels/elements/classesPaneWidget.css +1 -1
  276. package/front_end/panels/elements/stylePropertiesTreeOutline.css +2 -2
  277. package/front_end/panels/emulation/DeviceModeView.ts +1 -1
  278. package/front_end/panels/emulation/DeviceModeWrapper.ts +1 -1
  279. package/front_end/panels/emulation/InspectedPagePlaceholder.ts +1 -1
  280. package/front_end/panels/explain/components/ConsoleInsight.ts +8 -18
  281. package/front_end/panels/freestyler/AiAgent.test.ts +376 -50
  282. package/front_end/panels/freestyler/AiAgent.ts +251 -144
  283. package/front_end/panels/freestyler/AiHistoryStorage.test.ts +159 -0
  284. package/front_end/panels/freestyler/AiHistoryStorage.ts +73 -0
  285. package/front_end/panels/freestyler/DrJonesFileAgent.test.ts +113 -38
  286. package/front_end/panels/freestyler/DrJonesFileAgent.ts +56 -34
  287. package/front_end/panels/freestyler/DrJonesNetworkAgent.test.ts +29 -20
  288. package/front_end/panels/freestyler/DrJonesNetworkAgent.ts +39 -18
  289. package/front_end/panels/freestyler/DrJonesPerformanceAgent.test.ts +44 -42
  290. package/front_end/panels/freestyler/DrJonesPerformanceAgent.ts +51 -22
  291. package/front_end/panels/freestyler/FreestylerAgent.test.ts +210 -28
  292. package/front_end/panels/freestyler/FreestylerAgent.ts +65 -26
  293. package/front_end/panels/freestyler/FreestylerPanel.test.ts +610 -39
  294. package/front_end/panels/freestyler/FreestylerPanel.ts +414 -255
  295. package/front_end/panels/freestyler/components/FreestylerChatUi.test.ts +126 -34
  296. package/front_end/panels/freestyler/components/FreestylerChatUi.ts +431 -280
  297. package/front_end/panels/freestyler/components/UserActionRow.ts +157 -47
  298. package/front_end/panels/freestyler/components/freestylerChatUi.css +90 -35
  299. package/front_end/panels/freestyler/components/userActionRow.css +41 -67
  300. package/front_end/panels/freestyler/freestyler-meta.ts +3 -11
  301. package/front_end/panels/freestyler/freestyler.ts +1 -0
  302. package/front_end/panels/issues/IssueAggregator.test.ts +50 -0
  303. package/front_end/panels/issues/IssueAggregator.ts +10 -10
  304. package/front_end/panels/issues/components/HideIssuesMenu.ts +2 -11
  305. package/front_end/panels/issues/issuesTree.css +1 -1
  306. package/front_end/panels/layer_viewer/LayerDetailsView.ts +2 -3
  307. package/front_end/panels/layer_viewer/Layers3DView.ts +1 -1
  308. package/front_end/panels/layer_viewer/PaintProfilerView.ts +6 -6
  309. package/front_end/panels/layers/LayersPanel.ts +1 -1
  310. package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +46 -0
  311. package/front_end/panels/lighthouse/lighthouseStartView.css +1 -1
  312. package/front_end/panels/media/TickingFlameChart.ts +1 -1
  313. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +26 -17
  314. package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +25 -19
  315. package/front_end/panels/network/BinaryResourceView.ts +6 -7
  316. package/front_end/panels/network/BlockedURLsPane.ts +1 -1
  317. package/front_end/panels/network/EventSourceMessagesView.ts +1 -1
  318. package/front_end/panels/network/NetworkDataGridNode.ts +4 -3
  319. package/front_end/panels/network/NetworkLogView.test.ts +1 -1
  320. package/front_end/panels/network/NetworkLogView.ts +7 -8
  321. package/front_end/panels/network/NetworkPanel.ts +40 -32
  322. package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -1
  323. package/front_end/panels/network/RequestTimingView.test.ts +35 -1
  324. package/front_end/panels/network/RequestTimingView.ts +96 -0
  325. package/front_end/panels/network/ResourceWebSocketFrameView.ts +2 -2
  326. package/front_end/panels/network/networkTimingTable.css +2 -1
  327. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +1 -1
  328. package/front_end/panels/profiler/HeapProfileView.ts +10 -10
  329. package/front_end/panels/profiler/HeapSnapshotView.ts +2 -2
  330. package/front_end/panels/profiler/HeapTimelineOverview.ts +13 -13
  331. package/front_end/panels/profiler/IsolateSelector.ts +4 -5
  332. package/front_end/panels/profiler/LiveHeapProfileView.ts +3 -1
  333. package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +4 -4
  334. package/front_end/panels/profiler/ProfileSidebarTreeElement.ts +7 -6
  335. package/front_end/panels/profiler/ProfileView.ts +3 -3
  336. package/front_end/panels/profiler/profileLauncherView.css +1 -1
  337. package/front_end/panels/profiler/profilesSidebarTree.css +1 -1
  338. package/front_end/panels/recorder/components/RecordingView.ts +2 -2
  339. package/front_end/panels/recorder/injected/{rollup.config.js → rollup.config.mjs} +1 -1
  340. package/front_end/panels/recorder/recorderController.css +1 -5
  341. package/front_end/panels/security/CookieControlsTreeElement.ts +18 -0
  342. package/front_end/panels/security/CookieControlsView.test.ts +29 -0
  343. package/front_end/panels/security/CookieControlsView.ts +265 -0
  344. package/front_end/panels/security/CookieReportTreeElement.ts +1 -9
  345. package/front_end/panels/security/CookieReportView.test.ts +157 -0
  346. package/front_end/panels/security/CookieReportView.ts +316 -0
  347. package/front_end/panels/security/SecurityPanel.ts +12 -4
  348. package/front_end/panels/security/SecurityPanelSidebar.ts +6 -1
  349. package/front_end/panels/security/cookieControlsView.css +101 -0
  350. package/front_end/panels/security/cookieReportView.css +69 -0
  351. package/front_end/panels/security/security.ts +4 -0
  352. package/front_end/panels/security/sidebar.css +2 -3
  353. package/front_end/panels/sensors/LocationsSettingsTab.ts +26 -11
  354. package/front_end/panels/sensors/locationsSettingsTab.css +18 -18
  355. package/front_end/panels/settings/AISettingsTab.ts +6 -15
  356. package/front_end/panels/settings/KeybindsSettingsTab.ts +4 -3
  357. package/front_end/panels/settings/SettingsScreen.ts +64 -55
  358. package/front_end/panels/settings/aiSettingsTab.css +3 -14
  359. package/front_end/panels/settings/components/SyncSection.ts +1 -2
  360. package/front_end/panels/settings/components/syncSection.css +0 -10
  361. package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +4 -2
  362. package/front_end/panels/settings/keybindsSettingsTab.css +12 -10
  363. package/front_end/panels/settings/settings-meta.ts +3 -1
  364. package/front_end/panels/settings/settingsScreen.css +37 -125
  365. package/front_end/panels/sources/CallStackSidebarPane.ts +2 -2
  366. package/front_end/panels/sources/DebuggerPlugin.ts +9 -4
  367. package/front_end/panels/sources/NavigatorView.ts +12 -13
  368. package/front_end/panels/sources/navigatorTree.css +1 -1
  369. package/front_end/panels/sources/sourcesPanel.css +2 -2
  370. package/front_end/panels/timeline/ActiveFilters.ts +3 -4
  371. package/front_end/panels/timeline/AnimationsTrackAppender.ts +2 -9
  372. package/front_end/panels/timeline/AppenderUtils.ts +1 -1
  373. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +38 -41
  374. package/front_end/panels/timeline/CountersGraph.ts +2 -4
  375. package/front_end/panels/timeline/EventsTimelineTreeView.ts +7 -8
  376. package/front_end/panels/timeline/ExtensionTrackAppender.ts +4 -13
  377. package/front_end/panels/timeline/InteractionsTrackAppender.ts +3 -4
  378. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +6 -12
  379. package/front_end/panels/timeline/README.md +2 -1
  380. package/front_end/panels/timeline/ServerTimingsTrackAppender.ts +1 -10
  381. package/front_end/panels/timeline/ThreadAppender.ts +9 -12
  382. package/front_end/panels/timeline/TimelineController.ts +14 -4
  383. package/front_end/panels/timeline/TimelineDetailsView.test.ts +3 -2
  384. package/front_end/panels/timeline/TimelineDetailsView.ts +18 -17
  385. package/front_end/panels/timeline/TimelineEventOverview.ts +3 -4
  386. package/front_end/panels/timeline/TimelineFilters.ts +3 -4
  387. package/front_end/panels/timeline/TimelineFlameChartDataProvider.test.ts +1 -1
  388. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +58 -46
  389. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +2 -3
  390. package/front_end/panels/timeline/TimelineFlameChartView.ts +54 -26
  391. package/front_end/panels/timeline/TimelineHistoryManager.test.ts +20 -15
  392. package/front_end/panels/timeline/TimelineHistoryManager.ts +46 -58
  393. package/front_end/panels/timeline/TimelineLayersView.ts +1 -1
  394. package/front_end/panels/timeline/TimelineLoader.test.ts +1 -2
  395. package/front_end/panels/timeline/TimelineLoader.ts +19 -4
  396. package/front_end/panels/timeline/TimelineMiniMap.ts +12 -2
  397. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +1 -1
  398. package/front_end/panels/timeline/TimelinePanel.ts +161 -32
  399. package/front_end/panels/timeline/TimelineTreeView.test.ts +12 -13
  400. package/front_end/panels/timeline/TimelineTreeView.ts +98 -54
  401. package/front_end/panels/timeline/TimelineUIUtils.test.ts +2 -2
  402. package/front_end/panels/timeline/TimelineUIUtils.ts +56 -14
  403. package/front_end/panels/timeline/TimingsTrackAppender.ts +6 -13
  404. package/front_end/panels/timeline/components/FieldSettingsDialog.test.ts +1 -0
  405. package/front_end/panels/timeline/components/FieldSettingsDialog.ts +6 -1
  406. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +6 -7
  407. package/front_end/panels/timeline/components/LiveMetricsView.test.ts +15 -3
  408. package/front_end/panels/timeline/components/LiveMetricsView.ts +27 -44
  409. package/front_end/panels/timeline/components/MetricCard.test.ts +1 -1
  410. package/front_end/panels/timeline/components/MetricCard.ts +46 -0
  411. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +3 -4
  412. package/front_end/panels/timeline/components/Sidebar.ts +1 -4
  413. package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +1 -1
  414. package/front_end/panels/timeline/components/SidebarInsightsTab.ts +1 -1
  415. package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +23 -35
  416. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +53 -41
  417. package/front_end/panels/timeline/components/TimelineSummary.test.ts +75 -0
  418. package/front_end/panels/timeline/components/TimelineSummary.ts +101 -0
  419. package/front_end/panels/timeline/components/Utils.test.ts +49 -0
  420. package/front_end/panels/timeline/components/Utils.ts +2 -2
  421. package/front_end/panels/timeline/components/components.ts +2 -0
  422. package/front_end/panels/timeline/components/insights/BaseInsightComponent.test.ts +84 -0
  423. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +291 -0
  424. package/front_end/panels/timeline/components/insights/CLSCulprits.ts +24 -62
  425. package/front_end/panels/timeline/components/insights/DocumentLatency.ts +43 -72
  426. package/front_end/panels/timeline/components/insights/EventRef.ts +70 -2
  427. package/front_end/panels/timeline/components/insights/FontDisplay.ts +37 -61
  428. package/front_end/panels/timeline/components/insights/Helpers.ts +5 -212
  429. package/front_end/panels/timeline/components/insights/ImageDelivery.ts +142 -0
  430. package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +34 -69
  431. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +52 -103
  432. package/front_end/panels/timeline/components/insights/LCPPhases.ts +31 -92
  433. package/front_end/panels/timeline/components/insights/RenderBlocking.ts +38 -64
  434. package/front_end/panels/timeline/components/insights/SidebarInsight.ts +3 -198
  435. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +59 -95
  436. package/front_end/panels/timeline/components/insights/Table.ts +6 -3
  437. package/front_end/panels/timeline/components/insights/ThirdParties.ts +51 -78
  438. package/front_end/panels/timeline/components/insights/Viewport.ts +27 -49
  439. package/front_end/panels/timeline/components/insights/{sidebarInsight.css → baseInsightComponent.css} +9 -9
  440. package/front_end/panels/timeline/components/insights/insights.ts +4 -0
  441. package/front_end/panels/timeline/components/insights/types.ts +0 -7
  442. package/front_end/panels/timeline/components/liveMetricsView.css +10 -18
  443. package/front_end/panels/timeline/components/metricCard.css +11 -0
  444. package/front_end/panels/timeline/components/sidebarInsightsTab.css +1 -1
  445. package/front_end/panels/timeline/components/timelineSummary.css +67 -0
  446. package/front_end/panels/timeline/docs/flame_chart_migration.md +1 -1
  447. package/front_end/panels/timeline/fixtures/traces/README.md +4 -0
  448. package/front_end/panels/timeline/fixtures/traces/image-delivery.json.gz +0 -0
  449. package/front_end/panels/timeline/overlays/OverlaysImpl.test.ts +5 -5
  450. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +35 -12
  451. package/front_end/panels/timeline/timeline-meta.ts +1 -1
  452. package/front_end/panels/timeline/timelineFlameChartView.css +1 -1
  453. package/front_end/panels/timeline/timelineFlamechartPopover.css +14 -4
  454. package/front_end/panels/timeline/timelineHistoryManager.css +7 -3
  455. package/front_end/panels/timeline/timelinePanel.css +0 -1
  456. package/front_end/panels/timeline/track_appenders/CompatibilityTracksAppender.test.ts +5 -5
  457. package/front_end/panels/timeline/track_appenders/ExtensionTrackAppender.test.ts +5 -6
  458. package/front_end/panels/timeline/track_appenders/LayoutShiftsTrackAppender.test.ts +11 -2
  459. package/front_end/panels/timeline/track_appenders/ServerTimingsTrackAppender.test.ts +0 -9
  460. package/front_end/panels/timeline/track_appenders/ThreadAppender.test.ts +37 -44
  461. package/front_end/panels/timeline/track_appenders/TimingsTrackAppender.test.ts +44 -30
  462. package/front_end/panels/timeline/utils/AICallTree.test.ts +105 -0
  463. package/front_end/panels/timeline/utils/AICallTree.ts +25 -24
  464. package/front_end/panels/timeline/utils/EntryName.ts +1 -2
  465. package/front_end/panels/timeline/utils/Helpers.ts +19 -0
  466. package/front_end/panels/timeline/utils/IgnoreList.test.ts +52 -0
  467. package/front_end/panels/timeline/utils/IgnoreList.ts +68 -7
  468. package/front_end/panels/timeline/utils/SourceMapsResolver.ts +2 -0
  469. package/front_end/panels/webauthn/webauthnPane.css +1 -1
  470. package/front_end/panels/whats_new/ReleaseNote.test.ts +90 -0
  471. package/front_end/panels/whats_new/ReleaseNoteText.ts +52 -0
  472. package/front_end/panels/whats_new/ReleaseNoteView.ts +157 -0
  473. package/front_end/panels/whats_new/WhatsNewImpl.ts +102 -0
  474. package/front_end/panels/whats_new/releaseNoteView.css +121 -0
  475. package/front_end/panels/whats_new/resources/WNDT.md +6 -0
  476. package/front_end/panels/whats_new/resources/whatsnew.avif +0 -0
  477. package/front_end/panels/whats_new/whats_new-meta.ts +142 -0
  478. package/front_end/panels/whats_new/whats_new.ts +13 -0
  479. package/front_end/services/puppeteer/PuppeteerConnection.ts +4 -3
  480. package/front_end/testing/EnvironmentHelpers.ts +6 -20
  481. package/front_end/testing/InsightHelpers.ts +4 -4
  482. package/front_end/testing/SourceMapEncoder.ts +27 -11
  483. package/front_end/testing/TraceHelpers.ts +3 -2
  484. package/front_end/testing/TraceLoader.ts +6 -2
  485. package/front_end/third_party/lighthouse/README.chromium +2 -2
  486. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1380 -1369
  487. package/front_end/third_party/lighthouse/locales/ar-XB.json +88 -85
  488. package/front_end/third_party/lighthouse/locales/ar.json +98 -95
  489. package/front_end/third_party/lighthouse/locales/bg.json +88 -85
  490. package/front_end/third_party/lighthouse/locales/ca.json +91 -88
  491. package/front_end/third_party/lighthouse/locales/cs.json +91 -88
  492. package/front_end/third_party/lighthouse/locales/da.json +94 -91
  493. package/front_end/third_party/lighthouse/locales/de.json +92 -89
  494. package/front_end/third_party/lighthouse/locales/el.json +92 -89
  495. package/front_end/third_party/lighthouse/locales/en-GB.json +89 -86
  496. package/front_end/third_party/lighthouse/locales/en-US.json +23 -20
  497. package/front_end/third_party/lighthouse/locales/en-XA.json +88 -85
  498. package/front_end/third_party/lighthouse/locales/en-XL.json +23 -20
  499. package/front_end/third_party/lighthouse/locales/es-419.json +92 -89
  500. package/front_end/third_party/lighthouse/locales/es.json +91 -88
  501. package/front_end/third_party/lighthouse/locales/fi.json +92 -89
  502. package/front_end/third_party/lighthouse/locales/fil.json +93 -90
  503. package/front_end/third_party/lighthouse/locales/fr.json +94 -91
  504. package/front_end/third_party/lighthouse/locales/he.json +97 -94
  505. package/front_end/third_party/lighthouse/locales/hi.json +92 -89
  506. package/front_end/third_party/lighthouse/locales/hr.json +90 -87
  507. package/front_end/third_party/lighthouse/locales/hu.json +90 -87
  508. package/front_end/third_party/lighthouse/locales/id.json +91 -88
  509. package/front_end/third_party/lighthouse/locales/it.json +90 -87
  510. package/front_end/third_party/lighthouse/locales/ja.json +90 -87
  511. package/front_end/third_party/lighthouse/locales/ko.json +90 -87
  512. package/front_end/third_party/lighthouse/locales/lt.json +90 -87
  513. package/front_end/third_party/lighthouse/locales/lv.json +91 -88
  514. package/front_end/third_party/lighthouse/locales/nl.json +90 -87
  515. package/front_end/third_party/lighthouse/locales/no.json +92 -89
  516. package/front_end/third_party/lighthouse/locales/pl.json +90 -87
  517. package/front_end/third_party/lighthouse/locales/pt-PT.json +111 -108
  518. package/front_end/third_party/lighthouse/locales/pt.json +97 -94
  519. package/front_end/third_party/lighthouse/locales/ro.json +94 -91
  520. package/front_end/third_party/lighthouse/locales/ru.json +93 -90
  521. package/front_end/third_party/lighthouse/locales/sk.json +93 -90
  522. package/front_end/third_party/lighthouse/locales/sl.json +91 -88
  523. package/front_end/third_party/lighthouse/locales/sr-Latn.json +91 -88
  524. package/front_end/third_party/lighthouse/locales/sr.json +91 -88
  525. package/front_end/third_party/lighthouse/locales/sv.json +92 -89
  526. package/front_end/third_party/lighthouse/locales/ta.json +101 -98
  527. package/front_end/third_party/lighthouse/locales/te.json +92 -89
  528. package/front_end/third_party/lighthouse/locales/th.json +95 -92
  529. package/front_end/third_party/lighthouse/locales/tr.json +91 -88
  530. package/front_end/third_party/lighthouse/locales/uk.json +93 -90
  531. package/front_end/third_party/lighthouse/locales/vi.json +95 -92
  532. package/front_end/third_party/lighthouse/locales/zh-HK.json +92 -89
  533. package/front_end/third_party/lighthouse/locales/zh-TW.json +98 -95
  534. package/front_end/third_party/lighthouse/locales/zh.json +96 -93
  535. package/front_end/third_party/puppeteer/README.chromium +2 -2
  536. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +10 -3
  537. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
  538. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
  539. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts +14 -3
  540. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts.map +1 -1
  541. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js +16 -2
  542. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js.map +1 -1
  543. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts.map +1 -1
  544. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js +3 -1
  545. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js.map +1 -1
  546. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts +1 -0
  547. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts.map +1 -1
  548. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js +1 -0
  549. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js.map +1 -1
  550. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.d.ts +34 -5
  551. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.d.ts.map +1 -1
  552. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.js +51 -2
  553. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.js.map +1 -1
  554. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +4 -0
  555. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  556. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  557. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
  558. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js +10 -8
  559. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js.map +1 -1
  560. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts.map +1 -1
  561. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js +1 -1
  562. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
  563. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.d.ts +14 -4
  564. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.d.ts.map +1 -1
  565. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.js +57 -23
  566. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.js.map +1 -1
  567. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +1 -0
  568. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
  569. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +3 -0
  570. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
  571. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +3 -2
  572. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
  573. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +10 -4
  574. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
  575. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
  576. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js +2 -2
  577. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
  578. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts +2 -0
  579. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
  580. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js +7 -0
  581. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js.map +1 -1
  582. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts +1 -1
  583. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
  584. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js +13 -10
  585. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js.map +1 -1
  586. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts +1 -0
  587. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
  588. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js +3 -0
  589. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js.map +1 -1
  590. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.d.ts +1 -2
  591. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.d.ts.map +1 -1
  592. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js +4 -4
  593. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js.map +1 -1
  594. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.d.ts +15 -4
  595. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.d.ts.map +1 -1
  596. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.js +55 -26
  597. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.js.map +1 -1
  598. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
  599. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js +24 -12
  600. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js.map +1 -1
  601. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +1 -0
  602. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
  603. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +3 -0
  604. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
  605. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts +0 -8
  606. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
  607. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js +2 -11
  608. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js.map +1 -1
  609. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +5 -0
  610. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  611. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.d.ts +2 -1
  612. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.d.ts.map +1 -1
  613. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.js +5 -2
  614. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.js.map +1 -1
  615. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.d.ts +30 -0
  616. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.d.ts.map +1 -0
  617. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.js +8 -0
  618. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.js.map +1 -0
  619. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts +7 -0
  620. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts.map +1 -1
  621. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js +9 -1
  622. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js.map +1 -1
  623. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WaitTask.d.ts.map +1 -1
  624. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WaitTask.js +5 -3
  625. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WaitTask.js.map +1 -1
  626. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.d.ts +1 -0
  627. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.d.ts.map +1 -1
  628. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.d.ts +1 -1
  629. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.d.ts.map +1 -1
  630. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.js +0 -3
  631. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.js.map +1 -1
  632. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.d.ts +1 -1
  633. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.js +1 -1
  634. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
  635. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
  636. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  637. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  638. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +2 -2
  639. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
  640. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
  641. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
  642. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  643. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/incremental-id-generator.d.ts +14 -0
  644. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/incremental-id-generator.d.ts.map +1 -0
  645. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/incremental-id-generator.js +18 -0
  646. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/incremental-id-generator.js.map +1 -0
  647. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +100 -10
  648. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +291 -143
  649. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +10 -3
  650. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
  651. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
  652. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts +14 -3
  653. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts.map +1 -1
  654. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js +16 -2
  655. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js.map +1 -1
  656. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts.map +1 -1
  657. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js +3 -1
  658. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js.map +1 -1
  659. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts +1 -0
  660. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts.map +1 -1
  661. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js +1 -0
  662. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js.map +1 -1
  663. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts +34 -5
  664. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts.map +1 -1
  665. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.js +51 -2
  666. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.js.map +1 -1
  667. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +4 -0
  668. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  669. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
  670. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
  671. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js +10 -8
  672. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js.map +1 -1
  673. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts.map +1 -1
  674. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js +1 -1
  675. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
  676. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.d.ts +14 -4
  677. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.d.ts.map +1 -1
  678. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.js +57 -23
  679. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.js.map +1 -1
  680. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +1 -0
  681. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
  682. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +3 -0
  683. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
  684. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +3 -2
  685. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
  686. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +10 -4
  687. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
  688. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
  689. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js +2 -2
  690. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
  691. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts +2 -0
  692. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
  693. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js +7 -0
  694. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js.map +1 -1
  695. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts +1 -1
  696. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
  697. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js +13 -10
  698. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js.map +1 -1
  699. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts +1 -0
  700. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
  701. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js +3 -0
  702. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js.map +1 -1
  703. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.d.ts +1 -2
  704. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.d.ts.map +1 -1
  705. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js +4 -4
  706. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js.map +1 -1
  707. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.d.ts +15 -4
  708. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.d.ts.map +1 -1
  709. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.js +55 -26
  710. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.js.map +1 -1
  711. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
  712. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js +24 -12
  713. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js.map +1 -1
  714. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +1 -0
  715. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
  716. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +3 -0
  717. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
  718. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts +0 -8
  719. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
  720. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js +1 -9
  721. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js.map +1 -1
  722. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +5 -0
  723. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  724. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts +2 -1
  725. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts.map +1 -1
  726. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.js +5 -2
  727. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.js.map +1 -1
  728. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.d.ts +30 -0
  729. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.d.ts.map +1 -0
  730. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.js +7 -0
  731. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.js.map +1 -0
  732. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts +7 -0
  733. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts.map +1 -1
  734. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js +7 -0
  735. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js.map +1 -1
  736. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WaitTask.d.ts.map +1 -1
  737. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WaitTask.js +5 -3
  738. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WaitTask.js.map +1 -1
  739. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.d.ts +1 -0
  740. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.d.ts.map +1 -1
  741. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts +1 -1
  742. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts.map +1 -1
  743. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.js +0 -3
  744. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.js.map +1 -1
  745. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.d.ts +1 -1
  746. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.js +1 -1
  747. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
  748. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
  749. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  750. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +2 -2
  751. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
  752. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
  753. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
  754. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/incremental-id-generator.d.ts +14 -0
  755. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/incremental-id-generator.d.ts.map +1 -0
  756. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/incremental-id-generator.js +15 -0
  757. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/incremental-id-generator.js.map +1 -0
  758. package/front_end/third_party/puppeteer/package/lib/types.d.ts +100 -10
  759. package/front_end/third_party/puppeteer/package/package.json +5 -5
  760. package/front_end/third_party/puppeteer/package/src/api/Browser.ts +10 -3
  761. package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +21 -3
  762. package/front_end/third_party/puppeteer/package/src/api/Frame.ts +3 -1
  763. package/front_end/third_party/puppeteer/package/src/api/HTTPRequest.ts +1 -0
  764. package/front_end/third_party/puppeteer/package/src/api/Input.ts +57 -8
  765. package/front_end/third_party/puppeteer/package/src/api/Page.ts +5 -0
  766. package/front_end/third_party/puppeteer/package/src/bidi/ElementHandle.ts +9 -7
  767. package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +1 -0
  768. package/front_end/third_party/puppeteer/package/src/bidi/Input.ts +72 -31
  769. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +4 -0
  770. package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +11 -3
  771. package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +2 -0
  772. package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +11 -0
  773. package/front_end/third_party/puppeteer/package/src/cdp/ElementHandle.ts +14 -9
  774. package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +4 -0
  775. package/front_end/third_party/puppeteer/package/src/cdp/HTTPResponse.ts +3 -5
  776. package/front_end/third_party/puppeteer/package/src/cdp/Input.ts +71 -26
  777. package/front_end/third_party/puppeteer/package/src/cdp/NetworkManager.ts +34 -17
  778. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +4 -0
  779. package/front_end/third_party/puppeteer/package/src/common/CallbackRegistry.ts +1 -15
  780. package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +5 -0
  781. package/front_end/third_party/puppeteer/package/src/common/ConsoleMessage.ts +8 -1
  782. package/front_end/third_party/puppeteer/package/src/common/DownloadBehavior.ts +31 -0
  783. package/front_end/third_party/puppeteer/package/src/common/Errors.ts +7 -0
  784. package/front_end/third_party/puppeteer/package/src/common/WaitTask.ts +9 -9
  785. package/front_end/third_party/puppeteer/package/src/common/common.ts +1 -0
  786. package/front_end/third_party/puppeteer/package/src/environment.ts +1 -4
  787. package/front_end/third_party/puppeteer/package/src/generated/injected.ts +1 -1
  788. package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
  789. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +2 -0
  790. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  791. package/front_end/third_party/puppeteer/package/src/util/incremental-id-generator.ts +20 -0
  792. package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +2 -0
  793. package/front_end/ui/components/buttons/Button.test.ts +14 -0
  794. package/front_end/ui/components/buttons/Button.ts +27 -4
  795. package/front_end/ui/components/cards/card.css +7 -4
  796. package/front_end/ui/components/data_grid/DataGridControllerIntegrator.ts +4 -1
  797. package/front_end/ui/components/dialogs/ButtonDialog.test.ts +78 -0
  798. package/front_end/ui/components/dialogs/ButtonDialog.ts +131 -0
  799. package/front_end/ui/components/dialogs/Dialog.test.ts +43 -0
  800. package/front_end/ui/components/dialogs/Dialog.ts +63 -3
  801. package/front_end/ui/components/dialogs/ShortcutDialog.test.ts +15 -1
  802. package/front_end/ui/components/dialogs/ShortcutDialog.ts +33 -23
  803. package/front_end/ui/components/dialogs/buttonDialog.css +9 -0
  804. package/front_end/ui/components/dialogs/dialog.css +15 -4
  805. package/front_end/ui/components/dialogs/dialogs.ts +2 -0
  806. package/front_end/ui/components/dialogs/shortcutDialog.css +58 -38
  807. package/front_end/ui/components/docs/dialog/button_dialog.html +28 -0
  808. package/front_end/ui/components/docs/dialog/button_dialog.ts +29 -0
  809. package/front_end/ui/components/docs/freestyler/basic.ts +6 -8
  810. package/front_end/ui/components/docs/freestyler/empty_state.ts +6 -8
  811. package/front_end/ui/components/docs/performance_panel/basic.ts +1 -1
  812. package/front_end/ui/components/docs/performance_panel/timeline_history_manager.ts +6 -4
  813. package/front_end/ui/components/docs/performance_panel/track_example.html +1 -1
  814. package/front_end/ui/components/floating_button/FloatingButton.ts +3 -2
  815. package/front_end/ui/components/icon_button/fileSourceIcon.css +7 -3
  816. package/front_end/ui/components/issue_counter/IssueCounter.ts +15 -2
  817. package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +1 -1
  818. package/front_end/ui/components/markdown_view/MarkdownView.test.ts +39 -17
  819. package/front_end/ui/components/markdown_view/MarkdownView.ts +92 -14
  820. package/front_end/ui/components/markdown_view/markdownView.css +15 -0
  821. package/front_end/ui/components/render_coordinator/RenderCoordinator.ts +24 -18
  822. package/front_end/ui/components/settings/SettingCheckbox.ts +3 -2
  823. package/front_end/ui/components/switch/SwitchImpl.ts +2 -2
  824. package/front_end/ui/legacy/ContextMenu.ts +2 -2
  825. package/front_end/ui/legacy/Infobar.ts +6 -0
  826. package/front_end/ui/legacy/InplaceEditor.ts +18 -14
  827. package/front_end/ui/legacy/InspectorView.ts +40 -0
  828. package/front_end/ui/legacy/ListWidget.ts +4 -2
  829. package/front_end/ui/legacy/TabbedPane.ts +0 -14
  830. package/front_end/ui/legacy/ThrottledWidget.ts +2 -2
  831. package/front_end/ui/legacy/Toolbar.ts +3 -3
  832. package/front_end/ui/legacy/UIUtils.ts +8 -13
  833. package/front_end/ui/legacy/Widget.ts +32 -0
  834. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +7 -2
  835. package/front_end/ui/legacy/components/data_grid/DataGrid.test.ts +6 -9
  836. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +43 -38
  837. package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +21 -12
  838. package/front_end/ui/legacy/components/inline_editor/LinkSwatch.test.ts +19 -0
  839. package/front_end/ui/legacy/components/inline_editor/LinkSwatch.ts +1 -1
  840. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +1 -1
  841. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +2 -2
  842. package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +1 -1
  843. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +37 -47
  844. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +129 -100
  845. package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +4 -2
  846. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.test.ts +9 -4
  847. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.ts +23 -9
  848. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +102 -43
  849. package/front_end/ui/legacy/components/perf_ui/flameChart.css +0 -2
  850. package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +4 -4
  851. package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.test.ts +49 -0
  852. package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.ts +23 -46
  853. package/front_end/ui/legacy/components/source_frame/ImageView.ts +1 -1
  854. package/front_end/ui/legacy/components/utils/ImagePreview.ts +1 -1
  855. package/front_end/ui/legacy/components/utils/jsUtils.css +8 -0
  856. package/front_end/ui/legacy/filter.css +1 -1
  857. package/front_end/ui/legacy/inspectorCommon.css +1 -1
  858. package/front_end/ui/legacy/listWidget.css +4 -1
  859. package/front_end/ui/legacy/reportView.css +1 -1
  860. package/front_end/ui/legacy/textPrompt.css +1 -1
  861. package/front_end/ui/legacy/toolbar.css +7 -11
  862. package/front_end/ui/legacy/treeoutline.css +3 -1
  863. package/front_end/ui/visual_logging/KnownContextValues.ts +186 -1
  864. package/front_end/ui/visual_logging/LoggingConfig.ts +6 -2
  865. package/front_end/ui/visual_logging/LoggingDriver.test.ts +27 -1
  866. package/front_end/ui/visual_logging/LoggingDriver.ts +7 -4
  867. package/package.json +8 -8
  868. package/scripts/build/ninja/bundle.gni +3 -3
  869. package/scripts/build/{rollup.config.js → rollup.config.mjs} +4 -4
  870. package/scripts/build/wasm-as.py +1 -1
  871. package/scripts/devtools_paths.py +8 -4
  872. package/scripts/eslint_rules/tests/check_test_definitions_test.js +8 -3
  873. package/scripts/freestyler/auto_freestyler.js +12 -4
  874. package/scripts/freestyler/to_tsv.mjs +40 -0
  875. package/scripts/tools/update_goldens.py +11 -13
  876. package/scripts/tools/update_goldens_v2.py +1 -1
  877. package/front_end/models/timeline_model/TimelineModelFilter.ts +0 -61
  878. package/front_end/panels/timeline/components/insights/SidebarInsight.test.ts +0 -72
  879. package/front_end/ui/components/docs/two_states_counter/basic.html +0 -27
  880. package/front_end/ui/components/docs/two_states_counter/basic.ts +0 -45
  881. package/front_end/ui/components/two_states_counter/TwoStatesCounter.test.ts +0 -73
  882. package/front_end/ui/components/two_states_counter/TwoStatesCounter.ts +0 -104
  883. package/front_end/ui/components/two_states_counter/twoStatesCounter.css +0 -37
  884. package/front_end/ui/components/two_states_counter/two_states_counter.ts +0 -9
  885. /package/front_end/Images/{rollup.config.js → rollup.config.mjs} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "core/audits/accessibility/accesskeys.js | description": {
3
- "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.9/accesskeys)."
3
+ "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.10/accesskeys)."
4
4
  },
5
5
  "core/audits/accessibility/accesskeys.js | failureTitle": {
6
6
  "message": "`[accesskey]` ‏‮values‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮unique‬‏"
@@ -9,7 +9,7 @@
9
9
  "message": "`[accesskey]` ‏‮values‬‏ ‏‮are‬‏ ‏‮unique‬‏"
10
10
  },
11
11
  "core/audits/accessibility/aria-allowed-attr.js | description": {
12
- "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.9/aria-allowed-attr)."
12
+ "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.10/aria-allowed-attr)."
13
13
  },
14
14
  "core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
15
15
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮match‬‏ ‏‮their‬‏ ‏‮roles‬‏"
@@ -18,7 +18,7 @@
18
18
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮match‬‏ ‏‮their‬‏ ‏‮roles‬‏"
19
19
  },
20
20
  "core/audits/accessibility/aria-allowed-role.js | description": {
21
- "message": "‏‮Many‬‏ ‏‮HTML‬‏ ‏‮elements‬‏ ‏‮can‬‏ ‏‮only‬‏ ‏‮be‬‏ ‏‮assigned‬‏ ‏‮certain‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏. ‏‮Using‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮where‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮allowed‬‏ ‏‮can‬‏ ‏‮interfere‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.9/aria-allowed-role)."
21
+ "message": "‏‮Many‬‏ ‏‮HTML‬‏ ‏‮elements‬‏ ‏‮can‬‏ ‏‮only‬‏ ‏‮be‬‏ ‏‮assigned‬‏ ‏‮certain‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏. ‏‮Using‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮where‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮allowed‬‏ ‏‮can‬‏ ‏‮interfere‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.10/aria-allowed-role)."
22
22
  },
23
23
  "core/audits/accessibility/aria-allowed-role.js | failureTitle": {
24
24
  "message": "‏‮Uses‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮on‬‏ ‏‮incompatible‬‏ ‏‮elements‬‏"
@@ -27,7 +27,7 @@
27
27
  "message": "‏‮Uses‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮only‬‏ ‏‮on‬‏ ‏‮compatible‬‏ ‏‮elements‬‏"
28
28
  },
29
29
  "core/audits/accessibility/aria-command-name.js | description": {
30
- "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.9/aria-command-name)."
30
+ "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.10/aria-command-name)."
31
31
  },
32
32
  "core/audits/accessibility/aria-command-name.js | failureTitle": {
33
33
  "message": "`button`, `link`, ‏‮and‬‏ `menuitem` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -36,7 +36,7 @@
36
36
  "message": "`button`, `link`, ‏‮and‬‏ `menuitem` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
37
37
  },
38
38
  "core/audits/accessibility/aria-conditional-attr.js | description": {
39
- "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮are‬‏ ‏‮only‬‏ ‏‮allowed‬‏ ‏‮on‬‏ ‏‮an‬‏ ‏‮element‬‏ ‏‮under‬‏ ‏‮certain‬‏ ‏‮conditions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮conditional‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.9/aria-conditional-attr)."
39
+ "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮are‬‏ ‏‮only‬‏ ‏‮allowed‬‏ ‏‮on‬‏ ‏‮an‬‏ ‏‮element‬‏ ‏‮under‬‏ ‏‮certain‬‏ ‏‮conditions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮conditional‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr)."
40
40
  },
41
41
  "core/audits/accessibility/aria-conditional-attr.js | failureTitle": {
42
42
  "message": "‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮as‬‏ ‏‮specified‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮element‬‏'‏‮s‬‏ ‏‮role‬‏"
@@ -45,7 +45,7 @@
45
45
  "message": "‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮are‬‏ ‏‮used‬‏ ‏‮as‬‏ ‏‮specified‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮element‬‏'‏‮s‬‏ ‏‮role‬‏"
46
46
  },
47
47
  "core/audits/accessibility/aria-deprecated-role.js | description": {
48
- "message": "‏‮Deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮processed‬‏ ‏‮correctly‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technology‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.9/aria-deprecated-role)."
48
+ "message": "‏‮Deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮processed‬‏ ‏‮correctly‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technology‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role)."
49
49
  },
50
50
  "core/audits/accessibility/aria-deprecated-role.js | failureTitle": {
51
51
  "message": "‏‮Deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮were‬‏ ‏‮used‬‏"
@@ -54,7 +54,7 @@
54
54
  "message": "‏‮Deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮were‬‏ ‏‮not‬‏ ‏‮used‬‏"
55
55
  },
56
56
  "core/audits/accessibility/aria-dialog-name.js | description": {
57
- "message": "‏‮ARIA‬‏ ‏‮dialog‬‏ ‏‮elements‬‏ ‏‮without‬‏ ‏‮accessible‬‏ ‏‮names‬‏ ‏‮may‬‏ ‏‮prevent‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮users‬‏ ‏‮from‬‏ ‏‮discerning‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮these‬‏ ‏‮elements‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮ARIA‬‏ ‏‮dialog‬‏ ‏‮elements‬‏ ‏‮more‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.9/aria-dialog-name)."
57
+ "message": "‏‮ARIA‬‏ ‏‮dialog‬‏ ‏‮elements‬‏ ‏‮without‬‏ ‏‮accessible‬‏ ‏‮names‬‏ ‏‮may‬‏ ‏‮prevent‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮users‬‏ ‏‮from‬‏ ‏‮discerning‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮these‬‏ ‏‮elements‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮ARIA‬‏ ‏‮dialog‬‏ ‏‮elements‬‏ ‏‮more‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.10/aria-dialog-name)."
58
58
  },
59
59
  "core/audits/accessibility/aria-dialog-name.js | failureTitle": {
60
60
  "message": "‏‮Elements‬‏ ‏‮with‬‏ `role=\"dialog\"` ‏‮or‬‏ `role=\"alertdialog\"` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -63,7 +63,7 @@
63
63
  "message": "‏‮Elements‬‏ ‏‮with‬‏ `role=\"dialog\"` ‏‮or‬‏ `role=\"alertdialog\"` ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
64
64
  },
65
65
  "core/audits/accessibility/aria-hidden-body.js | description": {
66
- "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.9/aria-hidden-body)."
66
+ "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.10/aria-hidden-body)."
67
67
  },
68
68
  "core/audits/accessibility/aria-hidden-body.js | failureTitle": {
69
69
  "message": "`[aria-hidden=\"true\"]` ‏‮is‬‏ ‏‮present‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`"
@@ -72,7 +72,7 @@
72
72
  "message": "`[aria-hidden=\"true\"]` ‏‮is‬‏ ‏‮not‬‏ ‏‮present‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`"
73
73
  },
74
74
  "core/audits/accessibility/aria-hidden-focus.js | description": {
75
- "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.9/aria-hidden-focus)."
75
+ "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.10/aria-hidden-focus)."
76
76
  },
77
77
  "core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
78
78
  "message": "`[aria-hidden=\"true\"]` ‏‮elements‬‏ ‏‮contain‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏"
@@ -81,7 +81,7 @@
81
81
  "message": "`[aria-hidden=\"true\"]` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏"
82
82
  },
83
83
  "core/audits/accessibility/aria-input-field-name.js | description": {
84
- "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.9/aria-input-field-name)."
84
+ "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.10/aria-input-field-name)."
85
85
  },
86
86
  "core/audits/accessibility/aria-input-field-name.js | failureTitle": {
87
87
  "message": "‏‮ARIA‬‏ ‏‮input‬‏ ‏‮fields‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
@@ -90,7 +90,7 @@
90
90
  "message": "‏‮ARIA‬‏ ‏‮input‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
91
91
  },
92
92
  "core/audits/accessibility/aria-meter-name.js | description": {
93
- "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮meter‬‏ ‏‮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.9/aria-meter-name)."
93
+ "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮meter‬‏ ‏‮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.10/aria-meter-name)."
94
94
  },
95
95
  "core/audits/accessibility/aria-meter-name.js | failureTitle": {
96
96
  "message": "‏‮ARIA‬‏ `meter` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -99,7 +99,7 @@
99
99
  "message": "‏‮ARIA‬‏ `meter` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
100
100
  },
101
101
  "core/audits/accessibility/aria-progressbar-name.js | description": {
102
- "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.9/aria-progressbar-name)."
102
+ "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.10/aria-progressbar-name)."
103
103
  },
104
104
  "core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
105
105
  "message": "‏‮ARIA‬‏ `progressbar` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -108,7 +108,7 @@
108
108
  "message": "‏‮ARIA‬‏ `progressbar` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
109
109
  },
110
110
  "core/audits/accessibility/aria-prohibited-attr.js | description": {
111
- "message": "‏‮Using‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮in‬‏ ‏‮roles‬‏ ‏‮where‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮prohibited‬‏ ‏‮can‬‏ ‏‮mean‬‏ ‏‮that‬‏ ‏‮important‬‏ ‏‮information‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮communicated‬‏ ‏‮to‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮prohibited‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.9/aria-prohibited-attr)."
111
+ "message": "‏‮Using‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮in‬‏ ‏‮roles‬‏ ‏‮where‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮prohibited‬‏ ‏‮can‬‏ ‏‮mean‬‏ ‏‮that‬‏ ‏‮important‬‏ ‏‮information‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮communicated‬‏ ‏‮to‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮prohibited‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr)."
112
112
  },
113
113
  "core/audits/accessibility/aria-prohibited-attr.js | failureTitle": {
114
114
  "message": "‏‮Elements‬‏ ‏‮use‬‏ ‏‮prohibited‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏"
@@ -117,7 +117,7 @@
117
117
  "message": "‏‮Elements‬‏ ‏‮use‬‏ ‏‮only‬‏ ‏‮permitted‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏"
118
118
  },
119
119
  "core/audits/accessibility/aria-required-attr.js | description": {
120
- "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.9/aria-required-attr)."
120
+ "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.10/aria-required-attr)."
121
121
  },
122
122
  "core/audits/accessibility/aria-required-attr.js | failureTitle": {
123
123
  "message": "`[role]`‏‮s‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ `[aria-*]` ‏‮attributes‬‏"
@@ -126,7 +126,7 @@
126
126
  "message": "`[role]`‏‮s‬‏ ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ `[aria-*]` ‏‮attributes‬‏"
127
127
  },
128
128
  "core/audits/accessibility/aria-required-children.js | description": {
129
- "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.9/aria-required-children)."
129
+ "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.10/aria-required-children)."
130
130
  },
131
131
  "core/audits/accessibility/aria-required-children.js | failureTitle": {
132
132
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ `[role]` ‏‮that‬‏ ‏‮require‬‏ ‏‮children‬‏ ‏‮to‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮specific‬‏ `[role]` ‏‮are‬‏ ‏‮missing‬‏ ‏‮some‬‏ ‏‮or‬‏ ‏‮all‬‏ ‏‮of‬‏ ‏‮those‬‏ ‏‮required‬‏ ‏‮children‬‏."
@@ -135,7 +135,7 @@
135
135
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ `[role]` ‏‮that‬‏ ‏‮require‬‏ ‏‮children‬‏ ‏‮to‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮specific‬‏ `[role]` ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ ‏‮children‬‏."
136
136
  },
137
137
  "core/audits/accessibility/aria-required-parent.js | description": {
138
- "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.9/aria-required-parent)."
138
+ "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.10/aria-required-parent)."
139
139
  },
140
140
  "core/audits/accessibility/aria-required-parent.js | failureTitle": {
141
141
  "message": "`[role]`‏‮s‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮their‬‏ ‏‮required‬‏ ‏‮parent‬‏ ‏‮element‬‏"
@@ -144,7 +144,7 @@
144
144
  "message": "`[role]`‏‮s‬‏ ‏‮are‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮their‬‏ ‏‮required‬‏ ‏‮parent‬‏ ‏‮element‬‏"
145
145
  },
146
146
  "core/audits/accessibility/aria-roles.js | description": {
147
- "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.9/aria-roles)."
147
+ "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.10/aria-roles)."
148
148
  },
149
149
  "core/audits/accessibility/aria-roles.js | failureTitle": {
150
150
  "message": "`[role]` ‏‮values‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮valid‬‏"
@@ -153,7 +153,7 @@
153
153
  "message": "`[role]` ‏‮values‬‏ ‏‮are‬‏ ‏‮valid‬‏"
154
154
  },
155
155
  "core/audits/accessibility/aria-text.js | description": {
156
- "message": "‏‮Adding‬‏ `role=text` ‏‮around‬‏ ‏‮a‬‏ ‏‮text‬‏ ‏‮node‬‏ ‏‮split‬‏ ‏‮by‬‏ ‏‮markup‬‏ ‏‮enables‬‏ ‏‮VoiceOver‬‏ ‏‮to‬‏ ‏‮treat‬‏ ‏‮it‬‏ ‏‮as‬‏ ‏‮one‬‏ ‏‮phrase‬‏, ‏‮but‬‏ ‏‮the‬‏ ‏‮element‬‏'‏‮s‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮announced‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `role=text` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.9/aria-text)."
156
+ "message": "‏‮Adding‬‏ `role=text` ‏‮around‬‏ ‏‮a‬‏ ‏‮text‬‏ ‏‮node‬‏ ‏‮split‬‏ ‏‮by‬‏ ‏‮markup‬‏ ‏‮enables‬‏ ‏‮VoiceOver‬‏ ‏‮to‬‏ ‏‮treat‬‏ ‏‮it‬‏ ‏‮as‬‏ ‏‮one‬‏ ‏‮phrase‬‏, ‏‮but‬‏ ‏‮the‬‏ ‏‮element‬‏'‏‮s‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮announced‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `role=text` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.10/aria-text)."
157
157
  },
158
158
  "core/audits/accessibility/aria-text.js | failureTitle": {
159
159
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮the‬‏ `role=text` ‏‮attribute‬‏ ‏‮do‬‏ ‏‮have‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏."
@@ -162,7 +162,7 @@
162
162
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮the‬‏ `role=text` ‏‮attribute‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏."
163
163
  },
164
164
  "core/audits/accessibility/aria-toggle-field-name.js | description": {
165
- "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.9/aria-toggle-field-name)."
165
+ "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.10/aria-toggle-field-name)."
166
166
  },
167
167
  "core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
168
168
  "message": "‏‮ARIA‬‏ ‏‮toggle‬‏ ‏‮fields‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
@@ -171,7 +171,7 @@
171
171
  "message": "‏‮ARIA‬‏ ‏‮toggle‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
172
172
  },
173
173
  "core/audits/accessibility/aria-tooltip-name.js | description": {
174
- "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮tooltip‬‏ ‏‮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.9/aria-tooltip-name)."
174
+ "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮tooltip‬‏ ‏‮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.10/aria-tooltip-name)."
175
175
  },
176
176
  "core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
177
177
  "message": "‏‮ARIA‬‏ `tooltip` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -180,7 +180,7 @@
180
180
  "message": "‏‮ARIA‬‏ `tooltip` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
181
181
  },
182
182
  "core/audits/accessibility/aria-treeitem-name.js | description": {
183
- "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.9/aria-treeitem-name)."
183
+ "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.10/aria-treeitem-name)."
184
184
  },
185
185
  "core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
186
186
  "message": "‏‮ARIA‬‏ `treeitem` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -189,7 +189,7 @@
189
189
  "message": "‏‮ARIA‬‏ `treeitem` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
190
190
  },
191
191
  "core/audits/accessibility/aria-valid-attr-value.js | description": {
192
- "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.9/aria-valid-attr-value)."
192
+ "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.10/aria-valid-attr-value)."
193
193
  },
194
194
  "core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
195
195
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏"
@@ -198,7 +198,7 @@
198
198
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏"
199
199
  },
200
200
  "core/audits/accessibility/aria-valid-attr.js | description": {
201
- "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.9/aria-valid-attr)."
201
+ "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.10/aria-valid-attr)."
202
202
  },
203
203
  "core/audits/accessibility/aria-valid-attr.js | failureTitle": {
204
204
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮valid‬‏ ‏‮or‬‏ ‏‮misspelled‬‏"
@@ -210,7 +210,7 @@
210
210
  "message": "‏‮Failing‬‏ ‏‮Elements‬‏"
211
211
  },
212
212
  "core/audits/accessibility/button-name.js | description": {
213
- "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.9/button-name)."
213
+ "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.10/button-name)."
214
214
  },
215
215
  "core/audits/accessibility/button-name.js | failureTitle": {
216
216
  "message": "‏‮Buttons‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏"
@@ -219,7 +219,7 @@
219
219
  "message": "‏‮Buttons‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏"
220
220
  },
221
221
  "core/audits/accessibility/bypass.js | description": {
222
- "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.9/bypass)."
222
+ "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.10/bypass)."
223
223
  },
224
224
  "core/audits/accessibility/bypass.js | failureTitle": {
225
225
  "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮heading‬‏, ‏‮skip‬‏ ‏‮link‬‏, ‏‮or‬‏ ‏‮landmark‬‏ ‏‮region‬‏"
@@ -228,7 +228,7 @@
228
228
  "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮contains‬‏ ‏‮a‬‏ ‏‮heading‬‏, ‏‮skip‬‏ ‏‮link‬‏, ‏‮or‬‏ ‏‮landmark‬‏ ‏‮region‬‏"
229
229
  },
230
230
  "core/audits/accessibility/color-contrast.js | description": {
231
- "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.9/color-contrast)."
231
+ "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.10/color-contrast)."
232
232
  },
233
233
  "core/audits/accessibility/color-contrast.js | failureTitle": {
234
234
  "message": "‏‮Background‬‏ ‏‮and‬‏ ‏‮foreground‬‏ ‏‮colors‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮sufficient‬‏ ‏‮contrast‬‏ ‏‮ratio‬‏."
@@ -237,7 +237,7 @@
237
237
  "message": "‏‮Background‬‏ ‏‮and‬‏ ‏‮foreground‬‏ ‏‮colors‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮sufficient‬‏ ‏‮contrast‬‏ ‏‮ratio‬‏"
238
238
  },
239
239
  "core/audits/accessibility/definition-list.js | description": {
240
- "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.9/definition-list)."
240
+ "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.10/definition-list)."
241
241
  },
242
242
  "core/audits/accessibility/definition-list.js | failureTitle": {
243
243
  "message": "`<dl>`'‏‮s‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮only‬‏ ‏‮properly‬‏-‏‮ordered‬‏ `<dt>` ‏‮and‬‏ `<dd>` ‏‮groups‬‏, `<script>`, `<template>` ‏‮or‬‏ `<div>` ‏‮elements‬‏."
@@ -246,7 +246,7 @@
246
246
  "message": "`<dl>`'‏‮s‬‏ ‏‮contain‬‏ ‏‮only‬‏ ‏‮properly‬‏-‏‮ordered‬‏ `<dt>` ‏‮and‬‏ `<dd>` ‏‮groups‬‏, `<script>`, `<template>` ‏‮or‬‏ `<div>` ‏‮elements‬‏."
247
247
  },
248
248
  "core/audits/accessibility/dlitem.js | description": {
249
- "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.9/dlitem)."
249
+ "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.10/dlitem)."
250
250
  },
251
251
  "core/audits/accessibility/dlitem.js | failureTitle": {
252
252
  "message": "‏‮Definition‬‏ ‏‮list‬‏ ‏‮items‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮wrapped‬‏ ‏‮in‬‏ `<dl>` ‏‮elements‬‏"
@@ -255,7 +255,7 @@
255
255
  "message": "‏‮Definition‬‏ ‏‮list‬‏ ‏‮items‬‏ ‏‮are‬‏ ‏‮wrapped‬‏ ‏‮in‬‏ `<dl>` ‏‮elements‬‏"
256
256
  },
257
257
  "core/audits/accessibility/document-title.js | description": {
258
- "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.9/document-title)."
258
+ "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.10/document-title)."
259
259
  },
260
260
  "core/audits/accessibility/document-title.js | failureTitle": {
261
261
  "message": "‏‮Document‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮a‬‏ `<title>` ‏‮element‬‏"
@@ -264,7 +264,7 @@
264
264
  "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ `<title>` ‏‮element‬‏"
265
265
  },
266
266
  "core/audits/accessibility/duplicate-id-aria.js | description": {
267
- "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.9/duplicate-id-aria)."
267
+ "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.10/duplicate-id-aria)."
268
268
  },
269
269
  "core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
270
270
  "message": "‏‮ARIA‬‏ ‏‮IDs‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮unique‬‏"
@@ -273,7 +273,7 @@
273
273
  "message": "‏‮ARIA‬‏ ‏‮IDs‬‏ ‏‮are‬‏ ‏‮unique‬‏"
274
274
  },
275
275
  "core/audits/accessibility/empty-heading.js | description": {
276
- "message": "‏‮A‬‏ ‏‮heading‬‏ ‏‮with‬‏ ‏‮no‬‏ ‏‮content‬‏ ‏‮or‬‏ ‏‮inaccessible‬‏ ‏‮text‬‏ ‏‮prevent‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮from‬‏ ‏‮accessing‬‏ ‏‮information‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮structure‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮headings‬‏](https://dequeuniversity.com/rules/axe/4.9/empty-heading)."
276
+ "message": "‏‮A‬‏ ‏‮heading‬‏ ‏‮with‬‏ ‏‮no‬‏ ‏‮content‬‏ ‏‮or‬‏ ‏‮inaccessible‬‏ ‏‮text‬‏ ‏‮prevent‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮from‬‏ ‏‮accessing‬‏ ‏‮information‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮structure‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮headings‬‏](https://dequeuniversity.com/rules/axe/4.10/empty-heading)."
277
277
  },
278
278
  "core/audits/accessibility/empty-heading.js | failureTitle": {
279
279
  "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮content‬‏."
@@ -282,7 +282,7 @@
282
282
  "message": "‏‮All‬‏ ‏‮heading‬‏ ‏‮elements‬‏ ‏‮contain‬‏ ‏‮content‬‏."
283
283
  },
284
284
  "core/audits/accessibility/form-field-multiple-labels.js | description": {
285
- "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.9/form-field-multiple-labels)."
285
+ "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.10/form-field-multiple-labels)."
286
286
  },
287
287
  "core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
288
288
  "message": "‏‮Form‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮multiple‬‏ ‏‮labels‬‏"
@@ -291,7 +291,7 @@
291
291
  "message": "‏‮No‬‏ ‏‮form‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮multiple‬‏ ‏‮labels‬‏"
292
292
  },
293
293
  "core/audits/accessibility/frame-title.js | description": {
294
- "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.9/frame-title)."
294
+ "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.10/frame-title)."
295
295
  },
296
296
  "core/audits/accessibility/frame-title.js | failureTitle": {
297
297
  "message": "`<frame>` ‏‮or‬‏ `<iframe>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮title‬‏"
@@ -300,7 +300,7 @@
300
300
  "message": "`<frame>` ‏‮or‬‏ `<iframe>` ‏‮elements‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮title‬‏"
301
301
  },
302
302
  "core/audits/accessibility/heading-order.js | description": {
303
- "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.9/heading-order)."
303
+ "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.10/heading-order)."
304
304
  },
305
305
  "core/audits/accessibility/heading-order.js | failureTitle": {
306
306
  "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮sequentially‬‏-‏‮descending‬‏ ‏‮order‬‏"
@@ -309,7 +309,7 @@
309
309
  "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮appear‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮sequentially‬‏-‏‮descending‬‏ ‏‮order‬‏"
310
310
  },
311
311
  "core/audits/accessibility/html-has-lang.js | description": {
312
- "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.9/html-has-lang)."
312
+ "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.10/html-has-lang)."
313
313
  },
314
314
  "core/audits/accessibility/html-has-lang.js | failureTitle": {
315
315
  "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ `[lang]` ‏‮attribute‬‏"
@@ -318,7 +318,7 @@
318
318
  "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ `[lang]` ‏‮attribute‬‏"
319
319
  },
320
320
  "core/audits/accessibility/html-lang-valid.js | description": {
321
- "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.9/html-lang-valid)."
321
+ "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.10/html-lang-valid)."
322
322
  },
323
323
  "core/audits/accessibility/html-lang-valid.js | failureTitle": {
324
324
  "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏ ‏‮for‬‏ ‏‮its‬‏ `[lang]` ‏‮attribute‬‏."
@@ -327,7 +327,7 @@
327
327
  "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏ ‏‮for‬‏ ‏‮its‬‏ `[lang]` ‏‮attribute‬‏"
328
328
  },
329
329
  "core/audits/accessibility/html-xml-lang-mismatch.js | description": {
330
- "message": "‏‮If‬‏ ‏‮the‬‏ ‏‮webpage‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮specify‬‏ ‏‮a‬‏ ‏‮consistent‬‏ ‏‮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.9/html-xml-lang-mismatch)."
330
+ "message": "‏‮If‬‏ ‏‮the‬‏ ‏‮webpage‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮specify‬‏ ‏‮a‬‏ ‏‮consistent‬‏ ‏‮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.10/html-xml-lang-mismatch)."
331
331
  },
332
332
  "core/audits/accessibility/html-xml-lang-mismatch.js | failureTitle": {
333
333
  "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮an‬‏ `[xml:lang]` ‏‮attribute‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮base‬‏ ‏‮language‬‏ ‏‮as‬‏ ‏‮the‬‏ `[lang]` ‏‮attribute‬‏."
@@ -336,7 +336,7 @@
336
336
  "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮an‬‏ `[xml:lang]` ‏‮attribute‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮base‬‏ ‏‮language‬‏ ‏‮as‬‏ ‏‮the‬‏ `[lang]` ‏‮attribute‬‏."
337
337
  },
338
338
  "core/audits/accessibility/identical-links-same-purpose.js | description": {
339
- "message": "‏‮Links‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮destination‬‏ ‏‮should‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮description‬‏, ‏‮to‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮understand‬‏ ‏‮the‬‏ ‏‮link‬‏'‏‮s‬‏ ‏‮purpose‬‏ ‏‮and‬‏ ‏‮decide‬‏ ‏‮whether‬‏ ‏‮to‬‏ ‏‮follow‬‏ ‏‮it‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮identical‬‏ ‏‮links‬‏](https://dequeuniversity.com/rules/axe/4.9/identical-links-same-purpose)."
339
+ "message": "‏‮Links‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮destination‬‏ ‏‮should‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮description‬‏, ‏‮to‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮understand‬‏ ‏‮the‬‏ ‏‮link‬‏'‏‮s‬‏ ‏‮purpose‬‏ ‏‮and‬‏ ‏‮decide‬‏ ‏‮whether‬‏ ‏‮to‬‏ ‏‮follow‬‏ ‏‮it‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮identical‬‏ ‏‮links‬‏](https://dequeuniversity.com/rules/axe/4.10/identical-links-same-purpose)."
340
340
  },
341
341
  "core/audits/accessibility/identical-links-same-purpose.js | failureTitle": {
342
342
  "message": "‏‮Identical‬‏ ‏‮links‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮purpose‬‏."
@@ -345,7 +345,7 @@
345
345
  "message": "‏‮Identical‬‏ ‏‮links‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮purpose‬‏."
346
346
  },
347
347
  "core/audits/accessibility/image-alt.js | description": {
348
- "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.9/image-alt)."
348
+ "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.10/image-alt)."
349
349
  },
350
350
  "core/audits/accessibility/image-alt.js | failureTitle": {
351
351
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏"
@@ -354,7 +354,7 @@
354
354
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏"
355
355
  },
356
356
  "core/audits/accessibility/image-redundant-alt.js | description": {
357
- "message": "‏‮Informative‬‏ ‏‮elements‬‏ ‏‮should‬‏ ‏‮aim‬‏ ‏‮for‬‏ ‏‮short‬‏, ‏‮descriptive‬‏ ‏‮alternative‬‏ ‏‮text‬‏. ‏‮Alternative‬‏ ‏‮text‬‏ ‏‮that‬‏ ‏‮is‬‏ ‏‮exactly‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮as‬‏ ‏‮the‬‏ ‏‮text‬‏ ‏‮adjacent‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮link‬‏ ‏‮or‬‏ ‏‮image‬‏ ‏‮is‬‏ ‏‮potentially‬‏ ‏‮confusing‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏, ‏‮because‬‏ ‏‮the‬‏ ‏‮text‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮read‬‏ ‏‮twice‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `alt` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.9/image-redundant-alt)."
357
+ "message": "‏‮Informative‬‏ ‏‮elements‬‏ ‏‮should‬‏ ‏‮aim‬‏ ‏‮for‬‏ ‏‮short‬‏, ‏‮descriptive‬‏ ‏‮alternative‬‏ ‏‮text‬‏. ‏‮Alternative‬‏ ‏‮text‬‏ ‏‮that‬‏ ‏‮is‬‏ ‏‮exactly‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮as‬‏ ‏‮the‬‏ ‏‮text‬‏ ‏‮adjacent‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮link‬‏ ‏‮or‬‏ ‏‮image‬‏ ‏‮is‬‏ ‏‮potentially‬‏ ‏‮confusing‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏, ‏‮because‬‏ ‏‮the‬‏ ‏‮text‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮read‬‏ ‏‮twice‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `alt` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.10/image-redundant-alt)."
358
358
  },
359
359
  "core/audits/accessibility/image-redundant-alt.js | failureTitle": {
360
360
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮redundant‬‏ ‏‮text‬‏."
@@ -363,7 +363,7 @@
363
363
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮redundant‬‏ ‏‮text‬‏."
364
364
  },
365
365
  "core/audits/accessibility/input-button-name.js | description": {
366
- "message": "‏‮Adding‬‏ ‏‮discernable‬‏ ‏‮and‬‏ ‏‮accessible‬‏ ‏‮text‬‏ ‏‮to‬‏ ‏‮input‬‏ ‏‮buttons‬‏ ‏‮may‬‏ ‏‮help‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮understand‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮input‬‏ ‏‮button‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮input‬‏ ‏‮buttons‬‏](https://dequeuniversity.com/rules/axe/4.9/input-button-name)."
366
+ "message": "‏‮Adding‬‏ ‏‮discernable‬‏ ‏‮and‬‏ ‏‮accessible‬‏ ‏‮text‬‏ ‏‮to‬‏ ‏‮input‬‏ ‏‮buttons‬‏ ‏‮may‬‏ ‏‮help‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮understand‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮input‬‏ ‏‮button‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮input‬‏ ‏‮buttons‬‏](https://dequeuniversity.com/rules/axe/4.10/input-button-name)."
367
367
  },
368
368
  "core/audits/accessibility/input-button-name.js | failureTitle": {
369
369
  "message": "‏‮Input‬‏ ‏‮buttons‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮discernible‬‏ ‏‮text‬‏."
@@ -372,7 +372,7 @@
372
372
  "message": "‏‮Input‬‏ ‏‮buttons‬‏ ‏‮have‬‏ ‏‮discernible‬‏ ‏‮text‬‏."
373
373
  },
374
374
  "core/audits/accessibility/input-image-alt.js | description": {
375
- "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.9/input-image-alt)."
375
+ "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.10/input-image-alt)."
376
376
  },
377
377
  "core/audits/accessibility/input-image-alt.js | failureTitle": {
378
378
  "message": "`<input type=\"image\">` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮text‬‏"
@@ -381,7 +381,7 @@
381
381
  "message": "`<input type=\"image\">` ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮text‬‏"
382
382
  },
383
383
  "core/audits/accessibility/label-content-name-mismatch.js | description": {
384
- "message": "‏‮Visible‬‏ ‏‮text‬‏ ‏‮labels‬‏ ‏‮that‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮match‬‏ ‏‮the‬‏ ‏‮accessible‬‏ ‏‮name‬‏ ‏‮can‬‏ ‏‮result‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮confusing‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮accessible‬‏ ‏‮names‬‏](https://dequeuniversity.com/rules/axe/4.9/label-content-name-mismatch)."
384
+ "message": "‏‮Visible‬‏ ‏‮text‬‏ ‏‮labels‬‏ ‏‮that‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮match‬‏ ‏‮the‬‏ ‏‮accessible‬‏ ‏‮name‬‏ ‏‮can‬‏ ‏‮result‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮confusing‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮accessible‬‏ ‏‮names‬‏](https://dequeuniversity.com/rules/axe/4.10/label-content-name-mismatch)."
385
385
  },
386
386
  "core/audits/accessibility/label-content-name-mismatch.js | failureTitle": {
387
387
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮visible‬‏ ‏‮text‬‏ ‏‮labels‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮matching‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -390,7 +390,7 @@
390
390
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮visible‬‏ ‏‮text‬‏ ‏‮labels‬‏ ‏‮have‬‏ ‏‮matching‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
391
391
  },
392
392
  "core/audits/accessibility/label.js | description": {
393
- "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.9/label)."
393
+ "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.10/label)."
394
394
  },
395
395
  "core/audits/accessibility/label.js | failureTitle": {
396
396
  "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮labels‬‏"
@@ -399,7 +399,7 @@
399
399
  "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮labels‬‏"
400
400
  },
401
401
  "core/audits/accessibility/landmark-one-main.js | description": {
402
- "message": "‏‮One‬‏ ‏‮main‬‏ ‏‮landmark‬‏ ‏‮helps‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮navigate‬‏ ‏‮a‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮landmarks‬‏](https://dequeuniversity.com/rules/axe/4.9/landmark-one-main)."
402
+ "message": "‏‮One‬‏ ‏‮main‬‏ ‏‮landmark‬‏ ‏‮helps‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮navigate‬‏ ‏‮a‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮landmarks‬‏](https://dequeuniversity.com/rules/axe/4.10/landmark-one-main)."
403
403
  },
404
404
  "core/audits/accessibility/landmark-one-main.js | failureTitle": {
405
405
  "message": "‏‮Document‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮main‬‏ ‏‮landmark‬‏."
@@ -408,7 +408,7 @@
408
408
  "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮main‬‏ ‏‮landmark‬‏."
409
409
  },
410
410
  "core/audits/accessibility/link-in-text-block.js | description": {
411
- "message": "‏‮Low‬‏-‏‮contrast‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮difficult‬‏ ‏‮or‬‏ ‏‮impossible‬‏ ‏‮for‬‏ ‏‮many‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮read‬‏. ‏‮Link‬‏ ‏‮text‬‏ ‏‮that‬‏ ‏‮is‬‏ ‏‮discernible‬‏ ‏‮improves‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮with‬‏ ‏‮low‬‏ ‏‮vision‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮links‬‏ ‏‮distinguishable‬‏](https://dequeuniversity.com/rules/axe/4.9/link-in-text-block)."
411
+ "message": "‏‮Low‬‏-‏‮contrast‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮difficult‬‏ ‏‮or‬‏ ‏‮impossible‬‏ ‏‮for‬‏ ‏‮many‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮read‬‏. ‏‮Link‬‏ ‏‮text‬‏ ‏‮that‬‏ ‏‮is‬‏ ‏‮discernible‬‏ ‏‮improves‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮with‬‏ ‏‮low‬‏ ‏‮vision‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮links‬‏ ‏‮distinguishable‬‏](https://dequeuniversity.com/rules/axe/4.10/link-in-text-block)."
412
412
  },
413
413
  "core/audits/accessibility/link-in-text-block.js | failureTitle": {
414
414
  "message": "‏‮Links‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮color‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮distinguishable‬‏."
@@ -417,7 +417,7 @@
417
417
  "message": "‏‮Links‬‏ ‏‮are‬‏ ‏‮distinguishable‬‏ ‏‮without‬‏ ‏‮relying‬‏ ‏‮on‬‏ ‏‮color‬‏."
418
418
  },
419
419
  "core/audits/accessibility/link-name.js | description": {
420
- "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.9/link-name)."
420
+ "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.10/link-name)."
421
421
  },
422
422
  "core/audits/accessibility/link-name.js | failureTitle": {
423
423
  "message": "‏‮Links‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮discernible‬‏ ‏‮name‬‏"
@@ -426,7 +426,7 @@
426
426
  "message": "‏‮Links‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮discernible‬‏ ‏‮name‬‏"
427
427
  },
428
428
  "core/audits/accessibility/list.js | description": {
429
- "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.9/list)."
429
+ "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.10/list)."
430
430
  },
431
431
  "core/audits/accessibility/list.js | failureTitle": {
432
432
  "message": "‏‮Lists‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮only‬‏ `<li>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮script‬‏ ‏‮supporting‬‏ ‏‮elements‬‏ (`<script>` ‏‮and‬‏ `<template>`)."
@@ -435,7 +435,7 @@
435
435
  "message": "‏‮Lists‬‏ ‏‮contain‬‏ ‏‮only‬‏ `<li>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮script‬‏ ‏‮supporting‬‏ ‏‮elements‬‏ (`<script>` ‏‮and‬‏ `<template>`)."
436
436
  },
437
437
  "core/audits/accessibility/listitem.js | description": {
438
- "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.9/listitem)."
438
+ "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.10/listitem)."
439
439
  },
440
440
  "core/audits/accessibility/listitem.js | failureTitle": {
441
441
  "message": "‏‮List‬‏ ‏‮items‬‏ (`<li>`) ‏‮are‬‏ ‏‮not‬‏ ‏‮contained‬‏ ‏‮within‬‏ `<ul>`, `<ol>` ‏‮or‬‏ `<menu>` ‏‮parent‬‏ ‏‮elements‬‏."
@@ -444,7 +444,7 @@
444
444
  "message": "‏‮List‬‏ ‏‮items‬‏ (`<li>`) ‏‮are‬‏ ‏‮contained‬‏ ‏‮within‬‏ `<ul>`, `<ol>` ‏‮or‬‏ `<menu>` ‏‮parent‬‏ ‏‮elements‬‏"
445
445
  },
446
446
  "core/audits/accessibility/meta-refresh.js | description": {
447
- "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.9/meta-refresh)."
447
+ "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.10/meta-refresh)."
448
448
  },
449
449
  "core/audits/accessibility/meta-refresh.js | failureTitle": {
450
450
  "message": "‏‮The‬‏ ‏‮document‬‏ ‏‮uses‬‏ `<meta http-equiv=\"refresh\">`"
@@ -453,7 +453,7 @@
453
453
  "message": "‏‮The‬‏ ‏‮document‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮use‬‏ `<meta http-equiv=\"refresh\">`"
454
454
  },
455
455
  "core/audits/accessibility/meta-viewport.js | description": {
456
- "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.9/meta-viewport)."
456
+ "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.10/meta-viewport)."
457
457
  },
458
458
  "core/audits/accessibility/meta-viewport.js | failureTitle": {
459
459
  "message": "`[user-scalable=\"no\"]` ‏‮is‬‏ ‏‮used‬‏ ‏‮in‬‏ ‏‮the‬‏ `<meta name=\"viewport\">` ‏‮element‬‏ ‏‮or‬‏ ‏‮the‬‏ `[maximum-scale]` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮less‬‏ ‏‮than‬‏ 5."
@@ -462,7 +462,7 @@
462
462
  "message": "`[user-scalable=\"no\"]` ‏‮is‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮in‬‏ ‏‮the‬‏ `<meta name=\"viewport\">` ‏‮element‬‏ ‏‮and‬‏ ‏‮the‬‏ `[maximum-scale]` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮less‬‏ ‏‮than‬‏ 5."
463
463
  },
464
464
  "core/audits/accessibility/object-alt.js | description": {
465
- "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.9/object-alt)."
465
+ "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.10/object-alt)."
466
466
  },
467
467
  "core/audits/accessibility/object-alt.js | failureTitle": {
468
468
  "message": "`<object>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮alternate‬‏ ‏‮text‬‏"
@@ -471,7 +471,7 @@
471
471
  "message": "`<object>` ‏‮elements‬‏ ‏‮have‬‏ ‏‮alternate‬‏ ‏‮text‬‏"
472
472
  },
473
473
  "core/audits/accessibility/select-name.js | description": {
474
- "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮without‬‏ ‏‮effective‬‏ ‏‮labels‬‏ ‏‮can‬‏ ‏‮create‬‏ ‏‮frustrating‬‏ ‏‮experiences‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `select` ‏‮element‬‏](https://dequeuniversity.com/rules/axe/4.9/select-name)."
474
+ "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮without‬‏ ‏‮effective‬‏ ‏‮labels‬‏ ‏‮can‬‏ ‏‮create‬‏ ‏‮frustrating‬‏ ‏‮experiences‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `select` ‏‮element‬‏](https://dequeuniversity.com/rules/axe/4.10/select-name)."
475
475
  },
476
476
  "core/audits/accessibility/select-name.js | failureTitle": {
477
477
  "message": "‏‮Select‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮label‬‏ ‏‮elements‬‏."
@@ -480,7 +480,7 @@
480
480
  "message": "‏‮Select‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮label‬‏ ‏‮elements‬‏."
481
481
  },
482
482
  "core/audits/accessibility/skip-link.js | description": {
483
- "message": "‏‮Including‬‏ ‏‮a‬‏ ‏‮skip‬‏ ‏‮link‬‏ ‏‮can‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮skip‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮content‬‏ ‏‮to‬‏ ‏‮save‬‏ ‏‮time‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮skip‬‏ ‏‮links‬‏](https://dequeuniversity.com/rules/axe/4.9/skip-link)."
483
+ "message": "‏‮Including‬‏ ‏‮a‬‏ ‏‮skip‬‏ ‏‮link‬‏ ‏‮can‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮skip‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮content‬‏ ‏‮to‬‏ ‏‮save‬‏ ‏‮time‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮skip‬‏ ‏‮links‬‏](https://dequeuniversity.com/rules/axe/4.10/skip-link)."
484
484
  },
485
485
  "core/audits/accessibility/skip-link.js | failureTitle": {
486
486
  "message": "‏‮Skip‬‏ ‏‮links‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮focusable‬‏."
@@ -489,7 +489,7 @@
489
489
  "message": "‏‮Skip‬‏ ‏‮links‬‏ ‏‮are‬‏ ‏‮focusable‬‏."
490
490
  },
491
491
  "core/audits/accessibility/tabindex.js | description": {
492
- "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.9/tabindex)."
492
+ "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.10/tabindex)."
493
493
  },
494
494
  "core/audits/accessibility/tabindex.js | failureTitle": {
495
495
  "message": "‏‮Some‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮a‬‏ `[tabindex]` ‏‮value‬‏ ‏‮greater‬‏ ‏‮than‬‏ 0"
@@ -498,7 +498,7 @@
498
498
  "message": "‏‮No‬‏ ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ `[tabindex]` ‏‮value‬‏ ‏‮greater‬‏ ‏‮than‬‏ 0"
499
499
  },
500
500
  "core/audits/accessibility/table-duplicate-name.js | description": {
501
- "message": "‏‮The‬‏ ‏‮summary‬‏ ‏‮attribute‬‏ ‏‮should‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮table‬‏ ‏‮structure‬‏, ‏‮while‬‏ `<caption>` ‏‮should‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮onscreen‬‏ ‏‮title‬‏. ‏‮Accurate‬‏ ‏‮table‬‏ ‏‮mark‬‏-‏‮up‬‏ ‏‮helps‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮summary‬‏ ‏‮and‬‏ ‏‮caption‬‏](https://dequeuniversity.com/rules/axe/4.9/table-duplicate-name)."
501
+ "message": "‏‮The‬‏ ‏‮summary‬‏ ‏‮attribute‬‏ ‏‮should‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮table‬‏ ‏‮structure‬‏, ‏‮while‬‏ `<caption>` ‏‮should‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮onscreen‬‏ ‏‮title‬‏. ‏‮Accurate‬‏ ‏‮table‬‏ ‏‮mark‬‏-‏‮up‬‏ ‏‮helps‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮summary‬‏ ‏‮and‬‏ ‏‮caption‬‏](https://dequeuniversity.com/rules/axe/4.10/table-duplicate-name)."
502
502
  },
503
503
  "core/audits/accessibility/table-duplicate-name.js | failureTitle": {
504
504
  "message": "‏‮Tables‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮content‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮summary‬‏ ‏‮attribute‬‏ ‏‮and‬‏ `<caption>.`"
@@ -507,7 +507,7 @@
507
507
  "message": "‏‮Tables‬‏ ‏‮have‬‏ ‏‮different‬‏ ‏‮content‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮summary‬‏ ‏‮attribute‬‏ ‏‮and‬‏ `<caption>`."
508
508
  },
509
509
  "core/audits/accessibility/table-fake-caption.js | description": {
510
- "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ ‏‮that‬‏ ‏‮tables‬‏ ‏‮use‬‏ ‏‮the‬‏ ‏‮actual‬‏ ‏‮caption‬‏ ‏‮element‬‏ ‏‮instead‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮with‬‏ ‏‮the‬‏ `[colspan]` ‏‮attribute‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮captions‬‏](https://dequeuniversity.com/rules/axe/4.9/table-fake-caption)."
510
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ ‏‮that‬‏ ‏‮tables‬‏ ‏‮use‬‏ ‏‮the‬‏ ‏‮actual‬‏ ‏‮caption‬‏ ‏‮element‬‏ ‏‮instead‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮with‬‏ ‏‮the‬‏ `[colspan]` ‏‮attribute‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮captions‬‏](https://dequeuniversity.com/rules/axe/4.10/table-fake-caption)."
511
511
  },
512
512
  "core/audits/accessibility/table-fake-caption.js | failureTitle": {
513
513
  "message": "‏‮Tables‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮use‬‏ `<caption>` ‏‮instead‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮with‬‏ ‏‮the‬‏ `[colspan]` ‏‮attribute‬‏ ‏‮to‬‏ ‏‮indicate‬‏ ‏‮a‬‏ ‏‮caption‬‏."
@@ -516,7 +516,7 @@
516
516
  "message": "‏‮Tables‬‏ ‏‮use‬‏ `<caption>` ‏‮instead‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮with‬‏ ‏‮the‬‏ `[colspan]` ‏‮attribute‬‏ ‏‮to‬‏ ‏‮indicate‬‏ ‏‮a‬‏ ‏‮caption‬‏."
517
517
  },
518
518
  "core/audits/accessibility/target-size.js | description": {
519
- "message": "‏‮Touch‬‏ ‏‮targets‬‏ ‏‮with‬‏ ‏‮sufficient‬‏ ‏‮size‬‏ ‏‮and‬‏ ‏‮spacing‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮may‬‏ ‏‮have‬‏ ‏‮difficulty‬‏ ‏‮targeting‬‏ ‏‮small‬‏ ‏‮controls‬‏ ‏‮to‬‏ ‏‮activate‬‏ ‏‮the‬‏ ‏‮targets‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮touch‬‏ ‏‮targets‬‏](https://dequeuniversity.com/rules/axe/4.9/target-size)."
519
+ "message": "‏‮Touch‬‏ ‏‮targets‬‏ ‏‮with‬‏ ‏‮sufficient‬‏ ‏‮size‬‏ ‏‮and‬‏ ‏‮spacing‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮may‬‏ ‏‮have‬‏ ‏‮difficulty‬‏ ‏‮targeting‬‏ ‏‮small‬‏ ‏‮controls‬‏ ‏‮to‬‏ ‏‮activate‬‏ ‏‮the‬‏ ‏‮targets‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮touch‬‏ ‏‮targets‬‏](https://dequeuniversity.com/rules/axe/4.10/target-size)."
520
520
  },
521
521
  "core/audits/accessibility/target-size.js | failureTitle": {
522
522
  "message": "‏‮Touch‬‏ ‏‮targets‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮sufficient‬‏ ‏‮size‬‏ ‏‮or‬‏ ‏‮spacing‬‏."
@@ -525,7 +525,7 @@
525
525
  "message": "‏‮Touch‬‏ ‏‮targets‬‏ ‏‮have‬‏ ‏‮sufficient‬‏ ‏‮size‬‏ ‏‮and‬‏ ‏‮spacing‬‏."
526
526
  },
527
527
  "core/audits/accessibility/td-has-header.js | description": {
528
- "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ ‏‮that‬‏ `<td>` ‏‮elements‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮large‬‏ ‏‮table‬‏ (3 ‏‮or‬‏ ‏‮more‬‏ ‏‮cells‬‏ ‏‮in‬‏ ‏‮width‬‏ ‏‮and‬‏ ‏‮height‬‏) ‏‮have‬‏ ‏‮an‬‏ ‏‮associated‬‏ ‏‮table‬‏ ‏‮header‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮table‬‏ ‏‮headers‬‏](https://dequeuniversity.com/rules/axe/4.9/td-has-header)."
528
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ ‏‮that‬‏ `<td>` ‏‮elements‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮large‬‏ ‏‮table‬‏ (3 ‏‮or‬‏ ‏‮more‬‏ ‏‮cells‬‏ ‏‮in‬‏ ‏‮width‬‏ ‏‮and‬‏ ‏‮height‬‏) ‏‮have‬‏ ‏‮an‬‏ ‏‮associated‬‏ ‏‮table‬‏ ‏‮header‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮table‬‏ ‏‮headers‬‏](https://dequeuniversity.com/rules/axe/4.10/td-has-header)."
529
529
  },
530
530
  "core/audits/accessibility/td-has-header.js | failureTitle": {
531
531
  "message": "`<td>` ‏‮elements‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮large‬‏ `<table>` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮table‬‏ ‏‮headers‬‏."
@@ -534,7 +534,7 @@
534
534
  "message": "`<td>` ‏‮elements‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮large‬‏ `<table>` ‏‮have‬‏ ‏‮one‬‏ ‏‮or‬‏ ‏‮more‬‏ ‏‮table‬‏ ‏‮headers‬‏."
535
535
  },
536
536
  "core/audits/accessibility/td-headers-attr.js | description": {
537
- "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.9/td-headers-attr)."
537
+ "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.10/td-headers-attr)."
538
538
  },
539
539
  "core/audits/accessibility/td-headers-attr.js | failureTitle": {
540
540
  "message": "‏‮Cells‬‏ ‏‮in‬‏ ‏‮a‬‏ `<table>` ‏‮element‬‏ ‏‮that‬‏ ‏‮use‬‏ ‏‮the‬‏ `[headers]` ‏‮attribute‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮an‬‏ ‏‮element‬‏ `id` ‏‮not‬‏ ‏‮found‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮table‬‏."
@@ -543,7 +543,7 @@
543
543
  "message": "‏‮Cells‬‏ ‏‮in‬‏ ‏‮a‬‏ `<table>` ‏‮element‬‏ ‏‮that‬‏ ‏‮use‬‏ ‏‮the‬‏ `[headers]` ‏‮attribute‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮table‬‏ ‏‮cells‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮table‬‏."
544
544
  },
545
545
  "core/audits/accessibility/th-has-data-cells.js | description": {
546
- "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.9/th-has-data-cells)."
546
+ "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.10/th-has-data-cells)."
547
547
  },
548
548
  "core/audits/accessibility/th-has-data-cells.js | failureTitle": {
549
549
  "message": "`<th>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮elements‬‏ ‏‮with‬‏ `[role=\"columnheader\"/\"rowheader\"]` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮data‬‏ ‏‮cells‬‏ ‏‮they‬‏ ‏‮describe‬‏."
@@ -552,7 +552,7 @@
552
552
  "message": "`<th>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮elements‬‏ ‏‮with‬‏ `[role=\"columnheader\"/\"rowheader\"]` ‏‮have‬‏ ‏‮data‬‏ ‏‮cells‬‏ ‏‮they‬‏ ‏‮describe‬‏."
553
553
  },
554
554
  "core/audits/accessibility/valid-lang.js | description": {
555
- "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.9/valid-lang)."
555
+ "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.10/valid-lang)."
556
556
  },
557
557
  "core/audits/accessibility/valid-lang.js | failureTitle": {
558
558
  "message": "`[lang]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏"
@@ -561,7 +561,7 @@
561
561
  "message": "`[lang]` ‏‮attributes‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏"
562
562
  },
563
563
  "core/audits/accessibility/video-caption.js | description": {
564
- "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.9/video-caption)."
564
+ "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.10/video-caption)."
565
565
  },
566
566
  "core/audits/accessibility/video-caption.js | failureTitle": {
567
567
  "message": "`<video>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮a‬‏ `<track>` ‏‮element‬‏ ‏‮with‬‏ `[kind=\"captions\"]`."
@@ -1101,7 +1101,7 @@
1101
1101
  "message": "‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮image‬‏ ‏‮was‬‏ ‏‮not‬‏ ‏‮lazily‬‏ ‏‮loaded‬‏"
1102
1102
  },
1103
1103
  "core/audits/long-tasks.js | description": {
1104
- "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/articles/long-tasks-devtools)"
1104
+ "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/articles/optimize-long-tasks)"
1105
1105
  },
1106
1106
  "core/audits/long-tasks.js | displayValue": {
1107
1107
  "message": "{itemCount,plural, =1{# ‏‮long‬‏ ‏‮task‬‏ ‏‮found‬‏}zero{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}two{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}few{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}many{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}other{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}}"
@@ -1377,7 +1377,7 @@
1377
1377
  "message": "‏‮Initial‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏ ‏‮was‬‏ ‏‮short‬‏"
1378
1378
  },
1379
1379
  "core/audits/third-party-cookies.js | description": {
1380
- "message": "‏‮Support‬‏ ‏‮for‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮cookies‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮removed‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮future‬‏ ‏‮version‬‏ ‏‮of‬‏ ‏‮Chrome‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮phasing‬‏ ‏‮out‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮cookies‬‏](https://developer.chrome.com/en/docs/privacy-sandbox/third-party-cookie-phase-out/)."
1380
+ "message": "‏‮Chrome‬‏ ‏‮is‬‏ ‏‮moving‬‏ ‏‮towards‬‏ ‏‮a‬‏ ‏‮new‬‏ ‏‮experience‬‏ ‏‮that‬‏ ‏‮allows‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮choose‬‏ ‏‮to‬‏ ‏‮browse‬‏ ‏‮without‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮cookies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮cookies‬‏](https://developers.google.com/privacy-sandbox/cookies)."
1381
1381
  },
1382
1382
  "core/audits/third-party-cookies.js | displayValue": {
1383
1383
  "message": "{itemCount,plural, =1{1 ‏‮cookie‬‏ ‏‮found‬‏}zero{# ‏‮cookies‬‏ ‏‮found‬‏}two{# ‏‮cookies‬‏ ‏‮found‬‏}few{# ‏‮cookies‬‏ ‏‮found‬‏}many{# ‏‮cookies‬‏ ‏‮found‬‏}other{# ‏‮cookies‬‏ ‏‮found‬‏}}"
@@ -2658,49 +2658,55 @@
2658
2658
  "message": "‏‮Consider‬‏ ‏‮using‬‏ ‏‮the‬‏ `BreakpointObserver` ‏‮utility‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮Component‬‏ ‏‮Dev‬‏ ‏‮Kit‬‏ (‏‮CDK‬‏) ‏‮to‬‏ ‏‮manage‬‏ ‏‮image‬‏ ‏‮breakpoints‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://material.angular.io/cdk/layout/overview)."
2659
2659
  },
2660
2660
  "node_modules/lighthouse-stack-packs/packs/drupal.js | efficient-animated-content": {
2661
- "message": "‏‮Consider‬‏ ‏‮uploading‬‏ ‏‮your‬‏ ‏‮GIF‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮service‬‏ ‏‮which‬‏ ‏‮will‬‏ ‏‮make‬‏ ‏‮it‬‏ ‏‮available‬‏ ‏‮to‬‏ ‏‮embed‬‏ ‏‮as‬‏ ‏‮an‬‏ ‏‮HTML‬‏5 ‏‮video‬‏."
2662
- },
2663
- "node_modules/lighthouse-stack-packs/packs/drupal.js | font-display": {
2664
- "message": "‏‮Specify‬‏ `@font-display` ‏‮when‬‏ ‏‮defining‬‏ ‏‮custom‬‏ ‏‮fonts‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮theme‬‏."
2661
+ "message": "‏‮Consider‬‏ ‏‮uploading‬‏ ‏‮your‬‏ `GIF` ‏‮to‬‏ ‏‮a‬‏ ‏‮service‬‏ ‏‮which‬‏ ‏‮will‬‏ ‏‮make‬‏ ‏‮it‬‏ ‏‮available‬‏ ‏‮to‬‏ ‏‮embed‬‏ ‏‮as‬‏ ‏‮an‬‏ ‏‮HTML‬‏5 ‏‮video‬‏."
2665
2662
  },
2666
2663
  "node_modules/lighthouse-stack-packs/packs/drupal.js | modern-image-formats": {
2667
2664
  "message": "‏‮Consider‬‏ ‏‮configuring‬‏ [‏‮WebP‬‏ ‏‮image‬‏ ‏‮formats‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮Convert‬‏ ‏‮image‬‏ ‏‮style‬‏](https://www.drupal.org/docs/core-modules-and-themes/core-modules/image-module/working-with-images#styles) ‏‮on‬‏ ‏‮your‬‏ ‏‮site‬‏."
2668
2665
  },
2669
2666
  "node_modules/lighthouse-stack-packs/packs/drupal.js | offscreen-images": {
2670
- "message": "‏‮Install‬‏ [‏‮a‬‏ ‏‮Drupal‬‏ ‏‮module‬‏](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A67&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=%22lazy+load%22&solrsort=iss_project_release_usage+desc&op=Search) ‏‮that‬‏ ‏‮can‬‏ ‏‮lazy‬‏ ‏‮load‬‏ ‏‮images‬‏. ‏‮Such‬‏ ‏‮modules‬‏ ‏‮provide‬‏ ‏‮the‬‏ ‏‮ability‬‏ ‏‮to‬‏ ‏‮defer‬‏ ‏‮any‬‏ ‏‮offscreen‬‏ ‏‮images‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮performance‬‏."
2667
+ "message": "‏‮Consider‬‏ ‏‮configuring‬‏ ‏‮lazy‬‏ ‏‮load‬‏ ‏‮images‬‏ ‏‮in‬‏ `Drupal`. ‏‮The‬‏ ‏‮field‬‏ ‏‮formatters‬‏ ‏‮for‬‏ ‏‮images‬‏ ‏‮support‬‏ `lazy` ‏‮or‬‏ `eager`."
2668
+ },
2669
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | prioritize-lcp-image": {
2670
+ "message": "‏‮If‬‏ ‏‮the‬‏ ‏‮LCP‬‏ ‏‮element‬‏ ‏‮is‬‏ ‏‮dynamically‬‏ ‏‮added‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮page‬‏, ‏‮you‬‏ ‏‮should‬‏ ‏‮optimize‬‏ ‏‮the‬‏ ‏‮image‬‏ ‏‮in‬‏ ‏‮order‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮LCP‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.smashingmagazine.com/2023/08/methods-improving-drupal-largest-contentful-paint-core-web-vital/)."
2671
+ },
2672
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | redirects": {
2673
+ "message": "‏‮Redirects‬‏ ‏‮introduce‬‏ ‏‮additional‬‏ ‏‮delays‬‏ ‏‮before‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮loaded‬‏. ‏‮If‬‏ ‏‮the‬‏ [‏‮Redirect‬‏](https://www.drupal.org/project/redirect) ‏‮module‬‏ ‏‮is‬‏ ‏‮installed‬‏, ‏‮review‬‏ ‏‮if‬‏ ‏‮unnecessary‬‏ ‏‮redirects‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮removed‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://developers.google.com/web/tools/lighthouse/audits/redirects)."
2671
2674
  },
2672
2675
  "node_modules/lighthouse-stack-packs/packs/drupal.js | render-blocking-resources": {
2673
- "message": "‏‮Consider‬‏ ‏‮using‬‏ ‏‮a‬‏ ‏‮module‬‏ ‏‮to‬‏ ‏‮inline‬‏ ‏‮critical‬‏ ‏‮CSS‬‏ ‏‮and‬‏ ‏‮JavaScript‬‏, ‏‮and‬‏ ‏‮use‬‏ ‏‮the‬‏ ‏‮defer‬‏ ‏‮attribute‬‏ ‏‮for‬‏ ‏‮non‬‏-‏‮critical‬‏ ‏‮CSS‬‏ ‏‮or‬‏ ‏‮JavaScript‬‏."
2676
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ [‏‮a‬‏ ‏‮module‬‏](https://www.drupal.org/project/critical_css) ‏‮to‬‏ ‏‮inline‬‏ ‏‮critical‬‏ ‏‮CSS‬‏ ‏‮and‬‏ ‏‮JavaScript‬‏, ‏‮and‬‏ ‏‮use‬‏ ‏‮the‬‏ ‏‮defer‬‏ ‏‮attribute‬‏ ‏‮for‬‏ ‏‮non‬‏-‏‮critical‬‏ ‏‮CSS‬‏ ‏‮or‬‏ ‏‮JavaScript‬‏."
2674
2677
  },
2675
2678
  "node_modules/lighthouse-stack-packs/packs/drupal.js | server-response-time": {
2676
- "message": "‏‮Themes‬‏, ‏‮modules‬‏, ‏‮and‬‏ ‏‮server‬‏ ‏‮specifications‬‏ ‏‮all‬‏ ‏‮contribute‬‏ ‏‮to‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏. ‏‮Consider‬‏ ‏‮finding‬‏ ‏‮a‬‏ ‏‮more‬‏ ‏‮optimized‬‏ ‏‮theme‬‏, ‏‮carefully‬‏ ‏‮selecting‬‏ ‏‮an‬‏ ‏‮optimization‬‏ ‏‮module‬‏, ‏‮and‬‏/‏‮or‬‏ ‏‮upgrading‬‏ ‏‮your‬‏ ‏‮server‬‏. ‏‮Your‬‏ ‏‮hosting‬‏ ‏‮servers‬‏ ‏‮should‬‏ ‏‮make‬‏ ‏‮use‬‏ ‏‮of‬‏ ‏‮PHP‬‏ ‏‮opcode‬‏ ‏‮caching‬‏, ‏‮memory‬‏-‏‮caching‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮database‬‏ ‏‮query‬‏ ‏‮times‬‏ ‏‮such‬‏ ‏‮as‬‏ ‏‮Redis‬‏ ‏‮or‬‏ ‏‮Memcached‬‏, ‏‮as‬‏ ‏‮well‬‏ ‏‮as‬‏ ‏‮optimized‬‏ ‏‮application‬‏ ‏‮logic‬‏ ‏‮to‬‏ ‏‮prepare‬‏ ‏‮pages‬‏ ‏‮faster‬‏."
2679
+ "message": "‏‮Offload‬‏ ‏‮traffic‬‏ ‏‮with‬‏ ‏‮one‬‏ ‏‮or‬‏ ‏‮more‬‏ `Drupal` ‏‮caching‬‏ ‏‮modules‬‏ ‏‮such‬‏ ‏‮as‬‏ `Internal Page Cache`, `Internal Dynamic Page Cache`, ‏‮and‬‏ `BigPipe`. ‏‮Couple‬‏ ‏‮these‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮CDN‬‏ ‏‮to‬‏ ‏‮further‬‏ ‏‮improve‬‏ ‏‮response‬‏ ‏‮time‬‏. ‏‮Your‬‏ ‏‮hosting‬‏ ‏‮servers‬‏ ‏‮should‬‏ ‏‮make‬‏ ‏‮use‬‏ ‏‮of‬‏ ‏‮PHP‬‏ ‏‮OPcache‬‏. ‏‮Consider‬‏ ‏‮using‬‏ ‏‮memory‬‏-‏‮caching‬‏ ‏‮such‬‏ ‏‮as‬‏ ‏‮Redis‬‏ ‏‮or‬‏ ‏‮Memcached‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮database‬‏ ‏‮query‬‏ ‏‮times‬‏. ‏‮Lastly‬‏ ‏‮use‬‏ ‏‮performant‬‏ ‏‮themes‬‏, ‏‮modules‬‏, ‏‮and‬‏ ‏‮faster‬‏ ‏‮servers‬‏ ‏‮to‬‏ ‏‮lower‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏."
2677
2680
  },
2678
2681
  "node_modules/lighthouse-stack-packs/packs/drupal.js | total-byte-weight": {
2679
- "message": "‏‮Consider‬‏ ‏‮using‬‏ [‏‮Responsive‬‏ ‏‮Image‬‏ ‏‮Styles‬‏](https://www.drupal.org/docs/8/mobile-guide/responsive-images-in-drupal-8) ‏‮to‬‏ ‏‮reduce‬‏ ‏‮the‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮images‬‏ ‏‮loaded‬‏ ‏‮on‬‏ ‏‮your‬‏ ‏‮page‬‏. ‏‮If‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ ‏‮Views‬‏ ‏‮to‬‏ ‏‮show‬‏ ‏‮multiple‬‏ ‏‮content‬‏ ‏‮items‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮page‬‏, ‏‮consider‬‏ ‏‮implementing‬‏ ‏‮pagination‬‏ ‏‮to‬‏ ‏‮limit‬‏ ‏‮the‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮content‬‏ ‏‮items‬‏ ‏‮shown‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮given‬‏ ‏‮page‬‏."
2682
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ [‏‮Responsive‬‏ ‏‮Image‬‏ ‏‮Styles‬‏](https://www.drupal.org/documentation/modules/responsive_image) ‏‮to‬‏ ‏‮reduce‬‏ ‏‮the‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮images‬‏ ‏‮loaded‬‏ ‏‮on‬‏ ‏‮your‬‏ ‏‮page‬‏. ‏‮If‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ `Views` ‏‮to‬‏ ‏‮show‬‏ ‏‮multiple‬‏ ‏‮content‬‏ ‏‮items‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮page‬‏, ‏‮consider‬‏ ‏‮implementing‬‏ ‏‮pagination‬‏ ‏‮to‬‏ ‏‮limit‬‏ ‏‮the‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮content‬‏ ‏‮items‬‏ ‏‮shown‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮given‬‏ ‏‮page‬‏."
2680
2683
  },
2681
2684
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-css": {
2682
- "message": "‏‮Ensure‬‏ ‏‮you‬‏ ‏‮have‬‏ ‏‮enabled‬‏ \"‏‮Aggregate‬‏ ‏‮CSS‬‏ ‏‮files‬‏\" ‏‮in‬‏ ‏‮the‬‏ \"‏‮Administration‬‏ » ‏‮Configuration‬‏ » ‏‮Development‬‏\" ‏‮page‬‏. ‏‮Ensure‬‏ ‏‮your‬‏ ‏‮Drupal‬‏ ‏‮site‬‏ ‏‮is‬‏ ‏‮running‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮Drupal‬‏ 10.1 ‏‮for‬‏ ‏‮improved‬‏ ‏‮asset‬‏ ‏‮aggregation‬‏ ‏‮support‬‏."
2685
+ "message": "‏‮Ensure‬‏ ‏‮you‬‏ ‏‮have‬‏ ‏‮enabled‬‏ \"‏‮Aggregate‬‏ ‏‮CSS‬‏ ‏‮files‬‏\" ‏‮in‬‏ ‏‮the‬‏ \"‏‮Administration‬‏ » ‏‮Configuration‬‏ » ‏‮Development‬‏\" ‏‮page‬‏."
2683
2686
  },
2684
2687
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-javascript": {
2685
- "message": "‏‮Ensure‬‏ ‏‮you‬‏ ‏‮have‬‏ ‏‮enabled‬‏ \"‏‮Aggregate‬‏ ‏‮JavaScript‬‏ ‏‮files‬‏\" ‏‮in‬‏ ‏‮the‬‏ \"‏‮Administration‬‏ » ‏‮Configuration‬‏ » ‏‮Development‬‏\" ‏‮page‬‏. ‏‮Ensure‬‏ ‏‮your‬‏ ‏‮Drupal‬‏ ‏‮site‬‏ ‏‮is‬‏ ‏‮running‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮Drupal‬‏ 10.1 ‏‮for‬‏ ‏‮improved‬‏ ‏‮asset‬‏ ‏‮aggregation‬‏ ‏‮support‬‏."
2688
+ "message": "‏‮Ensure‬‏ ‏‮you‬‏ ‏‮have‬‏ ‏‮enabled‬‏ \"‏‮Aggregate‬‏ ‏‮JavaScript‬‏ ‏‮files‬‏\" ‏‮in‬‏ ‏‮the‬‏ \"‏‮Administration‬‏ » ‏‮Configuration‬‏ » ‏‮Development‬‏\" ‏‮page‬‏."
2686
2689
  },
2687
2690
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unused-css-rules": {
2688
- "message": "‏‮Consider‬‏ ‏‮removing‬‏ ‏‮unused‬‏ ‏‮CSS‬‏ ‏‮rules‬‏ ‏‮and‬‏ ‏‮only‬‏ ‏‮attach‬‏ ‏‮the‬‏ ‏‮needed‬‏ ‏‮Drupal‬‏ ‏‮libraries‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮relevant‬‏ ‏‮page‬‏ ‏‮or‬‏ ‏‮component‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮page‬‏. ‏‮See‬‏ ‏‮the‬‏ [‏‮Drupal‬‏ ‏‮documentation‬‏ ‏‮link‬‏](https://www.drupal.org/docs/8/creating-custom-modules/adding-stylesheets-css-and-javascript-js-to-a-drupal-8-module#library) ‏‮for‬‏ ‏‮details‬‏. ‏‮To‬‏ ‏‮identify‬‏ ‏‮attached‬‏ ‏‮libraries‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮adding‬‏ ‏‮extraneous‬‏ ‏‮CSS‬‏, ‏‮try‬‏ ‏‮running‬‏ [‏‮code‬‏ ‏‮coverage‬‏](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏. ‏‮You‬‏ ‏‮can‬‏ ‏‮identify‬‏ ‏‮the‬‏ ‏‮theme‬‏/‏‮module‬‏ ‏‮responsible‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮URL‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮stylesheet‬‏ ‏‮when‬‏ ‏‮CSS‬‏ ‏‮aggregation‬‏ ‏‮is‬‏ ‏‮disabled‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮Drupal‬‏ ‏‮site‬‏. ‏‮Look‬‏ ‏‮out‬‏ ‏‮for‬‏ ‏‮themes‬‏/‏‮modules‬‏ ‏‮that‬‏ ‏‮have‬‏ ‏‮many‬‏ ‏‮stylesheets‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮list‬‏ ‏‮which‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮lot‬‏ ‏‮of‬‏ ‏‮red‬‏ ‏‮in‬‏ ‏‮code‬‏ ‏‮coverage‬‏. ‏‮A‬‏ ‏‮theme‬‏/‏‮module‬‏ ‏‮should‬‏ ‏‮only‬‏ ‏‮enqueue‬‏ ‏‮a‬‏ ‏‮stylesheet‬‏ ‏‮if‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮actually‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏."
2691
+ "message": "‏‮Consider‬‏ ‏‮removing‬‏ ‏‮unused‬‏ ‏‮CSS‬‏ ‏‮rules‬‏ ‏‮and‬‏ ‏‮only‬‏ ‏‮attach‬‏ ‏‮the‬‏ ‏‮needed‬‏ `Drupal` ‏‮libraries‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮relevant‬‏ ‏‮page‬‏ ‏‮or‬‏ ‏‮component‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮page‬‏. ‏‮See‬‏ ‏‮the‬‏ [`Drupal` ‏‮documentation‬‏](https://www.drupal.org/docs/develop/theming-drupal/adding-assets-css-js-to-a-drupal-theme-via-librariesyml#define) ‏‮for‬‏ ‏‮details‬‏. ‏‮To‬‏ ‏‮identify‬‏ ‏‮attached‬‏ ‏‮libraries‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮adding‬‏ ‏‮extraneous‬‏ ‏‮CSS‬‏, ‏‮try‬‏ ‏‮running‬‏ [‏‮code‬‏ ‏‮coverage‬‏](https://developer.chrome.com/docs/devtools/coverage) ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏. ‏‮You‬‏ ‏‮can‬‏ ‏‮identify‬‏ ‏‮the‬‏ ‏‮theme‬‏/‏‮module‬‏ ‏‮responsible‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮URL‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮stylesheet‬‏ ‏‮when‬‏ ‏‮CSS‬‏ ‏‮aggregation‬‏ ‏‮is‬‏ ‏‮disabled‬‏ ‏‮in‬‏ ‏‮your‬‏ `Drupal` ‏‮site‬‏. ‏‮Look‬‏ ‏‮out‬‏ ‏‮for‬‏ ‏‮themes‬‏/‏‮modules‬‏ ‏‮that‬‏ ‏‮have‬‏ ‏‮many‬‏ ‏‮stylesheets‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮list‬‏ ‏‮which‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮lot‬‏ ‏‮of‬‏ ‏‮red‬‏ ‏‮in‬‏ ‏‮code‬‏ ‏‮coverage‬‏. ‏‮A‬‏ ‏‮theme‬‏/‏‮module‬‏ ‏‮should‬‏ ‏‮only‬‏ ‏‮attach‬‏ ‏‮a‬‏ ‏‮stylesheet‬‏ ‏‮library‬‏ ‏‮if‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮actually‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏."
2689
2692
  },
2690
2693
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unused-javascript": {
2691
- "message": "‏‮Consider‬‏ ‏‮removing‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏ ‏‮assets‬‏ ‏‮and‬‏ ‏‮only‬‏ ‏‮attach‬‏ ‏‮the‬‏ ‏‮needed‬‏ ‏‮Drupal‬‏ ‏‮libraries‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮relevant‬‏ ‏‮page‬‏ ‏‮or‬‏ ‏‮component‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮page‬‏. ‏‮See‬‏ ‏‮the‬‏ [‏‮Drupal‬‏ ‏‮documentation‬‏ ‏‮link‬‏](https://www.drupal.org/docs/8/creating-custom-modules/adding-stylesheets-css-and-javascript-js-to-a-drupal-8-module#library) ‏‮for‬‏ ‏‮details‬‏. ‏‮To‬‏ ‏‮identify‬‏ ‏‮attached‬‏ ‏‮libraries‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮adding‬‏ ‏‮extraneous‬‏ ‏‮JavaScript‬‏, ‏‮try‬‏ ‏‮running‬‏ [‏‮code‬‏ ‏‮coverage‬‏](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏. ‏‮You‬‏ ‏‮can‬‏ ‏‮identify‬‏ ‏‮the‬‏ ‏‮theme‬‏/‏‮module‬‏ ‏‮responsible‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮URL‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮script‬‏ ‏‮when‬‏ ‏‮JavaScript‬‏ ‏‮aggregation‬‏ ‏‮is‬‏ ‏‮disabled‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮Drupal‬‏ ‏‮site‬‏. ‏‮Look‬‏ ‏‮out‬‏ ‏‮for‬‏ ‏‮themes‬‏/‏‮modules‬‏ ‏‮that‬‏ ‏‮have‬‏ ‏‮many‬‏ ‏‮scripts‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮list‬‏ ‏‮which‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮lot‬‏ ‏‮of‬‏ ‏‮red‬‏ ‏‮in‬‏ ‏‮code‬‏ ‏‮coverage‬‏. ‏‮A‬‏ ‏‮theme‬‏/‏‮module‬‏ ‏‮should‬‏ ‏‮only‬‏ ‏‮enqueue‬‏ ‏‮a‬‏ ‏‮script‬‏ ‏‮if‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮actually‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏."
2694
+ "message": "‏‮Consider‬‏ ‏‮removing‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏ ‏‮assets‬‏ ‏‮and‬‏ ‏‮only‬‏ ‏‮attach‬‏ ‏‮the‬‏ ‏‮needed‬‏ `Drupal` ‏‮libraries‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮relevant‬‏ ‏‮page‬‏ ‏‮or‬‏ ‏‮component‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮page‬‏. ‏‮See‬‏ ‏‮the‬‏ [‏‮Drupal‬‏ ‏‮documentation‬‏](https://www.drupal.org/docs/develop/theming-drupal/adding-assets-css-js-to-a-drupal-theme-via-librariesyml#define) ‏‮for‬‏ ‏‮details‬‏. ‏‮To‬‏ ‏‮identify‬‏ ‏‮attached‬‏ ‏‮libraries‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮adding‬‏ ‏‮extraneous‬‏ ‏‮JavaScript‬‏, ‏‮try‬‏ ‏‮running‬‏ [‏‮code‬‏ ‏‮coverage‬‏](https://developer.chrome.com/docs/devtools/coverage) ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏. ‏‮You‬‏ ‏‮can‬‏ ‏‮identify‬‏ ‏‮the‬‏ ‏‮theme‬‏/‏‮module‬‏ ‏‮responsible‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮URL‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮script‬‏ ‏‮when‬‏ ‏‮JavaScript‬‏ ‏‮aggregation‬‏ ‏‮is‬‏ ‏‮disabled‬‏ ‏‮in‬‏ ‏‮your‬‏ `Drupal` ‏‮site‬‏. ‏‮Look‬‏ ‏‮out‬‏ ‏‮for‬‏ ‏‮themes‬‏/‏‮modules‬‏ ‏‮that‬‏ ‏‮have‬‏ ‏‮many‬‏ ‏‮scripts‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮list‬‏ ‏‮which‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮lot‬‏ ‏‮of‬‏ ‏‮red‬‏ ‏‮in‬‏ ‏‮code‬‏ ‏‮coverage‬‏. ‏‮A‬‏ ‏‮theme‬‏/‏‮module‬‏ ‏‮should‬‏ ‏‮only‬‏ ‏‮attach‬‏ ‏‮a‬‏ ‏‮script‬‏ ‏‮library‬‏ ‏‮if‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮actually‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏."
2692
2695
  },
2693
2696
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-long-cache-ttl": {
2694
- "message": "‏‮Set‬‏ ‏‮the‬‏ \"‏‮Browser‬‏ ‏‮and‬‏ ‏‮proxy‬‏ ‏‮cache‬‏ ‏‮maximum‬‏ ‏‮age‬‏\" ‏‮in‬‏ ‏‮the‬‏ \"‏‮Administration‬‏ » ‏‮Configuration‬‏ » ‏‮Development‬‏\" ‏‮page‬‏. ‏‮Read‬‏ ‏‮about‬‏ [‏‮Drupal‬‏ ‏‮cache‬‏ ‏‮and‬‏ ‏‮optimizing‬‏ ‏‮for‬‏ ‏‮performance‬‏](https://www.drupal.org/docs/7/managing-site-performance-and-scalability/caching-to-improve-performance/caching-overview#s-drupal-performance-resources)."
2697
+ "message": "‏‮Set‬‏ ‏‮the‬‏ \"‏‮Browser‬‏ ‏‮and‬‏ ‏‮proxy‬‏ ‏‮cache‬‏ ‏‮maximum‬‏ ‏‮age‬‏\" ‏‮in‬‏ ‏‮the‬‏ \"‏‮Administration‬‏ » ‏‮Configuration‬‏ » ‏‮Development‬‏\" ‏‮page‬‏. ‏‮Read‬‏ ‏‮about‬‏ [`Drupal` ‏‮cache‬‏ ‏‮and‬‏ ‏‮optimizing‬‏ ‏‮for‬‏ ‏‮performance‬‏](https://www.drupal.org/docs/8/api/cache-api/cache-api)."
2695
2698
  },
2696
2699
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-optimized-images": {
2697
- "message": "‏‮Consider‬‏ ‏‮using‬‏ [‏‮a‬‏ ‏‮module‬‏](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A123&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=optimize+images&solrsort=iss_project_release_usage+desc&op=Search) ‏‮that‬‏ ‏‮automatically‬‏ ‏‮optimizes‬‏ ‏‮and‬‏ ‏‮reduces‬‏ ‏‮the‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮images‬‏ ‏‮uploaded‬‏ ‏‮through‬‏ ‏‮the‬‏ ‏‮site‬‏ ‏‮while‬‏ ‏‮retaining‬‏ ‏‮quality‬‏. ‏‮Also‬‏, ‏‮ensure‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ ‏‮the‬‏ ‏‮native‬‏ [‏‮Responsive‬‏ ‏‮Image‬‏ ‏‮Styles‬‏](https://www.drupal.org/docs/8/mobile-guide/responsive-images-in-drupal-8) ‏‮provided‬‏ ‏‮from‬‏ ‏‮Drupal‬‏ (‏‮available‬‏ ‏‮in‬‏ ‏‮Drupal‬‏ 8 ‏‮and‬‏ ‏‮above‬‏) ‏‮for‬‏ ‏‮all‬‏ ‏‮images‬‏ ‏‮rendered‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮site‬‏."
2700
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ [‏‮a‬‏ ‏‮module‬‏](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A123&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=image&solrsort=iss_project_release_usage+desc&op=Search) ‏‮that‬‏ ‏‮automatically‬‏ ‏‮optimizes‬‏ ‏‮and‬‏ ‏‮reduces‬‏ ‏‮the‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮images‬‏ ‏‮uploaded‬‏ ‏‮through‬‏ ‏‮the‬‏ ‏‮site‬‏ ‏‮while‬‏ ‏‮retaining‬‏ ‏‮quality‬‏. ‏‮Also‬‏, ‏‮ensure‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ ‏‮the‬‏ ‏‮native‬‏ [‏‮Responsive‬‏ ‏‮Image‬‏ ‏‮Styles‬‏](https://www.drupal.org/documentation/modules/responsive_image) ‏‮provided‬‏ ‏‮from‬‏ `Drupal` ‏‮for‬‏ ‏‮all‬‏ ‏‮images‬‏ ‏‮rendered‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮site‬‏."
2698
2701
  },
2699
2702
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-rel-preconnect": {
2700
- "message": "‏‮Preconnect‬‏ ‏‮or‬‏ ‏‮dns‬‏-‏‮prefetch‬‏ ‏‮resource‬‏ ‏‮hints‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮added‬‏ ‏‮by‬‏ ‏‮installing‬‏ ‏‮and‬‏ ‏‮configuring‬‏ [‏‮a‬‏ ‏‮module‬‏](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=dns-prefetch&solrsort=iss_project_release_usage+desc&op=Search) ‏‮that‬‏ ‏‮provides‬‏ ‏‮facilities‬‏ ‏‮for‬‏ ‏‮user‬‏ ‏‮agent‬‏ ‏‮resource‬‏ ‏‮hints‬‏."
2703
+ "message": "`Preconnect` ‏‮or‬‏ `dns-prefetch` ‏‮resource‬‏ ‏‮hints‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮added‬‏ ‏‮by‬‏ ‏‮installing‬‏ ‏‮and‬‏ ‏‮configuring‬‏ [‏‮a‬‏ ‏‮module‬‏](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=Preconnect&solrsort=score+desc&op=Search) ‏‮that‬‏ ‏‮provides‬‏ ‏‮facilities‬‏ ‏‮for‬‏ ‏‮user‬‏ ‏‮agent‬‏ ‏‮resource‬‏ ‏‮hints‬‏."
2701
2704
  },
2702
2705
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-responsive-images": {
2703
- "message": "‏‮Ensure‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ ‏‮the‬‏ ‏‮native‬‏ [‏‮Responsive‬‏ ‏‮Image‬‏ ‏‮Styles‬‏](https://www.drupal.org/docs/8/mobile-guide/responsive-images-in-drupal-8) ‏‮provided‬‏ ‏‮from‬‏ ‏‮Drupal‬‏ (‏‮available‬‏ ‏‮in‬‏ ‏‮Drupal‬‏ 8 ‏‮and‬‏ ‏‮above‬‏). ‏‮Use‬‏ ‏‮the‬‏ ‏‮Responsive‬‏ ‏‮Image‬‏ ‏‮Styles‬‏ ‏‮when‬‏ ‏‮rendering‬‏ ‏‮image‬‏ ‏‮fields‬‏ ‏‮through‬‏ ‏‮view‬‏ ‏‮modes‬‏, ‏‮views‬‏, ‏‮or‬‏ ‏‮images‬‏ ‏‮uploaded‬‏ ‏‮through‬‏ ‏‮the‬‏ ‏‮WYSIWYG‬‏ ‏‮editor‬‏."
2706
+ "message": "‏‮Ensure‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ ‏‮the‬‏ ‏‮native‬‏ [‏‮Responsive‬‏ ‏‮Image‬‏ ‏‮Styles‬‏](https://www.drupal.org/documentation/modules/responsive_image) ‏‮provided‬‏ ‏‮from‬‏ `Drupal`. ‏‮Use‬‏ ‏‮the‬‏ ‏‮Responsive‬‏ ‏‮Image‬‏ ‏‮Styles‬‏ ‏‮when‬‏ ‏‮rendering‬‏ ‏‮image‬‏ ‏‮fields‬‏ ‏‮through‬‏ ‏‮view‬‏ ‏‮modes‬‏, ‏‮views‬‏, ‏‮or‬‏ ‏‮images‬‏ ‏‮uploaded‬‏ ‏‮through‬‏ ‏‮the‬‏ ‏‮WYSIWYG‬‏ ‏‮editor‬‏."
2707
+ },
2708
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-text-compression": {
2709
+ "message": "‏‮Text‬‏-‏‮based‬‏ ‏‮resources‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮served‬‏ ‏‮with‬‏ ‏‮compression‬‏ (‏‮gzip‬‏, ‏‮deflate‬‏ ‏‮or‬‏ ‏‮brotli‬‏) ‏‮to‬‏ ‏‮minimize‬‏ ‏‮total‬‏ ‏‮network‬‏ ‏‮bytes‬‏. ‏‮Consider‬‏ ‏‮using‬‏ ‏‮a‬‏ ‏‮CDN‬‏ ‏‮that‬‏ ‏‮natively‬‏ ‏‮supports‬‏ ‏‮this‬‏, ‏‮or‬‏ ‏‮configure‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮server‬‏ ‏‮to‬‏ ‏‮perform‬‏ ‏‮this‬‏ ‏‮operation‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://developers.google.com/web/tools/lighthouse/audits/text-compression)."
2704
2710
  },
2705
2711
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | font-display": {
2706
2712
  "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/speed) ‏‮and‬‏ ‏‮enable‬‏ `Optimize Fonts` ‏‮to‬‏ ‏‮automatically‬‏ ‏‮leverage‬‏ ‏‮the‬‏ `font-display` ‏‮CSS‬‏ ‏‮feature‬‏ ‏‮to‬‏ ‏‮ensure‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮user‬‏-‏‮visible‬‏ ‏‮while‬‏ ‏‮webfonts‬‏ ‏‮are‬‏ ‏‮loading‬‏."
@@ -2897,9 +2903,6 @@
2897
2903
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | render-blocking-resources": {
2898
2904
  "message": "‏‮Enable‬‏ [`Remove render-blocking resources`](https://support.nitropack.io/hc/en-us/articles/13820893500049-How-to-Deal-with-Render-Blocking-Resources-in-NitroPack) ‏‮in‬‏ ‏‮NitroPack‬‏ ‏‮for‬‏ ‏‮faster‬‏ ‏‮initial‬‏ ‏‮load‬‏ ‏‮times‬‏."
2899
2905
  },
2900
- "node_modules/lighthouse-stack-packs/packs/nitropack.js | server-response-time": {
2901
- "message": "‏‮Improve‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏ ‏‮and‬‏ ‏‮optimize‬‏ ‏‮perceived‬‏ ‏‮performance‬‏ ‏‮by‬‏ ‏‮activating‬‏ [`Instant Load`](https://support.nitropack.io/hc/en-us/articles/16547340617361)."
2902
- },
2903
2906
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | unminified-css": {
2904
2907
  "message": "‏‮Enable‬‏ [`Minify resources`](https://support.nitropack.io/hc/en-us/articles/360061059394-Minify-Resources) ‏‮in‬‏ ‏‮your‬‏ ‏‮Caching‬‏ ‏‮settings‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮the‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮CSS‬‏, ‏‮HTML‬‏, ‏‮and‬‏ ‏‮JavaScript‬‏ ‏‮files‬‏ ‏‮for‬‏ ‏‮faster‬‏ ‏‮load‬‏ ‏‮times‬‏."
2905
2908
  },
@@ -3033,7 +3036,7 @@
3033
3036
  "message": "‏‮There‬‏ ‏‮are‬‏ ‏‮a‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮WordPress‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮can‬‏ ‏‮help‬‏ ‏‮you‬‏ [‏‮inline‬‏ ‏‮critical‬‏ ‏‮assets‬‏](https://wordpress.org/plugins/search/critical+css/) ‏‮or‬‏ [‏‮defer‬‏ ‏‮less‬‏ ‏‮important‬‏ ‏‮resources‬‏](https://wordpress.org/plugins/search/defer+css+javascript/). ‏‮Beware‬‏ ‏‮that‬‏ ‏‮optimizations‬‏ ‏‮provided‬‏ ‏‮by‬‏ ‏‮these‬‏ ‏‮plugins‬‏ ‏‮may‬‏ ‏‮break‬‏ ‏‮features‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮theme‬‏ ‏‮or‬‏ ‏‮plugins‬‏, ‏‮so‬‏ ‏‮you‬‏ ‏‮will‬‏ ‏‮likely‬‏ ‏‮need‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮code‬‏ ‏‮changes‬‏."
3034
3037
  },
3035
3038
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | server-response-time": {
3036
- "message": "‏‮Themes‬‏, ‏‮plugins‬‏, ‏‮and‬‏ ‏‮server‬‏ ‏‮specifications‬‏ ‏‮all‬‏ ‏‮contribute‬‏ ‏‮to‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏. ‏‮Consider‬‏ ‏‮finding‬‏ ‏‮a‬‏ ‏‮more‬‏ ‏‮optimized‬‏ ‏‮theme‬‏, ‏‮carefully‬‏ ‏‮selecting‬‏ ‏‮an‬‏ ‏‮optimization‬‏ ‏‮plugin‬‏, ‏‮and‬‏/‏‮or‬‏ ‏‮upgrading‬‏ ‏‮your‬‏ ‏‮server‬‏."
3039
+ "message": "‏‮Choose‬‏ ‏‮a‬‏ ‏‮lightweight‬‏ ‏‮theme‬‏ (‏‮ideally‬‏ ‏‮a‬‏ ‏‮block‬‏ ‏‮theme‬‏) ‏‮and‬‏ ‏‮implement‬‏ ‏‮full‬‏-‏‮page‬‏ ‏‮caching‬‏ ‏‮or‬‏ ‏‮a‬‏ ‏‮static‬‏ ‏‮site‬‏ ‏‮solution‬‏. ‏‮Disable‬‏ ‏‮unnecessary‬‏ ‏‮plugins‬‏ ‏‮to‬‏ ‏‮minimize‬‏ ‏‮server‬‏ ‏‮overhead‬‏. ‏‮Consider‬‏ ‏‮upgrading‬‏ ‏‮your‬‏ ‏‮hosting‬‏ ‏‮to‬‏ ‏‮managed‬‏ ‏‮or‬‏ ‏‮dedicated‬‏ ‏‮service‬‏."
3037
3040
  },
3038
3041
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | total-byte-weight": {
3039
3042
  "message": "‏‮Consider‬‏ ‏‮showing‬‏ ‏‮excerpts‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮post‬‏ ‏‮lists‬‏ (‏‮e‬‏.‏‮g‬‏. ‏‮via‬‏ ‏‮the‬‏ ‏‮more‬‏ ‏‮tag‬‏), ‏‮reducing‬‏ ‏‮the‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮posts‬‏ ‏‮shown‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮given‬‏ ‏‮page‬‏, ‏‮breaking‬‏ ‏‮your‬‏ ‏‮long‬‏ ‏‮posts‬‏ ‏‮into‬‏ ‏‮multiple‬‏ ‏‮pages‬‏, ‏‮or‬‏ ‏‮using‬‏ ‏‮a‬‏ ‏‮plugin‬‏ ‏‮to‬‏ ‏‮lazy‬‏-‏‮load‬‏ ‏‮comments‬‏."